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

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

Ну, такое…
В целом, не очень нравятся имеющиеся инструменты для разработки Telegram ботов на Java. В основном по той причине, что в них не решен вопрос описания сценариев.
Ответить на какую-то команду — задача тривиальная. У Telegram очень простой API для ботов.
А вот выполнить сценарий — задача с неочевидным решением.
Пишу Kotlin DSL. Надеюсь, до конца года зарелизю стабильную версию и напишу статью на хабр.
Смотреть и пробовать можно здесь: https://github.com/ruslanys/telegraff

Я тут на коленке написал ботика с нуля на Котлине. Модель не вся, но расширяется легко. Вдруг чем-то полезно будет: github.com/alexzam/santa-bot
Почему для телеграмм ботов используют бот аккаунты когда у обычных больше прав? телефон раздобыть не так уж сложно.
Кастомные клавиатуры и инлайн кнопки.
Для использования обычных аккаунтов есть github.com/tdlib/td в связке с бот аккаунтами позволяет обойти некоторые ограничения ботов sohabr.net/habr/post/348234
Потому что Bot API в 100500 раз проще API для пользователей даже с самыми удобными обертками и библиотеками.
a -> a.getUser().equals(user)
Такие конструкции потенциально содержат NullPointerExecption. Лучше
Objects.equals(a.getUser(), user)


Кое-где пропали скобки
public Stream& lt;Anonymous& gt; anonymouses()
В этом примере по логике a.getUser не может вернуть null, потому что поле User у Anonymous является final и задается в конструкторе с проверкой на null (я поправил код).
Но, в целом, да — лучше использовать метод класса Objects.
Эта библиотека может работать через MTPROTO?
Есть опыт разработки 2 телеграм ботов. Но ни в первый, ни во второй не использовал специальную библиотеку для телеграма. Куда удобнее использовать какие нибудь крутые http клиенты + javaRx. Для java — unirest.io/java.html
Сразу аргументирую свой выбор в пользу http api, потому что он лучше задокументирован.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.