使用频道 ID 在 Telethon 中抓取电报消息

Scraping Telegram Messages in Telethon Using Channel ID

我正在尝试从我所属的 Telegram 频道抓取新消息。我有 ID 和邀请 link 但没有实际地址。

下面的代码适用于我用来测试的路透社频道。

是否可以使用 ID 或邀请 link 而不是实际地址?

import configparser
import json
import re
from telethon.errors import SessionPasswordNeededError
from telethon import TelegramClient, events, sync
from telethon.tl.functions.messages import (GetHistoryRequest)
from telethon.tl.types import (
PeerChannel
)

api_id = '*******'
api_hash = '**************************'
client = TelegramClient('anon', api_id, api_hash)

user_input_channel = 'https://t.me/ReutersWorldChannel'

@client.on(events.NewMessage(chats=user_input_channel))
async def newMessageListener(event):
    newMessage = event.message.message
    print(newMessage)

with client:
    client.run_until_disconnected()

如果您有正确频道的chat_id,那么是的,您可以收到消息。


import configparser
import json
import re
from telethon.errors import SessionPasswordNeededError
from telethon import TelegramClient, events, sync
from telethon.tl.functions.messages import (GetHistoryRequest)
from telethon.tl.types import (
PeerChannel
)

api_id = '*******'
api_hash = '**************************'
client = TelegramClient('anon', api_id, api_hash)

chat_ids = [-100123562772, -55627728]

@client.on(events.NewMessage(chats=chat_ids))
async def newMessageListener(event):
    newMessage = event.message.message
    print(newMessage)

with client:
    client.run_until_disconnected()