Плагин для Minecraft серверов на основе Purpur/Paper/Spigot, который добавляет AI бота "Псич" для общения с игроками в чате.
- 🤖 AI общение - Бот отвечает на сообщения игроков с использованием AI (Gemini, Groq, DeepSeek, Gemma)
- 💬 Прямое обращение - Игроки могут обращаться к боту: "Псич, [сообщение]"
- 🎲 Спонтанные ответы - Бот может сам отвечать на сообщения (настраиваемый шанс)
- 🎮 Реакция на события - Бот реагирует на смерть игроков, достижения, подключение/отключение (с настраиваемым шансом)
- ⏱️ Задержка ответа - Настраиваемая задержка перед отправкой сообщений для более естественного поведения
- 🧠 Память и контекст - Бот запоминает историю разговоров и профили игроков
- 📊 Система репутации - Бот анализирует отношения с игроками и адаптирует стиль общения
- 🎨 Настройка цвета - Настраиваемый цвет ника бота в чате
- 🔧 Прокси поддержка - Поддержка HTTP прокси для работы на российских серверах
- ⚙️ Команды управления - Административные команды для настройки бота
- 🐛 Режим отладки - Подробное логирование для отслеживания работы и поиска багов
- 💬 Discord интеграция - Автоматическая отправка сообщений бота в Discord через Webhook
- Minecraft сервер на Purpur/Paper/Spigot 1.21.10+
- Java 21+
- API ключи от одного или нескольких провайдеров:
- Google Gemini API
- Groq API
- DeepSeek API (опционально, платный)
- Скачайте файл
psich-bot.jarиз папкиtargetпосле сборки - Поместите файл в папку
pluginsвашего сервера - Запустите сервер один раз, чтобы создать конфигурационные файлы
- Откройте
plugins/PsichBot/config.ymlи настройте API ключи - Перезапустите сервер или используйте
/psich reload
ai:
# Gemini API ключи (можно указать несколько для ротации)
gemini-keys:
- "YOUR_GEMINI_KEY_HERE"
- "YOUR_SECOND_GEMINI_KEY_HERE" # Опционально
# Groq API ключи (можно указать несколько для ротации)
groq-keys:
- "YOUR_GROQ_KEY_HERE"
# DeepSeek API ключи (платный, используется только в крайнем случае)
deepseek-keys:
- "YOUR_DEEPSEEK_KEY_HERE"chat:
# Триггер для прямого обращения к боту
trigger: "псич"
# Шансы спонтанного ответа (0.05 = 5%)
# Шанс спонтанного ответа на обычные сообщения в чате
spontaneous-chance-message: 0.05
# Шанс спонтанного ответа на вход/выход/первый заход игроков
spontaneous-chance-join-quit: 0.1
# Шанс спонтанного ответа на получение ачивок игроками
spontaneous-chance-advancement: 0.1
# Шанс спонтанного ответа на смерти игроков
spontaneous-chance-death: 0.1
# Количество последних сообщений для анализа
context-size: 15
# Минимальная длина сообщения для спонтанного ответа
min-message-length: 10
# Цвет ника Псича в чате
name-color: "green" # Можно использовать: yellow, red, blue, green и т.д.
# Задержка перед отправкой сообщения бота (в секундах, для более естественного поведения)
# Рекомендуется: 1.0 - 2.0 секунды
response-delay: 1.5proxy:
# Включить использование прокси
enabled: true
# Адрес прокси сервера
host: "ip"
# Порт прокси сервера
port: 3128
# Имя пользователя для прокси (оставьте пустым если не требуется)
user: ""
# Пароль для прокси (оставьте пустым если не требуется)
password: ""В секции prompt.system можно редактировать личность и поведение бота.
debug: false # Установите true для подробного логированияdiscord:
# Включить отправку сообщений бота в Discord
enabled: true
# URL вебхука Discord (полный URL)
webhook-url: "https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_WEBHOOK_TOKEN"
# Имя отправителя в Discord (опционально)
username: "Псич"
# URL аватарки для вебхука (опционально, прямая ссылка на изображение PNG/JPG/GIF)
avatar-url: "https://example.com/avatar.png"Как создать Discord Webhook:
- Откройте настройки канала Discord, куда хотите отправлять сообщения
- Перейдите в раздел "Интеграции" → "Вебхуки"
- Нажмите "Создать вебхук" или "Новый вебхук"
- Скопируйте URL вебхука (формат:
https://discord.com/api/webhooks/ID/TOKEN) - Вставьте URL в
discord.webhook-urlв конфиге PsichBot - Включите
discord.enabled: true
Сообщения бота будут автоматически отправляться в указанный Discord канал через вебхук. Цветовые коды Minecraft и префикс <Псич> будут автоматически удалены из сообщений для Discord (имя уже указано в username).
Примечание: Для аватарки можно использовать прямую ссылку на изображение (PNG, JPG, GIF). Изображение должно быть доступно публично по указанному URL.
Бот автоматически отслеживает и может реагировать на следующие события:
- Смерть игроков - бот видит когда игрок умирает и может прокомментировать это
- Достижения - бот видит когда игрок получает достижения (рецепты игнорируются) и может поздравить или прокомментировать
- Подключение к серверу - бот видит когда игрок присоединяется к серверу и может поприветствовать
- Первое подключение - бот различает первое подключение игрока и может поприветствовать новичка по-особенному
- Отключение от сервера - бот видит когда игрок отключается и может попрощаться
Реакция на события происходит с настраиваемым шансом для каждого типа события:
- Сообщения в чате:
chat.spontaneous-chance-message(по умолчанию 0.05 = 5%) - Вход/выход/первый заход:
chat.spontaneous-chance-join-quit(по умолчанию 0.1 = 10%) - Ачивки:
chat.spontaneous-chance-advancement(по умолчанию 0.1 = 10%) - Смерти:
chat.spontaneous-chance-death(по умолчанию 0.1 = 10%)
Сначала проверяется шанс, затем AI решает, стоит ли отвечать на событие.
Важно:
- Бот автоматически обрабатывает Discord rate limiting с повторными попытками
- Бот ограничен максимум 2 сообщениями подряд (510 символов) для предотвращения спама
- Gemini: https://makersuite.google.com/app/apikey
- Groq: https://console.groq.com/keys
- DeepSeek: https://platform.deepseek.com/api_keys
/psich help- Показать справку (доступна всем)/psich mute- Включить/выключить режим тишины (только для админов)/psich reload- Перезагрузить конфигурацию (только для админов)/psich reset- Сбросить историю чата (только для админов)
Просто напишите в чат:
Псич, как дела?
или
Псич, что такое майнкрафт?
Бот автоматически анализирует последние сообщения в чате и может сам ответить, если это уместно.
Плагин использует несколько AI провайдеров с автоматическим переключением:
Приоритет использования:
- Groq (llama-3.3-70b-versatile) - основной провайдер
- Gemini (gemini-2.0-flash-exp) - резерв
- Gemma (gemma-3-27b-it) - простой fallback
- Groq-Simple (llama-3.1-8b-instant) - простой fallback
- DeepSeek - только если все остальные исчерпали лимиты (платный)
При исчерпании лимитов одного провайдера автоматически происходит переключение на следующий.
Плагин сохраняет данные в папке plugins/PsichBot/data/:
db.json- История чатов и настройкиprofiles.json- Профили игроков с репутацией и фактами
Включите debug: true в конфиге для получения подробных логов:
- Обработка сообщений
- Выбор AI провайдеров
- Переключение между провайдерами
- Генерация ответов
- Анализ репутации
- API ключи хранятся в
config.yml(не коммитьте их в Git!) - Используйте
.gitignoreдля исключения конфигов с ключами - Прокси поддерживает авторизацию для безопасности
- Бот адаптирует стиль общения под каждого игрока
- Запоминает контекст разговоров
- Анализирует отношения с игроками (репутация 0-100)
- Поддерживает несколько AI провайдеров с автоматическим переключением
- Все AI запросы выполняются асинхронно, не блокируя сервер
- Сообщения автоматически разбиваются на части по 256 символов (лимит Minecraft)
- Убедитесь, что у вас установлен Maven
- Выполните команду:
mvn clean package- Готовый JAR файл будет в папке
target/
ISC
PsiKeiKen / Meows
Основано на логике Telegram бота для общения с пользователями.