В прошлой статье мы подключили Postgres к боту. В этой статье мы напишем код, чтобы бот мог создавать пост на канале и записывать в БД.
Приступим:
1. Удалим ненужное.
Файл cancel.py никак почти не использовался.
Решил перевесить отмену состояния на кнопку возврата в главное меню, а файл cancel.py удалить:
2. Создадим таблицу posts.
Создаем таблицу, я делаю это в DBeaver(Настройку можно посмотреть тут):
3. Переходим в файл .env и добавляем настройки.
Заходим в файл .env и добавляем:
chat_id='chat_id вашего канала'
4. Добавляем код в бота.
В bd_handlers создадим папку create_post.
Внутри создадим и добавим код в check_user_name.py:
Так же создадим и добавим код в файл create_post.py:
Должно получится вот так:
Заходим в папку handlers.
Потом в admin_panel и создаем папку create_post.
Внутри создаем папку states_post и создаем и добавляем код в файл create_post.py:
В папке states_post создаем и добавляем код в 4 файл:
post_disc.py:
post_name.py:
post_tag.py:
post_link.py очень крупный разобью его на две части.
Часть первая:
Часть вторая:
Выглядеть должно как то так:
5. Не забываем добавить клавиатуру admin_panel_keyboard_back_to_main_menu.
Добавляем клавиатуру там где возможно нужна отмена состояния.
В файлы admin.py, cm.py в папке create_user_role/admin и create_user_role/cm:
А так же в файле delete_user_role.py в папке delete_user_role:
6. Добавляем импорты.
Добавляем импорты в файл telegram_bot.py:
7. Тесты.
Проверяем как работает.
Сообщение в канал присылает:
Данные в БД сохраняются:
Всё успешно.
В следующей статье будем удалять запись.
Всем спасибо кто дочитал до конца.
Ставьте лайки и подписывайтесь на канал.
Вопросы задавайте в комментарии, а так же в телеграм чате.
Проект на GitHub тут.
Канал в telegram тут.
#2022 #программирование #технологии #telegram #bot #бот #телеграм #python