Telegram - Bot для записи клиентов с административной панелью
Задачи
Реализация Django
Создание приложения
Создание модели
Отображение созданной модели в панели администратора
Создание метода для HTTP-запроса
Создание маршрутизации для URL-маршрутов HTTP-запросов
Создание ссылок на методы для бота
Заключение
Библиографический список
1.41M
Categories: internetinternet programmingprogramming

Telegram-бот для записи клиентов с административной панелью

1. Telegram - Bot для записи клиентов с административной панелью

TELEGRAM - BOT ДЛЯ ЗАПИСИ КЛИЕНТОВ
С АДМИНИСТРАТИВНОЙ ПАНЕЛЬЮ
Выполнили:
Горячев Григорий Алексеевич
Зырянов Кирилл Денисович

2.

Проблема
Актуальность

■ Современные клиенты хотят
записываться на услуги быстро и
удобно, без звонков и переписок.
Telegram с его 800 миллионами+
пользователей и возможностями
чат-ботов идеально подходит для
автоматизации записи. Такой бот
решает главные проблемы: убирает
ошибки при бронировании,
экономит время
Многие мастера и тренеры до сих пор
ведут записи клиентов вручную - в
бумажных журналах, мессенджерах
или таблицах. Это приводит к
ошибкам, накладкам и потере
времени, мешая развивать бизнес.
Особенно сложно начинающим - они
тратят часы на рутину вместо работы с
клиентами, но не могут позволить
дорогие системы бронирования.

3.

Цель
■ Разработка Telegram-бота для
онлайн-записи с функционалом
частичного администрирования.

4. Задачи

Django
nigga
Telegram-bot
Создание проекта django
Получить токен бота от BotFather
Создание баз данных
Подключение бота к Pycharm
Разработать систему управления
расписанием
Организация хранилищ данных
Создание интерфейса для администратора
Реализация интерактивных элементов
Создание различных методов запросов
телеграм-бота
Написать обработку команд
Интеграция с Django для заполнения хранилищ
Написать обработчики для кнопок

5.

Структура проекта

1. В папке bot/ хранится - telegram-bot
(команды, кнопки, обработка сообщение).

2. В главном файле SignUp/ (синий цвет),
хранятся – настройки проекта,
конфигурации Django, секретные ключи,
корневые маршруты проекта, базы данных.

3. В директории records/ хранятся – модели,
интерфейс администратора,
маршрутизация, обработка HTTP-запросов,
миграции базы данных.

6. Реализация Django

1. Установка Django
pip 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-bot
1. Установка 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/
English     Русский Rules