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

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

Были бы неплохо залить все файлики на гитхаб, чтобы удобней было

Постараюсь сделать это в ближайшее время
Обратите внимание, если вы хотели запустить бота в отдельном потоке, то вместо вызова
r.run()
в main стоит сделать так
new Thread(r).start()
А вы пробовали задеплоить бота на сервер? У меня long-polling бот на free tier амазона почему-то переставал реагировать на запросы примерно каждые 24 часа и требовал перезагрузки.
В долговременном режиме запускал ботов на физическом сервере (Win Server 2008 R2) и виртуалке (Win 7), боты спокойно работают без перезапуска в пределах нескольких недель (специально замеров не делал), потребление памяти не росло, время отклика бота также ощутимо не увеличивалось
Мои телеграм боты тоже на java отлично бегут на бесплатном аккаунте на heroku.
Это у вас тариф такой. На Azure у меня были схожие проблемы. Поставил на simplecloud.ru (150р хватает)- и все спокойно живет месяцами.

П.С. а насчет удобства ботов. Проблема телеграм клиента в том, что нет вкладок и приходится искать конкретного бота, что не всегда удобно.
Так же насчет поедания батареи: мой телеграм отъедает 20% времени батареи, так как я подписан на множество каналов и чатов.
С появлением телеграма, разрабатывать ботов стало приятно и выбираю разработку ботов в качестве пет-проектов.
1. Что-то не могу найти, а что такое InlineKeyboardButtonBuilder.
2. InlineKeyboardMarkup keyboard(Update update) — зачем передается update, если он нигде не в методе используется?
1. Добавил код InlineKeyboardButtonBuilder в статью
2. Действительно, этот параметр не нужен в данном случае.
ну я так не играю, а что такое InlineKeyboardButton?
Класс org.telegram.telegrambots.api.objects.replykeyboard.buttons.InlineKeyboardButton библиотеки TelegramBots, соответствующий элементу Telegram API: core.telegram.org/bots/api#inlinekeyboardbutton В статье есть ссылки.
1. в этом методе InlineKeyboardButton buttonMain() есть строка new ActionBuilder(marshaller)
marshaller — откуда взялся?
2. return marshaller.marshal(action, «Action»); — чо то не найду этого метода с такой сигнатурой
Вообще вся эта тема с маршалами не очень понятна, что вообще происходит, как то можно раскрыть поподробней?
В статье я делал замечание о том, что такое DocumentMarshaller и marshaller, для удобства считая, что этот объект уже создан. Для уточнения подробностей вы можете посмотреть исходники на Гитхабе, статья обновлена и добавлена ссылка.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории