Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Скрипты для RusHub'а _ command-not-found

Автор: Saymon21 11.1.2014, 23:13

Фух... Что-то я давно тут ничего не выкладывал...
Да и не только я...

Название: command_not_found
Версия: 0,1beta
Автор: Saymon21
Описание: Очередной хандлер неизвестных команд в главном чате. Отличие данного скрипта в том, что от всех предыдущих аналогов умеет "подсказывать" юзеру, что команду надо ввести чуть по другому. big_smile.gif
Как это работает?
Существует список команд, зарание подготовленных в определенённой таблице руками админа хаба, для которых генерится список регулярных выражений. Например, для команды !test список regexp-ов будет следующий: "[a-z]?est", t[a-z]?st", "te[a-z]?t", "tes[a-z]?"
Если юзер введёт например, !tast - скрипт ответит ему в главный чат что-то вроде:
Цитата
[22:56:14] <RusHub> Команда '!tast' не найдена! Может быть Вы хотели ввести:
!test (Тест)

Процесс создания списка всех доступных на хабе команд и их regexp-ов в полне можно автоматизировать, это-же RusHub. big_smile.gif
Однако для этого придётся продумать прямо говоря стандарт разработки скриптов. Ну ладно, об этом как нить потом ;)
Список команд надо прописывать в файле commandlist.t - он имеет формат обычной Lua таблицы.
Пример определения команды test уже описан.
Зы. Когда-то за идею послужил http://mydc.ru/r/?http://packages.debian.org/ru/sid/command-not-found

Скачать: На дворе 2014 год уже, да. Люди привыкли работать с Git или чем нить похожим... Мы не исключение: http://mydc.ru/r/?http://git.hub21.ru/saymon21/rushub-ext-command-not-found
[s]Чуть позже запулю ещё в bitbucket - http://mydc.ru/r/?http://opensource.hub21.ru/rushub-command-not-found

Внимание: Скрипт должен стоять ниже всех остальных!
GitHub: http://mydc.ru/r/?https://github.com/dkhabarov/rushub-command-not-found

Автор: ke(x)one 20.3.2014, 1:31

[02:27:59] <#Hub-Security> cannot open C:/Users/Илья/Desktop/verluhub/lang/scripts/command-not-found.lang: No such file or directory
stack traceback:
[C]: in function 'dofile'
.../Илья/Desktop/verluhub/scripts/command-not-found.lua:57: in function <.../Илья/Desktop/verluhub/scripts/command-not-found.lua:56>

Автор: Alexey 20.3.2014, 2:08

Под русхабом ли ты его запускаешь?

Автор: ke(x)one 20.3.2014, 12:08

да, просто у меня rushub папка на рабочем столе занята, и я переименовал под верли)

всё, разобрался, надо было путь до файла написать, сорри за сообщения не по теме