运行清除命令后机器人没有响应。不和谐.py

时间:2021-02-15 11:51:52

标签: python python-3.x discord.py

我见过很多这样的问题,目前我遇到了同样的问题。我的机器人没有响应“清除”命令。我尝试了不同的方法,但仍然无效。我在命令的开头和结尾打印了两次,似乎第一个工作正常,但第二个没有。那到底是怎么回事?

    @commands.command()
    async def clear(self, ctx, *, limit=100):
        channel = ctx.message.author.discord.text_channel.name
        await channel.purge(limit = amount)

这就是代码。它也在一个齿轮中。我还提到我打印了两次:

    @commands.command()
    async def clear(self, ctx, *, limit=100):
        print("x")
        channel = ctx.message.author.discord.text_channel.name
        await channel.purge(limit = amount)
        print("y")

运行命令时基本上只有 x 被打印出来。所以问题必须是await channel.purge(limit = amount。任何人有任何想法?任何答案将不胜感激! 另外我忘了说没有错误。

2 个答案:

答案 0 :(得分:3)

您的函数有两个问题。 正如 RandomGuy 的回答所示,您需要 limit = limit,因为您已将清除限制变量声明为 limit 而不是 amount

您还试图从频道名称中清除,而不是从频道对象中清除。您需要更改此行:

channel = ctx.message.author.discord.text_channel.name

到:

channel = ctx.channel

答案 1 :(得分:1)

未定义数量 var 您应该使用 limit

await channel.purge(limit = limit)