困惑于如何让不和机器人发送一定数量的信息



我正在尝试用discord.js制作一个小型垃圾邮件机器人,作为我的第一个python机器人之一。老实说,它运行良好,但有一个问题。机器人应该向服务器中的每个频道发送垃圾邮件,但它只发送一条消息。我对python不太了解,我知道问题出在哪里,我需要做什么来解决它,我只是不知道如何解决它。我想我需要放很多我想让机器人发送的消息,但我不知道如何做到。我希望有人能帮忙!(附言:我没有用机器人做任何坏事,我只是想测试一下。(不管怎样,这是我的代码:

@bot.command()
async def sall(ctx, *, message=None):
if message == None:
for channel in ctx.guild.channels:
try:
await channel.send(random.choice(spam_messages))
except discord.Forbidden:
print(f"{C.RED}Spam Error {C.WHITE}[Cannot send messages]")
return
except:
pass
else:
for channel in ctx.guild.channels:
try:
await channel.send(message)
except discord.Forbidden:
print(f"{C.RED}Sall Error {C.WHITE}[Cannot send messages]")
return
except:
pass

好吧,您实际上只发送了一条消息!

@bot.command()
@bot.is_owner()
async def sall(ctx, *, message=None):
if message == None:
for channel in ctx.guild.channels:
try:
for i in range(10):
await channel.send(random.choice(spam_messages))
except discord.Forbidden:
print(f"{C.RED}Spam Error {C.WHITE}[Cannot send messages]")
return
except:
pass
else:
for channel in ctx.guild.channels:
try:
for i in range(10):
await channel.send(message)
except discord.Forbidden:
print(f"{C.RED}Sall Error {C.WHITE}[Cannot send messages]")
return
except:
pass

它应该这样工作。我添加了一个for i in range(10),它的作用是,它重复这个10次。因此,只需将其更改为您希望它发送消息的次数即可。

最新更新