Skip to main content

Telegram Bot for reposting from VK

Project description

TG_AutoPoster

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

License MIT Python Version Code style: Black issues stars PyPI docker


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

pip3 install -U TG-AutoPoster

Настройка

  1. Создайте файл config.yaml, скопируйте в него содержимое файла config.yaml.example и выполните настройку ключа vk
Параметр Описание
login Логин ВК
pass Пароль ВК
token (необязательно) Рекомендуется к использованию. Cервисный ключ доступа или ключ доступа пользователя (подробнее). Если он задан, то логин и пароль игнорируются. При его использовании не будут доступны аудиозаписи (при использовании сервисного ключа доступа также не будут доступны истории). Получить ключ доступа пользователя можно с помощью этого сервиса.
  1. Получите ваши 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
  1. Если необходимо, настройте использование SOCKS5 прокси, добавив ключ proxy со следующим содержимым:
Параметр Возможные значения Описание
enabled true, false Использовать ли прокси
hostname IP адрес (или домен) прокси сервера
port Порт прокси сервера
username (необязательно) Имя пользователя
password (необязательно) Пароль

Запуск

  1. Для запуска используйте TG_AutoPoster.sh или команду python3 -m TG_AutoPoster
  2. Активируйте бота командой /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

Описание настроек автопостинга (ключ settings)

Параметр Возможные значения Описание
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 контейнера

Отчеты об ошибках и предложения отправлять в:

  1. GitHub Issues
  2. Telegram: @QwertyAdrian

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

  1. Qiwi
  2. Bitcoin: 1H1UVnXgvcLo3RWmxuYmi7b16ADo6XBWw5
  3. TON: EQD42Z5d8d1gT1uSpKTAaLYHlQ95vdMXrlNlYMpSFpQawwuY

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

TG_AutoPoster-3.5.0.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

TG_AutoPoster-3.5.0-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

File details

Details for the file TG_AutoPoster-3.5.0.tar.gz.

File metadata

  • Download URL: TG_AutoPoster-3.5.0.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for TG_AutoPoster-3.5.0.tar.gz
Algorithm Hash digest
SHA256 219f6e0074854dee48fa954338f49845202582748a683141fb1c6c3ba8f3d725
MD5 2b40abb4b98653070ca680a5abc324fa
BLAKE2b-256 1f76a949777697d39bb493777b7945d412dde2ae526f2753f7d05af7bc7dd2ee

See more details on using hashes here.

File details

Details for the file TG_AutoPoster-3.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for TG_AutoPoster-3.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 af02dcf797f5062ca393b8d4264a5783c545e0c6887c9025bd668f1bd37e9efa
MD5 a1a03512144e02002a2db714383ed7e9
BLAKE2b-256 1e2f14d7269b74c0482975b55337e5184f3e19c465c641e1bd502a6ea791a4aa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page