Similar presentations:
Telegram-бот для записи клиентов с административной панелью
1. Telegram - Bot для записи клиентов с административной панелью
TELEGRAM - BOT ДЛЯ ЗАПИСИ КЛИЕНТОВС АДМИНИСТРАТИВНОЙ ПАНЕЛЬЮ
Выполнили:
Горячев Григорий Алексеевич
Зырянов Кирилл Денисович
2.
ПроблемаАктуальность
■
■ Современные клиенты хотят
записываться на услуги быстро и
удобно, без звонков и переписок.
Telegram с его 800 миллионами+
пользователей и возможностями
чат-ботов идеально подходит для
автоматизации записи. Такой бот
решает главные проблемы: убирает
ошибки при бронировании,
экономит время
Многие мастера и тренеры до сих пор
ведут записи клиентов вручную - в
бумажных журналах, мессенджерах
или таблицах. Это приводит к
ошибкам, накладкам и потере
времени, мешая развивать бизнес.
Особенно сложно начинающим - они
тратят часы на рутину вместо работы с
клиентами, но не могут позволить
дорогие системы бронирования.
3.
Цель■ Разработка Telegram-бота для
онлайн-записи с функционалом
частичного администрирования.
4. Задачи
Djangonigga
Telegram-bot
Создание проекта django
Получить токен бота от BotFather
Создание баз данных
Подключение бота к Pycharm
Разработать систему управления
расписанием
Организация хранилищ данных
Создание интерфейса для администратора
Реализация интерактивных элементов
Создание различных методов запросов
телеграм-бота
Написать обработку команд
Интеграция с Django для заполнения хранилищ
Написать обработчики для кнопок
5.
Структура проекта■
1. В папке bot/ хранится - telegram-bot
(команды, кнопки, обработка сообщение).
■
2. В главном файле SignUp/ (синий цвет),
хранятся – настройки проекта,
конфигурации Django, секретные ключи,
корневые маршруты проекта, базы данных.
■
3. В директории records/ хранятся – модели,
интерфейс администратора,
маршрутизация, обработка HTTP-запросов,
миграции базы данных.
6. Реализация Django
1. Установка Djangopip install Django
2. Создание проекта
django-admin startproject myproject
3. Запуск сервера
python manage.py runserver
4. Создание администратора
python manage.py createsuperuser
7. Создание приложения
1. Создаем приложение внутри проектаpython manage.py startapp records
2. Добавляем приложение в настройки
проекта
settings.py:
8. Создание модели
■ Для работы Telegram-бота позаписи на процедуры
необходимо было создать базу
данных, которая хранит всю
ключевую информацию.
■ После создания модели нужно
выполнить стандартные
команды Django.
bash:
python manage.py makemigrations
python manage.py migrate
models.py:
9. Отображение созданной модели в панели администратора
admin.py:■
Чтобы настроить отображение таблиц в
административном интерфейсе, я
выполнил следующие шаги в файле
admin.py:
Импортировал наши модели
Для каждой модели создал класс
ModelAdmin, который
определяет:
Отображение полей
Фильтрация
Поля поиска
Сортировка
10. Создание метода для HTTP-запроса
Создание метода для HTTPзапроса■
Для реализации функционала обработки
HTTP-запросов в нашем проекте я
использовал механизм Django views.
■
В файле views.py я создал несколько
классов-представлений.
views.py:
11. Создание маршрутизации для URL-маршрутов HTTP-запросов
■В основном файле маршрутизации
SignUp/urls.py я:
Импортировал необходимые
модули и представления
Определил базовый путь для API
Подключил URL-адреса из
приложения records
SignUp/urls.py:
12. Создание ссылок на методы для бота
records/urls.py:■
В файле records/urls.py я детально описал все
конечные точки API:
■
Для каждого маршрута я указал:
Четкий и понятный путь (URL pattern)
Соответствующее представление
(view)
Уникальное имя для обратного
разрешения URL
13.
Реализация Telegram-bot1. Установка aiogram
pip install aiogram
2. Получение токена у BotFather
/newbot
3. Релизация кода
14.
Получение токенаПишем команду /start боту от telegram
под названием BotFather
После пишем команду /newbot и задаем
ему имя и юзернейм
Получаем токен
15.
Импорты и хранилища16.
Подключение бота к PycharmСоздаем переменную bot и указываем в ней
класс Bot, который принимает параметр token
Cоздаем диспетчер – мозг бота, он будет
принимать все действия пользователя и
обрабатывать
Реализуем запуск бота с помощью библиотеки
asyncio
17.
Интеграция с Django длязаполнения хранилищ
Создаем функции,в которых отправляем
http запрос и получаем данные через
метод get
В них же заполняем хранилища
18.
Реализация интерактивныхэлементов
Создаем функции показа кнопок с
помощью хранилища
InlineKeyboardMarkup и типа данных
InlineKeyboardButton
Вызываем кнопки в этих же функциях
19.
Обработка командИспользуем декоратор @dp.message и
создаем функции обработки сообщений
Также используем FSMContext для того,
чтобы управлять состоянием
бота(ожидание ответа)
20.
Обработка нажатия кнопокИспользуем декоратор
@dp.callback_query() и пишем функцию в
которой диспетчер будет пробегаться по
условиям и выполнять нужные действия
Тут реализуем изменение записи и
удаление
21. Заключение
■Мы разработали Telegram-бота для автоматизации процесса записи на услуги, который
гармонично сочетает удобный пользовательский интерфейс с административным
функционалом.
22. Библиографический список
Django:■
1. https://habr.com/ru/articles/747234/
■
2. https://metanit.com/python/django/
■
3. https://metanit.com/python/django/1.3.php
■
4. https://habr.com/ru/articles/749142/
■
5.https://developer.mozilla.org/ru/docs/Learn_web_development/Extensions/Serverside/Django/skeleton_website
Telegram-bot:
■
1. https://mastergroosha.github.io/aiogram-3-guide/
■
2. https://zentyx.ru/posts/asinhronnyij-django/
■
3. https://docs.aiogram.dev/en/latest/
internet
programming