Телеграм-бот для управления волонтёрской программой
volunteer-bot/
├── bot/ # Основной код бота
│ ├── handlers/ # Обработчики команд
│ │ ├── admin.py # Админские команды
│ │ ├── user.py # Пользовательские команды
│ │ └── common.py # Общие команды (start, cancel)
│ ├── keyboards.py # Клавиатуры для разных меню
│ └── states.py # Состояния диалога
├── database/ # Работа с базой данных
│ └── db.py # Класс Database для работы с SQLite
├── services/ # Дополнительные сервисы
│ └── ai_service.py # Работа с GigaChat API
├── config.py # Конфигурация бота
└── main.py # Точка входа в приложение
- bot/handlers/: Обработчики команд и сообщений
admin.py
- команды администратора (/admin, /set_admin и т.д.)user.py
- обработка пользовательских действийcommon.py
- общие команды (/start, /cancel)
- bot/keyboards.py: Все клавиатуры бота (основное меню, меню профиля и т.д.)
- bot/states.py: Состояния для ConversationHandler
- database/db.py: Взаимодействие с SQLite базой данных
- services/ai_service.py: Интеграция с GigaChat для ИИ-функционала
- config.py: Настройки бота (токены, ключи API)
- main.py: Инициализация и запуск бота
- Клонируйте репозиторий:
git clone https://github.com/your-username/volunteer-bot.git
cd volunteer-bot
- Создайте виртуальное окружение:
# Windows
python -m venv venv
venv\Scripts\activate
# Linux/macOS
python3 -m venv venv
source venv/bin/activate
- Установите зависимости:
# Windows
pip install -r requirements.txt
# Linux/macOS
pip3 install -r requirements.txt
- Настройте конфигурацию:
- Скопируйте
config.example.py
вconfig.py
- Заполните необходимые значения в
config.py
- Или создайте
.env
файл с переменными окружения:TELEGRAM_BOT_TOKEN=your_token_here GIGACHAT_AUTH_KEY=your_key_here
- Скопируйте
- Запустите бота:
python main.py
- В Telegram найдите бота по имени и начните диалог командой
/start