tg-autoposter

Telegram Bot for reposting from VK

https://github.com/qwertyadrian/tg_autoposter

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (4.4%) to scientific vocabulary

Keywords

bot pyrogram python python3 telegram telegram-api telegram-bot tg-autoposter vk vkontakte
Last synced: 6 months ago · JSON representation ·

Repository

Telegram Bot for reposting from VK

Basic Info
  • Host: GitHub
  • Owner: qwertyadrian
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 594 KB
Statistics
  • Stars: 121
  • Watchers: 16
  • Forks: 22
  • Open Issues: 17
  • Releases: 25
Topics
bot pyrogram python python3 telegram telegram-api telegram-bot tg-autoposter vk vkontakte
Created about 8 years ago · Last pushed 11 months ago
Metadata Files
Readme Code of conduct Citation

README.md

TG_AutoPoster

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

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


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

shell script 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 здесь)

| Параметр | Описание | |:---------:|:----------------------------------------------------------------------:| | apiid | App apiid | | apihash | App apihash | | 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, в которые отправлять посты из групп ВК | | lastid (необязательно) | ID последнего отправленного поста. Если параметр отсутствует, он будет добавлен автоматически со значением 0 | | pinnedid (необязательно) | ID закреплённого поста. | | laststoryid (необязательно) | ID последней отправленной истории. | | uselongpoll (необязательно) | Использовать Long Poll API для получения постов из своей группы (или в которой вы являетесь администратором) в режиме реального времени. Чтобы использовать Long Poll API, откройте раздел «Управление сообществом», на вкладке «Работа с API»→«Long Poll API» выберите «Включено», «Версия API»: 5.131. Также необходимо включить тип события «Записи на стене»: «Добавление» на вкладке «Типы событий».
Значение параметра по умолчанию: false |

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

| Параметр | Возможные значения | Описание | |:------------------------:|:-----------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| | signposts | true, false | Указывать ли автора поста (если это возможно) и ссылку на оригинальный пост. По умолчанию: true | | sendreposts | false, postonly, true | Отправлять ли репосты? Подробнее в config.yaml.example. По умолчанию отправка репостов отключена. | | sendstories | false, true | Отправлять ли истории? По умолчанию: false | | whattosend | all, text, link, photo, doc, video, music, polls | Какие типы вложений отправлять. Подробнее в config.yaml.example. По умолчанию отправляются все вложения. | | stoplist | | Абсолютный путь к файлу, содержащий стоп-слова (по одному слову на каждой строке). Если вы не хотите использовать стоп-слова удалите этот параметр из файла конфигурации | | invertstoplist | true, false | Инвертировать список стоп-слов (по умолчанию отключено). Будут отправляться посты, в которых содержатся указанные в списке слова или регулярные выражения | | blacklist | | Абсолютный путь к файлу, содержащий слова, которые будут удалены из текста отправляемого поста. Поддерживаются регулярные выражения. | | disablenotification | true, false | Отправляет сообщения молча. Пользователи получат уведомление без звука. По умолчанию: false | | disablewebpagepreview | true, false | Отключить предпросмотр ссылок в сообщениях. По умолчанию: true | | postscount | | Количество отправляемых ботом новых постов за раз. По умолчанию 11. | | header | Текст с форматированием Markdown | Текст, который будет добавлен в начало сообщения | | footer | Текст с форматированием Markdown | Текст, который будет добавлен в конец сообщения |

Все параметры ключа settings могут быть заданы индивидуально для каждой группы


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

Отчеты об ошибках и предложения отправлять в: 1. GitHub Issues 2. Telegram: @QwertyAdrian

Для пожертвований на развитие проекта: 1. Bitcoin: 1H1UVnXgvcLo3RWmxuYmi7b16ADo6XBWw5 2. TON: EQD42Z5d8d1gT1uSpKTAaLYHlQ95vdMXrlNlYMpSFpQawwuY

Owner

  • Name: Adrian Polyakov
  • Login: qwertyadrian
  • Kind: user
  • Location: Russia, Moscow

Python programmer

Citation (CITATION.cff)

cff-version: 1.2.0
title: TG_AutoPoster
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Adrian
    family-names: Polyakov
    email: me@qwertyadrian.ru
repository-code: 'https://github.com/qwertyadrian/TG_AutoPoster'
repository-artifact: 'https://pypi.org/project/TG-AutoPoster/'
abstract: Telegram Bot for reposting from VK
keywords:
  - python
  - telegram
  - vk
  - telegram-bot
license: MIT

GitHub Events

Total
  • Issues event: 3
  • Watch event: 16
  • Issue comment event: 1
  • Push event: 3
  • Fork event: 4
Last Year
  • Issues event: 3
  • Watch event: 16
  • Issue comment event: 1
  • Push event: 3
  • Fork event: 4

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 466
  • Total Committers: 2
  • Avg Commits per committer: 233.0
  • Development Distribution Score (DDS): 0.009
Past Year
  • Commits: 4
  • Committers: 1
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
qwertyadrian 2****n 462
Adrian q****n@y****u 4

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 56 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 29
  • Total maintainers: 1
pypi.org: tg-autoposter

Telegram Bot for reposting from VK

  • Versions: 29
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 56 Last month
Rankings
Dependent packages count: 9.5%
Average: 36.0%
Dependent repos count: 62.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • PyYAML ==6.0
  • apscheduler ==3.9.1
  • beautifulsoup4 ==4.11.1
  • loguru ==0.6.0
  • mutagen ==1.45.1
  • pyrogram ==2.0.35
  • streamlink ==4.2.0
  • tgcrypto *
  • vk_api ==11.9.9
  • wget ==3.2
.github/workflows/docker-publish.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v3 composite
  • docker/login-action v2 composite
  • docker/metadata-action v4 composite
  • docker/setup-buildx-action v2 composite
  • docker/setup-qemu-action v2 composite
.github/workflows/python-publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
Dockerfile docker
  • python 3-slim build