我有一个相当不错的机器人,我打算很快启动。它被称为主持人,它被认为是完美的主持人机器人,因此服务器不再需要实际的主持人。因此,我希望它在加入服务器时发送欢迎消息,但是由于所有服务器具有不同的频道名称和频道,因此我也无法获得通用的频道名称来发送欢迎消息。
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频道。但是由于不是每个服务器都有一个通用通道,所以我想让机器人找到它有权发送消息的第一个通道。有没有办法做到这一点? 谢谢!
答案 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)