Telegram-бот для управления задачами пользователей.
TELEGRAM_BOT_TOKEN
: API ключ от Telegram-бота. Его можно получить у Отца ботов. Введите команду/newbot
в чате с ним и следуйте инструкциям.API_ID
: идентификатор API, полученный от платформы API Telegram.API_HASH
: хеш API, полученный от платформы API Telegram.DATABASE_CONNECTION_STRING
: Ссылка с параметрами БД в формате -postgresql://<имя_пользователя>:{<пароль>}@localhost:5432/<имя_БД>
. Например,postgresql://postgres:postgres@localhost:5432/pyrogram_db
. Для Docker используется вместоlocalhost
название сервиса базы данныхpostgres
:postgresql://postgres:postgres@postgres:5432/pyrogram_db
.SECRET_KEY
: обязательный ключ для шифрования данных. Можно сгенерировать на сайте https://fernetkeygen.com/
-
Клонируем ссылку
git clone https://github.com/wezbicka/pyrogram_test
-
Переходим в папку с локальным проектом
cd pyrogram_test
-
Устанавливаем виртуальное окружение.
Python 3.12 уже должен быть установлен на компьютер.
Создаём виртуальное окружение Linux/Mac:
python3 -m venv venv
Создаём виртуальное окружение Windows:
python -m venv venv
Если у Вас на компьютере несколько версий python используйте эту команду для создания виртуального окружения:
py -3.12 -m venv venv
Активируем окружение, выполнив команду в терминале:
source venv/bin/activate
В Windows для запуска виртуального окружения выполните команду в командной строке:
venv\Scripts\activate
-
Перейдите в рабочий каталог:
cd pyrogram_test
-
Для виртуального окружения принимаем зависимости:
pip install -r requirements.txt
-
Создаём файл .env и прописываем переменные окружения.
-
Обязательно прописываем все параметры, находящиеся в .env.example
-
Запускаем локальный сервер:
python main.py
-
Клонируем ссылку
git clone https://github.com/wezbicka/pyrogram_test
-
Переходим в папку с локальным проектом
cd pyrogram_test
-
Создаём новый файл .env (пример заполнения есть в .env.example) и подставляем значения.
cp example.env .env
-
Запускаем docker-compose файл
docker-compose up --build
- Python 3.12
- SQLAlchemy
- Pyrogram
- PostgreSQL
- Telegram-бота на Python с использованием библиотеки Pyrogram.
- Бот имеет следующие функциональности:
- Регистрация новых пользователей:
- При первом входе пользователю предоставлена возможность зарегистрироваться в системе, введя свое имя и выбрав уникальный логин.
- Информация о зарегистрированных пользователях сохранится в базе данных.
- Создание задач:
- Зарегистрированный пользователь имеет возможность создавать новые задачи, указывая их название и описание.
- Информация о задачах сохраняется в базе данных и связана с соответствующим пользователем.
- Просмотр и управление задачами:
- Пользователь имеет возможность просматривать список своих задач.
- Бот предоставляет интерфейс для управления задачами:
- возможность пометить задачу как выполненную (изменить статус задачи);
- возможность удалить задачу.
- Использование постоянных и inline меню:
- Бот должен использовать постоянные меню для навигации по функциональностям
- Бот должен использовать inline меню для взаимодействия с конкретными задачами.
- Выполнение SQL-запросов:
- Бот должен уметь выполнять SQL-запросы к базе данных.
- Результаты запросов должны быть корректно обработаны и представлены пользователю.
- Регистрация новых пользователей:
Тестовое задание