首页  >  文章  >  后端开发  >  为什么我的 Discord.py 机器人没有触发 on_member_join 事件,如何修复它?

为什么我的 Discord.py 机器人没有触发 on_member_join 事件,如何修复它?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-26 16:32:02941浏览

Why is my Discord.py bot not triggering on_member_join events, and how do I fix it?

让 Discord.py 意图发挥作用

想要在加入您的 Discord 服务器时向会员打招呼吗?由于意图的实现,您可能会遇到 on_member_join 事件的问题。以下是解决此问题的方法:

首先定义您需要的意图:

<code class="python">intents = discord.Intents.default()
intents.members = True</code>

然后,使用这些意图实例化您的机器人:

<code class="python">client = commands.Bot(command_prefix=',', intents=intents)</code>

但这不是全部。您还必须在 Discord 的开发者门户中启用特权意图。

请记住,网关意图充当您的机器人和 Discord 服务器之间的桥梁,允许访问特定事件信息。在这种情况下,您需要“成员”意图来跟踪加入服务器的新成员。

通过启用特权意图,您可以授予机器人侦听成员加入事件所需的权限。在开发者门户中按照以下步骤操作:

  1. 访问 [OAuth2]()
  2. 选择您的机器人
  3. 导航到“机器人”选项卡
  4. 向下滚动到“特权网关意图”
  5. 为“成员”意图切换“打开”

此附加功能步骤确保您的机器人有权访问会员相关信息。在代码和门户中启用意图后,您应该能够成功接收 on_member_join 事件。

以上是为什么我的 Discord.py 机器人没有触发 on_member_join 事件,如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn