TG_AutoPoster
Бот, пересылающий записи из групп ВК в канал/чат/ЛС в Telegram.
Установка
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
Настройка
- Создайте файл 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. |
- Получите ваши 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 |
- Если необходимо, настройте использование SOCKS прокси, добавив секцию proxy со следующим содержимым:
Параметр | Возможные значения | Описание |
---|---|---|
enabled | True, False | Использовать ли прокси |
hostname | IP адрес (или домен) прокси сервера | |
port | Порт прокси сервера | |
username | Имя пользователя (можно оставить пустым) | |
password | Пароль (можно оставить пустым) |
- Замените название секции с domain1 на домен группы ВК (или на ссылку группы) и выполните соответствующую настройку этого секции.
Параметр | Возможные значения | Описание |
---|---|---|
channel | Список ID каналов/чатов в Telegram, разделенных пробелом, в которые отправлять посты из групп ВК | |
last_id (необязательно) | ID последнего отправленного поста. Если параметр отсутствует, он будет добавлен автоматически со значением 0 | |
pinned_id (необязательно) | ID закреплённого поста. | |
last_story_id (необязательно) | ID последней отправленной истории. | |
Все необязательные параметры секции global могут быть заданы индивидуально для каждой группы. |
Для работы с несколькими группами добавьте новые секции в соответствии с пунктом № 4
Запуск
- Пропишите запуск файла по расписанию TG_AutoPoster.sh в crontab (Linux) (нежелательно запускать бота каждые 5-10 минут, так как за это могут заморозить ваш профиль ВК). Также возможен запуск бота в бесконечном цикле с проверкой постов через определенный промежуток времени. Подробнее
python3 -m TG_AutoPoster --help
. - Активируйте бота командой /start
- Готово!
Дополнительно:
Если вы хотите управлять автопостингом через Telegram чат, то предлагаю ознакомиться с TG_AutoConfigurator.
Использование Docker контейнера
Вопросы и предложения:
- Telegram: @QwertyAdrian
- Вконтакте: Адриан Поляков (отвечаю там редко)
Для пожертвований на развитие проекта: