You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.py报错:channel_id传入内置函数id而非Snowflake值的问题咨询

解决Discord.py中"In channel_id: Value '' is not snowflake"报错

问题原因

你代码里的id是Python的内置函数,并非你需要的频道ID变量。fetch_channel()方法要求传入有效的Discord频道雪花ID(整数或字符串格式),传入内置函数id自然会触发类型错误。

解决方案

  1. 避免使用内置函数名作为变量名:将你定义的频道ID变量改为其他名称,比如CHANNEL_ID(大写常量是Python的规范写法)。
  2. 传入正确的频道ID:确保变量存储的是目标频道的实际雪花ID(可通过Discord客户端开启开发者模式后,右键频道复制获取)。

修正后的代码示例

@client.event
async def on_ready():
    if CheckIfChapterIsOut():
        with open("chapter.txt", "r") as f:
            chapter = f.readline()
        print("We have logged in as {0.user}".format(client))
        # 替换为你实际的频道ID,也可从环境变量读取
        CHANNEL_ID = 123456789012345678  # 示例ID,替换成真实值
        channel = await client.fetch_channel(CHANNEL_ID)
        await channel.send(f"Chapter {chapter} Of Overgeared is out!")
        await channel.send(
            f"https://mangarockteam.com/manga/overgeared-team-argo/chapter-{chapter}/"
        )


client.run(os.getenv('token'))

额外注意

不要用Python内置关键字或函数名(如id、str、list)作为自定义变量名,避免引发类似的混淆问题。

内容的提问来源于stack exchange,提问作者Nodari khvedelidze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 02:01:00