Найти тему
Айти Поц

Как мы делали бота для Telegram на Java

Подписывайтесь на мой Telegram-канал! Больше интересного контента!!!!

Да, вы просили я обещал и обещал, но не выкладывал :)
Делаю публичным свой университетский проект - Telegram-бот на Java. На Java писал впервые, поэтому можно встретить куски отстойного кода...

Вообще наш бот - это бот, с которым можно поиграть в игры, например "21", "Угадай число" и т.д. Примитивно, но затягивает.

Хотел бы начать с того, как устроен наш бот. Вы подумаете, что проектировать бота - это легко или даже бессмысленно, но это не так. Наша практика заключалась в том, что с каждой парой мы вводили новую фичу, которая заставляла нас (меня и моего напарника) полностью переписать тот или иной участок кода... Поэтому мы потратили пару часов на то как правильно будут взаимодействовать классы друг с другом. В итоге преподу понравилось ;)

В основе лежит самый главный класс `Core` он работает абсолютно со всем. С пользователями, с играми, с функциями и с поступающими сообщениями. `Core` также хранит лист с играми и функциями, для того чтобы знать какую игру запустить.

Создавая какую нибудь игру и реализовывая интерфейс `Iterationable` мы реализуем `Iteration()` - метод, который будет вызываться на каждое сообщение пользователя, метод `start()` и `exit()` - соответственно методы начала и конца игры. В которых можно делать подсчет очков например :)

В Telegram.java можно посмотреть как используется API библиотеки.

Кому интересно - оставляю ссылку на гит для ваших проектов и анализа :)