首页 > 解决方案 > Discord.py 无法通过正确的频道 ID 找到频道

问题描述

我正在尝试向我的不和谐机器人添加一个功能,以每 10 秒发送一次特定消息(消息的内容现在并不重要)。这是我的代码:

@client.event
async def on_ready():
    await client.wait_until_ready()
    await client.loop.create_task(update_task())

async def update_task():
    await client.wait_until_ready()

    chn = client.get_channel('#')
    while True:

        await chn.send('message')
        await asyncio.sleep(10)

我得到了错误:

AttributeError: 'NoneType' object has no attribute 'send'

我已经看到了几个类似的问题,所有的解决方案都需要添加

await client.wait_until_ready()

以前,但这对我不起作用,我仍然得到错误。有谁知道如何解决这个问题?

标签: pythonpython-3.xpython-asynciodiscord.py

解决方案


这不起作用,因为get_channel()需要一个 int 类型的对象,该对象等于属于机器人可以访问的通道的 id。例如,这将是一个正确的用法: channel = client.get_channel(700437301263728720)


推荐阅读