Задача
Написать на NodeJS телеграм бота на библиотеке Telegraf.js.
После выполнения задачи можете вступить в классную команду, так что возможно долгосрочное сотрудничество по вашему желанию ;)
! Важно: механику работы бота я разместил в картинке, приложенной к задаче.
Ниже текстовое описание работы бота.
Бот-меню, основной концепт:
Приветствие пользователя, предложение меню.
Меню в виде инлайн-кнопок под сообщением.
[Посмотреть на меню, специальные предложения, наши фотографии, оставить отзыв, контакты]
———————
При нажатии на «Посмотреть на меню» присылается ссылка на меню.
Исчезает меню на предыдущем сообщении.
Появляется меню под новым сообщением бота
——————-
При нажатии на Специальные предложения.
исчезает меню под предыдущим сообщением
появляется сообщение:
Наши акции:
И Инлайн меню: [Приведи друга, Получи 30%, Отмена]
При нажатии на Приведи друга:
убирается инлайн выбор под предыдущим сообщением
Присылается сообщение с «приведите друга и получите бесплатно чай»
появляется основное меню
При нажатии на Получите 30%:
убирается инлайн выбор под предыдущим сообщением
Присылается сообщение с «За счет больше 5000руб. На следующее посещение получаете 30% скидки»
появляется основное меню
При нажатии на Отмена:
убирается инлайн выбор под предыдущим сообщением
появляется основное меню
—————————
При нажатии на Наши фотографии.
исчезает меню под предыдущим сообщением
отправляется «посмотри на наше заведение»
отправляется 4 фотографии с интервалом в 1 секунду
———————
При нажатии на Оставить отзыв.
исчезает меню под предыдущим сообщением
отправляется сообщение «(имя), Оцените качество обслуживания»
Инлайн кнопки:
Отмена
При нажатии на одну из звездочек загораются все звездочки до этой и выбранную, например:
Их оставляем в инлайне до конца ввода Отзыва. Чтобы можно было изменить.
! Убирается кнопка Отмена
отправляем «напишите, пожалуйста свой комментарий:»
под сообщением появляется инлайн кнопки: Оставить без отзыва, Отмена
> если человек отправляет отзыв:
- убираем звезды на предпредыдущем сообщении
- убираем кнопки на предыдущем сообщении
- отправляем: «(имя), спасибо за отзыв! Мы будем стараться для вас!»
- отображаем основное меню
-отправляем веб-хук на сторонний сервис с количеством звезд и комментарием
> если человек нажимает Оставить без отзыва
- убираем звезды
- убираем предыдущие инлайн сообщения
- отправляем «Спасибо за оценку!»
- отображаем основное меню
- отправляем вебхук на сторонний сервис с количеством звезд
> если человек нажимает Отмена
- убираем все предыдущие инлайн кнопки
- отправляем «Возвращаемся в меню:»
- фозвращаемся в меню в индайн кнопках под сообщением.
———————
———————
При нажатии на Контакты.
исчезает меню под предыдущим сообщением
отправляется сообщение «наши контакты:»
ожидание 1 с
———————
При нажатии на Оставить отзыв.
исчезает меню под предыдущим сообщением
отправляется сообщение с адресом, ссылкой на соц сети
отправляется гео-метка с местоположением, допустим центр Москвы
отправляется «Возвращаюсь в меню:» с инлайн кнопками меню»
ЛЮБЫЕ ПРЕДЛОЖЕНИЯ ПО УЛУЧШЕНИЮ ЮЗЕР ЭКСПИРИЕНСА ПООЩРЯЮТСЯ, ЛЮБЫЕ ЗДРАВЫЕ ИДЕИ ВО ВРЕМЯ РЕАЛИЗАЦИИ ЛАЙКАЮТСЯ
Обязательные требования
Использование мидлваров, может разделение по файлам для создания понятной программной архитектуры.
Очень приветствуется nosql, например, mongodb
И возможность докеризации. Docker, да
Оформление кода в best pacticies)
Сделать все масштабировано и удобно для будущих модификаций, без костылей, ребят
Каждое разветвление меню нужно вынести в отдельный фойл-js-модуль. В отдельную папку.
⭐ Hi ⭐
I have read your project description carefully.
I am interested in your project.
I would like to have a conversation with you about your project.
As you see in my profile,I have been working with WEB program so far.
I am confident to finish your assignment.
Thank you.
Hi,
I have 5+years Experience in Website/Software Design & Website Development.
I'm an Expert in:
-Frontend & Backend Development
-Python
-Data Science
-Machine Learning
-JVM technologies
-Jquery, PHP
-Ionic - Hybrid Mobile Applications
-Angular, Node.js
-Ruby on Rails
-C++
Who Knows the value of time. Very hard working and always delivers the work on time.
I will finish your tasks in a timely and efficient manner, I aspire to help others reach their goals through the use of my knowledge and
experience, I am available 24 hours support. I am available for the weekend also.
If you are looking for website design and development I am the right person for you.
Здравствуйте я начинающий разработчик в node.js, надо отметить вы очень чётко расписали ТЗ!
Имею большой опыт в программировании на C++ для игры на Unreal Engine 4, в основном занимался Front-end задачами такими как графический интерфейс и геймплейно-визуальные механики, сейчас нахожусь в простое и было бы неплохо поработать.
Прямая связь со мной Telegram: @serinc