Перейти к публикации

moldovan

Простой граббер постов для тг

Рекомендованные сообщения

 В этой теме расскажу о написании простого граббера постов для нашей любимой телеги. Если будет 30+ реакций то напишу пост о более лучшем и продвинутом граббере с огромным функционалом))
Код, который я предоставлю, является примером использования библиотеки Telethon для работы с Telegram API. Давайте разберем каждую часть кода:
 

Импорт библиотек и модулей:

from telethon import TelegramClient, events
import asyncio

В этом блоке мы импортируем необходимые модули: TelegramClient для создания клиента Telegram, events для работы с событиями в Telegram, и asyncio для работы с асинхронными операциями.

 

Конфигурация API:

api_id = 0004220
api_hash = '72b76077b2216344176639c800600000'

В этой части кода вы должны заменить значения api_id и api_hash своими реальными значениями, полученными при регистрации приложения на платформе Telegram.

 

Настройки каналов:

my_channel_id = -1001391180000
channels = [-1600100000]

В данном примере у нас есть один исходный канал (channels), и мы хотим пересылать сообщения с этого канала на другой канал (my_channel_id). Вам нужно заменить значения my_channel_id и channels своими соответствующими значениями. Обратите внимание, что идентификаторы каналов должны быть в числовом формате, и для публичных каналов нужно использовать отрицательные значения.

 

Создание клиента и запуск:

client = TelegramClient('myGrab', api_id, api_hash)
print("GRAB - Started | by connectUSB")

В этой части кода мы создаем экземпляр клиента TelegramClient с именем 'myGrab' и передаем ему значения api_id и api_hash. Затем выводится сообщение о запуске клиента.

 

Обработка новых сообщений:

@client.on(events.NewMessage(chats=channels))
async def my_event_handler(event):
if event.message:
await client.send_message(my_channel_id, event.message)

Это декоратор, который регистрирует функцию my_event_handler в качестве обработчика событий новых сообщений из каналов, указанных в channels. Когда новое сообщение поступает в один из этих каналов, функция my_event_handler вызывается. Внутри функции проверяется наличие сообщения event.message и, если оно существует, оно отправляется в канал my_channel_id с помощью client.send_message.

 

Запуск клиента и его работа:

client.start()
client.run_until_disconnected()

В этой части кода клиент запускается с помощью client.start() и остается активным, пока не будет отключен с помощью client.run_until_disconnected(). Это позволяет клиенту продолжать работать и обрабатывать события до тех пор, пока не произойдет отключение.

Это основные аспекты кода, которые описывают его функциональность. Вы должны заменить необходимые значения переменных и настроить соответствующие каналы и их обработку в соответствии с вашими требованиями.

from telethon import TelegramClient, events

import asyncio

api_id = 0004220
api_hash = '72b76077b2216344176639c800600000'

my_channel_id = -1001391180000
channels = [-1600100000]

client = TelegramClient('myGrab', api_id, api_hash)
print("GRAB - Started | by connectUSB")


@client.on(events.NewMessage(chats=channels))
async def my_event_handler(event):
if event.message:
await client.send_message(my_channel_id, event.message)

client.start()
client.run_until_disconnected()

 

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...