/TG_AutoPoster

Telegram Bot for AutoPosting from VK

Primary LanguagePythonMIT LicenseMIT

TG_AutoPoster

Бот, пересылающий записи из групп ВК в канал/чат/ЛС в Telegram.

License MIT Python Version Code style: Black issues stars docker


Установка

pip3 install -U TG-AutoPoster

Установка (классический способ)

Команды указаны для Linux

Клонируйте репозиторий и перейдите в папку с проектом

git clone https://github.com/qwertyadrian/TG_AutoPoster
cd TG_AutoPoster

Инициализируйте и активируйте виртуальное окружение (при необходимости)

python3 -m venv venv
source venv/bin/activate

Установите требуемые зависимости

pip install -r requirements.txt

Настройка

  1. Создайте файл config.ini, скопируйте в него содержимое файла config.ini.example и выполните настройку секции global
Параметр Возможные значения Описание
login Логин ВК
pass Пароль ВК
token (необязательно) Рекомендуется к использованию. Cервисный ключ доступа или ключ доступа пользователя (подробнее). Если он задан, то логин и пароль не используются. При его использовании не будут доступны аудиозаписи (при использовании сервисного ключа доступа также не будут доступны истории). Получить ключ доступа пользователя можно с помощью этого сервиса.
sign_posts (необязательно) yes, no Указывать ли автора поста (если это возможно) и ссылку на оригинальный пост. По умолчанию: yes
send_reposts (необязательно) 0 (no), 1 (post_only), 2 (yes, all) Отправлять ли репосты? Подробнее в config.ini.example. По умолчанию отправка репостов отключена.
send_stories (необязательно) 0 (no), 1 (yes) Отправлять ли истории? По умолчанию: no
what_to_send (необязательно) Какие типы вложений отправлять. Подробнее в config.ini.example. По умолчанию отправляется всё.
stop_list (необязательно) Путь к файлу, содержащий стоп-слова (в файле должно быть по одному слову на каждой строке). Если вы не хотите использовать стоп-слова удалите этот параметр из файла конфигурации или оставьте значение параметра пустым
blacklist (необязательно) Путь к файлу, содержащий слова, которые будут удалены из текста отправляемого поста. Поддерживаются регулярные выражения.
disable_notification (необязательно) yes, no Отправляет сообщения молча. Пользователи получат уведомление без звука. По умолчанию: no
disable_web_page_preview (необязательно) yes, no Отключить предпросмотр ссылок в сообщениях. По умолчанию: yes
posts_count (необязательно) число от 1 до 100 Количество отправляемых ботом новых постов за раз. По умолчанию 11.
  1. Получите ваши api_id и api_hash на https://my.telegram.org/apps и настройте секцию pyrogram (подробнее об Telegram API Keys здесь)
Параметр Описание
api_id App api_id
api_hash App api_hash
bot_token Токен Telegram бота, полученный у @BotFather
  1. Если необходимо, настройте использование SOCKS прокси, добавив секцию proxy со следующим содержимым:
Параметр Возможные значения Описание
enabled True, False Использовать ли прокси
hostname IP адрес (или домен) прокси сервера
port Порт прокси сервера
username Имя пользователя (можно оставить пустым)
password Пароль (можно оставить пустым)
  1. Замените название секции с domain1 на домен группы ВК (или на ссылку группы) и выполните соответствующую настройку этого секции.
Параметр Возможные значения Описание
channel Список ID каналов/чатов в Telegram, разделенных пробелом, в которые отправлять посты из групп ВК
last_id (необязательно) ID последнего отправленного поста. Если параметр отсутствует, он будет добавлен автоматически со значением 0
pinned_id (необязательно) ID закреплённого поста.
last_story_id (необязательно) ID последней отправленной истории.
Все необязательные параметры секции global могут быть заданы индивидуально для каждой группы.

Для работы с несколькими группами добавьте новые секции в соответствии с пунктом № 4

Запуск

  1. Пропишите запуск файла по расписанию TG_AutoPoster.sh в crontab (Linux) (нежелательно запускать бота каждые 5-10 минут, так как за это могут заморозить ваш профиль ВК). Также возможен запуск бота в бесконечном цикле с проверкой постов через определенный промежуток времени. Подробнее python3 -m TG_AutoPoster --help.
  2. Активируйте бота командой /start
  3. Готово!

Дополнительно:

Если вы хотите управлять автопостингом через Telegram чат, то предлагаю ознакомиться с TG_AutoConfigurator.


Использование Docker контейнера

Вопросы и предложения:

  1. Telegram: @QwertyAdrian
  2. Вконтакте: Адриан Поляков (отвечаю там редко)

Для пожертвований на развитие проекта:

  1. Qiwi