ZilbergSP / telegram-grabber

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Telegram Grabber

Бот копирует новые посты из указанных каналов в канал модерации, в канале модерации вы выбираете, какой пост отправить в ваш основной канал.


Инструкция перед запуском

Шаг 1: Создание базы данных

  1. Создать базу данных с названием "bd.db" в корневом каталоге проекта.
  2. В базе данных создать таблицу "DataBase" со столбцами "username" и "message_id".
  3. В базе данных создать таблицу "config" со столбцами "donor", "moder", "channel".
    • В таблицу "DataBase" записывается информация о скопированных постах. (Не редактировать);
    • В таблицу "config" добавляются и удаляются каналы откуда копировать посты (донор), на какой канал копировать (модератор) и на какой канал публиковать посты.

Шаг 2: Создание ботов

  1. Зарегистрировать приложение на https://my.telegram.org/apps , получить api id и api hash.
  2. Создать канал, в который будут копироваться все новые посты.
  3. Создать основной канал, в который будут публиковаться посты, выбранные из первого канала.
  4. Создать бота, сохранить токен. (Бот добавляет/удаляет в базе донора, модератора и основной канал).

Шаг 3: Переменные виртуального окружения

1. API_ID="Вставить из шага 2.1"
2. API_HASH="Вставить из шага 2.1"
3. TOKEN="Вставить из шага 2.4"
4. USER_ID="Получить используя бот @userinfobot"

Требования

Pyrogram==1.0.7
aiogram==2.12.1

Запуск

Запуск на Linux

cd python_bot/
    В первый раз нужно запустить бота и подтвердить вход номером телефона, поэтому:
    python3 bot_grabber.py
    Ввести номер телефона и код подтверждения
    ctrl + c
nohup python3 -u ./bot_grabber.py &
cd ..
cd restart_bot/
nohup python3 -u ./bot_restart.py &

Как пользоваться

Когда в каналах появляется пост, он копируется в канал модер с присвоением ID. Для того, что бы отправить пост в основной канал нужно отправить в ответ ID поста.

PS на канал нужно быть подписанным.

Управление БД через Telegram

Используя бот из шага 2.4 есть возможность вносить изменения в базу по каналам донорам, модерации и основного канала, с помощью всплывающей клавиатуры.

Нажать Донор -> ввести название -> выбрать Добавить или Удалить
Нажать Модер -> ввести название -> выбрать Добавить или Удалить
Нажать Канал -> ввести название -> выбрать Добавить или Удалить

About


Languages

Language:Python 100.0%