$UserCommand

Материал из MyDC's Wiki

Перейти к: навигация, поиск

Команда протокола NMDC.

Синтаксис

$UserCommand {тип} {контекст} {детали}||

Направление команды

Хаб ---> Клиент

Описание

Команда позволяет передать клиенту меню пользователя.

{тип} — положительное целое число, описывающее тип команды:

{контекст} — целое число, определяющее контекст, в котором показывать данное меню:

{детали} — этот параметр зависит от параметра {тип}:

{тип} = 0 (разделитель) и {тип} = 255 (очистка) не должны содержать параметра {детали}.
{тип} = 1 (raw) использует в качестве деталей {заголовок}${команда}, где {заголовок} — это название менюшки. Менюшка может быть составной, то есть содержать подменюшки. Для построения подменюшки используется обратный слеш (\). Например, {меню}\{подменю}\{заголовок}. Степень вложенности подменюшек может быть любой.

Более высокие числа зарезервированы для дальнейшего использования.

Эскейп-последовательности

Если в меню используются знаки $, | и &, то их необходимо заменить на кодовые аналоги (аналоги html).

Как и все команды протокола NMDC, данная команда отделяется от других знаком |.

Контекст

Контекстное число — это бинарный флаг, который может быть составлен из других чисел, например, меню юзера и меню поиска вместе дадут (2 | 4 = 6). То есть для того, чтобы менюшка появилась в меню юзера и в меню поиска, следует указывать контекст равный шести.

Детали

Разделитель (вертикальная черта)

$UserCommand 0 {контекст} |

После {контекста} и перед символом | может находиться некий текст, который в любом случае будет игнорироваться.

Raw команды

$UserCommand 1 {контекст} {заголовок}${raw}||

Команда добавляет raw пункт меню с заголовком {заголовок} и raw командой {raw}. Эта команда должна оканчиваться на |, и если этого символа нет, то она отвергается.

Raw команда с ограничением на единственный ник

$UserCommand 2 {контекст} {заголовок}${raw}||

Тоже самое, что и в предыдущем случае, но эта команда работает одна на один ник. Это должно помешать использованию массовой рассылки.

Очистка меню

$UserCommand 255 {контекст} |

Команда стирает все менюшки из указанного контекста и ниже. То есть, например, 7 — сотрёт все менюшки с контекстами 1, 2 и 4.

Примеры

$UserCommand 2 6 Кик$$To: %[nick] From: %[mynick] $<%[mynick]> You are being kicked====&#124;$Kick %[nick]&#124;|

Эта команда отсылает в приват сообщение "You are being kicked====" для ника и отправляет команду $Kick. Менюшки будут в поиске и меню юзера. Raw команда с ограничением на единственный ник не позволит сделать множественный кик.

$UserCommand 255 1 |

Команда удалить все менюшки из контекстного меню хаба (вкладка хаба).

На поддержку данной команды может указывать наличие характеристики UserCommand в команде $Supports. Однако, из-за большой распространённости данной команды, наличие этой характеристики в команде $Supports необязательно.

Источник — «http://wiki.mydc.ru/$UserCommand»
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
RusHub
Инструменты
Портал