Discord.py 命令向不和谐机器人发送垃圾邮件

Discord.py 命令向不和谐机器人发送垃圾邮件,discord.py,spam,Discord.py,Spam,因此,基本上我正在尝试为我的discord bot生成一个垃圾邮件命令,它接收一条自定义的垃圾邮件。代码如下: @client.command(name='spam') 异步def垃圾邮件(ctx): 全局停止 停止=0 content=ctx.message.content[11:] 如果管理员中的ctx.author.guild\u permissions.administrator或ctx.author.id: 如果lock==1: 等待ctx.send('耶稣机器人当前已锁定') eli

因此,基本上我正在尝试为我的discord bot生成一个垃圾邮件命令,它接收一条自定义的垃圾邮件。代码如下:

@client.command(name='spam')
异步def垃圾邮件(ctx):
全局停止
停止=0
content=ctx.message.content[11:]
如果管理员中的ctx.author.guild\u permissions.administrator或ctx.author.id:
如果lock==1:
等待ctx.send('耶稣机器人当前已锁定')
elif lock==0:
等待ctx.send('开始垃圾邮件…'))
虽然没有停止:
等待ctx发送(内容)
其他:
等待ctx.send('抱歉,您在此服务器中没有管理员权限,或者您不是经过验证的管理员')
出于某种原因,每当我尝试使用此命令时,bot都不会响应。我不知道为什么会发生这种情况,我需要一些帮助

机器人没有响应的图片:


我有一个垃圾邮件命令,但我只会用它来和我的朋友乱搞。我不建议将此作为公共命令使用,因为您可能会因为滥用或诸如此类的原因而受到费率限制或禁止。不管怎样,这是我用过的代码

  @commands.command()
  @commands.is_owner()
  # If you want to use admin only, use this below
  # @commands.has_permissions(administrator=True)
  async def spam(self, ctx, amount, *, word):
    int(amount)
    await asyncio.sleep(2)
    print(f"Starting to spam {word} in {ctx.guild.name}")
    await ctx.message.delete()
    await ctx.send(f"{ctx.author.mention}\nPlease note that this will clog up the bot's reaction time")
    await asyncio.sleep(3)
    count = 0
    counting=True
    while counting:
      await ctx.send(word)
      count = count + 1
      if count == amount:
        await asyncio.sleep(2)
        await ctx.send("Spam complete")
        print(Fore.GREEN + "Spam complete")
        counting = False
在代码的顶部,确保将asyncio作为时间导入。睡眠将导致整个bot暂停。另外,Fore.GREEN文件只是colorama(导入colorama)。

尝试使用而不是asyncio。它是为这种重复操作而设计的,它更简单、更好,因为它是由discord制作的,并且包含在
discord.ext
中。大概是这样的:

来自discord.ext导入任务
@client.command(name='spam')
异步def垃圾邮件(ctx):
#得到信息,做所有你在那里的假设
spamLoop.start()
@client.command(name='stoppam')
异步def spamStop(ctx):
#停止循环
spamLoop.cancel()
@tasks.loop(秒=1)
异步def spamLoop():
打印(“消息”)

请注意,您只能运行一次任务,不能运行多个任务实例,因此一次只能使用一次。从技术上讲,您可以定义一个消息列表,并对任意数量的消息只使用一个循环。当然,您必须定义通道,但我没有为他编写完整的代码,只是给出了一个想法。