亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 telethon 獲取電報私人頻道 ID

如何使用 telethon 獲取電報私人頻道 ID

MMMHUHU 2023-03-01 15:50:04
您好不知道如何解決這個問題,所以任何幫助將不勝感激。我訂閱了一個私人頻道。這個頻道沒有用戶名,我也沒有邀請鏈接(管理員剛剛加了我)。由于我在工作中使用這個頻道,為了加快我想處理使用 Telethon 在頻道上發布的消息的速度。該方案的核心是:@events.register(events.NewMessage(chats = my_private_channel)) async def handler(event):             #do things問題是我無法過濾到達該特定頻道 ID 的消息。我收到錯誤:ValueError: Cannot find any entity corresponding to "0123456789"我嘗試了不同的技術來獲取我的頻道 ID,但錯誤總是一樣的。尤其:該頻道是私有的,因此沒有用戶名(“@blablabla”)我沒有邀請鏈接我試圖處理所有傳入的消息,直到管理員在頻道上發送消息,打印發件人信息并從“ID”鍵獲取值我嘗試使用電報網絡并從 url 獲取 ID(也在它前面添加 -100)但是當我把 ID 放在參數chats中時,我總是得到上面報告的錯誤。提前致謝,祝你有美好的一天
查看完整描述

3 回答

?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

如果您有權訪問該頻道,它就會顯示在您的聊天列表中。


您必須遍歷聊天以檢查其標題,然后將所需的聊天存儲在變量中:


my_private_channel_id = None

my_private_channel = None


async for dialog in tg.client.iter_dialogs():

    if dialog.name == "private chat name":

        my_private_channel = dialog

        my_private_channel_id = dialog.id

        break


if my_private_channel is None:

    print("chat not found")

else:

    print("chat id is", my_private_channel_id)

比您可以過濾發送到 my_private_channel 的消息。


查看完整回答
反對 回復 2023-03-01
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

您可以打印您參與的所有對話/對話。您還需要從您獲得的 id 中刪除 -100 前綴:-1001419092328 = 1419092328 (actual ID)


from telethon import TelegramClient, events



client = TelegramClient("bot", API_ID, API_HASH)


client.start()

print("?? Connected")



@client.on(events.NewMessage())

async def my_event_handler(event):

    

    async for dialog in client.iter_dialogs():

        print(dialog.name, 'has ID', dialog.id) # test ID -1001419092328




client.run_until_disconnected()

如果您想收聽特定頻道,可以使用channel_id=1419092328. 您只會收到廣播給它的消息:


from telethon import TelegramClient, events

from telethon.tl.types import PeerChannel




print(f"?? Connecting...")

client = TelegramClient("bot", API_ID, API_HASH)


client.start()

print("?? Connected")



@client.on(events.NewMessage(PeerChannel(channel_id=1419092328)))

async def my_event_handler(event):

    msg = event.text    


    print(f"[M] {msg}")



client.run_until_disconnected()


查看完整回答
反對 回復 2023-03-01
?
catspeake

TA貢獻1111條經驗 獲得超0個贊

如果沒有邀請鏈接,您將無法加入私人頻道,也無法獲得有關它的任何信息。顧名思義,它是私有的。



查看完整回答
反對 回復 2023-03-01
  • 3 回答
  • 0 關注
  • 1224 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號