当前位置: 首页 > 知识库问答 >
问题:

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

施自怡
2023-03-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频道。但是,由于不是每台服务器都有一个通用通道,我想让bot找到它有权发送消息的第一个通道。有办法吗?谢谢

共有1个答案

易扬
2023-03-14

您可以通过以下方式获得帮会的第一个频道:channel=client。获取公会(公会id)。text\u频道[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)
 类似资料:
  • 因此,我用于让bot问候新用户的代码停止工作,我不知道为什么或如何使用这是im用于欢迎活动本身的代码```module.exports=(client)=>{const channelId='757493821251649608'//welcome channel const targetChannelId='757521186929246219'//rules and info }``` 这就是

  • 所以我用discord编写了一个discord机器人。js的一个特性是,当新用户加入服务器时,bot会发送一条消息。我现在不做嵌入,我以后可以自己做。 这是我的主要专为此功能制作的文件: 在我的文件中,我刚刚导入了该文件,并添加了。 但由于某些原因,我的代码没有出现在欢迎频道。。。任何帮助都将不胜感激。

  • 我想为我的机器人制作一个命令,在其中我们可以配置机器人可以发送的欢迎消息。因此,配置的工作原理如下:

  • 我正在制作一个不和谐的机器人,我计划在多个服务器上运行。每台服务器都有一个不同的欢迎频道名称以及所有这些。我制作了欢迎消息,并尝试让机器人在一个名为“欢迎”的频道中发布消息,这将解决这个问题,但没有成功。我曾考虑创建一个数据库,将服务器所有者发送给bot的通道id保存在服务器名称/id下。触发bot时,会将服务器id与数据库中的id匹配,然后获取链接到服务器id的通道id。但这需要大量SQL或Po

  • 我正在编写一个简单的discord bot,我想让它在加入服务器时发送一条问候消息 但是,此代码只发送一般消息,如果一般通道未命名为“general”,则不会发送。现在我希望它在系统消息通道中发送消息。我该怎么做?

  • 我想向bot已加入的所有频道发送消息 当特定文件的散列结果与原始结果不同时,我希望将消息发送到bot加入的所有不协调通道。我知道如何向频道发送回复信息 用这个代码,对吗?但我想发送消息到所有的通道,机器人已加入当一些事件发生。