Skip to content

cuttlesystems/simplegram

Repository files navigation

tg_bot_constructor

Вступительное слово к проекту

Документация по проекту

Правила работы с git

Инструкция по осуществлению deploy'я обновлённого docker-контейнера

Инструкция по созданию исполняемого файла (Win, Linux) с помощью утилиты PyInstaller

Структура репозитория

Как запустить проект локально(dev-режим):

  • Клонировать репозиторий и перейти в директорию с файлом manage.py:
[email protected]:cuttlesystems/tg_bot_constructor.git
cd backend/tg_bot_constructor/bot_constructor
  • Из дириктории с manage.py выполнить миграции и создать суперюзера:
python3 manage.py migrate
python3 manage.py createsuperuser
  • Запустить проект локально:
python3 manage.py runserver

Проект запущен и доступен по адресу:

Курс видеоуроков (YouTube Playlist) по разработке бота для Telegram на Python с использованием фреймворка aiogram. За основу взят пример фриланс проекта - бот для пиццерии. Подробно рассмотрены все этапы создания бота и все темы: Polling, webhook, кнопки, инлайн клавиатуры, меню, клиентская часть, админка, машина состояний (FSM)

Примеры api запросов:

Регистрация пользователя и получение токена:

Регистрация пользователя:

  • POST запрос на эндпоинт:
http://127.0.0.1:8000/api/users/
  • в теле запроса(body):
{
    "username": "boris",
    "email": "[email protected]",
    "password": "boris123"
}
  • ответ:
  • status: 201 Created
{
    "email": "[email protected]",
    "username": "boris",
    "id": 4
}

Получение токена для зарегистрированного пользователя:

  • POST запрос на эндпоинт:
http://127.0.0.1:8000/api/auth/token/login/
  • в теле запроса(body):
{
    "username": "boris",
    "password": "boris123"
}
  • ответ:
  • status: 200 OK
{
    "auth_token": "1a30836b4e02ec825b587bd72412b6d239d8bc30"
}
  • Данный токен передается в заголовке запроса для аутентификации пользователя.
  • Пример: 'Authorization: Token 1a30836b4e02ec825b587bd72412b6d239d8bc30'

Обращение к REST API

Пример заполнения .env файла для работы с перемеными окружения

  • Создать в директории infra/ файл .env
  • пример заполнения:
DB_ENGINE=django.db.backends.postgresql
DB_NAME=bot_constructor
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DB_HOST=172.21.0.1
DB_PORT=5432

SECRET_KEY = 'django-insecure-@a#@3^g@a#@3^g7vh@a#@3^g@a#@3^g@a#@3^g@a#@3^g'