Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

120 Commits
 
 
 
 
 
 
 
 
 
 

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

Packages

Contributors

Languages