Комментарии 11
telegram требует SSL-сертификат
Это только для вебхуков справедливо. Простеньких ботов проще реализовать через long polling и там это не требуется, их можно хоть локально запускать — думаю, об этом стоит написать.
И о том что SSL сертификат может быть бесплатным от Let's Encrypt, выпускается в одну команду утилитой certbot, с флагом --nginx создаёт в нем же конфигурацию (с другими тоже дружит) и настроит авто перевыпуск сертификата.
Nginx в качестве реверс прокси сможет перенаправить запросы с нормального домена на локальный компьютер на запущенный в дебаге бот. Если настроить ssh тунель на сервере и использовать proxyPass в nginx на локальный порт ssh туннеля.
Так для полноценного (не самоподписанного) сертификата нужен домен и это, как правило, не бесплатно.
Внёс уточнение. Однако, в заголовке отчётливо указано, что бот на webhooks. С какой целью кто-то будет использовать эту информацию для long polling?
Зачем на серваке нужен мавен и JDK? Для запуска приложения вполне достаточно JRE. Статья ни о чём.
В Java17 нет различия между JDK и JRE. Конечно, можно было бы и скомпилировать граалем в нативное приложение, тогда джава вообще не нужна.
Также для создания исполняемого
.jar
файла на своей машине мне понадобился Maven для терминала
На нашем устройстве идём в директорию проекта. Тут нам нужно создать исполняемый
.jar
файл (для этого нужно установить Maven).
Насчёт JDK согласен, конкретно здесь он лишний. Исправил.
Есть ли ещё причины, почему статья "ни о чём", или установка лишнего пакета ставит на ней крест?
Вероятно, такие вещи надо запускать не прибегая к screen, а как сервис. Иначе при каждом ребуте, или, не дай бог, падении, придется каждый раз перезапускать его вручную?
да, было бы полезно рассказать про отслеживание падений/перезапуск (ну или как этого избежать)
не сразу понял, что бот будет на джаве, а не на питоне (который, как будто, самый популярный выбор)
Деплой Telegram бота на VPS | Webhooks + Java + Spring Boot