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

Автопостинг рекомендуется настраивать через чат с ботом. Подробнее можно узнать, отправив боту команду /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 Абсолютный путь к файлу, содержащий стоп-слова (по одному слову на каждой строке). Если вы не хотите использовать стоп-слова удалите этот параметр из файла конфигурации
invert_stop_list true, false Инвертировать список стоп-слов (по умолчанию отключено). Будут отправляться посты, в которых содержатся указанные в списке слова или регулярные выражения
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. Bitcoin: 1H1UVnXgvcLo3RWmxuYmi7b16ADo6XBWw5
  2. 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.6.0.tar.gz (70.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tg_autoposter-3.6.0-py3-none-any.whl (82.3 kB view details)

Uploaded Python 3

File details

Details for the file tg_autoposter-3.6.0.tar.gz.

File metadata

  • Download URL: tg_autoposter-3.6.0.tar.gz
  • Upload date:
  • Size: 70.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tg_autoposter-3.6.0.tar.gz
Algorithm Hash digest
SHA256 61e6122f7cff2ae8a8358eb5350d3f9b08d43d65cf83bd8befc39b0fbf1d72b8
MD5 6935b8d8920f72365df11416db4ddde0
BLAKE2b-256 ff38b8328516017e0b6d7689b9804bd1fa30bfd2079a5fa2817771d7981c3f9a

See more details on using hashes here.

File details

Details for the file tg_autoposter-3.6.0-py3-none-any.whl.

File metadata

  • Download URL: tg_autoposter-3.6.0-py3-none-any.whl
  • Upload date:
  • Size: 82.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tg_autoposter-3.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 115c26c19fa24aedf1916c9189414e603ae744f879c3bcea23af8f2e0e1ae44b
MD5 3c0aed8cd3d68209468be2e3f7bf1ca9
BLAKE2b-256 9a33b8bd24c88610ab96af035327b02e492bd0141fa4714417a46e4f18f35b85

See more details on using hashes here.

Supported by

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