/gptim_bot

Telegram bot for user interaction with chatgpt, dalle, salute-speech services, etc.

Primary LanguagePythonMIT LicenseMIT

Telegram Bot MaxBot (MidJourney, ChatGPT, etc.)

The project is under development

Features

  • Special chat modes: 👩🏼‍🎓 Assistant, 👩🏼‍💻 Code Assistant, 🎬 Wicked. More soon
  • Context in groups
  • GPT-4 model
  • StableDiffusion
  • Kaiber AI
  • Track balance spent on OpenAI API
  • New design (inline buttons, new pics, main menu, wallet)

Commands:

  • /profile - Личный кабинет с главным меню 🗄
  • /help - Info | Что умеет бот?
  • /panel – Админ-панель

Commands for admins:

  • /reset user_id – Обнулить лимит токенов у юзера

  • /add user_id amount – Пополнить лимит токенов у юзера

  • /get_users – Получить csv-файл со списком юзеров

  • /get_subs – Получить csv-файл со списком платных подписчиков

  • /send_message text - Отправить text всем юзерам

  • /delete user_id - Удалить юзера из БД (#)

  • 📸 Отправьте фото, видео, кружок или гиф с подписью для перессылки всем юзерам

Usage

В приватных чатах:

1. Запрос текста - текст | Запрос изображения - "Нарисуй" | Запрос голосового сообщения - "Расскажи"
2. Запрос текста - голосовое сообщение

В группах:

Макс, | Макс, нарисуй | Макс, расскажи

Deploy to server

TODO: Добавить GitHub workflow для автодеплоя на сервер

  • Зайти на сервер
ssh username@server_address
  • Обновить установленные пакеты:
sudo apt update
sudo apt upgrade -y
  • Установить pip (Необязательно)
sudo apt install python3-pip
  • Установить Docker и Docker-Compose:
sudo apt install docker.io
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
  • Создать ssh-key и добавить на GitHub
ssh-keygen
  • Склонировать репозиторий на сервер
git clone git@github.com:{username}/max_gpt4_bot.git
  • Перейти в папку проекта и скопировать файлы конфига
cd max_gpt4_bot
cp config/config.env.example config/config.env
cp config/config.yml.example config/config.yml
  • Заполнить следующие константы в файле config.yml:
  • telegram_token: "" # телеграм токен
  • openai_api_key: "" # апи ключ с сайта openai.com
  • SBER_SALUTE_TOKEN: "" # апи ключ с сайта salutespeech.ru
  • payment_token: "" # токен с botfather payments (yoomoney)
  • admin_ids: [] # id юзеров - администраторов
  • bot_username: "" # никнейм бота (без @)
  • Создать в корне папки users, text_messages, voice_messages
  • Выполнить сборку и запуск контейнеров
sudo docker compose up -d --build
  • Перед повторной сборкой необходимо удалить папку ".mongodb", удалить все images и volumes в докере.

Documentation:

Contact me:

Telegram Linkedin Instagram Habr