Телеграм-бот для поиска фотографий через API-ключ фотостока

Материал из Поле цифровой дидактики



Определение функциональных требований к боту

Перед работой над созданием бота, я решил создать реестр требований, чтобы точно отслеживать какие моменты я хочу увидеть в работе бота.

В моем представлении, бот, работающий с API фотостока, должен уметь работать с медиа-файлами. Помимо всего прочего, бот - есть бот, он должен уметь первоначально взаимодействовать с пользователем и отзываться на его команды. Соответственно, необходимо эти команды придумать и понять, что пользователь захочет сделать.

Размышляя таким образом, я пришел к следующему реестру функциональных и нефункциональных требований:

  • Бот должен уметь начинать работу с пользователем через команду /start
  • Бот должен уметь рассказывать о себе и о том зачем он нужен
  • В случае, если пользователь забыл команды - напомнить пользователю о них через команду /help
  • Иметь возможность работать как с открытыми запросами (на случай, если нужна случайная фотография), так и с закрытыми (при конкретных запросах)
  • Выдавать ссылку на источник с фотографией, при выборе пользователем нужной фотографии (из 4-х)


Начало работы и создание заглушки

Для начала был создан файлик с начальными зависимостями в Python

"requirements.txt"

После создания этого файлика необходимо запустить команду `pip install -r [путь к файлу]` и указать путь к созданному requirements.txt

Получение API и создание внутреннего конфигурационного API файла

Далее также важный момент, для работы бота потребуется ДВА API ключа. Первый - Telegram Bot Key, второй - как раз Unsplash API.

📚 Методические материалы

 Description
PythonPython в русском языке распространено название пито́н) — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Язык является полностью объектно-ориентированным в том плане, что всё является объектами