如何让我的 Discord 机器人响应提及?
How can I make my Discord bot respond to mentions?
我正在尝试让我的 Discord 机器人响应诸如“@TLG-bot#5376 你几岁?”之类的提及。
我正在使用 Discord.py 来实现这一点。
我试图将我的机器人变成一个对话机器人,但现在不需要了:)
尽管您的评论表明您已经完成了研究,但您在搜索 discord.py 时似乎没有阅读 google 上的第一个 link,这是他们的 API 参考。 Thats this.
开个玩笑,里面有一个函数叫做
discord.on_message(message)
Called when a message is created and sent to a server.
您可以使用此功能在每次发送消息时被告知,然后扫描它以获取您的机器人用户名。
Discord 以一种从表面上看并不明显的方式处理提及。
每次提及实际上都是这样的字符串:<@user_id>
(如果成员有昵称,则为 <@!user_id>
。)您可以通过复制您的机器人用户 ID 并替换 user_id
与它(例如 <@330407844660641792>
)
如果您使用 discord.py 中包含的 ext.commands
框架,您可以在 commands.Bot(...)
初始化中使用 when_mentioned
作为前缀。
您也可以使用消息中提到的Message.mentions
to get a list of discord.Member
。请注意,这将解析整个消息中的提及,而不仅仅是开头,并将解析提到的每个成员,而不仅仅是你的机器人。
否则,使用 on_message
事件以您认为合适的任何方法从消息内容中手动解析字符串。
我正在尝试让我的 Discord 机器人响应诸如“@TLG-bot#5376 你几岁?”之类的提及。 我正在使用 Discord.py 来实现这一点。
我试图将我的机器人变成一个对话机器人,但现在不需要了:)
尽管您的评论表明您已经完成了研究,但您在搜索 discord.py 时似乎没有阅读 google 上的第一个 link,这是他们的 API 参考。 Thats this.
开个玩笑,里面有一个函数叫做
discord.on_message(message)
Called when a message is created and sent to a server.
您可以使用此功能在每次发送消息时被告知,然后扫描它以获取您的机器人用户名。
Discord 以一种从表面上看并不明显的方式处理提及。
每次提及实际上都是这样的字符串:<@user_id>
(如果成员有昵称,则为 <@!user_id>
。)您可以通过复制您的机器人用户 ID 并替换 user_id
与它(例如 <@330407844660641792>
)
如果您使用 discord.py 中包含的 ext.commands
框架,您可以在 commands.Bot(...)
初始化中使用 when_mentioned
作为前缀。
您也可以使用消息中提到的Message.mentions
to get a list of discord.Member
。请注意,这将解析整个消息中的提及,而不仅仅是开头,并将解析提到的每个成员,而不仅仅是你的机器人。
否则,使用 on_message
事件以您认为合适的任何方法从消息内容中手动解析字符串。