Bot for reposting from Telegram channels and VK pages to another Telegram channel.
Go to file
2025-03-07 07:19:03 +00:00
curl@acc73edce8 add basic HTTP client and its testing in main() 2024-11-14 16:48:45 +03:00
json@fde9a86c5a create VKClient with get_posts() method to get wall posts 2024-11-15 22:48:24 +03:00
libuv@d4ab6fbba4 add basic HTTP client and its testing in main() 2024-11-14 16:48:45 +03:00
spdlog@51a0deca2c add basic HTTP client and its testing in main() 2024-11-14 16:48:45 +03:00
td@18618cad56 add basic HTTP client and its testing in main() 2024-11-14 16:48:45 +03:00
.gitignore add basic HTTP client and its testing in main() 2024-11-14 16:48:45 +03:00
.gitmodules create VKClient with get_posts() method to get wall posts 2024-11-15 22:48:24 +03:00
bridge_config.example.json add config example 2025-01-05 04:59:47 +03:00
CMakeLists.txt disable unused CURL modules and use less dynamic libs 2025-01-05 04:46:20 +03:00
config.cpp implement reposting from multiple sources 2024-12-07 02:04:18 +03:00
config.h implement reposting from multiple sources 2024-12-07 02:04:18 +03:00
http.cpp experimental http request cancellation; make fetcher instantiation static; rework fetcher api for reusability; handle the situation when tg posts arrive while vk is being polled 2025-01-05 01:05:49 +03:00
http.h experimental http request cancellation; make fetcher instantiation static; rework fetcher api for reusability; handle the situation when tg posts arrive while vk is being polled 2025-01-05 01:05:49 +03:00
main.cpp implement reposting from multiple sources 2024-12-07 02:04:18 +03:00
manager.cpp fix something 2025-03-07 07:19:03 +00:00
manager.h experimental http request cancellation; make fetcher instantiation static; rework fetcher api for reusability; handle the situation when tg posts arrive while vk is being polled 2025-01-05 01:05:49 +03:00
posts.cpp implement reposting from multiple sources 2024-12-07 02:04:18 +03:00
posts.h implement reposting from multiple sources 2024-12-07 02:04:18 +03:00
README.md Update README.md 2025-01-05 02:07:53 +00:00
state.cpp track post dates instead of ids 2024-12-12 16:17:00 +03:00
state.h track post dates instead of ids 2024-12-12 16:17:00 +03:00
tg.cpp fix app asking for 2FA code twice (forgot to return from switch-case lol) 2024-11-21 20:52:19 +03:00
tg.h add TelegramClient and RepostManager with functionality to fetch posts 2024-11-20 14:12:01 +03:00
vk.cpp fix last post id tracking; add repost timer; add vk request timer; fix recent post scanning 2024-11-22 01:45:44 +03:00
vk.h fix last post id tracking; add repost timer; add vk request timer; fix recent post scanning 2024-11-22 01:45:44 +03:00

MMCS Quotes Bridge

Текущее название является рабочим вариантом, имеет мало общего с сутью проекта, все совпадения аббревиатур с реальными случайны и не несут никакой смысловой нагрузки.

P.S. кто знает тот знает короче :DDD

Этот проект - реализация бота, предназначенного для репоста текстовых постов из источников в VK и Telegram в один выходной Telegram-канал. Изначальная цель - репостить цитаты из разных цитатников в один канал, но в принципе вы можете придумать своё применение.

Платформа

Операционная система. Предполагается работа на Linux, но теоретически можно заставить бота работать и на других системах.

Компилятор. Проект написан на C++20 и соответственно требует более-менее современный компилятор.

Зависимости

Большая часть необходимых библиотек присутствует в репозитории, однако для того, чтобы скачать их вместе с проектом, при клонировании требуется указать --recursive. CMakeLists настроен на максимально портативный билд, однако всё же не все библиотеки встраиваются в исполняемый файл. Для работы бота достаточно установленной библиотеки curl. Для сборки (помимо CMake) нужны следующие дополнительные пакеты:

  • gperf
  • заголовочные файлы для OpenSSL, zlib По вопросам сборки можно писать в issues.

Конфигурация

Для настройки используется файл bridge_config.json. В качестве примера настройки оставлен bridge_config.example.json, который нужно отредактировать под себя.