L1cks Zhosan
Ученик
(92),
на голосовании
11 месяцев назад
Телеграм-бот для работы с API стороннего сайта. Описание задачи К вам обратился заказчик, который хочет вести бизнес в интернете. Для этого ему нужен первоклассный Телеграм-бот, но бюджет скромный и не соответствует его запросам. После обсуждений вы предложили универсальное решение: написать бота, у которого можно менять модуль работы с внешним API и при этом не трогать остальные модули. У некоторых сайтов есть открытый (бесплатный!) API, над которым уже работали другие программисты, а это значит, что на них можно запустить ваши разработки. ТЗ на проект Проект должен быть разработан на языке Python, быть портируемым. Это значит, что он запускается с помощью клонирования репозитория и установки необходимых библиотек (pip install -r requirements.txt). Подразумевается, что Телеграм у заказчика уже есть. Для разработки проекта используется любой открытый API. Обратите внимание, что некоторые API имеют ограничения на количество запросов, поэтому при выборе тематики бота обязательно изучите нюансы используемого API. Проект состоит из нескольких функциональных слоёв: скрипта main.py, модуля, отвечающего за работу с Telegram, модуля, отвечающего за работу с API стороннего сайта, и модуля, работающего с БД или лог-файлами. Пользователь с помощью специальных команд бота может сделать следующее: 1. Запросить минимальные значения (команда /low). 2. Запросить максимальные значения (команда /high). 3. Запросить диапазон значений (команда /custom). 4. Узнать историю запросов (команда /history). Без запущенного скрипта бот на команды (и на что-либо ещё) не реагирует. Описание работы команд Команда /low После ввода команды у пользователя запрашивается: 1. Услуга/товар, по которым будет проводиться поиск (самая низкая стоимость, самые доступные авто, самое близкое местоположение и так далее). 2. Количество единиц категории (товаров/услуг), которое необходимо вывести (не больше программно определённого максимума). Команда /high После ввода команды у пользователя запрашивается: 1. Услуга/товар, по которым будет проводиться поиск (самая высокая стоимость, самые дорогие авто, самое удалённое местоположение и так далее). 2. Количество единиц категории (товаров/услуг), которое необходимо вывести (не больше программно определённого максимума). Команда /custom После ввода команды у пользователя запрашивается: 1. Услуга/товар, по которым будет проводиться поиск. 2. Диапазон значений выборки (цена от и до, расстояние от и до, срок от и до и так далее). 3. Количество единиц категории (товаров/услуг), которые необходимо вывести (не больше заранее определённого программно максимума). Команда /history После ввода команды выводится краткая история запросов пользователя (последние десять запросов). Описание внешнего вида и UI Окно Телеграм-бота при запущенном Python-скрипте должно воспринимать команды: ● /help — помощь по командам бота; ● /low — вывод минимальных показателей (с изображением товара/услуги/и так далее); ● /high — вывод максимальных (с изображением товара/услуги/и так далее); ● /custom — вывод показателей пользовательского диапазона (с изображением товара/услуги/и так далее); ● /history — вывод истории запросов пользователей. Сообщение с результатом команды должно быть содержательным. Технические требования ● Скрипт для Телеграм-бота должен быть написан с использованием библиотек для работы с различными API и запросами. ● Бот должен поддерживать многопользовательский режим. ● Запуск бота должен выполняться командой python main.py из терминала — из папки с проектом. Реализация main.py и остальных файлов проекта остаётся за вами. Файлы не должны содержать ошибок, работа должна быть корректной.
Описание задачи
К вам обратился заказчик, который хочет вести бизнес в интернете. Для этого ему
нужен первоклассный Телеграм-бот, но бюджет скромный и не соответствует его
запросам.
После обсуждений вы предложили универсальное решение: написать бота, у которого
можно менять модуль работы с внешним API и при этом не трогать остальные модули.
У некоторых сайтов есть открытый (бесплатный!) API, над которым уже работали
другие программисты, а это значит, что на них можно запустить ваши разработки.
ТЗ на проект
Проект должен быть разработан на языке Python, быть портируемым. Это значит, что
он запускается с помощью клонирования репозитория и установки необходимых
библиотек (pip install -r requirements.txt). Подразумевается, что Телеграм у заказчика
уже есть.
Для разработки проекта используется любой открытый API. Обратите внимание, что
некоторые API имеют ограничения на количество запросов, поэтому при выборе
тематики бота обязательно изучите нюансы используемого API.
Проект состоит из нескольких функциональных слоёв: скрипта main.py, модуля,
отвечающего за работу с Telegram, модуля, отвечающего за работу с API стороннего
сайта, и модуля, работающего с БД или лог-файлами.
Пользователь с помощью специальных команд бота может сделать следующее:
1. Запросить минимальные значения (команда /low).
2. Запросить максимальные значения (команда /high).
3. Запросить диапазон значений (команда /custom).
4. Узнать историю запросов (команда /history).
Без запущенного скрипта бот на команды (и на что-либо ещё) не реагирует.
Описание работы команд
Команда /low
После ввода команды у пользователя запрашивается:
1. Услуга/товар, по которым будет проводиться поиск (самая низкая стоимость,
самые доступные авто, самое близкое местоположение и так далее).
2. Количество единиц категории (товаров/услуг), которое необходимо вывести (не
больше программно определённого максимума).
Команда /high
После ввода команды у пользователя запрашивается:
1. Услуга/товар, по которым будет проводиться поиск (самая высокая стоимость,
самые дорогие авто, самое удалённое местоположение и так далее).
2. Количество единиц категории (товаров/услуг), которое необходимо вывести (не
больше программно определённого максимума).
Команда /custom
После ввода команды у пользователя запрашивается:
1. Услуга/товар, по которым будет проводиться поиск.
2. Диапазон значений выборки (цена от и до, расстояние от и до, срок от и до и так
далее).
3. Количество единиц категории (товаров/услуг), которые необходимо вывести (не
больше заранее определённого программно максимума).
Команда /history
После ввода команды выводится краткая история запросов пользователя (последние
десять запросов).
Описание внешнего вида и UI
Окно Телеграм-бота при запущенном Python-скрипте должно воспринимать команды:
● /help — помощь по командам бота;
● /low — вывод минимальных показателей (с изображением товара/услуги/и так
далее);
● /high — вывод максимальных (с изображением товара/услуги/и так далее);
● /custom — вывод показателей пользовательского диапазона (с изображением
товара/услуги/и так далее);
● /history — вывод истории запросов пользователей.
Сообщение с результатом команды должно быть содержательным.
Технические требования
● Скрипт для Телеграм-бота должен быть написан с использованием библиотек
для работы с различными API и запросами.
● Бот должен поддерживать многопользовательский режим.
● Запуск бота должен выполняться командой python main.py из терминала — из
папки с проектом. Реализация main.py и остальных файлов проекта остаётся за
вами. Файлы не должны содержать ошибок, работа должна быть корректной.