现在,我正在尝试为Discord Bot(使用Discord.py Rewrite包)编写一个事件,该事件将在聊天中发送某些短语时发送图像。
根据我遇到的错误消息,它似乎没有传递Message参数,因为我可能在某处丢失了某些内容。侦听器似乎正在按预期方式工作(它会在有人在聊天中说出内容时触发)。
这是我收到的错误消息供参考:
忽略消息“回溯”中的异常(最近一次通话结束):
_run_event中的文件“ C:\ Program Files(x86)\ Python36-32 \ lib \ site-> packages \ discord \ client.py”,第221行 等待coro(* args,** kwargs)TypeError:Dealwithit()缺少1个必需的>位置参数:'message'
这是供参考的代码段
@bot.event
async def dealwithit(ctx,message):
msg = message.content
msg = msg.lower()
msg = "".join(msg.split())
if ctx.user.id != message.author.id:
if msg == "dealwithit":
dealwithit= discord.File('swag.jpg', filename='swag.jpg')
await client.send_message(content=None,file=dealwithit)
bot.add_listener(dealwithit,'on_message')
对于我可能缺少的,没有传递参数或设置不正确的任何帮助,将不胜感激。
答案 0 :(得分:0)
这里是使用不和谐命令的重写
bot = commands.Bot(command_prefix='!')
@bot.command(pass_context=True)
async def dealwithit(ctx):
sendfile = open("swag.jpg", "rb")
await bot.send_file(ctx.author.channel, sendfile)
sendfile.close()
答案 1 :(得分:0)
on_message仅具有message参数,因此请尝试不使用ctx。