我创建了一个discord bot,它在本地启动时可以完美运行,但是一旦托管并启动,除了!help之外,将不响应任何命令。 我得到了错误日志,这里是:
试图!踢@user:
discord.ext.commands.errors.MissingRequiredArgument: user_kick is a required argument that is missing
该命令可以在脱机状态下完美运行。
kick命令是这样写的:
@bot.command()
async def kick(ctx, user_kick : discord.Member):
role = discord.utils.get(user_kick.guild.roles, name=config['perm_role'])
if role in ctx.message.author.roles:
await user_kick.kick(reason=None)
else:
await ctx.send(content="Permission denied!")
我有(我认为?)正确的requirements.txt,runtime.txt和Procfile文件。
编辑:
我的requirements.txt文件如下所示:
-e git+git://github.com/Rapptz/discord.py.git@async#egg=discord
有什么可以改变的吗? 感谢您阅读我的信息,如果这不是在此处提出问题的正确方法,我们深表歉意。
编辑2:
仍然不知道为什么会这样。
答案 0 :(得分:0)
我的一些机器人遇到了类似的常见问题。如果您的漫游器使用on_message
,它将干扰其他命令。
要解决此问题,请在await client.process_commands(message)
中的某个地方添加on_message
。如果您不使用on_message
,则建议您再检查一次requirements.txt。
示例:
@client.event
async def on_message(message):
if message.content.startswith("!thecommand"):
#whatever you had in the command
await client.process_commands(message)