我正在 discord.py 上发出命令。命令正在从 discord 服务器的管理员用户那里获取一些参数。当您调用 command 时,它会从每个频道获取每条用户消息。我只想做,从调用者用户和他写的文本通道获取参数。同时,错误代码不起作用。当有人尝试调用不是管理员的命令时,它不会发送消息。但是如果用户不是管理员,则无法使用此命令,但我想机器人向他们发送消息。
这是我的命令,
@Bot.command(pass_context=True)
@has_permissions(administrator=True)
async def ekle(ctx):
await ctx.channel.send("send 4 parametres")
msg = await Bot.wait_for('message',(ctx.author))
response = (msg.content)
bos = response.split(' ')
@ekle.error
async def ekle_error(error, ctx):
if isinstance(error, CheckFailure):
msg = "you cant use this command ! {}".format(ctx.message.author.mention)
await Bot.send_message(ctx.message.channel, msg)
代码不起作用。控制台没有给出任何错误,但代码无法处理不和谐。 我该如何解决这个问题?
答案 0 :(得分:0)
bot.wait_for
接受一个必需参数(事件)和两个可选关键字参数(检查和超时)。
您正在传递第二个位置参数,这将不起作用。正确的用法是,
msg = await Bot.wait_for('message', check=lambda x: x.author.id == ctx.author.id)
参考文献: