Discord.py on_member_join 不工作,没有错误信息

Ale*_*der 3 python discord discord.py discord.py-rewrite

我正在尝试使用 Discord.py 库制作一个不和谐的机器人。带有 @client.command() 装饰器的命令对我来说很好用,但我尝试过的事件都不起作用。


@client.event
async def on_member_join(member):
    channel = client.get_channel(ChannelId) #I did define channel Id in my code
    await channel.send("someone has joined")

@client.event
async def on_member_remove(member):
    print("Someone has left")
Run Code Online (Sandbox Code Playgroud)

我希望这会输出到终端或我输入的通道 id 中,但什么也没有出现,甚至没有错误消息。

*我使用客户端。对于所有功能。*我在 mac 上做这个。

我不太确定它为什么工作,我没有收到任何错误消息,而且我似乎找不到其他有这个问题的人。

提前致谢

Cai*_* V. 5

使用 >1.5.0 版本,您可以执行以下操作:

import discord

intents = discord.Intents.default()
intents.members = True

client = discord.Client(intents=intents)

@client.event
async def on_member_join(member):
    await member.send("Welcome!")
Run Code Online (Sandbox Code Playgroud)

  • 请注意,您*还*需要在开发门户中启用它。您需要转到[开发人员门户 --> 应用程序](https://discord.com/developers/applications)(选择您的机器人)并在设置中导航到“机器人”。向下滚动,您将看到可以启用的会员意图。 (3认同)