如何使用 discord.py 在系统消息频道中发送问候消息

时间:2021-02-14 00:23:11

标签: python discord.py

我正在编写一个简单的 discord bot,我想让它在加入服务器时发送问候消息

@client.event
async def on_guild_join(guild):
    general = find(lambda x: x.name == 'general',  guild.text_channels)
    if general and general.permissions_for(guild.me).send_messages:
        await general.send('Thanks for inviting me.'.format(guild.name))

但是,此代码仅发送一般消息,如果一般频道未命名为“general”,则不会发送。所以现在我希望它在系统消息通道中发送消息。我该怎么做?

1 个答案:

答案 0 :(得分:0)

您应该使用 Guild.system_channel 但在某些情况下它可以是 None 就好像服务器已删除系统通道

以下是修改后的代码:

@client.event
async def on_guild_join(guild):
    if guild.system_channel: # If it is not None
        await guild.system_channel.send(f'Thanks for inviting me to {guild.name}')