Условия выполнения задания
-
Выполнить задание нужно на Rails (на языке Ruby).
-
Использовать библиотеки для создания Телеграм-ботов нельзя.
-
Чтобы сдать задание, нужно:
-
ссылку на исходный код под лицензией Apache 2.0 в каком-либо открытом git-репозитории (GitHub, GitLab, Bitbucket);
-
ссылку на работающего бота (в качестве бесплатного хостинга можно использовать, например, Heroku);
-
решения нескольких задач (условия приведены в форме).
-
-
Срок выполнения задания — чем скорее, тем лучше :) Откладывать в долгий ящик не надо, но и торопиться сделать все за один день не обязательно. Мы рассчитываем, что за неделю вы справитесь, но если справитесь за две — ничего страшного.
Задание
Напишите Телеграм-бота, который отображает в окне Телеграма примитивный кнопочный калькулятор:
-
кнопки цифр 0-9;
-
кнопки арифметических действий (+, -);
-
кнопка сброса (AC).
Реализация основывается на двух возможностях Телеграма:
-
редактировать ранее отправленные сообщения;
-
показывать многоуровневые «клавиатуры» из кнопок.
При нажатии стандартной кнопки «Start» бот отправляет пользователю сообщение с текстом «0» и клавиатурой. Пользователь никаких сообщений боту не отправляет, только нажимает кнопки, что приводит к редактированию исходного сообщения: если нажать кнопки 1 и 3, например, текст сообщения поменяется на «13». Аналогично с арифметическими действиями.
Обратите внимание: вам не нужно писать разбор арифметического выражения, простые калькуляторы этого не делают.
Внимание: разные пользователи могут пользоваться калькулятором независимо, для каждого из них должна храниться своя версия состояния.