【问题标题】:Discord.py on_member_join wont printDiscord.py on_member_join 不会打印
【发布时间】:2021-02-08 16:14:49
【问题描述】:
@client.event
async def on_member_join(member):
    print(member)

    role = discord.utils.get(member.guild.roles, name="☾│Unregister Of Hyperion")
    await member.add_roles(role)

这是我的代码,它应该在加入时打印用户昵称,但它没有。机器人给出了角色,但它不打印。相同的代码适用于我的另一个机器人。我不知道为什么它不起作用。

【问题讨论】:

  • Idk 它对我来说非常好用。你有没有检查它是否打印了一般的东西?也许尝试打印出一个随机字符串来检查函数是否有效并告诉我们输出。

标签: python discord.py


【解决方案1】:

在新版本的discord.py(1.5.x)中,有一些关于Intents的更新。 Intents类似于权限,你必须定义Intents来获取频道、成员和一些事件等。你必须在定义client = discord.Bot(prefix='')之前定义它。

import discord

intents = discord.Intent().all()
client = discord.Bot(prefix='', intents=intents)

@client.event
async def on_member_join(member):
    print(member)
    role = discord.utils.get(member.guild.roles, name="☾│Unregister Of Hyperion")
    await member.add_roles(role)

如果你想了解更多关于 Intents 的信息,可以查看API References

【讨论】:

    猜你喜欢
    • 2021-02-25
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-19
    • 2021-02-03
    相关资源
    最近更新 更多