[英]Telethon Won't Disconnect Client
我有 Telethon 的問題。 我有一個 NewMessage() 事件監聽器,它工作得很好。 但是當使用 CTRL + C 退出腳本並再次啟動它時,它不會再次連接到聊天。 我必須手動刪除 Telegram 應用程序中的連接。
我的問題是:當我按 CTRL + C 或程序關閉時,如何強制客戶端斷開連接。
from telethon import TelegramClient, events, sync
import globals, asyncio
client = TelegramClient('anon',
globals.api_id, globals.api_hash)
@client.on(events.NewMessage(chats=globals.tLink))
async def my_event_handler(event):
print(event.raw_text)
client.start()
client.run_until_disconnected()
如果您需要反復重新啟動腳本,則不為每次運行創建單獨的/新會話可能是合理的。 嘗試使用 None 不創建 .session 文件,而不是創建 anon.session。
client = TelegramClient(None, globals.api_id, globals.api_hash)
這就是我的做法:
async def enviar():
(code)
async def main():
global ME
ME = await info_me();
enviar_var = asyncio.create_task(enviar());
await enviar_var;
with client:
try:
client.loop.run_until_complete(main());
except:
print("Encerrando...");
future = asyncio.Future();
future.set_result("1");
con.close();#I am using a SQLite database, you can ignore this line
print("Adeus!");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.