myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> command-not-found, Очередной хандлер неизвестных команд в главном чате

Теги
Нет тегов для показа
Saymon21
сообщение 11.1.2014, 23:13
Сообщение #1


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




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

Название: 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://packages.debian.org/ru/sid/command-not-found

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

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


Спасибо сказали:
Go to the top of the page
+Quote Post
ke(x)one
сообщение 20.3.2014, 1:31
Сообщение #2


Участник
**

Группа: Пользователи
Сообщений: 35
Регистрация: 16.2.2011
Пользователь №: 8 797
Спасибо сказали: 1 раз




[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>
Go to the top of the page
+Quote Post
Alexey
сообщение 20.3.2014, 2:08
Сообщение #3


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




Под русхабом ли ты его запускаешь?
Go to the top of the page
+Quote Post
ke(x)one
сообщение 20.3.2014, 12:08
Сообщение #4


Участник
**

Группа: Пользователи
Сообщений: 35
Регистрация: 16.2.2011
Пользователь №: 8 797
Спасибо сказали: 1 раз




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

всё, разобрался, надо было путь до файла написать, сорри за сообщения не по теме
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



RSS Сейчас: 23.11.2024, 1:25