Wiki: Псевдонимы (aliases)

Проблема

Взаимодействие с ботом построено так, что формат команд жестко задан в исходном коде и не может изменяться по желанию пользователей. Такое решение было принято, чтобы избежать путаницы в дальнейшем, когда на каждом канале был бы свой набор команд. Это решение рождает проблему: то что многие команды имеют длинный и запутанный синтаксис, который не всегда удобен для конечного пользователя, особенно, если нужны какие-то упрощенные способы вызова сложной команды.

Решение

Для решения этой проблемы в ядро встроен модуль псевдонимов. С помощью него можно любой команде (или набору команд) задать псевдоним в произвольном формате. После чего бот будет воспринимать его так же, как если бы вместо этой команды был введен скрываемый за псевдонимом набор команд.

Общие сведения

Алиасы устанавливаются в пределах канала и не взаимодействуют с алиасами других каналов. Таким образом, владелец канала может настроить команды бота так, как ему нравится.

Ограничения

Доступ

Модуль доступен для модераторов.

Команды

alias

Выводит список всех псевдонимов на канале.

alias - вывод псевдонима

!az alias активатор - вывести текст активируемой команды. Этот формат удобно использовать, если вы хотите отредактировать алиас. В таком случае сначала выводите его текст, потом копируете его в буфер, вводите «!az alias | » и вставляете скопированный текст, после этого вы его редактируете прямо в командной строке и исполняете команду для сохранения изменений.

aliason / alias+ - активация псевдонима

«Включает» псевдоним, т.е. далее его можно будет активировать.

Можно задавать группы в виде: !az aliason [gr1] [gr2] [gr3]. Будут активированы алиасы в этих группах.

Выбран синтаксис слитного написания слов команды («aliason», а не «alias on»), чтобы не блокировать создание алиаса «on».

aliasoff / alias- - деактивация псевдонима

«Отключает» псевдоним, т.е. бот не будет реагировать на его ввод. Полезно, чтобы временно отключить обработку алиаса, без его удаления.

Также можно задавать группы.

alias - добавлениередактированиеудаление псевдонима

Все три операции (добавление, редактирование, удаление) помещены в одну команду по следующему принципу: указывается текущее состояние псевдонима, причем в полном виде. Т.о. если алиаса до этого не существовало - он создается, если он существовал - он будет заменён новым значением, если значение пустое - он будет удалён.

!az alias активатор | активируемая_команда | свойства - полный вид команды.

Обратите внимание, что части команды отделяются друг от друга символами «|», это сделано для того, чтобы в слове-активаторе можно было использовать пробелы.

Список свойств

!az alias активатор | активируемая_команда - свойства можно опускать, если их нет.

!az alias активатор | - исполняемая команда не указана - алиас будет удалён.

Примеры

!az alias !msg | say Сообщение в чат | noargs upmod

!az alias !сабчат | ws Сабчат в телеграме https:t.mejoinchat/… \;; msg Ссылка на сабчат отправлена в приват. | noargs needsub upmod anycase

alias !hi | Say Hello! | upmod noargs cdchannel 10s cduser 1m cdignoremod