如何让我的Discord机器人响应提及?

时间:2018-01-01 22:29:36

标签: python python-3.x discord.py

我正在尝试让我的Discord机器人回应像“@ TLG-bot#5376你多大了?”这样的提及。 我正在使用Discord.py来实现这一目标。

我试图将我的机器人变成对话机器人,但现在不需要:)

2 个答案:

答案 0 :(得分:2)

尽管您的评论声明您已经完成了研究,但在搜索discord.py时,您似乎还没有阅读Google上的第一个链接,这是他们的API参考。 Thats this

所有开玩笑都在旁边,里面有一个叫做

的函数
  

<强> discord.on_message(消息)

     

创建消息并将其发送到服务器时调用。

每次发送邮件时都可以使用此功能,然后扫描此邮件以获取您的机器人用户名。

答案 1 :(得分:2)

Discord以一种从外观上看不明显的方式处理提及。

每次提及实际上都是这样的字符串:<@user_id>(如果成员有昵称,则为<@!user_id>。)您可以通过复制机器人用户ID并将user_id替换为它(例如<@330407844660641792>

如果您使用的是discord.py中包含的ext.commands框架,则可以在commands.Bot(...)初始化中使用when_mentioned作为前缀。

您还可以使用Message.mentions获取邮件中提到的discord.Member列表。请注意,这将解析整个消息中的提及,而不仅仅是开头,并将解析所提到的每个成员,而不仅仅是您的机器人。

否则使用on_message事件使用您认为合适的方法从消息内容中手动解析字符串。