Описание бота на уровне для стартового задания:
- При вызове команды "/start" бот появляется и выдаёт пользователю сообщение о своих возможностях.
- При вызове команды "/help" бот в любой момент снова выводит это сообщение.
- При попытке обращения к боту по любому тексту, кроме ключевых слов (жанров литературы, доступных во всплывающей клавиатуре), бот отвечает пользователю собственным сообщением.
- При вызове команды "/get" пользователь может получить случайную цитату от бота.
- При вызове команды "/genre" пользователь получает сообщение с предложением выбрать жанр литературы из предложенных.
- При выборе жанра пользователь получает рекомендации книг данного жанра.
-
При помощи команды /recommendbook у пользователя есть возможность добавить книгу в список рекомендованных к прочтению другим пользователям книг, также предусмотрена возможность удаления книги из этого списка только своих книг ; список будет доступен всем пользователям бота и составляет общую опись всех книг, которые пользователи рекомендуют прочитать другим. Если пользователь добавляет книгу в общий список, рекомендованных пользователями книг, то бот попросит ввести название книги, написать автора книги и выбрать жанр из 9 предложенных ботом. (Здесь дополнительно мы вводим жанр для книг, чтобы реализовать функцию поиска по жанру)
-
При помощи команды /allrecommendbooks пользователь сможет увидеть все книги, рекомендованные пользователями. Если какой-либо пользователь захочет добавить книгу, которая уже находится в списке, то он получит соответствующее сообщение, что он не сможет добавить книгу, до тех пор пока она находится в списке.
3.При помощи команды /searchbygenre пользователь имеет возможность искать книги в определённом жанре в списке рекомендаций от пользователей. После ввода пользователем жанра из списка из 9 вариантов, который предлагает бот (см. пример), бот выводит все книги указанного жанра из списка рекомендаций от пользователей.
4.При помощи команды /searchbyauthor пользователь имеет возможность искать книги в списке рекомендаций от пользователей по определённому автору. (Это полезно, когда пользователь интересуется каким-то автором и хочет узнать, какие ещё интересные книги, по мнению других пользователей, у него есть). После ввода автора бот выведет все книги указанного автора из списка рекомендаций от пользователей, если такой автор нашёлся. Иначе получит соответствующее сообщение от Бота.
Примеры диалога (в текстовом виде):П: /recommendbook
Б: Введите название книги, которую вы хотели бы рекомендовать к прочтению другим пользователям.
П: Гарри Поттер и философский камень
Б: Введите автора этой книги:
П: Джоан Роулинг
Б: Выберите жанр, который наиболее близок к вашей книге из списка ниже и напишите мне его следующим сообщением: Драма Приключения Фэнтези Научная Фантастика История Ужасы Детектив Сказка Романтика
П: Фэнтези
Б: Ваша книги добавлена в список книг, рекомендованных для прочтения! Спасибо за ваш выбор.
П: /removerecommendedbook Б : Выберите номер книги, которую хотите удалить:
- Автор1 Название1
- Автор2 Название2
- Автор3 Название3 П: 2 Б: Вы удалили книгу под номером 2 П: /allrecommendbooks Б: 1. Автор1 Название1
- Автор3 Название3
П: /recommendbook
Б: Введите название книги, которую вы хотели бы рекомендовать к прочтению другим пользователям. П: Гарри Поттер и философский камень
Б: Введите автора этой книги
П: Джоан Роулинг
Б: Выберите жанр, который наиболее близок к вашей книге из списка ниже и напишите мне его следующим сообщением: Драма Приключения Фэнтези Научная Фантастика История Ужасы Детектив Сказка Романтика
П: Сказка
Б: Книга с указанными названием и автором уже в списке, кто-то добавил её до вас ;)
П: /allrecommendbooks
Б:1) Гарри Поттер и философский камень 2) 1984 3) Собака Баскервилей 4) Жизнь и Удивительные приключения Робинзона Крузо 5) Насекомые 6) Зов Предков …
П: /searchbyauthor
Б: Введите автора, книги которого вы хотели бы найти.
П: Артур Конан Дойл
Б: Вот книги указанного автора из списка книг, которые рекомендуют к прочтению другие пользователи: Голубой карбункул Этюд в багровых тонах Долина Страха Пёстрая лента Собака Баскервилей …. П: /searchbygenre
Б: Выберите жанр из списка ниже, книги из которого вы хотели бы узнать, и напишите мне его следующим сообщением: Драма Приключения Фэнтези Научная Фантастика История Ужасы Детектив Сказка Романтика
П: Научпоп
Б: Неверный жанр, выберите жанр из списка выше
П: Научная фантастика
Б: Вот все книги указанного жанра из списка книг, которые пользователи рекомендуют к прочтению. "Игра Эндера" - Орсон Скотт Кард "451 градус по Фаренгейту" - Рэй Брэдбери "Гиперион" - Дэн Симмонс "Безумный мир" - Филип Дик "Туманность Андромеды" - Иван Ефремов "Конец детства" - Аркадий и Борис Стругацкие "Дюна" - Фрэнк Герберт "Сумерки" - Стивен Майер "Автостопом по галактике" - Дуглас Адамс "Аврора" - Исаак Азимов
Планируется реализация навыка загадывания загадок ботом, а также обработка ответов пользователя, для сбора общей статистики ответов, несколько уровней сложности, предложение перейти на новый уровень, при ответе верно на все загадки без ошибок на данном уровне.Игра угадай книгу: бот даёт описание книги, а пользователь должен угадать её название, возможны подсказки автора и года издания.
Голосование за цитату недели/месяца среди пользователей бота и вывод этой цитаты по запросу
Помощь в ведении литературного дневника в виде выдачи краткой информации о запрашивает произведении: главные герои, сюжет, автор, год издания, обозначение к какому из 7 основных сюжетов/тропов сводится данный