Skip to content

Бот позволяет пересылать весь контент с любого telegram канала на ваш

Notifications You must be signed in to change notification settings

WALTERXO/telegram-grabber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram Grabber v2.4 2024

Телеграм Граббер v2.4 2024

Бот позволяет пересылать весь контент с любого telegram канала на ваш канал без упоминания автора канала. Также есть возможность заменить ссылки и упоминания в постах на ваши

Подписывайтесь на наш телеграм канал: https://t.me/my_grab (exe версия есть в Telegram группе, вступайте)

RoadMap

  • 02.01.24 Добавил инлайн-меню, режим модерации, перезагрузку бота из онлайн меню, добавление каналов без команд (по нажатию на инлайн-меню), обновил инструкцию

  • 10.01.24 Добавил возможность добавлять каналы по @username; Задал версию клиента при авторизации для решения возможной проблемы с вылетом на всех устройствах

  • 11.01.24 Фикс отображения встроенных ссылок при замене; Теперь все переменные, которые нужно менять, заполняются в файле config.py

  • 11.01.24 Внедрение Chat GPT - в режиме модерации добавил кнопку "Рерайтинг текста" (Работает только с одиночными сообщениями, если отправляется альбом, то кнопки не будет). Текст по нажатию на кнопку должен будет переписать Chat GPT для создания уникальной публикации.

  • 12.01.24 Добавил запрет на все команды(/) для пользователей, чьи id не совпадают с my_id из config.py

  • 21.01.24 Исправил проблему при которой не пересылались сообщения, в которых есть превью; Починил соответствия; Добавил кнопку "Показать соответствия" в инлайн-меню; Исправил баг с частью нерабочих кнопок инлайн-меню, поменял файл config.py

Используемые библиотеки

Всё тестировалось на Python 3.11

Для работы бота необходимо установить библиотеки.

Библиотека aiogram:

pip install aiogram==2.25.1

(Если в будущем предложит обновить библиотеку aiogram, то не нужно. Всё работает только на версии 2.25.1)

Библиотека telethon:

pip install telethon

В данный момент всё стабильно работает на последней версии библиотеки telethon (1.33)

Библиотека httpx: (proxy для работы Chat GPT)

pip install httpx

Как запустить

  1. Создать телеграм-бота. Для этого нужно написать боту BotFather и следовать инструкциям. После этого сохраните токен бота.
  2. Получить api_id, api_hash. Сделать это можно на сайте my.telegram.org. Инструкция: https://www.youtube.com/watch?v=JBDnmEhvgac
  3. Задать переменные api_id, api_hash, bot_token и my_id в файле config.py. Также заполните id технического канала (Смотреть 6 пункт)

image

my_id брать в Get My ID отсюда (отправить в бот любое сообщение, он выдаст ваш id):

image

Запустить бота командой:

python main.py

При первом запуске нужно ввести НОМЕР ТЕЛЕФОНА (НЕ ТОКЕН) и код, который придёт в telegram

Пример использования:

  1. Переходим в telegram бот, который создали в начале. Вводим команду "/start", нажимаем "Добавить канал" и вводим id канала, с которого нужно брать контент. id нужного канала можно узнать переслав любое сообщение с канала в бот (пример id для каналов: -1001009232144) Get My ID image

Можно вводить и username через "@", но через id стабильнее работает. Если через id не получается вводим @username

  1. Добавляем канал, на который должны будут приходить сообщения. Для этого жмём "Добавить канал-получатель". Бот, в котором мы всё это вводим, обязательно должен быть администратором этого канала.

  2. Обязательно указываем соответсвие между каналами (это пригодится когда добавите несколько каналов-источников и несколько каналов-получателей, при этом хотите чтобы публикации из определённых каналов приходили на конкретные каналы) написав id канала-источника и id канала-получателя через пробел командой /set_channel_mapping (Пример: /set_channel_mapping -100123132890 -1000932314321).

  3. После этого перезагружаем код либо вручную закрыв и открыв компилятор кода (стабильнее всего), в котором работаем, либо по кнопке "Перезагрузить бота" (не стабильно). Теперь все новые сообщения будут приходить на ваш канал.

  4. Также вам доступна команда

    /last_messages ко-во сообщений или all, если все

Она отправляет последние сообщения на ваш канал. Если добавили несколько каналов-источников, а последние сообщения нужны только с одного канала, то напишите

/last_messages id канала источника ко-во сообщений
  1. Режим модерации. При активации режима модерации все сообщения будут приходить сначала на ваш технический канал, в котором вы можете их редактировать, удалять и публиковать:

image

image

Для его работы создаём новый пустой канал и вводим id этого канала в technical_channel_id в файле config.py. (получить id можно по аналогии как с остальными каналами). Не забываем назначить бота администратором технического канала.

Если вы отредактировали сообщение, то нажимайте на "Отредактировано" чтобы оно обновилось в хранилище. Возможный баг: когда в техническом канале скапливается большое количество сообщений, то при нажатии на "Отправить" может зависать. Чтобы всё заработало нажимаем на "Отредактировано", а потом "Отправить".

Также есть возможность заменять все ссылки и упоминания, которые публикуются на каналах на ваши. В файле config.py замените на нужные вам

image

Рерайт текста с Chat GPT. В режиме модерации есть кнопка "Рерайт текста". Для её работы заполняем proxy_url и openai_api_key в файле config.py. proxy_url должны быть формата HTTP или HTTPS. Если у вас прокси с логином и паролем, то в настройках прокси ставьте авторизацию по вашему ip. Даже если прокси HTTPS, то тут всё равно должно быть http: image

openai_api_key берётся на сайте openai https://platform.openai.com/api-keys при наличии бюджета в https://platform.openai.com/usage . При отсутствии прокси и openai_api_key, то оставьте эти данные пустыми, либо за покупкой можно обратиться ко мне.

Подписывайтесь на наш телеграм канал: https://t.me/my_grab

Список доступных команд:

  • /start - Начало работы с ботом
  • /help - Получить список доступных команд
  • /add_channel - Добавить канал для работы
  • /remove_channel - Удалить канал из списка
  • /list_channels - Показать список добавленных каналов
  • /add_destination_channel - Добавить канал-получатель
  • /remove_destination_channel - Удалить канал-получатель из списка
  • /list_destination_channels - Показать список каналов-получателей
  • /set_channel_mapping - Установить соответствие между каналами
  • /last_messages (ко-во сообщений или all, если все) - Отправить последние сообщения с каналов

Если хотите поддержать проект

ЮMoney: 410011379451106

Карта МИР: 2204120200078646

Буду очень благодарен!

About

Бот позволяет пересылать весь контент с любого telegram канала на ваш

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages