我正在尝试让我的Discord机器人回应像“@ TLG-bot#5376你多大了?”这样的提及。 我正在使用Discord.py来实现这一目标。
我试图将我的机器人变成对话机器人,但现在不需要:)
答案 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
事件使用您认为合适的方法从消息内容中手动解析字符串。