Описание бота на уровне для стартового задания:
- При вызове команды "/start" бот появляется и выдаёт пользователю сообщение о своих возможностях.
- При вызове команды "/help" бот в любой момент снова выводит это сообщение.
- При попытке обращения к боту по любому тексту, кроме ключевых слов (жанров литературы, доступных во всплывающей клавиатуре), бот отвечает пользователю собственным сообщением.
- При вызове команды "/get" пользователь может получить случайную цитату от бота.
- При вызове команды "/genre" пользователь получает сообщение с предложением выбрать жанр литературы из предложенных.
- При выборе жанра пользователь получает рекомендации книг данного жанра.
- возможность голосования за книгу, используя команду /vote. Голосование проводится с 1 по 5 число каждого месяца, о чём написано в соответствующем приветственном сообщении вместе с командой /vote. 5 числа голосование заканчивается и команды больше нельзя использовать. После окончания голосования при попытке использовать команды пользователю будут показываться только итоги голосования.И 1 числа следующего месяца все команды автоматически станут доступны и пользователю будет предложен новый список для голосования. работа команды /vote:
- Бот должен отправить список из 10 популярных в этом месяце книг, которые он берёт из хранилища книг, в котором был сформирован список на несколько лет вперед в формате "’НАЗВАНИЕ’ - АВТОР".
- Пользователь может выбрать 3 понравившиеся книги, отправляя боту их номера последовательно после соответствующего сообщения от бота.
- запрет повторного голосования.
- Если пользователь уже проголосовал, бот должен запретить ему повторное голосование.
- Вместо этого, пользователь может использовать команду /revote для переголосования.
- возможность просмотра статистики текущего голосования с помощью команды /voteresults.
- Бот должен отобразить количество проголосовавших пользователей возле каждой книги в порядке убывания количества голосов для книг из предоставленного для голосования списка
U:/vote B: Здравствуйте, добро пожаловать на ежемесячное голосование за “книгу месяца”, которое проводится с 1 по 5 число. Вам предлагается на выбор 10 книг. Пожалуйста, выберите 3 книги из списка популярных книг этого месяца ниже, которые вам нравятся больше всего, это поможет нам определить победителя. После этого сообщения отправьте номер первой наиболее понравившейся книги. 1 “Происхождение” - Дэн Браун 2 “Семь смертей Эвелины Хардкасл” - Стюарт Тёртон 3 “Краткая история почти всего” - Билл Брайсон 4 “Трещина во времени” - Мадлен Л’Энгл 5 “Черный медведь” - Элизабет Берг 6 “Две недели на Луне” - Энди Вейер 7 “Маленький принц” - Антуан де Сент-Экзюпери (переиздание) 8 “В конце рассвета” - Ким Стэнли Робинсон 9 “Во славу” - Дэвид Фостер Уоллес 10 “Что мы оставили” - Клэр Киган U: 4 B: Отправьте номер второй наиболее понравившейся книги U: 1 B: Отправьте номер третьей наиболее понравившейся книги U: 9 B: Спасибо, что приняли участие в голосовании! Ваше мнение будет отражено в итогах голосования. U:/vote B: Если вы пытаетесь проголосовать повторно, то этого сделать нельзя. Если вы хотите переголосовать нажмите /revote
U:/voteresults B: “Происхождение” - Дэн Браун - 27 голосов “Две недели на Луне” - Энди Вейер - 20 голосов “Краткая история почти всего” - Билл Брайсон - 18 голосов “Во славу” - Дэвид Фостер Уоллес - 12 голосов “Семь смертей Эвелины Хардкасл” - Стюарт Тёртон - 9 голосов “Маленький принц” - Антуан де Сент-Экзюпери (переиздание) - 8 голосов “Черный медведь” - Элизабет Берг - 5 голосов “В конце рассвета” - Ким Стэнли Робинсон - 3 голосов “Трещина во времени” - Мадлен Л’Энгл - 1 голосов “Что мы оставили” - Клэр Киган - 0 голосов
(Предположим прошло 5 первых дней месяца) U: /vote (или любая команда для голосования(/revote,/voteresults)) B: Голосование за книгу месяца уже окончено. В этом месяце по итогам голосования читаем: 9 “Во славу” - Дэвид Фостер Уоллес - 43 голосов
Вы можете присоединиться к нам и начать читать вместе! Новое голосование начнётся 1 числа следующего месяца.
Планируется реализация навыка загадывания загадок ботом, а также обработка ответов пользователя, для сбора общей статистики ответов, несколько уровней сложности, предложение перейти на новый уровень, при ответе верно на все загадки без ошибок на данном уровне.Игра угадай книгу: бот даёт описание книги, а пользователь должен угадать её название, возможны подсказки автора и года издания.
Голосование за цитату недели/месяца среди пользователей бота и вывод этой цитаты по запросу
Помощь в ведении литературного дневника в виде выдачи краткой информации о запрашивает произведении: главные герои, сюжет, автор, год издания, обозначение к какому из 7 основных сюжетов/тропов сводится данный