Русский | English
- Это сильно модифицированная версия бота: Zero6992/chatGPT-discord-bot
- Отдельно спасибо Zero6992 за открытый код проекта <3
- ⭐️ Особенности
- 🆕 Отличия от начальной версии
- 🚧 ПЛАНЫ на 2025
- 🛠️ Установка
- 🔨 Создайте своего Discord бота
- 🚀 Запуск бота на Windows
- 📝 Команды
- 🧠 Использование ИИ: Большая часть модифицированного кода написана с помощью ChatGPT и других ИИ для эксперимента.
- 💬 Многофункциональность: Бот может общаться как в канале Discord, так и в личных сообщениях.
- 🌐 Интернет-поддержка: Бот может выполнять поисковые запросы, находить изображения и видео через библиотеку duckduckgo-search.
- 📝 Работа с PDF: Бот может изучить ваш PDF файл на содержимое текста и работать с ним через библиотеку pdfminer.six. (Не поддерживает картинки!)
- 🔔 Напоминания: Бот может напомнить вам о важном событии такие как Экзамены, сессия, ДедЛайны и так далее. Поддерживаются как актуальные напоминания так и уведомления о просроченных.
- 🧠 Расширенные ИИ модели: Поддержка большего количества чат-моделей и моделей генерации изображений с использованием библиотеки gpt4free.
- 💾 Индивидуальная память: У каждого пользователя своя "память", сбрасываемая командой
/reset
отдельно. - 📊 Сохранение настроек: Используемая модель ИИ сохраняется индивидуально для каждого пользователя.
- 📥 История диалогов: Возможность скачивания истории диалога пользователя с ИИ.
- Поддержка упоминания: Позволить пользователям взаимодействовать с ботом с помощью упоминаний (например, "@BotName привет").
- Поддержка потоковых сообщений: Реализовать функцию потоковых сообщений в Discord через функцию редактирования, при этом правильно разделять на части для чанков.
- Например добавить
/settings
, чтобы пользователи могли настраивать свои параметры. - Установить минимальную задержку в 1 секунду между сообщениями, чтобы предотвратить спам и потенциальные проблемы.
- Например добавить
- Интеграция моделей зрения: Внедрить поддержку моделей зрения для улучшения функциональности.
- Поддержка агентов: Добавить возможности для агентов, аналогичных агентам Blackbox.
- Локализация: Локализовать весь код для улучшения доступности для пользователей из разных регионов.
- Интеграция Google Search: Добавить поиск по интернету через Google для улучшенного поиска информации.
- Интеграция WolframAlpha: Добавить WolframAlpha для предоставления вычислительных знаний.
- Интеграция DeepL: Добавить DeepL для расширенных возможностей перевода.
- Discord UI: Улучшить визуальную составляющую бота с помощью UI. Например: Ember-сообщения и/или интерактивные кнопки (например, "Сгенерировать заново").
- Интеграция базы данных: Использовать MySQL/NoSQL или другую базу данных для хранения сообщений пользователей в зависимости от настроек конфигурации по мимо текущего json.
- Постоянная память: Реализовать постоянную память для каждого пользователя для сохранения пользовательских инструкций и предпочтений.
- Новое новое новое, ищем новое: Изучить возможность интеграции дополнительных услуг и продуктов для расширения функциональности.
-
Улучшить разделение сообщений: Улучшить функцию
utils/message_split
, чтобы обеспечить точное выделение кода. После разделения кода на части должны применяться соответствующие языковые маркеры (например, ```cpp).Пример запроса пользователя: C++ Змейка игра
Ответ бота:
-
1ый Чанк:
^^^cpp
Код игры змейка, часть 1
^^^# Конец Чанка 1 -
2ой Чанк:
^^^ # Потеряна маркировка cpp когда начался Чанк 2!
Код игры змейка, часть 2
^^^
-
-
Оптимизация потоковых сообщений: Дальнейшая оптимизация функции
utils/message_split
для улучшения производительности после добавления потоковых сообщениях. -
Генерация нескольких изображений: Поддержка генерации до 4 изображений для команд
/draw
. -
Улучшенный веб-поиск: Улучшить возможности веб-поиска для изображений и видео. Преобразовать сообщения пользователей для повышения точности поиска и реализовать определение языка для оптимальных результатов.
Пример запроса пользователя: "Я хочу научиться основам C++" (с request_type = videos)
-
Текущая реализация: - Отправляет видео с YouTube с текстом: "Я хочу научиться основам C++" - Предоставляет неправильные ссылки.
-
Желаемая реализация: - Преобразовать сообщение пользователя для точного поиска. - Отправить видео с YouTube после преобразования: "C++ для начинающих" (или "Основы C++"). - Предоставить пользователю правильные ссылки.
-
-
Оптимизация кода: Переделать структуру и оптимизировать код для повышения производительности и удобства дальнейшего улучшения.
-
Усиление безопасности и стабильности: Укрепить меры безопасности всех параметров, а так же данных пользователей и улучшить общую стабильность.
-
Улучшение README: Повысить ясность и полноту документации README.
-
Документация для кода: Добавить подробную документацию для всех компонентов кода, чтобы каждый мог понять что и как.
-
Улучшение логирования: Улучшить логирование для лучшего отслеживания проблем и отладки этих проблем.
- Python 3.9 или позднее
- Переименуйте файл
.env.example
в.env
- В терминале Windows выполните
pip3 install -r requirements.txt
илиpip install -r requirements.txt
чтобы установить все требуемые библиотеки
Скачайте бота: Latest Release
Warning
Пожалуйста используйте ТОЛЬКО релиз версии!
Прямое скачивание Main-версий может привести к нестабильной работе по разным причинам.
- Перейдите на Discord Developer Portal и создайте приложение.
- Перейдите в раздел Bot, получите Token и вставьте его в
.env
в строку:DISCORD_BOT_TOKEN
. - Установите
Server Members Intent
иMessage Content Intent
на Включено. - Перейдите в раздел OAuth2 и в OAuth2 URL Generator поставьте галочку на Bot.
- В Bot Permissions поставьте галочки на следующие пункты:
- View Channels
- Send Message
- Send Message in Thread (если нужно - не обязательно)
- Manage Message
- Manage Thread (если нужно - не обязательно)
- Read Message History
- Attach Files
- Embed Links
- Use Slash Commands
- Скопируйте полученную ссылку и перейдите по ней.
- Пригласите бота в свой Discord сервер.
- Создайте системный канал чата и через ПКМ скопируйте ID канала.
- Вставьте ID канала в
.env
в строку:DISCORD_CHANNEL_ID
. - Настройте стартовый промпт на ваш вкус в файле
system_prompt.txt
. - Настройте остальные параметры в
.env
, если нужно.
- Если корректно установлен IDE, просто двойным кликом запустите
main.py
. - ИЛИ
- Откройте терминал в папке с ботом и выполните:
py main.py
/python3 main.py
/python main.py
.
Бот запущен :)
Команда | Описание |
---|---|
/ask |
Чат с ИИ (в ЛС отдельная память) |
/asklong |
Чат с ИИ с большим контекстным запросом |
/asklong |
Чат с ИИ с PDF файлами (Только текст) |
/draw |
Создать изображение с помощью ИИ |
/draw-prodia |
Создать изображение с помощью ИИ Prodia |
Команда | Описание |
---|---|
/help |
Вывести список команд |
/about |
Информация о проекте |
/changelog |
Информация об изменениях |
Команда | Описание |
---|---|
/remind-add |
Создать напоминание |
/remind-list |
Показать список ваших напоминаний |
/remind-delete |
Удалить напоминание (Через Индекс) |
Команда | Описание |
---|---|
/reset |
Сбросить историю диалога |
/chat-model |
Сменить чат модель |
/history |
Скачать историю диалога |