我有这个代码,我想在谷歌colab上运行它。它在我的电脑上工作得很好,但在colab上我总是得到这样的错误:
语法错误:'async with'在异步函数外部
或
运行时错误:如果事件循环正在运行,则必须使用"async with"(即您在"async def"内部)
有时它不等待获得新消息,并且在一次运行之后完成。
import json
import time
import telethon as tlt
import asyncio
from telethon import events,TelegramClient
chat_name = "sample"
telegram_session="sample_1"
api_id = "0000000"
api_hash = ""
client = TelegramClient(None , api_id, api_hash)
@client.on(events.NewMessage(chats=chat_name))
async def handler(event):
get_message = event.message.to_dict()
get_message['date'] = get_message['date'].strftime("%Y-%m-%d %H:%M:%S")
message_json = json.dumps(get_message)
print(message_json)
async with client:
client.run_until_disconnected()
1条答案
按热度按时间ni65a41a1#
您需要将
async with
放入async def
中: