首页 > 解决方案 > Discord.py on_member_join 不起作用,没有错误消息

问题描述

我正在尝试使用 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")

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

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

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

提前致谢

标签: pythondiscorddiscord.pydiscord.py-rewrite

解决方案


对于 >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!")

推荐阅读