Телеграм-бот для поиска фотографий через API-ключ фотостока
Определение функциональных требований к боту
Перед работой над созданием бота, я решил создать реестр требований, чтобы точно отслеживать какие моменты я хочу увидеть в работе бота.
В моем представлении, бот, работающий с API фотостока, должен уметь работать с медиа-файлами. Помимо всего прочего, бот - есть бот, он должен уметь первоначально взаимодействовать с пользователем и отзываться на его команды. Соответственно, необходимо эти команды придумать и понять, что пользователь захочет сделать.
Размышляя таким образом, я пришел к следующему реестру функциональных и нефункциональных требований:
- Бот должен уметь начинать работу с пользователем через команду /start
- Бот должен уметь рассказывать о себе и о том зачем он нужен
- В случае, если пользователь забыл команды - напомнить пользователю о них через команду /help
- Иметь возможность работать как с открытыми запросами (на случай, если нужна случайная фотография), так и с закрытыми (при конкретных запросах)
- Выдавать ссылку на источник с фотографией, при выборе пользователем нужной фотографии (из 4-х)
Начало работы и создание заглушки
Для начала был создан файлик с начальными зависимостями в Python
"requirements.txt"
После создания этого файлика необходимо запустить команду `pip install -r [путь к файлу]` и указать путь к созданному requirements.txt
Получение API и создание внутреннего конфигурационного API файла
Далее также важный момент, для работы бота потребуется ДВА API ключа. Первый - Telegram Bot Key, второй - как раз Unsplash API.
Для того, чтобы получить ключ для бота Telegram, необходимо его создать. Сделать это можно через бота @BotFather.
При заходе в бота, необходимо открыть внутреннее интегрированное приложение через кнопку "Open" и создать своего бота:
📚 Методические материалы
| Description | |
|---|---|
| Python | Python в русском языке распространено название пито́н) — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Язык является полностью объектно-ориентированным в том плане, что всё является объектами |
