【问题标题】:Welcome message欢迎留言
【发布时间】:2022-01-14 16:18:13
【问题描述】:

我尝试在服务器上与用户打招呼,但没有任何效果。

这是我的代码:

    @client.event
    async def on_member_join(member):
       await client.get_channel(918604938085548064).send(f"{member.name} has joined")

我也试过这样的代码:

    @client.event
    async def on_member_join(member):
        # check if the guild the member is joining is equal to your guild's id 
        if member.guild.id != GUILD ID:
            return
        # if it's the same guild id, it continues
        embed = discord.Embed(color=0x6c5ce7)
        # etc, other code

我以为这段代码就足够了,但是我从来没有在控制台中收到消息或错误。

控制台输出:

【问题讨论】:

    标签: python discord discord.py


    【解决方案1】:

    如果您没有收到任何消息或错误,则可能是因为您没有启用 Privileged Gateway 意图,并且您的机器人没有获取该成员。正如您在 docs 中看到的 - on_member_join 需要 intents.Members

    Bot 部分的 Discord Developer 网站上启用 Server Members Intent

    然后,在您的代码中添加类似这样的内容:

    intents = discord.Intents.default()
    intents.members = True
    
    client = commands.Bot(command_prefix="!", intents=intents)
    

    【讨论】:

      猜你喜欢
      • 2021-06-03
      • 2021-02-13
      • 2021-08-13
      • 2021-03-15
      • 2021-06-11
      • 2019-03-21
      • 1970-01-01
      • 2021-04-28
      • 2018-09-04
      相关资源
      最近更新 更多