Discord bot 未按名称查找频道

Posted

技术标签:

【中文标题】Discord bot 未按名称查找频道【英文标题】:Discord bot is not finding channel by name 【发布时间】:2020-02-16 14:08:01 【问题描述】:

我正在制作一个 Discord 机器人,当它启动时,我让它搜索公会文本频道并检查特定频道名称。如果我打印出频道列表,它会找到所有频道,尽管如果我尝试 if channel.name is "general" 它不会将标志更改为 true。

async def on_ready():
    print("Bot is ready.")
    has_channel = False
    for guild in client.guilds:
        for channel in guild.text_channels:
            print(channel.name)
            if channel.name is "general":
                has_channel = True
        print(has_channel)

这是我的代码,这是输出:

Bot is ready.
general
streaming-updates
welcome
goodbye
streaming-schedules
False

你知道为什么在 if 语句中它没有与 true 进行比较吗?

【问题讨论】:

【参考方案1】:

我怀疑channel.name 不是str 类型,因此is 评估为假。试试:

if str(channel.name) == "general":

【讨论】:

这确实有效,我什至尝试过str(channel.name) is "general":,但没有成功。感谢您为我指出正确的方向,我在一些文档中读到 channel.name 是类型 str 但我想不是。再次感谢。

以上是关于Discord bot 未按名称查找频道的主要内容,如果未能解决你的问题,请参考以下文章

Python Discord Bot 未加入语音频道

Discord.py Bot 将文件发送到 Discord 频道

在 Discord (discord.py bot) 中仅从 1 个频道发送消息

Discord Bot公告频道

Discord .net Bot 创建私人频道

Discord Bot 发布频道链接