{"id":15064319,"url":"https://github.com/thefirstnoob/discord-chatgpt","last_synced_at":"2025-10-11T02:19:07.770Z","repository":{"id":255933149,"uuid":"850435500","full_name":"TheFirstNoob/Discord-ChatGPT","owner":"TheFirstNoob","description":"Heavily modified version Discord Bot ChatGPT based on Zero6992 code and use gpt4free lib providers","archived":false,"fork":false,"pushed_at":"2025-06-02T17:30:16.000Z","size":303,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-03T06:27:07.520Z","etag":null,"topics":["bot","chatbot","chatgpt","claude-3-5-sonnet","claude-3-7-sonnet","command-r-plus","deepseek-r1","deepseek-v3","discord","discord-bot","discord-chatgpt","discord-gpt","gemini-2-0-flash","gemini-flash","gemini-pro","gpt-4o","gpt4free","llama-3-2-vision","o3-mini","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheFirstNoob.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-31T19:00:40.000Z","updated_at":"2025-06-02T17:30:22.000Z","dependencies_parsed_at":"2025-04-25T20:24:02.441Z","dependency_job_id":"0d0dec68-a11f-424a-a59f-aa2b9bf44f05","html_url":"https://github.com/TheFirstNoob/Discord-ChatGPT","commit_stats":{"total_commits":54,"total_committers":2,"mean_commits":27.0,"dds":"0.16666666666666663","last_synced_commit":"b3dfeb7838585fc67020c85218624b0c71897cc4"},"previous_names":["thefirstnoob/discord-chatgpt"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/TheFirstNoob/Discord-ChatGPT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheFirstNoob%2FDiscord-ChatGPT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheFirstNoob%2FDiscord-ChatGPT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheFirstNoob%2FDiscord-ChatGPT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheFirstNoob%2FDiscord-ChatGPT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheFirstNoob","download_url":"https://codeload.github.com/TheFirstNoob/Discord-ChatGPT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheFirstNoob%2FDiscord-ChatGPT/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005928,"owners_count":26083998,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","chatbot","chatgpt","claude-3-5-sonnet","claude-3-7-sonnet","command-r-plus","deepseek-r1","deepseek-v3","discord","discord-bot","discord-chatgpt","discord-gpt","gemini-2-0-flash","gemini-flash","gemini-pro","gpt-4o","gpt4free","llama-3-2-vision","o3-mini","python"],"created_at":"2024-09-25T00:15:16.644Z","updated_at":"2025-10-11T02:19:07.734Z","avatar_url":"https://github.com/TheFirstNoob.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Русский | [English](README_EN.md)\n\n# Discord ChatGPT Bot (Использует провайдеров gpt4free библиотеки)\n\n## Все провайдеры работают и протестированы в Ру регионе. У вас все может работать иначе!\n## Работает и протестировано корректно на версии Python 3.11.5\n\n* **Это сильно модифицированная версия бота:** [Zero6992/chatGPT-discord-bot](https://github.com/Zero6992/chatGPT-discord-bot)\n* **Отдельно спасибо Zero6992 за открытый код проекта \u003c3**\n\n---\n\n## 📋 Содержание\n\n1. [⭐️ Особенности](#%EF%B8%8F-особенности)\n2. [🆕 Отличия от начальной версии](#-отличия-от-начальной-версии)\n4. [🚧 ПЛАНЫ на 2025](#-планы-на-2025)\n5. [🛠️ Установка](#%EF%B8%8F-установка)\n6. [🔨 Создайте своего Discord бота](#-создайте-своего-discord-бота)\n7. [🚀 Запуск бота на Windows](#-запуск-бота-на-windows)\n8. [📝 Команды](#-команды)\n\n---\n\n## ⭐️ Особенности\n\n* 🧠 **Использование ИИ:** Большая часть модифицированного кода написана с помощью ChatGPT и других ИИ для эксперимента.\n* 💬 **Многофункциональность:** Бот может общаться как в канале Discord, так и в личных сообщениях. Можно использовать как слеш-команды, так и упоминание через @.\n* 🌐 **Интернет-доступ:** Бот может выполнять поисковые запросы, находить изображения и видео через библиотеку **[duckduckgo-search](https://github.com/deedy5/duckduckgo_search)**.\n* 📝 **Работа с PDF:** Бот может изучить ваш PDF файл на содержимое текста и работать с ним через библиотеку **[PyMuPDF](https://github.com/pymupdf/PyMuPDF)**. (Не поддерживает картинки!)\n* 🔔 **Напоминания:** Бот может напомнить вам о важном событии такие как Экзамены, сессия, ДедЛайны и так далее. Поддерживаются как актуальные напоминания так и уведомления о просроченных.\n* 🔨 **Администрирование:** Администратор может управлять доступом к боту для каждого пользователя.\n* 🔑 **Поддержка шифрования:** Продвинутая защита данных с помощью шифрования Fernet, гарантирующая конфиденциальность пользовательских взаимодействий и персональной информации.\n\n---\n\n## 🆕 Отличия от начальной версии\n\n### 🔹 Главное отличие: Поддержка истории диалога с каждым пользователем отдельно\n\n* 🧠 **Расширенные ИИ модели:** Поддержка большего количества чат-моделей и моделей генерации изображений с использованием библиотеки **[gpt4free](https://github.com/xtekky/gpt4free)**.\n* 💾 **Индивидуальная память:** У каждого пользователя своя \"память\", сбрасываемая командой `/reset` отдельно.\n* 📊 **Выбор модели и Инструкции:** Используемая модель ИИ и набор инструкций сохраняются индивидуально для каждого пользователя.\n* 📥 **История диалогов:** Возможность скачивания истории диалога пользователя с ИИ.\n\n---\n\n## 🚧 ПЛАНЫ на 2025\n\n\u003cdetails\u003e\n   \u003csummary\u003e\n   \n   ### Новый планируемый функционал\n\n   \u003c/summary\u003e\n   \n- **Поддержка потоковых сообщений**: Реализовать функцию потоковых сообщений в Discord через функцию редактирования, при этом правильно разделять на части для чанков.\n\t\u003e - Например добавить `/settings`, чтобы пользователи могли настраивать свои параметры.\n\t\u003e - Установить минимальную задержку в 1 секунду между сообщениями, чтобы предотвратить спам и потенциальные проблемы.\n- **Интеграция моделей зрения**: Внедрить поддержку моделей зрения для улучшения функциональности.\n- **Поддержка агентов**: Добавить возможности для агентов, аналогичных агентам Blackbox.\n- **Локализация**: Локализовать весь код для улучшения доступности для пользователей из разных регионов.\n- **Интеграция Google Search**: Добавить поиск по интернету через Google для улучшенного поиска информации.\n- **Интеграция WolframAlpha**: Добавить WolframAlpha для предоставления вычислительных знаний.\n- **Интеграция DeepL**: Добавить DeepL для расширенных возможностей перевода.\n- **Discord UI**: Улучшить визуальную составляющую бота с помощью UI. Например: Ember-сообщения и/или интерактивные кнопки (например, \"Сгенерировать заново\").\n- **Интеграция базы данных**: Использовать MySQL/NoSQL или другую базу данных для хранения сообщений пользователей в зависимости от настроек конфигурации по мимо текущего json.\n- **Постоянная память**: Реализовать постоянную память для каждого пользователя для сохранения пользовательских инструкций и предпочтений.\n- **Новое новое новое, ищем новое**: Изучить возможность интеграции дополнительных услуг и продуктов для расширения функциональности.\n  \n\u003c/details\u003e\n\n\u003cdetails\u003e\n   \u003csummary\u003e\n   \n   ### Улучшения бота\n\n   \u003c/summary\u003e\n   \t\n- **Оптимизация потоковых сообщений**: Дальнейшая оптимизация функции `utils/message_split` для улучшения производительности после добавления потоковых сообщениях.\n- **Улучшенный веб-поиск**: Улучшить возможности веб-поиска для изображений и видео. Преобразовать сообщения пользователей для повышения точности поиска и реализовать определение языка для оптимальных результатов.\n\t\t\n    \u003e **Пример запроса пользователя**: \"Я хочу научиться основам C++\" (с request_type = videos)\n\t\u003e \t\n    \u003e - **Текущая реализация**:\n\t\u003e \t\t- Отправляет видео с YouTube с текстом: \"Я хочу научиться основам C++\"\n\t\u003e \t\t- Предоставляет неправильные ссылки.\n\t\u003e \t\n    \u003e - **Желаемая реализация**:\n\t\u003e \t\t- Преобразовать сообщение пользователя для точного поиска.\n\t\u003e \t\t- Отправить видео с YouTube после преобразования: \"C++ для начинающих\" (или \"Основы C++\").\n\t\u003e \t\t- Предоставить пользователю правильные ссылки.\n\n- **Оптимизация кода**: Переделать структуру и оптимизировать код для повышения производительности и удобства дальнейшего улучшения.\n- **Усиление безопасности и стабильности**: Укрепить меры безопасности всех параметров, а так же данных пользователей и улучшить общую стабильность.\n- **Улучшение README**: Повысить ясность и полноту документации README.\n- **Документация для кода**: Добавить подробную документацию для всех компонентов кода, чтобы каждый мог понять что и как.\n- **Улучшение логирования**: Улучшить логирование для лучшего отслеживания проблем и отладки этих проблем.\n\n\u003c/details\u003e\n\n---\n\n## 🛠️ Установка\n\n* **Python 3.10 или позднее**\n* **Переименуйте файл `.env.example` в `.env`**\n* В терминале Windows выполните `pip3 install -r requirements.txt` или `pip install -r requirements.txt` чтобы установить все требуемые библиотеки\n\n---\n\n## 🔨 Создайте своего Discord бота\n\n**Скачайте бота:** [Latest Release](https://github.com/TheFirstNoob/Discord-ChatGPT/releases)  \n\u003e [!WARNING]\n\u003e **Пожалуйста используйте ТОЛЬКО релиз версии!**  \n\u003e Прямое скачивание Main-версий может привести к нестабильной работе по разным причинам.  \n\n1. Перейдите на [Discord Developer Portal](https://discord.com/developers/applications) и создайте приложение.\n2. Перейдите в раздел **Bot**, получите Token и вставьте его в `.env` в строку: `DISCORD_BOT_TOKEN`.\n3. Установите `Server Members Intent` и `Message Content Intent` на **Включено**.\n4. Перейдите в раздел **OAuth2** и в **OAuth2 URL Generator** поставьте галочку на **Bot**.\n5. В **Bot Permissions** поставьте галочки на следующие пункты:\n   - View Channels\n   - Send Message\n   - Send Message in Thread (если нужно - не обязательно)\n   - Manage Message\n   - Manage Thread (если нужно - не обязательно)\n   - Read Message History\n   - Attach Files\n   - Embed Links\n   - Use Slash Commands\n6. Скопируйте полученную ссылку и перейдите по ней.\n7. Пригласите бота в свой Discord сервер.\n8. Создайте системный канал чата и через ПКМ скопируйте ID канала.\n9. Вставьте ID канала в `.env` в строку: `DISCORD_CHANNEL_ID` (если нужно - не обязательно).\n10. Настройте стартовый промпт на ваш вкус в файле `system_prompt.txt`.\n11. Настройте остальные параметры в `.env`, если нужно.\n\n---\n\n## 🚀 Запуск бота на Windows\n\n* Если корректно установлен IDE, просто двойным кликом запустите `main.py`.\n* **ИЛИ**\n* Откройте терминал в папке с ботом и выполните: `py main.py` / `python3 main.py` / `python main.py`.\n\n**Бот запущен :)**\n\n---\n\n## 📝 Команды\n\n### Основные\n| Команда           | Описание                                  |\n|-------------------|-------------------------------------------|\n| `/ask`            | Чат с ИИ (в ЛС отдельная память)\t\t\t|\n| `/asklong`        | Чат с ИИ с большим контекстным запросом   |\n| `/asklong`        | Чат с ИИ с PDF файлами (Только текст)     |\n| `/draw`           | Создать изображение с помощью ИИ          |\n\n### Информация\n| Команда        | Описание                                 |\n|----------------|------------------------------------------|\n| `/help`        | Вывести список команд                    |\n| `/about`       | Информация о проекте                     |\n| `/changelog`   | Информация об изменениях                 |\n| `/ban-info`    | Информация о бане пользователя  \t\t\t|\n\n### Напоминания\n| Команда           | Описание                            |\n|-------------------|-------------------------------------|\n| `/remind-add`     | Создать напоминание                 |\n| `/remind-list`    | Показать список ваших напоминаний   |\n| `/remind-delete`  | Удалить напоминание (Через Индекс)  |\n\n### Инструкции\n| Команда               | Описание                    |\n|-----------------------|-----------------------------|\n| `/instruction-set`    | Установить инстукцию для ИИ |\n| `/instruction-reset ` | Сбросить инстукцию для ИИ   |\n\n### Администрирование\n| Команда         | Описание                    |\n|-----------------|-----------------------------|\n| `/ban`     \t  | Заблокировать пользователя  |\n| `/unban`    \t  | Разблокировать пользователя |\n| `/banned-list ` | Список забаненных  \t\t\t|\n\n### Управление\n| Команда        \t\t\t| Описание                      |\n|---------------------------|-------------------------------|\n| `/reset`       \t\t\t| Сбросить историю диалога      |\n| `/chat-model` \t\t\t| Сменить чат модель            |\n| `/history`     \t\t\t| Скачать историю диалога       |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthefirstnoob%2Fdiscord-chatgpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthefirstnoob%2Fdiscord-chatgpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthefirstnoob%2Fdiscord-chatgpt/lists"}