标题说明了一切... 我想在公会中使用给定名称的频道ID,但在文档中找不到任何可以执行此操作的东西。查看Mee6之类的更发达的机器人,他们可以选择连接到您的服务器并为您的任何文本通道设置欢迎页面。我尝试过类似的事情:
channels = discord.utils.get(client.get_all_channels(), guild__name='Test Server'
但这只会返回“文本通道”,而不会返回其他任何内容。
答案 0 :(得分:2)
阿卜杜勒阿齐兹(Abdulaziz)说的是正确的,但效率和冗长程度较低,您可以使用utils.get
channel = discord.utils.get(ctx.guild.channels, name=given_name)
channel_id = channel.id
答案 1 :(得分:1)
channel = discord.utils.get(client.get_all_channels(), name=name_channel)
答案 2 :(得分:0)
如果您使用的是discord.ext.commands
,则可以执行如下循环。
@bot.command()
async def get_channel(ctx, *, given_name=None):
for channel in ctx.guild.channels:
if channel.name == given_name:
wanted_channel_id = channel.id
await ctx.send(wanted_channel_id) # this is just to check
答案 3 :(得分:0)
channel = message.channel
简单
答案 4 :(得分:0)
如果您不知道要通过哪个服务器来获取频道,您可以使用这个:
channel = discord.utils.get(self.client.get_all_channels(), id=channel_id)