【问题标题】:How to send welcome message in first text channel discord.py如何在第一个文本频道 discord.py 中发送欢迎消息
【发布时间】:2020-12-25 05:20:14
【问题描述】:

我有一个相当不错的机器人,我计划很快推出。它被称为版主,它应该是完美的版主机器人,这样服务器就不再需要真正的版主了。所以我希望它在加入服务器时发送欢迎消息,但是因为所有服务器都有不同的频道名称和频道,所以我也无法获得通用的频道名称来发送欢迎消息。

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 频道。但由于不是每个服务器都有一个通用频道,我想让机器人找到它有权发送消息的第一个频道。有没有办法做到这一点? 谢谢!

【问题讨论】:

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


    【解决方案1】:

    您可以通过以下方式获得公会的第一个频道: 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)
    

    【讨论】:

    • 有没有办法使用 on_guild_join 做到这一点?对不起,我没有准确解释我的意思。我的意思是当机器人被邀请到服务器时,它会说谢谢你邀请我等
    • 等等,没关系,我想知道如何使用 on_guild_join 来做到这一点
    猜你喜欢
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 2021-06-14
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多