Современный асинхронный Telegram-бот с интеграцией ChatGPT и поддержкой голосовых сообщений.
- 💬 Умные текстовые диалоги - обработка сообщений через ChatGPT
- 🎤 Поддержка голосовых сообщений - конвертация в текст через Whisper API
- ⏱️ Лимиты для бесплатных пользователей - 300 запросов в день
- 💎 Премиум подписка - безлимитный доступ
- 🗄️ История диалогов - сохранение контекста беседы
- 🔒 Проверка подписки на канал - обязательная подписка для использования
- 💳 Встроенные платежи - оплата через Telegram Stars
- Python 3.8+
- PostgreSQL
- API ключи:
- Telegram Bot API
- OpenRouter API (для ChatGPT)
- Hugging Face API (для Whisper)
git clone <repository-url>
cd ai_tg_botpip install -r requirements.txtСоздайте PostgreSQL базу данных:
CREATE DATABASE ai_tg_bot_db;
CREATE USER your_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE ai_tg_bot_db TO your_user;Создайте файл .env в корневой директории:
# Основные настройки бота
BOT_TOKEN=your_telegram_bot_token
OR_API_KEY=your_openrouter_api_key
HF_API_KEY=your_huggingface_api_key
MODEL=openai/gpt-3.5-turbo
# Настройки администратора
ADMIN_USER_ID=your_telegram_user_id
ADMIN_IDS=comma_separated_admin_ids
# Настройки канала
CHANNEL=@your_channel_username
CHANNEL_URL=https://t.me/your_channel
# Настройки базы данных
DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_NAME=ai_tg_bot_db
DB_HOST=localhost
DB_PORT=5432
# Настройки приложения
FREE_REQUESTS_PER_DAY=300
TRIAL_PERIOD_DAYS=5python bot.pydocker-compose up -d/start- Начать работу с ботом/help- Показать справку/premium- Информация о премиум подписке/clear- Очистить историю диалога/migrate- Применить миграции БД (только для админов)
- Текстовые сообщения - отправьте любое текстовое сообщение
- Голосовые сообщения - отправьте голосовое сообщение для распознавания
- Премиум подписка - получите безлимитный доступ
ai_tg_bot/
├── bot.py # Основной файл бота
├── config.py # Конфигурация и переменные окружения
├── models.py # Модели базы данных
├── migrations.py # Миграции базы данных
├── requirements.txt # Зависимости проекта
├── Dockerfile # Docker конфигурация
├── docker-compose.yml # Docker Compose конфигурация
├── .gitignore # Игнорируемые файлы
└── README.md # Документация
-
"An error occurred. Please try again later."
- Проверьте настройки базы данных
- Убедитесь, что все переменные окружения установлены
- Проверьте логи бота
-
Проблемы с базой данных
# Проверьте подключение к PostgreSQL psql -h localhost -U your_user -d ai_tg_bot_db # Примените миграции через бота (от имени админа) /migrate
-
Проблемы с API ключами
- Убедитесь, что все API ключи действительны
- Проверьте квоты на используемых сервисах
-
Ошибки urllib3 и OpenSSL
# Обновите зависимости pip install --upgrade -r requirements.txt # Или установите совместимую версию urllib3 pip install "urllib3<2.0.0"
-
Ошибки python-dotenv
- Убедитесь, что файл
.envимеет правильный формат - Каждая переменная должна быть на отдельной строке
- Не используйте пробелы вокруг знака
= - Пример правильного формата см. в файле
env_example.txt
- Убедитесь, что файл
-
Ошибки OpenAI клиента
- Обновите библиотеку openai:
pip install --upgrade openai - Убедитесь, что используется правильная версия httpx
- Обновите библиотеку openai:
Бот ведет подробные логи. Для отладки проверьте вывод консоли или настройте запись в файл.
Бот автоматически проверяет наличие всех необходимых переменных окружения при запуске.
Для применения обновлений базы данных используйте команду /migrate от имени администратора.
git pull origin main
pip install -r requirements.txt
# Перезапустите бота- Логи содержат информацию о всех операциях
- Админы получают уведомления о критических событиях
- Статистика использования сохраняется в базе данных
- Все API ключи должны храниться в переменных окружения
- Используйте сильные пароли для базы данных
- Регулярно обновляйте зависимости
MIT License
При возникновении проблем:
- Проверьте логи бота
- Убедитесь в корректности настроек
- Обратитесь к администратору: tdallstr@gmail.com