$UserCommand

Синтаксис:

$UserCommand [Тип] [Контекст] [Детали]||

Направление команды:
Хаб ---> Клиент

[Тип] — положительное, целое число, описывающее тип команды:
0 — разделитель
1 — raw команда
2 — raw команда с ограничением на единственный ник %[nick]
255 — очистка команд
[Контекст] — целое число, регулирующее, где показывать контекстные менюшки:
[1] — Контекстное меню хаба (доступно по клику на вкладке хаба). Примеры: просмотр правил, смена пароля. Эта команда может содержать параметр %[nick]. Вместо этого следует использовать переменную %[mynick] или %[line:blah].
[2] — Контекстное меню юзера (доступно по клику на любого юзера). Примеры: показ статистики юзера, проверка бана юзера. Эта команда может содержать переменные: %[nick], %[mynick] и %[line:blah].
[4] — Контекстное меню поиска. Пример: сообщить о битом файле. Эта команда может содержать специфические аргументы ника и файла.
[8] — Конкестное меню файл–листа. Пример: сообщение о найденном битом файле у юзера в списке файлов. Эта команда может содержать специфические аргументы ника и файла.
Замечание: этот контекст является новым в DC++ 0.669

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

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

Эскейп последовательности:
Если в меню используются знаки $, | и &, то их необходимо заменить на кодовые аналоги (аналоги html) (алгоритм экранирования приведён на странице NMDC)

Как и все команды 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====|$Kick %[nick]||

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

$UserCommand 255 1 |

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

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

Оригинал (by Setuper): http://mydc.ru/index.html?showtopic=915&view=findpost&p=6892

Тэги:
Код для вставки: :: :: :: ГОСТ ::
Поделиться: //
 

Реклама

Для скачивания с этих сайтов нужно подключиться к внешним хабам

Нужен свой портал? magneto!