检测何时在服务器上授权 Discord bot

Posted

技术标签:

【中文标题】检测何时在服务器上授权 Discord bot【英文标题】:Detect when Discord bot was authorized on server 【发布时间】:2021-07-09 05:26:54 【问题描述】:

刚刚开始为 Discord 实现一个简单的机器人。 一切顺利,但我只是找不到有关如何检测机器人何时在某些服务器上获得授权的信息。 我的意思是当有人使用 Discord 开发者门户中提供的 OAuth2 链接将我的机器人添加到服务器时。 如何获取此服务器的 ID?有什么活动吗?

谢谢。

【问题讨论】:

【参考方案1】:

您可以使用on_guild_join() 事件检测您的机器人加入公会时的事件:(参考:https://discordpy.readthedocs.io/en/stable/api.html#discord.Client.guilds)

@client.event
def on_guild_join(guild):
    # Do something

您始终可以使用client.guilds(参考:https://discordpy.readthedocs.io/en/stable/api.html#discord.Client.guilds)获取您的机器人所在的公会列表。请注意,您需要权限才能访问此活动。

【讨论】:

以上是关于检测何时在服务器上授权 Discord bot的主要内容,如果未能解决你的问题,请参考以下文章

Bot 未检测到服务器成员 (Discord.py)

discord bot 仅在提及消息时才检测消息

discord.py bot:on_message 检测机器人等待发送()消息

公会加入事件打印机器人被邀请 - Discord.py

RuntimeWarning , RuntimeError (Discord 服务器上的 Python Al Chat Bot)

如何修复此 JDA discord bot 错误?