Найти в Дзене

Разработка telegram бота на Python(Aiogram). Подключение postgresql к боту с помощью библиотеки asyncpg.

Оглавление

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

Приступим:

1. Создадим таблицу.

Создадим таблицу user_role:

user_role таблица
user_role таблица

2. Установим в наш venv новый пакет:

Запишем в requirements.txt пакет asyncpg:

requirements
requirements

Установим пакет:

pip install -r requirements.txt

3. Добавим в таблицу строку с админом:

Таблица user_role
Таблица user_role

4. Добавим новые настройки.

Перейдем в .env, уберем строку ADMIN и добавим данные которые настраивали в этой статье:

user=Ваш пользователь от postgres

password=Ваш пароль пользователя от postgres

database=База данных postgres

host=localhost

5. Добавим код в проект.

Создадим папку bd_handlers в основной директории и в ней создадим ещё папку user_role:

bd_handlers
bd_handlers

В папке user_role создаем файл check_user_role.py и добавляем код:

check_user_role.py
check_user_role.py

В папке user_role создаем файл create_admin.py и добавляем код:

create_admin.py
create_admin.py

В папке user_role создаем файл create_cm.py и добавляем код:

create_cm.py
create_cm.py

В папке user_role создаем файл delete_user_role.py и добавляем код:

delete_user_role.py
delete_user_role.py

Переходим в папку config:

config
config

В файле bot_config.py меняем код:

bot_config.py
bot_config.py

Переходим в папку start:

start
start

В файле start.py добавляем строки:

start.py
start.py

Переходим в папку keyboards:

keyboards
keyboards

В файле admin_panel_keyboard_main_menu.py добавляем строки:

admin_panel_keyboard_main_menu.py
admin_panel_keyboard_main_menu.py

Переходим в файл telegram_bot.py и добавляем импорты:

telegram_bot.py
telegram_bot.py

Остаются три файла, все три в admin_panel, в handlers:

3 файла
3 файла

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

Посмотрите и почитайте, что в них выполняется:

admin.py

cm.py

delete_user_role.py

6. Проверяем работу.

Проверяем создается ли контент менеджер:

Создание контент менеджера
Создание контент менеджера

Проверяем БД:

user_role
user_role

Проверяем ошибки:

Ошибки
Ошибки

Проверяем удаление роли:

Удаление роли
Удаление роли

Проверяем БД:

Успешно
Успешно

Все успешно.

В следующей статье мы добавим посты в нашего бота.

Проект на GitHub: тут.

Всем спасибо, что дочитали эту статью.

Если вам понравилось, подпишитесь на канал и поставьте лайк.

Если есть вопросы, можете задать их в комментариях или в чате в telegram.

Канал в telegram: тут.

#2022 #программирование #технологии #postgres #python #telegram #bot #телеграм #бот #россия

Наука
7 млн интересуются