Проект по программированию

Отменен
Заказ
6175818
Раздел
Программирование
Тип работы
Антиплагиат
Не указан
Срок сдачи
20 Июн в 09:00
Цена
3 000 ₽
Блокировка
10 дней
Размещен
16 Июн в 17:55
Просмотров
112
Описание работы

Задание:


Пункты задания

* Описать функционал тг-бота по отслеживанию состояния яндекс диска

* Выложить результаты на GitHub.

* Обновить код бота на сервере.


🔷 Описание


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


🔷 Тема проекта


Бот для отслеживания общей папки на Яндекс Диске.


🔷 Применение


Группа слушателей курса имеет доступ к папке с материалами преподавателя. Бот регистрирует преподавателей и слушателей и информирует их о внесённых преподавателем изменениях в папке диска.


Техническое задание


🔶 В базе данных отслеживаются:


1. Преподаватель

* имеет ссылку-приглашение для закрепления за ним слушателей

* может регистрироваться в API Яндекс Диска

* может регистрировать токен

* может добавлять папки на Диске в отслеживаемые


2. Слушатель

* закреплён за преподавателем, который прошёл регистрацию

* может зарегистрироваться по ссылке приглашению от преподавателя

* получает сообщения об изменениях на Яндекс Диске


🔶 Зависимости (Библиотеки и фреймворки)


* aiogram3.4. и выше

* yadisk - https://pypi.org/project/yadisk/

* python-dotenv

* sqlalchemy

* aiosqlite


🔶 Классы

Среди классов можно выделить:


1. Класс подключения к яндекс диску

* метод получения токена

* метод проверки наличия новых файлов в папке


2. Классы моделей в базе данных


🔶 Модели в базе данных (создать с помощью sqlalchemy):


1. Таблица пользователей

* идентификатор строки таблицы

* индентификатор пользователя тг

* идентификатор преподателя (если есть)

* токен api яндекс диска (если преподаватель)

* имя пользователя в тг


2. Таблица папок яндекс диска

* идентификатор папки

* индентификатоп пользователя тг (внешний ключ к таблице пользователей)

* путь к папке на яндекс диске


🔶 Процесс получения токена Яндекс Диска:

Процесс должен быть автоматизирован с помощью команд бота.


1. Перейти по ссылке

https://oauth.yandex.ru/client/new


2. Выбрать название и платформу приложения - Веб-сервисы

3. Указать Redirect URI

https://oauth.yandex.ru/verification_code


4. Выбрать следующие права доступа к данным на диске

* чтение событий аудит лога

* доступ к папке приложения на диске

* Доступ к папке приложения на Диске

* чтение всего Диска

* запись в любом месте на Диске

* доступ к информации о Диске

* доступ к Яндекс.Диску для приложений


5. Получить client_id и перейти по ссылке для получения токена

https://oauth.yandex.ru/authorize?response_type=token&client_id=


🔶 Функционал, который нужно описать в хендлерах:


1. Команда /start — регистрирует нового пользователя.

* можно выбрать кто регистрируется: преподаватель или слушатель

* выбор класса пользователя дополнительно подтверждать не нужно


2. Команда /status — выводит статус пользователя.

* предлагает зарегистрироваться /register и получить токен API Яндекс Диска, если его нет

* показывает токен, если пользователь зарегистрирован в API Яндекс Диска


3. Команда /register — выводит инструкцию по регистрации в API Яндекс Диска и выводит команду token

* регистрация API Яндекс Диска -


4. Команда /token — проверяет токен API Яндекс Диска

* допускается, что токен необходимо хранить в базе данных


5. Команда /add — добавляет папку на Яндекс Диске в отслеживаемые для слушателей, которые закреплены за преподавателем

* список отслеживаемые папок храниться в базе данных


6. Команда /delete — удаляет папку из отслеживаемых

* выбранная папка удаляется из списка в базе данных

Комментарии к заданию в записи

https://my.mts-link.ru/Ranepa/1056310948/record-new/1932021766

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.96
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир