async函数缺少它已经拥有的位置参数



(我的所有代码都来自我所遵循的教程)

我是初学者。我正试图使机器人得到我的用户名,并根据用户名有不同的反应。在同一项目的另一个python脚本中,我可以看到该消息。Author获取用户名

@client.event
async def on_message(message):
# Make sure bot doesn't get stuck in an infinite loop
if message.author == client.user:
return
# Get data about the user
username = str(message.author)
user_message = str(message.content)
channel = str(message.channel)

所以我试着把它放在生成响应的脚本中,如下所示

def handle_response(message) -> str:
p_message = message.lower()
if p_message == 'hello':
if message.author=="Desper"
return 'hey desper'
return 'Hey there!'

当我说"hello"它会给我这个错误

handle_response() missing 1 required positional argument: 'user_message'
如果需要的话,这里是脚本。我删除了我的标记并用 代替它
PUT TOKEN HERE ---------------------

在您的bot.py文件中,send_message函数中有这一行:

response = responses.handle_response(user_message)

这里传递的是1个参数,而不是函数签名中定义的2个参数。

最新更新