我的前缀命令不起作用(不和谐机器人) 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 MessagesAdministrator 上的复选框。如果您不记得是否这样做了,不用担心,您可以通过您的机器人 OAuth2 页面设置再次添加具有正确权限的机器人,该设置可以在 here 找到。

【讨论】:

错了,您不需要将 ctx 作为 arg 传递给 command 装饰器,实际上这会抛出 NameError,因为 ctx 未定义。 对不起,我在那里想了一个名字,它应该在作者所做的命令的定义中传递。我很抱歉。【参考方案3】:

要做到这一点,你需要有 Import discord

import discord

【讨论】:

他们似乎已经使用from discord.ext import commandsdiscord 导入,所以这看起来不是问题。但是,该问题并未具体说明问题或错误究竟是什么。

以上是关于我的前缀命令不起作用(不和谐机器人) discord.py的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 部署了我的不和谐机器人,但它的命令不起作用

不和谐机器人的命令不起作用(Python)

不和谐.py |斜线命令不起作用

试图为不和谐制作一个聊天机器人,但它不起作用

一个不和谐的机器人命令使其他命令不起作用

discord py - 自定义命令前缀不起作用(没有命令运行)