试图为不和谐制作一个聊天机器人,但它不起作用
Posted
技术标签:
【中文标题】试图为不和谐制作一个聊天机器人,但它不起作用【英文标题】:Tried to make a chat bot for discord but it doesn't work 【发布时间】:2021-09-11 20:33:44 【问题描述】:我正在使用 python (discord.py) 开发一个不和谐的机器人。 我试图为我的机器人发出聊天命令,但它没有回复,也没有错误。 我问了我的朋友,但他也不知道怎么做,有什么问题。 我的目标是让机器人做出回应,例如,如果我打招呼,它会回复 hello + me 提及。
这是我的代码:
async def chat(ctx):
await ctx.send("Chat mode ON")
hi = "hello", "hi", "hallo"
hgh = "how are you doing", "how are you doing?", "hoe gaat het?","how are you"
exit = "bye", "exit", "Bye","Exit"
invite = "invite", "can i get your invite link?"
msg = await bot.wait_for("message" )
if msg.content == hi:
await ctx.send("Hello " + ctx.message.author.mention)
if msg.content == hgh:
await ctx.send("Im doing as long as my script is running, how are you? " + ctx.message.author.mention)
if msg.content == exit:
await ctx.send("Bye, hope to see you again soon " + ctx.message.author.mention)
if msg.content == invite:
await ctx.send("This is my invite link: https://discord.com/oauth2/authorize?client_id=858775426490957845&permissions=8&scope=bot " + ctx.message.author.mention)```
If you know what is wrong with it and how to fix it please let me know, it would mean a lot to me.
【问题讨论】:
您必须使用on_message(message)
事件才能收听消息。
您正在将列表与字符串进行比较。请改用in
。 -> if msg.content in hi:
等
【参考方案1】:
如果你想要一个聊天机器人,请使用 on_message(message),你做了一个名为“聊天”的命令。
@bot.event
async def on_message (message):
if "hi" in message.content.lower():
await ctx.send("Hello " + ctx.message.author.mention)
elif "hgh" in message.content.lower():
await ctx.send("Im doing as long as my script is running, how are you? " + ctx.message.author.mention)
elif "invite" in message.content.lower():
await ctx.send("This is my invite link: https://discord.com/oauth2/authorize?client_id=858775426490957845&permissions=8&scope=bot " + ctx.message.author.mention)
【讨论】:
如果您需要更多帮助,请发表评论 非常感谢 我也可以添加变量hi,hgh,exit和invite吗? 什么?为什么你需要它们的变量? 或者你会用它们做什么?以上是关于试图为不和谐制作一个聊天机器人,但它不起作用的主要内容,如果未能解决你的问题,请参考以下文章
我正在尝试在 discord.js 中为我的机器人创建一个自动角色功能,但它不起作用