【问题标题】:Discord.py: Join and leave messages are not working [duplicate]Discord.py:加入和离开消息不起作用[重复]
【发布时间】:2021-08-23 19:55:00
【问题描述】:

为人们加入和离开我的服务器时创建加入和留言功能,但它似乎没有运行,代码看起来完全没问题。没有错误。我有什么遗漏吗?

# are any of these causing the issues?
intents = discord.Intents.default()

intents.members = True

client = discord.Client(intents=intents)

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

client.remove_command('help')

client.load_extension('cogs.commands')
# ---------


@client.event
async def on_member_join(member):

    await client.wait_until_ready()

    channel = client.get_channel(850882992708124702)

    await channel.send(f"Welcome {member}!")


@client.event
async def on_member_remove(member):

    channel = client.get_channel(850883012103241748)

    await channel.send(f"Goodbye {member}!")

【问题讨论】:

  • @ŁukaszKwieciński ,不,这并没有解决问题。什么也没发生。
  • 尝试在函数定义后添加一些调试打印语句。
  • 其实我以前也有过。他们从未出现过。我让它打印了print("Member has joined"),但它从未打印出来。

标签: python discord.py bots


【解决方案1】:

问题是你覆盖了你的客户端:

client = discord.Client(intents=intents)

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

用这个来解决这个问题:

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

【讨论】:

  • 这完全解决了它。我什至没有意识到我正在这样做,哈哈,真是一个忽视。谢谢!
  • 没问题。我也花了一段时间,很容易错过。祝你有美好的一天!
【解决方案2】:

问题是你用的太多了client 对于这个问题,这是您的原始代码:

intents = discord.Intents.default()
intents.members = True
client = discord.Client(intents=intents)
client = commands.Bot(command_prefix='-')
client.remove_command('help')
client.load_extension('cogs.commands')

要修复它,您必须包含 command_prefix='-'client = discord.Client(intents=intents) 所以这里是如何修复它的代码:

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

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

client.remove_command('help')
client.load_extension('cogs.commands')

【讨论】:

    猜你喜欢
    • 2021-05-16
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-05
    • 2021-03-17
    • 2019-07-08
    • 2021-04-17
    • 1970-01-01
    相关资源
    最近更新 更多