python - 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()
以前,但这对我不起作用,我仍然得到错误。有谁知道如何解决这个问题?
解决方案
这不起作用,因为get_channel()
需要一个 int 类型的对象,该对象等于属于机器人可以访问的通道的 id。例如,这将是一个正确的用法:
channel = client.get_channel(700437301263728720)
推荐阅读
- apache - mod_auth_openidc 和 cilogon
- python - 如何访问函数内的字典?
- mysql - 为什么我的护照应用程序不验证用户身份?
- mysql - 如何知道 MySQL 脚本中列名的使用频率?
- c# - C# - Unity - 两个对象碰撞时的音频,不工作:(
- vb.net - TabControl_DrawItem 选项卡颜色从右到左
- ionic2 - 如何理解 Ionic 项目中的“WWW”文件夹?
- javascript - 如何正确地将对象推送到来自 Apollo 客户端的数据
- java - 如何使用每个循环检测 ArrayList 中的字符串?
- javascript - 显示 2 后在滑块中显示 1 张图片