我正在尝试使用 discord.js 制作一个小型垃圾邮件机器人,作为我的第一个 python 机器人之一。老实说,它运行良好,但有一个问题。该机器人应该向服务器中的每个频道发送垃圾邮件,但它只发送一条消息。我不太了解python,我知道问题出在哪里以及我需要做什么来修复它,我只是不知道如何修复它。我猜我需要放置一些我希望机器人发送的消息,但我不知道该怎么做。我希望有人可以提供帮助! (P.S. 我不会使用机器人做任何不好的事情,我只是想测试一下。)无论如何,这是我的代码:
@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
答案 0 :(得分:1)
嗯,你真的只发送一条消息!
@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 次。因此,只需将其更改为您希望它发送消息的次数即可。