Discord.py:on_member_join 突然停止工作

Posted

技术标签:

【中文标题】Discord.py:on_member_join 突然停止工作【英文标题】:Discord.py: on_member_join suddenly stopped working 【发布时间】:2022-01-04 14:51:35 【问题描述】:

我正在尝试以下代码:

@bot.event
async def on_member_join(member):
    print("works")
    for channel in member.guild.text_channels:
        if channel.name == 'general':
            await channel.send("Welcome to " + member.guild.name + ", " + member + "!")

我之前的on_member_join 活动运行良好,但由于某种原因它不再运行了。我尝试更新到 discord.py 1.5。任何帮助将不胜感激。

我没有收到任何错误。

【问题讨论】:

您是否遇到任何错误? 不,我没有错误 您有on_command_error 事件进行错误处理吗?您确定频道存在吗? 【参考方案1】:

discord.py 1.5.0 现在支持 discord API 的特权网关意图。为了能够利用服务器数据,您需要:

在您的discord application 中启用Presence IntentServer Members Intent

在代码开头使用discord.Intents
intents = Intents.all()

#If you use commands.Bot()
bot = commands.Bot(command_prefix="!", intents=intents)

#If you use discord.Client()
client = discord.Client(intents=intents)

【讨论】:

以上是关于Discord.py:on_member_join 突然停止工作的主要内容,如果未能解决你的问题,请参考以下文章

Discord.py 欢迎机器人 on_member_join 事件未被调用

Discord.py on_member_join 不起作用,没有错误消息

不和谐.py |更新频道名称 on_member_join

为啥我的 discord.py 机器人不响应 on_message 事件?

如何从 .json 文件 discord.py 中获取信息

如何为加入 Discord 公会的新成员自动分配角色?