Как стать автором
Обновить

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

telegram требует SSL-сертификат

Это только для вебхуков справедливо. Простеньких ботов проще реализовать через long polling и там это не требуется, их можно хоть локально запускать — думаю, об этом стоит написать.

И о том что SSL сертификат может быть бесплатным от Let's Encrypt, выпускается в одну команду утилитой certbot, с флагом --nginx создаёт в нем же конфигурацию (с другими тоже дружит) и настроит авто перевыпуск сертификата.

Nginx в качестве реверс прокси сможет перенаправить запросы с нормального домена на локальный компьютер на запущенный в дебаге бот. Если настроить ssh тунель на сервере и использовать proxyPass в nginx на локальный порт ssh туннеля.

Так для полноценного (не самоподписанного) сертификата нужен домен и это, как правило, не бесплатно.

есть бесплатные домены, LetsEncrypt поддерживает любые валидные домены. При проверке он положит файлик на сервер и проверит что он доступен по указанному домену.

А вообще домены стоят не дорого, большинство можно купить за 10 долларов в год.

Внёс уточнение. Однако, в заголовке отчётливо указано, что бот на webhooks. С какой целью кто-то будет использовать эту информацию для long polling?

Эта статья — начального уровня и, скорее всего, её прочитает человек, который впервые сталкивается с написанием телеграм-ботов. Откуда он знает про вебхуки и long polling?

Зачем на серваке нужен мавен и JDK? Для запуска приложения вполне достаточно JRE. Статья ни о чём.

В Java17 нет различия между JDK и JRE. Конечно, можно было бы и скомпилировать граалем в нативное приложение, тогда джава вообще не нужна.

Также для создания исполняемого .jar файла на своей машине мне понадобился Maven для терминала

На нашем устройстве идём в директорию проекта. Тут нам нужно создать исполняемый .jar файл (для этого нужно установить Maven).

Насчёт JDK согласен, конкретно здесь он лишний. Исправил.

Есть ли ещё причины, почему статья "ни о чём", или установка лишнего пакета ставит на ней крест?

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

да, было бы полезно рассказать про отслеживание падений/перезапуск (ну или как этого избежать)

не сразу понял, что бот будет на джаве, а не на питоне (который, как будто, самый популярный выбор)

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