我的前缀命令不起作用(不和谐机器人) discord.py
Posted
技术标签:
【中文标题】我的前缀命令不起作用(不和谐机器人) discord.py【英文标题】:My prefix command doesn't work ( discord bot) discord.py 【发布时间】:2021-02-21 18:56:23 【问题描述】:嘿,我正在使用 pycharm 创建一个不和谐的机器人,但我遇到了这个问题:无论我运行我的代码多少次,前缀命令都不起作用,我检查了它我不认为我犯了任何错误请帮我 她是我的代码:
import random
from discord.ext import commands
client = commands.Bot(command_prefix='&')
@client.command()
@commands.has_permissions(manage_messages=True)
async def clear(ctx, amount=2):
await ctx.channel.purge(limit=amount)
client.run('token')
【问题讨论】:
什么是错误/你是如何触发它的?我没有看到名为prefix
的命令,你指的是哪个命令?
您的机器人是否拥有manage_messages
权限?当您生成链接以邀请它时,您应该在开发者门户中启用它。您可以检查其角色以查看权限。
【参考方案1】:
试着给它起个名字:@client.command(name="clear")
【讨论】:
应该没有区别,如果没有提供名称,那么库将使用函数的名称作为命令的名称【参考方案2】:我假设您将令牌存储为变量。 我建议,虽然不是必需的,但你添加换行符而不是一个大块。
而且,
1. 使用 print("This should be working") 进行调试。
2. 确保您的机器人具有权限,确保在添加机器人时单击Manage Messages
或Administrator
上的复选框。如果您不记得是否这样做了,不用担心,您可以通过您的机器人 OAuth2 页面设置再次添加具有正确权限的机器人,该设置可以在 here 找到。
【讨论】:
错了,您不需要将 ctx 作为 arg 传递给command
装饰器,实际上这会抛出 NameError,因为 ctx
未定义。
对不起,我在那里想了一个名字,它应该在作者所做的命令的定义中传递。我很抱歉。【参考方案3】:
要做到这一点,你需要有 Import discord
import discord
【讨论】:
他们似乎已经使用from discord.ext import commands
从discord
导入,所以这看起来不是问题。但是,该问题并未具体说明问题或错误究竟是什么。以上是关于我的前缀命令不起作用(不和谐机器人) discord.py的主要内容,如果未能解决你的问题,请参考以下文章