Пересылка сообщений с частного канала Telegram - PullRequest
0 голосов
/ 12 мая 2018

У меня есть ссылка приглашения частного канала, и я хочу пересылать (или доставлять) сообщения с этого канала мне. Мой желаемый псевдокод, как показано ниже.

def get_channel(bot, update):
   message=update.channel_post.text
   print(message)

updater = Updater(my_token)
channel_handler = MessageHandler(Filters.text, get_channel, 
channel_post_updates=True, invite_link='http://t.me/aa23faba22939bf')
updater.dispatcher.add_handler(channel_handler)

Это хорошо работает, когда мой бот находится в канале, который я создал (для моей цели добавлена ​​ссылка для приглашения. Я не знаю, куда следует вводить ссылку для приглашения). Но я хочу, чтобы мой бот пересылал сообщения с канала, в который мой бот не включен. Я предпочитаю Python, но любой API будет в порядке. Я искал весь мир Google, но не имею никаких подсказок. Любые советы приветствуются.

1 Ответ

0 голосов
/ 15 мая 2018

Я нашел решение с библиотекой Telethon. У меня работает (http://telethon.readthedocs.io/en/latest/extra/advanced-usage/update-modes.html)

def callback(update):
    print('I received', update)

client = TelegramClient('session', api_id, api_hash,
                        update_workers=1, spawn_read_thread=False)

client.connect()
client.add_event_handler(callback)
client.idle()  # ends with Ctrl+C

В функции обратного вызова вы можете фильтровать только сообщения канала или групповые сообщения.

...