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

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

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

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

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

    Баллы:
    78
    Имя в Minecraft:
    MrBrikster
    [​IMG]

    Chatty - уникальный плагин, который работает на любой современной версии ядра Bukkit, включая ядра Thermos, Cauldron и прочие (начиная с версии 1.5.2). В плагине отсутствуют ненужные неотключаемые функции, он работает стабильно и легко настраивается.

    Основные преимущества:
    • Стандартная настройка чатов "локальный/глобальный". При желании можно легко добавить другой чат, или, например, установить свой символ для глобального чата.
    • Умное разделение чатов по правам. Например, если у вас нет права "chatty.chat.local", но есть "chatty.chat.global", то вас автоматически будет бросать в глобальный чат.
    • Логирование чата. Чат сохраняется в отдельные файлы по дням в "Chatty/logs".
    • SPY-режим. При выдаче права "chatty.spy" позволяет видеть сообщения из всех чатов.
    • Работоспособность на всех современных версиях Bukkit/Spigot/Thermos и т.д.
    • Нет ненужных неотключаемых функций, апдейтеров: легковесный, понятный и стабильный.
    • Благодаря Vault API плагин берёт префиксы и суффиксы из вашего плагина на права.
    • Функция рассылок с помощью Advancements. В 1.12 добавили новую систему достижений. Теперь с помощью неё можно рассылать через эти окошки любой текст. В плагине есть такая функция!
    • Cooldown'ы на на сообщения в разных чатах.
    • Рассылки сообщений через чат.
    • JSON-форматирование сообщений.
    • Система личных сообщений.
    • Анти-мат, совместимый со словарями ChatGuard.
    • Всплывающие подсказки с матами для модераторов: кликнув в чате, можно быстро добавить мат в белый список.
    Права:
    1. chatty.chat.<чат> - позволяет писать сообщения в чат, или же:
      chatty.chat.<чат>.see - позволяет видеть сообщения из чата;
      chatty.chat.<чат>.send - позволяет отправлять сообщения в чат.
    2. chatty.spy.<чат> или chatty.spy - позволяет видеть сообщения из чатов (для модераторов).
    3. chatty.command.spy - позволяет выполнять команду /spy.
    4. chatty.command.reload - позволяет исполнять команду /chatty для перезагрузки конфигурации.
    5. chatty.command.msg - позволяет использовать команду /msg для отправки личных сообщений.
    6. chatty.command.reply - позволяет использовать команду /reply для быстрого ответа на последнее сообщение.
    7. chatty.command.swears - позволяет использовать команду /swears.
    8. chatty.command.clearchat - позволяет использовать команду /clearchat.
    9. chatty.command.ignore - позволяет использовать команду /ignore.
    10. chatty.command.prefix - позволяет менять себе префикс командой /prefix.
    11. chatty.command.prefix.others - позволяет менять другим префикс командой /prefix.
    12. chatty.command.suffix - позволяет менять себе суффикс командой /suffix.
    13. chatty.command.suffix.others - позволяет менять другим суффикс командой /suffix.
    14. chatty.cooldown или chatty.cooldown.<канал_чата> - обход задержки отправки сообщений.
    15. chatty.notification.chat.<список> - позволяет видеть сообщения из списка уведомлений чата.
    16. chatty.notification.advancements.<список> - позволяет видеть сообщения из списка уведомлений Advancements.
    17. chatty.notification.actionbar - позволяет видеть уведомления ActionBar.
    18. chatty.moderation.caps - даёт право обходить модерацию caps'а.
    19. chatty.moderation.advertisement - даёт право обходить модерацию рекламы.
    20. chatty.moderation.swear - даёт право обходить анти-мат.
    21. 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 (/cc) - очистить чат.
    7. /swears - команда для добавления слов (регулярных выражений) в белый список анти-мата.
    8. /prefix (/setprefix) - позволяет менять префиксы игроков.
    9. /suffix (/setsuffix) - позволяет менять суффиксы игроков.

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

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

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

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

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


    Скриншот форматирования JSON:
    [​IMG]

    Использование PlaceholderAPI:
    Для использования PlaceholderAPI необходимо использовать placeholder'ы вида <placeholder> вместо %placeholder%, что предлагают в документации плагина.

    Changelog:
    Код:
    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): Первый релиз.

    Todo:
    • Добавить анти-мат.
    • Сделать цвета выключаемыми в отдельном чат-моде.

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

    Credits:
    При поддержке @VolanDeVovan.
     
    Последнее редактирование: 4 ноя 2018
  2. Mr Hosting
  3. Автор темы
    MrBrikster

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

    Баллы:
    78
    Имя в Minecraft:
    MrBrikster
    Резерв.
     
  4. AbstractCoder

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

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

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

    Баллы:
    88
    Имя в Minecraft:
    DanielTenebris
    Плагин огонь!
     
  6. Автор темы
    MrBrikster

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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