簡體   English   中英

Telethon 不會斷開客戶端

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM