Обновить

Эволюция Telegram‑бота на C++: от «лапши» в main() до ООП, in‑memory кэша и мутов по Фибоначчи

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели8.1K
Всего голосов 3: ↑3 и ↓0+5
Комментарии11

Комментарии 11

у вас с ссылкой что-то не то, именно в статье.

классно, но с модулями, С++23/26 почти как модула сегодня(в моем случае я и симейк скипнул, у меня мой скрипт собирает проект на ниндзя, а редактор/иде настроен под клангд - линукс = итог нет нагрузки на файликах в иде - по типо Zed), не знаю как оно на винде, но с модулями проще как-то стало, тоесть я клоню к тому, что эти все файлики грузят пока кодишь или открываешь проект, с модулями у меня ничего не грузит пока пишу, это мечта просто, красота.

Здравствуйте! Я в модулях C++ ещё не разбирался и в своих проектах их пока не использовал. Сейчас GroupModerBot у меня полностью загружается в Visual Studio примерно за 15 секунд. Я к этой задержке привык.

Ваш опыт звучит здорово. Просто, я пока хочу разобраться в Linux и многопоточности.

Напиши статейку)))

Мой проектик на tgbot-cpp.

https://github.com/jkapter/OPC_DA_Telegram_bot

Бот тг с OPC DA клиентом. Может читать и писать переменные из контроллеров и превращать в сообщения, оповещает о событиях и изменениях значений переменных. Сейчас доделываю поддержку драйверов OPC UA думаю еще добавить модбас, s7 и ватсмайнер апи. Удобно контролировать удаленные объекты.

Как обходите блокировку тг у бота?

Здравствуйте! Я обхожу блокировку Telegram с помощью VPN (Hiddify, v2RayTurn). Включаю его перед запуском бота и всё. У меня Telegram без VPN уже никак запустить не получается. Прокси не работает.
Посмотрел ваш проект. Код и структура проекта выглядят аккуратно, но по самому функционалу мне сложно что‑то сказать, так как я не разбираюсь в ПЛК и не знаю, как собрать ваш проект, чтобы «потрогать» его. Было бы здорово, если бы вы добавили инструкцию по сборке или собранные бинарные файлы в Releases.
Также я заметил, что тег telegram‑bot ведёт на страницу 404. Возможно, стоит добавить или поменять его на: telegrambot, tgbot-cpp, tgbot.

У меня было что если соединения нет с серверами телеграмма (прокси умер) то сама телеграмм часть намертво зависала в longpoll. Я в итоге пересобирал саму библиотеку tgbotcpp с включенным curl. Потом уже инициировал бота с кастомным curl http клиентом который бросает исключение на таймауте соединения, я ловлю исключение и перезапускаю бота.

С последними новшествами у меня уже почти каждый день боты по 20-30 минут не могут связаться с тг серверами, потом в логе смотрю. И в v2ray есть галочка запустить локально http прокси, потом запускаю приложение через bat и все работает.

@echo off

set https_proxy=socks5://127.0.0.1:10808

set http_proxy=socks5://127.0.0.1:10808

set all_proxy=socks5://127.0.0.1:10808

start "" "OPCDATgBot.exe"

Там в папке bin есть собранный бинарник под x64. Или должно собраться Смаке'ом если есть Qt6.

Сейчас допилю версию с драйверами соединений с железом, причешу репозиторий.

Этот же принцип у вас в статье можно опробовать в максе?

Здравствуйте! Точно сказать не могу. Насколько я знаю, сейчас нет готовой библиотеки для MAX на C++ наподобие tgbot-cpp. К тому же, создать бота на платформе MAX может только верифицированный профиль организации.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации