Mychat - чат для міської мережі

MyChat - це не тільки корпоративний месенджер. але й прекрасний спосіб організувати розрахований на багато користувачів чат в міській або домашньої мережі.
Але, на противагу мережі компанії, або невеликої домашньої мережі - в мережі з великою кількістю людей і вільним доступом просто необхідні модератори, тобто люди, що стежать за порядком.
У міських мережах, або чатах, які встановлюють провайдери для своїх абонентів, без таких людей буде панувати хаос.
Якими б не були автоматичні механізми, живу людину вони замінити не зможуть. Завжди знайдеться людина, якій плювати на громадську думку, який, незважаючи ні на що, буде лаятися в конференціях, ображати інших людей і так далі. Важливим є те, що адміністративні методи впливу, такі як, наприклад, в компаніях - тут марні, тому що користувачі чату навіть не знають, звідки взявся хам і де він знаходиться.
Саме для таких випадків і потрібні модератори (або оператори каналів) - люди, які зможуть покарати або зовсім заблокувати небажаних людей за допомогою технічних засобів MyChat. Надалі в статті буде використовуватися слово "оператор", так як ми вважаємо слова "модератор" і "оператор" однаковими за змістом.
В MyChat немає поняття "привілейований", подібно до root в Linux. По-перше, це небезпечно, а по-друге, людям, які будуть мати адміністративні права, можна дати абсолютно різні можливості - завдяки розвиненій системі прав груп користувачів на сервері MyChat.
1. Хто ж такий оператор?
Оператор - це звичайний користувач, який включений в спецгрупу "Оператори каналів" на сервері MyChat. Як тільки користувач потрапляє в цю групу, він отримує права по управлінню іншими користувачами в каналах (конференціях або кімнатах) чату.
В MyChat можливі будь-які комбінації прав завдяки групам прав користувачів на сервері.
Як це робиться?
Заходимо в "Адміністрування" MyChat сервера (Alt + A), відкриваємо закладку "Оператори каналів":

Натискаємо кнопку-плюсик і додаємо в список операторів потрібного користувача. Після додавання користувача йому автоматично надаються права оператора каналу у всіх каналах MyChat. які вже створені на даний момент або будуть створені коли-небудь:

Якщо такого робити не потрібно, користувачеві можна дати права оператора тільки в певних каналах чату. Ось так:

Після такої нехитрої операції в нашому прикладі, користувач Admin з UIN 3290 отримує права оператора чату в каналах "main" і "work".
2. Які права можуть бути у операторів?
Набір прав операторів MyChat залежить від прав групи, в якій знаходиться користувач.
Зазвичай, для зручності, адміністратори сервера MyChat створюють спеціально одну або кілька груп прав, щоб включати туди виключно операторів каналів. Це дуже зручно, і ось чому:
- Якщо з'являється новий оператор, не потрібно ламати голову, які права йому дати, група вже створена, права призначені, досить просто включити його в групу.
- Якщо у користувача потрібно забрати права оператора, досить перенести його з групи в іншу групу.
Розглянемо на прикладі створення нової групи прав користувачів, спеціально для операторів каналів в MyChat.
В "Адмініструванні" на сервері відкриваємо закладку "Групи користувачів" і натискаємо піктограму створення нової групи:

Називаємо нову групу "Оператори" і рухаємось в розділ нижче, "Права користувачів":

Потрібно призначити права цієї групи, як зазначено на малюнку. У цьому прикладі ми дамо операторам повні права. Після призначення прав натискаємо кнопку "Застосувати", щоб зберегти зміни.
NB! Якщо в правилі є фраза "(тільки для операторів)", це означає, що дане правило буде працювати тільки в разі, якщо користувача включили в спецгрупу "Оператори".
3. Як це виглядає в чаті?
Якщо користувач має права оператора в каналі, то при натисканні правою кнопкою мишки на ніку іншого користувача в каналах буде з'являтися контекстне меню такого виду:

У пункті "Адміністрування" якраз і знаходяться всі функції оператора каналу. Кількість цих пунктів буде прямо залежати від прав групи, в якій знаходиться користувач з правом модерування каналу.
4. Що таке бан (ban)?
Бан - це тимчасове обмеження іншого користувача.
Бани в MyChat бувають двох видів:
Важливо розуміти, що бан накладається на певний час, і після того, як час покарання закінчиться - сервер автоматично зніме його з користувача. Бани можна накладати повторно або одночасно кілька відразу.
Також слід пам'ятати, що зняти покарання достроково може тільки адміністратор сервера, через інтерфейс управління блокуваннями на сервері або користувач з правом виконання адміністративних консольних команд (команди list bans. Del ban).
5. Що таке кік (kick) або вигнання з каналу?
Таке повідомлення відображається у всіх людей, хто знаходиться в каналі. Також це повідомлення передається і тому користувачеві, кого, власне, і спіткала ця кара.
Людина відключиться від Інтернету, потім знову підключиться, вже з новим IP. і знову зайде в чат.
7. Відключення користувача від сервера (kill і halt)
Варто сказати і про таку можливість, як відключення користувача від сервера MyChat.
Іноді все ж буває необхідно зробити так, щоб клієнт не тільки відключився від сервера, але і завершив свою роботу - тобто просто вивантажився з пам'яті.
Щоб завершити роботу будь-якого MyChat клієнта в мережі, користувач повинен складатися в групі, у якій є права на виконання адміністративних консольних команд. Зробити це можна за допомогою консольної команди halt:

У цій команди всього один параметр - UIN користувача. Що таке UIN в MyChat - докладно розглядалося в цій статті.
Дізнатися UIN користувача, якого належить відключити, теж легко - потрібно натиснути правою кнопкою мишки на його ніку в тексті. У контекстному меню цей номер буде в першому рядку:

Після виконання команди halt клієнт не тільки відключиться від сервера, але і без питань завершить свою роботу.
8. Додавання нових нецензурних слів і виразів в базу сервера
Як уже писалося на початку цієї статті, в MyChat Server вбудований автоматичний фільтр нецензурних виразів. Але люди дуже винахідливі, і, буває, фільтр не може розпізнати нове слово.
Тому слово або вираз доводиться додавати в базу. Це можна робити через інтерфейс сервера, в "Фільтр", а можна консольної командою addbadword. Але ще краще скористатися плагіном "Цензор". Тоді просто достатньо виділити слово в тесті і натиснути праву клавішу мишки, після чого вибрати пункт "Censor":

Після цього слово буде додано до бази і фільтр сервера в подальшому буде його знати. Установка плагінів в MyChat докладно описана в цій статті.
І звичайно, є можливість видалити помилково доданий слово або вираз з фільтра консольної командою delbadword.
9. Висновок
У статті коротко розглянуті основні можливості операторів каналів в MyChat. а також деякі адміністративні функції. Але цим можливості з управління користувачами в MyChat. звичайно, не вичерпуються.
MyChat Server також має в своєму арсеналі скриптова мова MSL. використовуючи який, можна писати свої власні програми та розширювати можливості сервера MyChat.