1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Плагин [CHAT] Chatty - всеядный менеджер чата [1.7.10 - 1.20 и выше]

Тема в разделе "Неподтвержденные плагины", создана пользователем MrBrikster, 31 май 2018.

  1. Автор темы
    MrBrikster

    MrBrikster Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    MrBrikster
    [​IMG]Chatty - уникальный плагин, который работает на любой современной версии ядра Bukkit, включая ядра Thermos, Cauldron и прочие (начиная с версии 1.7.10). В плагине отсутствуют ненужные неотключаемые функции, он работает стабильно и легко настраивается.

    Основные преимущества:
    • Стандартная настройка чатов "локальный/глобальный". При желании можно легко добавить другой чат, или, например, установить свой символ для глобального чата.
    • Умное разделение чатов по правам. Например, если у вас нет права "chatty.chat.local", но есть "chatty.chat.global", то вас автоматически будет бросать в глобальный чат.
    • Логирование чата. Чат сохраняется в отдельные файлы по дням в "Chatty/logs".
    • SPY-режим. Право "chatty.spy" позволяет видеть сообщения из всех чатов.
    • Работоспособность на всех современных версиях Bukkit/Spigot/Thermos и т.д.
    • Нет ненужных неотключаемых функций, апдейтеров: легковесный, понятный и стабильный.
    • HEX-коды для цветов 1.16+.
    • Поддержка межсерверных чатов с BungeeCord.
    • Благодаря Vault API плагин берёт префиксы и суффиксы из вашего плагина на права.
    • Функция рассылок с помощью Advancements. В 1.12 добавили новую систему достижений. Теперь с помощью неё можно рассылать через эти окошки любой текст. В плагине есть такая функция!
    • Cooldown'ы на на сообщения в разных чатах.
    • Рассылки сообщений через чат.
    • JSON-форматирование сообщений.
    • Система личных сообщений.
    • Анти-мат, совместимый со словарями ChatGuard.
    • Всплывающие подсказки с матами для модераторов: кликнув в чате, можно быстро добавить мат в белый список.
    Permissions:
    1. chatty.chat.<чат> - позволяет писать сообщения в чат, или же:
      chatty.chat.<чат>.see - позволяет видеть сообщения из чата;
      chatty.chat.<чат>.write - позволяет отправлять сообщения в чат.
    2. chatty.spy.<чат> или chatty.spy - позволяет видеть сообщения из чатов (для модераторов).
    3. chatty.command.chat - позволяет использовать команду /chat для переключения между чатами.
    4. chatty.command.spy - позволяет выполнять команду /spy.
    5. chatty.command.reload - позволяет исполнять команду /chatty для перезагрузки конфигурации.
    6. chatty.command.msg - позволяет использовать команду /msg для отправки личных сообщений.
    7. chatty.command.reply - позволяет использовать команду /reply для быстрого ответа на последнее сообщение.
    8. chatty.command.swears - позволяет использовать команду /swears.
    9. chatty.command.clearchat - позволяет использовать команду /clearchat для очистки чата для себя.
    10. chatty.command.clearchat.all - позволяет использовать команду /clearchat all для очистки чата всем игрокам.
    11. chatty.command.ignore - позволяет использовать команду /ignore.
    12. chatty.command.prefix - позволяет менять себе префикс командой /prefix.
    13. chatty.command.prefix.others - позволяет менять другим префикс командой /prefix.
    14. chatty.command.suffix - позволяет менять себе суффикс командой /suffix.
    15. chatty.command.suffix.others - позволяет менять другим суффикс командой /suffix.
    16. chatty.cooldown или chatty.cooldown.<канал_чата> - обход задержки отправки сообщений.
    17. chatty.notification.chat.<список> - позволяет видеть сообщения из списка уведомлений чата.
    18. chatty.notification.advancements.<список> - позволяет видеть сообщения из списка уведомлений Advancements.
    19. chatty.notification.actionbar - позволяет видеть уведомления ActionBar.
    20. chatty.moderation.caps - даёт право обходить модерацию caps'а.
    21. chatty.moderation.advertisement - даёт право обходить модерацию рекламы.
    22. chatty.moderation.swear - даёт право обходить анти-мат.
    23. chatty.mentions - позволяет использовать упоминания в чате.
    24. chatty.style.<тип> - даёт право писать цветами в чаты. Если нужно выдать только на конкретный чат: chatty.style.<тип>.<чат> Типы:
    • chatty.style.colors - только цвета (&c, &a, &4 и т.д.)
    • chatty.style.bold - жирный шрифт (&l).
    • chatty.style.italic - курсив (&o).
    • chatty.style.magic - магия... (&k).
    • chatty.style.strikethrough - зачёркнутый текст (&m)
    • chatty.style.underline - подчёркивание (&n).
    • chatty.style.reset - сброс цветового кода (&r).
    • chatty.style.* - всё вышеперечисленное.
    Команды:
    1. /chatty - перезагрузить конфигурацию.
    2. /spy - включить/отключить Spy-режим.
    3. /msg (/message, /m, /pm, /w) - отправить личное сообщение.
    4. /reply (/r) - ответить на последнее полученное сообщение.
    5. /ignore - добавить игрока в игнор-лист, чтобы не видеть его сообщения.
    6. /clearchat - очистить чат.
    7. /swears - команда для добавления слов (регулярных выражений) в белый список анти-мата.
    8. /prefix (/setprefix) - позволяет менять префиксы игроков.
    9. /suffix (/setsuffix) - позволяет менять суффиксы игроков.

    Конфигурация:
    После очередного обновления, ограничение в 15000 символов на сообщение заставило меня вынести конфиг из темы.
    Теперь конфигурация находится здесь.

    Warning: По ссылке находится конфиг на английском языке, на русский пока не переведён. Конфиг под старую версию, но на русском - тут.

    Межсерверные чаты BungeeCord:
    Для создания межсерверного чата необходимо:
    • Установить Chatty-BungeeCord.jar на BungeeCord Не нужно, начиная с версии 2.19.
    • Создать чаты с одинаковым названием и range -3 на всех нужных серверах.
    • Включить настройку general.bungeecord на всех нужных серверах.
    Работает это следующим образом: сообщение форматируется по шаблону с отправляемого сервера, и приходит в том же виде на другие сервера. Т.е. в format у каждого сервера можно прописать разный текст, например с префиксом:
    "[Lobby] {player}: {message}".

    HEX-цвета (1.16 и выше):
    Новые версии игры позволяют использовать любые цветовые коды, а не только те, что
    заранее предложены разработчиками (&c, &a и т.д.)

    Для использования таких цветов применяется следующий шаблон:
    Код:
    {#12ABCD}&lОчень красивый жирный текст цвета #12ABCD
    Здесь показано сообщение цвета #123ABCD (что-то около бирюзового), да ещё и жирное! (коды можно комбинировать с обычными, старыми).

    Выбирать цвета можно, например, тут: https://colorscheme.ru/color-converter.html
    Значение нужно копировать из поля HEX.

    Кроме того, есть возможность генерации "градиента" - красивого переливающегося текста.
    Код:
    {#d818c4:#ae6be6:#0f7584:#7983a7:#a793ba:#34344b Это многоцветный градиент}
    [​IMG]

    Количество перечисляемых цветов здесь неограниченно, можно добавлять новое двоеточие и писать ещё один цвет.

    Важно понимать, что все эти прекрасные коды работают только в конфиге Chatty. Например, в лорах предметов в каком-нибудь плагине на меню это работать не будет!

    Маленький лайфхак:
    Совсем необязательно оставлять все настройки в конфиге. Если вам ничего из этого не нужно, конфиг может быть самым минимальным:
    Код:
    chats:
      default:
        enable: true
        format: '{prefix}{player}{suffix}&r: {message}'
        permission: false
    
    Это простой глобальный чат без cooldown'а. Осталось лишь выдать право!

    Разделение глобального чата по мирам
    Для разделения чата по мирам установите range на "-1", для полностью глобального чата - "-2".

    Анти-мат:
    Защита поддерживает словари от плагина ChatGuard. Испытан словарь от @VirtualMakc.
    Файлы конфигурации анти-мата находятся в "plugins/Chatty/swears/".

    Демонстрация работы рассылки через Advancements:


    Использование PlaceholderAPI:
    Для использования PlaceholderAPI можно placeholder'ы вида %placeholder% из документации к плагину.

    Загрузить плагин:
    Последняя версия для Spigot: Загрузить!
    Travis CI: Перейти
    Опциональные зависимости: Vault, PlaceholderAPI, NametagEdit.
    Spigot: https://www.spigotmc.org/resources/...bukkit-chat-system-solution-1-5-2-1-13.59411/
    Source code: https://github.com/Brikster/Chatty

    Беседа ВК: https://vk.cc/c1Zfam

    Credits:
    При поддержке @VolanDeVovan
     
    Последнее редактирование: 29 июл 2023
  2. Автор темы
    MrBrikster

    MrBrikster Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    MrBrikster
    Changelog:
    Код:
    2.19.4 (18.07.2021): 1) Исправлен баг со спамом в консоли на версиях ниже 1.17.
    2.19.3 (18.07.2021): 1) Добавлена поддержка 1.17+. 2) Исправлен баг с неработающей функцией "JSON" при отсутствии PlaceholderAPI. 3) Пофикшено дублирование сообщений при использовании Chatty с BungeeCord. Прочие мелкие исправления.
    2.19.2 (16.05.2021): 1) Исправлена неработоспособность ЛС при некоторых условиях. 2) Исправлено ложное появление надписи "Вас никто не услышал". 3) Восстановлена работоспособность права "chatty.chat.<название>". 4) HEX-цвета теперь работают и в tooltip'ах.
    2.19.1 (15.05.2021): Исправлена ошибка NullPointerException.
    2.19 (15.05.2021): 1) Добавлена поддержка 1.16+. 2) Сделана поддержка цветовых кодов HEX (1.16+). 3) Добавлены @упоминания. Для упомянутого игрока можно воспроизводить звуки, ник можно подсвечивать, добавлять на него подсказки и действия по клику. 4) Убран дополнительный плагин для BungeeCord (теперь этот функционал работает и без него, достаточно поставить плагин на spigot'ы). 5) Добавлен API для сторонних плагинов. Позже постараюсь сделать документацию. 6) Исправлено блокирование основного потока при использовании функции "json". 7) Расширена поддержка PlaceholderAPI (теперь должен работать практически во всех местах конфига). 8) Исправлены некоторые проблемы с неработающими/багающими авто-сообщениями. 9) Добавлены новые возможности в блок "miscellaneous.vanilla" - воспроизведение звуков и прочее (см. конфиг). 10) Теперь можно создавать алиасы для команд, переключающих чат. 11) Добавлены многострочные сообщения и многострочные форматы для чатов. 12) Проверки на рекламу, мат и капс можно выборочно отключать для определённых чатов. 13) Сообщениям в notifications можно включить рандомный порядок. 14) Улучшена стандартное регулярное выражение для поиска ссылок (анти-реклама). 15) Огромное количество пофикшенных багов (и наверняка добавление новых).
    2.18.1 (26.04.2020): Окончательный фикс игнора. Фикс появления лишних пробелов в сообщениях.
    2.18 (30.03.2020): Команда /clearchat теперь по-умолчанию очищает чат только для себя. Очистить всем - /clearchat all (permission: chatty.command.clearchat.all). Добавлена команда /chat <чат> - позволяет переключиться на другой чат, т.е. он будет использоваться по-умолчанию без символа в начале. Добавлен параметр "command" для чатов. Позволяет сделать индивидуальную команду для переключения на определённый чат. В формате Spy для PM поддерживаются переменные {sender-prefix} и прочее, кроме {format}. Исправлены проблемы с неработоспособностью локального чата при использовании json.swears. Фикс других мелких багов.
    2.17.1 (12.03.2020): Исправлена проблема с сохранением списка игнорируемых игроков.
    2.17 (09.03.2020): Исправлены проблемы с неработоспособностью команд PM (/msg, /ignore и т.д.) из-за Essentials. Команда "/ignore" теперь выводит список игнорируемых игроков (нужно обновить локализацию). Исправлены некоторые баги с swears hovers. Пофикшена проблема с неработающей функцией "auto-nte" (применение префиксов и суффиксов в NameTagEdit). Цветовые коды в личных сообщениях теперь нормально форматируются.
    2.16.1 (19.11.2019): Исправлена неработоспособность команды /chatty. Предположительно исправлены Swears Hovers.
    2.16 (17.11.2019): Межсерверные чаты для BungeeCord. Поддержка 1.14+. Переписана система личных сообщений. Обновлён Spy-режим. Добавлен новый тип оповещений - title. Исправлена неработоспособность ссылок из чата при включенном режиме json. Добавлены лимиты (минимальный и максимальный) для /prefix и /suffix. Исправлены старые проблемы с крашами из-за библиотеки GSON. Внесение мелких пожеланий из темы.
    2.15.2 (26.05.2019): Обновлён BStats. Изменена процедура шейдинга BasePlugin'а.
    2.15.1 (19.01.2019): Исправлена проблема с цветами при включенном "json". Краш при командах ЛС исправлен. "Player.getName()" заменён в нужных местах на "Player.getDisplayName()".
    2.15 (26.11.2018): Окончательное исправление проблемы со Spy. Добавлен debug-режим.
    2.14 (25.11.2018): Исправлена (вероятно) проблема с режимом Spy.
    2.12 (16.11.2018): Фикс импорта NTE.
    2.11 (03.11.2018): Исправления с PM.
    2.10 (03.11.2018): Переписан на BasePlugin.
    2.9 (31.10.2018): Фиксы багов. Конфигурируемые алиасы для команд личных сообщений.
    2.8 (28.10.2018): Опции "general.uuid", "auto-nte", алиас /w.
    2.7 (27.10.2018): Добавлены команды /prefix и /suffix.
    2.6 (27.10.2018): Многочисленные фиксы методов модерации. Добавлены "completely-cancel" и замена рекламы вместо блокировки сообщения.
    2.5 (10.10.2018): Всплывающие подсказки на маты. Команда для очистки чата.
    2.4 (07.10.2018): Фиксы. Добавлены исправления для форматирования чата.
    2.3 (03.10.2018): Добавлено управление сообщениями о входе/входе, убийстве. Добавлен анти-мат. Исправлена проблема с белым шрифтом при использовании JSON-форматирования.
    2.2 (21.08.2018): Система личных сообщений, фикс spy-режима.
    2.1.2 (18.08.2018): Фикс ConcurrentModificationException.
    2.1.1 (09.08.2018): Кажется, проблема с JSON пофикшена...
    2.1 (05.08.2018): Форматирование сообщений с JSON.
    2.0.4 (04.08.2018): Фикс проблемы с PlaceholderAPI.
    2.0.3 (03.08.2018): Поддержка английского языка.
    2.0.2 (01.08.2018): Фикс поддержки старых версий.
    2.0.1 (01.08.2018): Фиксы защиты от рекламы.
    2.0 (31.07.2018): Масштабное обновление кода. Убрал функцию групп команд за ненадобностью.
    1.8.3 (20.07.2018): Поддержка PlaceholderAPI.
    1.8.2 (15.07.2018): Фиксы spy-режима.
    1.8.1 (13.07.2018): Поддержка старых версий (1.5.2+).
    1.8.0 (12.07.2018): Фиксы багов. Добавил группы команд и платные сообщения в чат.
    1.7.8 (27.06.2018): Добавил ignoreCancelled для листенеров.
    1.7.7 (23.06.2018): Изменена система прав на команды: chatty.command.<команда>
    1.7.6 (23.06.2018): Разделение прав на чаты для spy-режима.
    1.7.5 (23.06.2018): Добавлена настройка "permission" для списков автосообщений, по аналогии с каналами чатов (true - стандартное значение).
    1.7.4 (23.06.2018): Теперь можно использовать "\n" в автосообщениях. Изменена система range: теперь "-1" - это чат на весь мир, а "-2" - чат на весь сервер.
    1.7.3 (21.06.2018): Фикс бага с глобальным чатом (работал в одном мире).
    1.7.2 (20.06.2018): Фикс бага со spy-режимом. Добавил сообщение "ads-found" в конфиг. Если убрать, то высвечиваться не будет.
    1.7.1 (20.06.2018): Фикс прав в каналах чатов.
    1.7.0 (20.06.2018): Анти-реклама в сообщениях.
    1.6.1 (19.06.2018): Фикс НуллПоинтера.
    1.6.0 (19.06.2018): Система рассылок сообщений в чат (auto message).
    1.5.0 (не размещалось на RuBukkit): "Вас никто не услышал", возможность отключить необходимость права для чата. Распределение прав на .see и .send.
    1.4.0 (04.06.2018): Добавлено раздение прав на использование стилей в чатах: chatty.style.<стиль>.<канал_чата>. (для всех - chatty.style.<стиль>). Добавлены cooldown'ы для разных чатов. Обход: chatty.cooldown или chatty.cooldown.<канал_чата>.
    1.3.0 (04.06.2018): Исправлена совместимость со старыми версиями. Исключена отправка пустого сообщения, например, просто цветового кода: "&r". Разделены права цветного чата: chatty.style.<стиль>.
    1.2.1 (03.06.2018): Добавлены рассылки через Advancements, право chatty.colors.
    1.1.0 (01.06.2018): Добавлена команда /spy для отключения Spy-режима. Фиксы багов.
    1.0.0 (31.05.2018): Первый релиз.
     
    Последнее редактирование: 18 июл 2021
  3. AbstractCoder

    AbstractCoder Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Снова велосипеды изобретаем? Ну а код оставляет желать лучшего.
     
  4. Daniel576

    Daniel576 Активный участник Пользователь

    Баллы:
    88
    Плагин огонь!
     
  5. Автор темы
    MrBrikster

    MrBrikster Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    MrBrikster
    А можно хоть немного конкретики?

    А здесь большего и не надо. Я наоборот старался сделать без всего лишнего)
     
    Последнее редактирование: 1 июн 2018
  6. Автор темы
    MrBrikster

    MrBrikster Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    MrBrikster
    :rolleyes:
     
  7. _Alex_RB_

    _Alex_RB_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    DokanBoy
    Хороший плагин. Нет лишнего функционала, а те кому нужно что-то большее, могут взять сурца этого плагина и дописать.

    *Виртуальный лайк*
     
  8. Автор темы
    MrBrikster

    MrBrikster Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    MrBrikster
    Последнее редактирование: 12 июл 2018
  9. AbstractCoder

    AbstractCoder Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Ору, дописывать что-то к этому говнокоду, жестко.
     
  10. AbstractCoder

    AbstractCoder Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Для начала ознакомься с DI.
     
  11. Автор темы
    MrBrikster

    MrBrikster Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    MrBrikster
    На форуме полно людей, кому можно помочь, и у их плагинов код намного хуже.
    И причём тут dependency injection?
    Ты имеешь в виду, что нужно использовать DI вместо статик ссылки на Main? У меня статик ссылка использовалась только в одном месте, и то в последнем коммите убрал.
     
    Последнее редактирование: 1 июн 2018
  12. hyndorik

    hyndorik Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Я вот например дальше смотреть не стал, после того как открыл мейн пакет и увидел 4 класса с названиями: Utils, Main, Chat, Config
     
  13. Автор темы
    MrBrikster

    MrBrikster Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    MrBrikster
    М-да! Позволю себе процитировать слова @InterWall
    Моя цель в данном плагине - не написать ИДЕАЛЬНЫЙ код, а просто-навсего сделать удобный плагин. Если уж на то пошло, то код куда лучше, чем в том же ChatEx.
     
  14. hyndorik

    hyndorik Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Ну вот твой как раз и написан на стене в сортире, для таких же сортирных ребят)
     
  15. Автор темы
    MrBrikster

    MrBrikster Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    MrBrikster
    Я не понимаю, какой резон вам писать об этом?
    К тому же, кроме DI я пока не увидел ни одного аргумента. Приведите хоть один плагин, где реально используется dependency injection.
    Полно плагинов, которые вообще в один класс написаны, но там вообще всем абсолютно пофиг.
    Огромное количество паб плагинов баккит, если не считать крупые, как WG, вообще написано через ж*пу.
     
  16. _Alex_RB_

    _Alex_RB_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    DokanBoy
    Эх, куда не посмотри, вокруг талантливые разработчики. А когда идешь что-то смотреть в румайне, все через одно место сделано. На форуме все горазды говорить, а как что-то сделать...

    Эх, какое <...> сообщество в СНГ сегмент, вам пытаются что-то годное показать, а вы обсираете это.
     
  17. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    [​IMG]
     
  18. MaximCSKA

    MaximCSKA Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    MaximCSKA
    Мне интересно, чем этот полумертвый форум угодил таким крутым "профессионалам", как ты, что ты не можешь пройти мимо любой темы и не оставить свой желчный комментарий.
    Мне кажется, разработчики уровня, который позволяет вот таким высокомерным образом "дальше не читать" чужой код, сидят и работают как минимум на фриланс основе, а не уделяют время такому бесполезному занятию, как принижение необоснованное чужих работ.
     
  19. bristol

    bristol Активный участник Пользователь

    Баллы:
    46
    Он должен что-ли 24 на 7 сидеть и кодить? По твоему мнению, только новички должны сидеть на этом форуме. А профи должны сидеть и работать на каком нибудь фрилансе.
     
  20. MaximCSKA

    MaximCSKA Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    MaximCSKA
    уж явно не потешаться над чьми-то работами на этом полумертвом форуме.
    Такие "профи" отбивают желание выкладывать что-либо в паблик, а иногда и кодить вообще.
     

Поделиться этой страницей