Telethon 无法再获取聊天实体

Telethon can't get chat entity anymore

我重新激活了一个“旧”机器人并收到此错误:

telethon\utils.py", line 138, in _raise_cast_fail        
    raise TypeError('Cannot cast {} to any kind of {}.'.format(
TypeError: Cannot cast coroutine to any kind of Peer.

经过一些尝试...我发现在函数中进行白名单聊天时会出现此错误:

@bot.on(events.NewMessage(chats=bot.get_entity(config_group),pattern='/hello'))
async def hello(event):

我的解决方法是:

@bot.on(events.NewMessage(pattern='/hello'))
async def hello(event):

    if int(event.chat_id) == int(config_group):

它有效,但持续多长时间? 我想知道我是否做错了什么? (我的意思是在白名单参数中没有等待函数 - 如果这是原因的话)但是它在一周前工作所以...

谢谢你的帮助:)

get_entity 工作正常 config_group 的价值是多少?

IDs 和 usernames 可以传递给 chats= 参数,Telethon 会自动获取实体。

@bot.on(events.NewMessage(chats=chat_id, pattern='/hello'))
async def hello(event):
    # do your things

就您收到的错误而言,get_entity returns 协程,因此必须等待它。

>> TypeError: Cannot cast coroutine to any kind of Peer.