如何在第一个文本通道discord.py中发送欢迎消息

时间:2020-09-06 16:41:06

标签: python python-3.x discord discord.py

我有一个相当不错的机器人,我打算很快启动。它被称为主持人,它被认为是完美的主持人机器人,因此服务器不再需要实际的主持人。因此,我希望它在加入服务器时发送欢迎消息,但是由于所有服务器具有不同的频道名称和频道,因此我也无法获得通用的频道名称来发送欢迎消息。

channel = find(lambda x: x.name == 'general', guild.text_channels)
if channel and channel.permissions_for(guild.me).send_messages:
    await channel.send(embed=embedvar)

这就是我现在所拥有的,并且您可以看到它找到了一个名为general的频道并将欢迎嵌入消息发送到general频道。但是由于不是每个服务器都有一个通用通道,所以我想让机器人找到它有权发送消息的第一个通道。有没有办法做到这一点? 谢谢!

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式获得公会的第一个频道: channel = client.get_guild(guild id).text_channels[0] 因此,使用此代码,您可以执行以下操作:

@client.event
async def on_guild_join(guild):
    channel = guild.text_channels[0]
    embed = discord.Embed(title=guild.name, description="Hello, I'm here")
    await channel.send(embed=embed)