Найти тему

Разработка telegram бота на Python(Aiogram). Создание админ панели.

Оглавление

Всем привет, в прошлой статье, мы сделали простого бота с помощью Python библиотеки Aiogram. В этой статье, мы сделаем для него админ панель.

1. Разработка админ панели для бота.

Начнем с "прически" проекта.

Удаляем файл "echo bot.py" и создадим уже полноценный проект. Папки __pycache__ создавать не нужно. Они появятся автоматически при запуске бота:

И так мы создали "Скелет" бота. Начнем разбираться, что к чему.

Папка "config":

Папка "config"
Папка "config"

Это папка с настройками бота.

Содержание:

Папка "__pycache__":

Создается автоматически при запуске бота;

Пустой файл "__init__.py":

Нужен для инициализации данной директории;

Файл ".env":

".env"
".env"

В нем хранится наш токен и ID админа;

Если вы не знаете свой ID, оставьте поле пустым.

Файл "bot_config.py":

Это настройки нашего бота;

Добавим код в файл "bot_config.py":

bot_config.py
bot_config.py

Папка "handlers":

Папка "handlers"
Папка "handlers"

В этой папке выполняются основные действия бота.

Содержание:

Папка "__pycache__":

Создается автоматически при запуске бота;

Пустой файл "__init__.py":

Нужен для инициализации данной директории;

Подпапка "admin_panel":

Подпапка "admin_panel"
Подпапка "admin_panel"

В этой папке выполняются функции админ панели.

Содержание:

Папка "__pycache__":

Создается автоматически при запуске бота;

Пустой файл "__init__.py":

Нужен для инициализации данной директории;

Добавим код в файл "create_post.py":

Файл "create_post.py"
Файл "create_post.py"

Добавим код в файл "delete_post.py":

Файл "delete_post.py"
Файл "delete_post.py"

Добавим код в файл "main_menu.py":

Файл "main_menu.py"
Файл "main_menu.py"

Подпапка "start":

Подпапка "start"
Подпапка "start"

В этой папке выполняется действие после выполнения команды /start в телеграм боте.

Содержание:

Папка "__pycache__":

Создается автоматически при запуске бота;

Пустой файл "__init__.py":

Нужен для инициализации данной директории;

Добавим код в файл "start.py":

Файл "start.py"
Файл "start.py"

Подпапка "test":

Подпапка "test"
Подпапка "test"

В этой папке выполняется действие, после того, как пользователь чата напишет в телеграм боте любое сообщение.

Содержание:

Папка "__pycache__":

Создается автоматически при запуске бота;

Пустой файл "__init__.py":

Нужен для инициализации данной директории;

Добавим код в файл "test.py":

Файл "test.py"
Файл "test.py"

Папка "keyboards":

Папка "keyboards"
Папка "keyboards"

В этой папке сохранены клавиатуры нашего бота.

Содержание:

Папка "__pycache__":

Создается автоматически при запуске бота;

Пустой файл "__init__.py":

Нужен для инициализации данной директории;

Добавим код в файл "admin_panel_keyboard_back_to_main_menu.py":

Файл "admin_panel_keyboard_back_to_main_menu.py"
Файл "admin_panel_keyboard_back_to_main_menu.py"

Добавим код в файл "admin_panel_keyboard_main_menu.py":

Файл "admin_panel_keyboard_main_menu.py"
Файл "admin_panel_keyboard_main_menu.py"

Добавим строки в файл ".gitignore":

Файл ".gitignore"
Файл ".gitignore"

Добавим код в файл "telegram_bot.py":

Файл "telegram_bot.py"
Файл "telegram_bot.py"

Теперь запускаем бота:

Запуск бота
Запуск бота

И проверяем результат:

Телеграм бот
Телеграм бот

Как видим, после отправки /start наш бот выдал нам ID.

Это наш User_ID телеграм.

Его нужно вставить в config/.env, в поле ADMIN:

Добавили ID файл ".env"
Добавили ID файл ".env"

Перезагружаем бота и проверяем:

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

Все работает, так как нужно.

Если мы админ, то при вызове команды /start в боте, у нас открывается админ панель.

Если не админ, то просто присылает наш ID.

2. Загружаем наш проект на GitHub.

В терминале пишем команды.

Создаем новую ветку на GitHub:

git checkout -b v.0.0.1

Соединяем две ветки в одну:

git merge main --no-ff

Загружаем в ветку v.0.0.1:

git push -u origin v.0.0.1

Как видим, у нас появилась новая ветка:

Ветка v.0.0.1
Ветка v.0.0.1

Переходим в нашу основную ветку:

git checkout main

Добавляем все из нашего проекта:

git add .

Пишем комментарий:

git commit -m "v.0.0.2"

Загружаем наш проект в основную ветку:

git push -f origin main

Всё успешно:

Ветка main
Ветка main

На этом предлагаю закончить данную статью.

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

Бота можно найти под ником: @BU11ZY_bot.

В следующей статье мы установим postgres в WSL.

Спасибо, что прочитали.

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

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

#программирование #python #бот #telegram #bot #github