Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

sergeycommit/ai_tg_bot

Repository files navigation

AI Telegram Bot

Современный асинхронный Telegram-бот с интеграцией ChatGPT и поддержкой голосовых сообщений.

🌟 Особенности

  • 💬 Умные текстовые диалоги - обработка сообщений через ChatGPT
  • 🎤 Поддержка голосовых сообщений - конвертация в текст через Whisper API
  • ⏱️ Лимиты для бесплатных пользователей - 300 запросов в день
  • 💎 Премиум подписка - безлимитный доступ
  • 🗄️ История диалогов - сохранение контекста беседы
  • 🔒 Проверка подписки на канал - обязательная подписка для использования
  • 💳 Встроенные платежи - оплата через Telegram Stars

📋 Требования

  • Python 3.8+
  • PostgreSQL
  • API ключи:
    • Telegram Bot API
    • OpenRouter API (для ChatGPT)
    • Hugging Face API (для Whisper)

🚀 Установка

1. Клонирование репозитория

git clone <repository-url>
cd ai_tg_bot

2. Установка зависимостей

pip install -r requirements.txt

3. Настройка базы данных

Создайте 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;

4. Настройка переменных окружения

Создайте файл .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=5

🏃‍♂️ Запуск

Локальный запуск

python bot.py

Запуск через Docker

docker-compose up -d

📖 Использование

Команды бота

  • /start - Начать работу с ботом
  • /help - Показать справку
  • /premium - Информация о премиум подписке
  • /clear - Очистить историю диалога
  • /migrate - Применить миграции БД (только для админов)

Функции

  1. Текстовые сообщения - отправьте любое текстовое сообщение
  2. Голосовые сообщения - отправьте голосовое сообщение для распознавания
  3. Премиум подписка - получите безлимитный доступ

🏗️ Структура проекта

ai_tg_bot/
├── bot.py # Основной файл бота
├── config.py # Конфигурация и переменные окружения
├── models.py # Модели базы данных
├── migrations.py # Миграции базы данных
├── requirements.txt # Зависимости проекта
├── Dockerfile # Docker конфигурация
├── docker-compose.yml # Docker Compose конфигурация
├── .gitignore # Игнорируемые файлы
└── README.md # Документация

🔧 Устранение неполадок

Частые ошибки

  1. "An error occurred. Please try again later."

    • Проверьте настройки базы данных
    • Убедитесь, что все переменные окружения установлены
    • Проверьте логи бота
  2. Проблемы с базой данных

    # Проверьте подключение к PostgreSQL
    psql -h localhost -U your_user -d ai_tg_bot_db
    # Примените миграции через бота (от имени админа)
    /migrate
  3. Проблемы с API ключами

    • Убедитесь, что все API ключи действительны
    • Проверьте квоты на используемых сервисах
  4. Ошибки urllib3 и OpenSSL

    # Обновите зависимости
    pip install --upgrade -r requirements.txt
    # Или установите совместимую версию urllib3
    pip install "urllib3<2.0.0"
  5. Ошибки python-dotenv

    • Убедитесь, что файл .env имеет правильный формат
    • Каждая переменная должна быть на отдельной строке
    • Не используйте пробелы вокруг знака =
    • Пример правильного формата см. в файле env_example.txt
  6. Ошибки OpenAI клиента

    • Обновите библиотеку openai: pip install --upgrade openai
    • Убедитесь, что используется правильная версия httpx

Логирование

Бот ведет подробные логи. Для отладки проверьте вывод консоли или настройте запись в файл.

Проверка конфигурации

Бот автоматически проверяет наличие всех необходимых переменных окружения при запуске.

🔄 Обновления

Применение миграций

Для применения обновлений базы данных используйте команду /migrate от имени администратора.

Обновление кода

git pull origin main
pip install -r requirements.txt
# Перезапустите бота

📊 Мониторинг

  • Логи содержат информацию о всех операциях
  • Админы получают уведомления о критических событиях
  • Статистика использования сохраняется в базе данных

🛡️ Безопасность

  • Все API ключи должны храниться в переменных окружения
  • Используйте сильные пароли для базы данных
  • Регулярно обновляйте зависимости

📝 Лицензия

MIT License

🤝 Поддержка

При возникновении проблем:

  1. Проверьте логи бота
  2. Убедитесь в корректности настроек
  3. Обратитесь к администратору: tdallstr@gmail.com

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /