Бот, пересылающий записи из групп ВК в канал/чат/ЛС в Telegram.
pip3 install -U TG-AutoPoster
- Создайте файл
config.yaml
, скопируйте в него содержимое файла config.yaml.example и выполните настройку ключаvk
Параметр | Описание |
---|---|
login | Логин ВК |
pass | Пароль ВК |
token (необязательно) | Рекомендуется к использованию. Cервисный ключ доступа или ключ доступа пользователя (подробнее). Если он задан, то логин и пароль игнорируются. При его использовании не будут доступны аудиозаписи (при использовании сервисного ключа доступа также не будут доступны истории). Получить ключ доступа пользователя можно с помощью этого сервиса. |
- Получите ваши
api_id
иapi_hash
на https://my.telegram.org/apps и настройте ключtelegram
(подробнее об Telegram API Keys здесь)
Параметр | Описание |
---|---|
api_id | App api_id |
api_hash | App api_hash |
bot_token | Токен Telegram бота, полученный у @BotFather |
- Если необходимо, настройте использование SOCKS5 прокси, добавив ключ
proxy
со следующим содержимым:
Параметр | Возможные значения | Описание |
---|---|---|
enabled | true, false | Использовать ли прокси |
hostname | IP адрес (или домен) прокси сервера | |
port | Порт прокси сервера | |
username (необязательно) | Имя пользователя | |
password (необязательно) | Пароль |
- Для запуска используйте TG_AutoPoster.sh или команду
python3 -m TG_AutoPoster
- Активируйте бота командой
/start
Автопостинг рекомендуется настраивать через чат с ботом. Подробнее можно узнать, отправив боту команду /help
Для доступных параметров командой строки используйте bash TG_AutoPoster.sh --help
или python3 -m TG_AutoPoster --help
По умолчанию бот проверяет группы на наличие новых постов раз в час. Если необходимо изменить период проверки постов
запустите бота с параметром командной строки --sleep N
, где N — значение в секундах. Не рекомендуется устанавливать
малое значение, так как это может привести к заморозке страницы ВК (подробнее).
Параметр | Описание |
---|---|
channel | Список ID каналов/чатов в Telegram, разделенных пробелом, в которые отправлять посты из групп ВК |
last_id (необязательно) | ID последнего отправленного поста. Если параметр отсутствует, он будет добавлен автоматически со значением 0 |
pinned_id (необязательно) | ID закреплённого поста. |
last_story_id (необязательно) | ID последней отправленной истории. |
use_long_poll (необязательно) | Использовать Long Poll API для получения постов из своей группы (или в которой вы являетесь администратором) в режиме реального времени. Чтобы использовать Long Poll API, откройте раздел «Управление сообществом», на вкладке «Работа с API»→«Long Poll API» выберите «Включено», «Версия API»: 5.131. Также необходимо включить тип события «Записи на стене»: «Добавление» на вкладке «Типы событий». Значение параметра по умолчанию: false |
Параметр | Возможные значения | Описание |
---|---|---|
sign_posts | true, false | Указывать ли автора поста (если это возможно) и ссылку на оригинальный пост. По умолчанию: true |
send_reposts | false, post_only, true | Отправлять ли репосты? Подробнее в config.yaml.example. По умолчанию отправка репостов отключена. |
send_stories | false, true | Отправлять ли истории? По умолчанию: false |
what_to_send | all, text, link, photo, doc, video, music, polls | Какие типы вложений отправлять. Подробнее в config.yaml.example. По умолчанию отправляются все вложения. |
stop_list | Абсолютный путь к файлу, содержащий стоп-слова (в файле должно быть по одному слову на каждой строке). Если вы не хотите использовать стоп-слова удалите этот параметр из файла конфигурации | |
blacklist | Абсолютный путь к файлу, содержащий слова, которые будут удалены из текста отправляемого поста. Поддерживаются регулярные выражения. | |
disable_notification | true, false | Отправляет сообщения молча. Пользователи получат уведомление без звука. По умолчанию: false |
disable_web_page_preview | true, false | Отключить предпросмотр ссылок в сообщениях. По умолчанию: true |
posts_count | Количество отправляемых ботом новых постов за раз. По умолчанию 11. | |
header | Текст с форматированием Markdown | Текст, который будет добавлен в начало сообщения |
footer | Текст с форматированием Markdown | Текст, который будет добавлен в конец сообщения |
Все параметры ключа settings
могут быть заданы индивидуально для каждой группы
Дополнительно: Использование Docker контейнера
Отчеты об ошибках и предложения отправлять в:
- GitHub Issues
- Telegram: @QwertyAdrian
Для пожертвований на развитие проекта:
- Qiwi
- Bitcoin:
1H1UVnXgvcLo3RWmxuYmi7b16ADo6XBWw5
- TON:
EQD42Z5d8d1gT1uSpKTAaLYHlQ95vdMXrlNlYMpSFpQawwuY