Ну что, в течении последнего месяца я плотненько подсел на написание ботов для telegram. И да, про ботов в интернете очень много информации, особенно про ботов написанных на питоне.
Небольшое лирическое отступление, так вот сложилось, что у меня огромная нелюбовь к питону, ну вот не могу я нормально относиться к языкам программирования с таким синтаксисом как у питона, когда все виды скобок это одно и тоже, когда нельзя использовать знаки табуляции, а 2 пробела это тру.
Так вот в качестве первого проекта для изучения азов в написании ботов я выбрал написать загрузчик видеоконтента с популярных видеохостингов хостингов (благо есть yuotube-dl). Но тут появился ньюанс. Как правило видеофайлы весят много, а публичный API для ботов не позволяет грузить файлы более 50Mb.
И тут возник вопрос, а как работают все публичные боты? Ответ нашелся прям на сайте самой телеги.
Если необходимо ботом грузить файлы больше 50Mb, необходимо использовать свой личный bot api сервер, тогда ограничения на бота накладываются аналогичные как и на клиента.
Один минус, Telegram Bot API Server распространяется только в виде исходного кода, ну это и плюс, можно собрать и под специфическую платформу, но для легкого старта в понимании увы, нет.
Для себя я собрал по началу под Linux x64, для сборки необходимо минимум 4Gb ОЗУ, для запуска достаточно 512Mb.
Вторым шагом собрал под Windows x86 (32 bit) и x64, скачать Telegram Bot API Server можно ниже
Telegram Bot API Server (tdlib 6.0.2) win x86
Telegram Bot API Server (tdlib 6.0.2) win x64
Telegram Bot API Server (tdlib 6.0.2) Linux x64
Специально для ARM архитектуры и любителей мини пк
Запуск очень прост
Для самостоятельной сборки есть отличный пошаговый мануал.
Собственно наверное на сегодня и все. Дальше расскажу про ботов.
Комментариев: 6 RSS
1 Олег 17-12-2022 21:44
Здравствуйте, пытаюсь настроить свой сервер, telegram-bot-api у меня запускается исправно. Но когда я запускаю самого бота, мне выдает ошибку
Не могли бы вы показать пример вашего кода, когда вы задаете вебхук и переменную baseUrl
2 OlannMK 27-12-2022 13:22
Олег,
Я делал для себя только пуллинг бота. Как с этим работать есть все в официальной документации. Если бот переходил с публик api на частное, то предварительно нужно удалить ранее зарегистрированные хуки и отвязать бота от паблика. А ещё нужно убедиться в наличии сетевого доступа от сервера к боту.
3 Алексей 06-09-2023 15:51
Олег, а можно поподробней, что делать с этим сервером? Как запустить и увязать с ботом?
4 OlannMK 06-09-2023 18:14
Алексей,
Сервер запускать локально, бота натравливать не на api.telegram а на ip вашей машины, на которой запущен сервис. Подробнее тут https://core.telegram.org/bots/api
5 Аноним 06-09-2023 21:49
Olann, ответьте еще пжс на такой вопрос, то есть мне нужно предварительно выполнить проброс портов и настройка роутера для внешнего доступа, а так же сделать это все по защищенному ssl?
6 OlannMK 11-09-2023 23:57
Аноним,
TDlib можно запускать локально. По умолчанию работает по http порту, по идее можно обернуть в SSL например через nginx. Своего бота натравливаете на ip адрес TDlib. Доступ из Интернет к TDLib Не нужен, но ему для связи с серверами телеграмм Интернет нужен.