首页 > 解决方案 > Discord.py 为 on_member_join 事件启用 Intent

问题描述

我正在修复意图更改之前的旧机器人,并且我正在尝试执行一个简单的 on_server_join 事件,但它不起作用,我没有收到任何错误,并假设这是由意图问题引起的。我已在开发人员门户中启用了这两种特权意图,并尝试将其实现到我的代码中,但它仍然无法正常运行。

import discord
from discord.ext import commands
from discord.utils import get
intents = discord.Intents(messages=True)

client = commands.Bot(command_prefix ='-', intents=intents)


@client.event
async def on_member_join(member):
    channel = client.get_channel(751225399798923315)
    print("Person Joined")
    await channel.send("Welcome!")



client.run('Token')

这是代码示例,任何帮助表示赞赏。

标签: pythondiscorddiscord.pydiscord.py-rewrite

解决方案


您只启用了intents.messages,您需要intents.members任何on_member_*事件。另外,我建议您只需启用默认意图 + intents.members,一切都应该正常工作。

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

client = commands.Bot(command_prefix ='-', intents=intents)

还要确保在开发人员门户中启用它们


推荐阅读