CmdToAdmin, Скрипт посылает в приват владельцу хаба команды | API2 |
Здравствуйте, гость ( Вход | Регистрация )
CmdToAdmin, Скрипт посылает в приват владельцу хаба команды | API2 |
10.10.2010, 11:06
Сообщение
#1
|
|
Продвинутый участник Группа: Пользователи Сообщений: 176 Регистрация: 11.7.2008 Пользователь №: 171 Спасибо сказали: 182 раза |
Название скрипта: CmdToAdmin_1.3
Версия API: API2 Автор: Tsd Описание: Скрипт посылает в приват владельцу хаба команды, посланные пользователями. Иногда полезно знать кто какие команды использует. Не реагирует на команды, посланные ником в конфигураторе, на "любимые" команды типа "+5" и т.п. Скрипт ставим выше всех скриптов, использующих команды/меню. Tsd © 10.2010
Прикрепленные файлы
|
|
|
10.10.2010, 11:38
Сообщение
#2
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Можно несколько упростить код отлова команды в чате:
Код function ChatArrival(user,data) Префиксы команд берутся из настроек хаба. Соответственно отпадает необходимость в таблице команд и цикле, проверяющем наличие команды в таблице. И чистка памяти, я думаю, здесь лишняя.if Core.GetUser(sNick) and user.sNick ~= sNick then local pre,cmd = data:match("%b<>%s+(["..SetMan.GetString(29):gsub("[%^%$%(%)%%%.%[%]%*%+%-%?]","%%%1").."])(%S+)") if pre then if not (pre == "+" and cmd:find("^%d+")) then -- Не реагируем на "+5", к примеру. cmd = cmd:lower() for i = 1,#tIgnoreCmd do if cmd == tIgnoreCmd[i] then return end end Core.SendPmToNick(sNick, sBot, "\tПослана команда хабу: "..data:sub(1,-2)) end end end end Код ToArrival = ChatArrival А это лучше удалить, поскольку во-первых, подавляющее большинство юзеров вообще не знают о возможности отправки команд главному боту хаба, во-вторых, будут проверяться все лички, а не только те, что были отправлены боту, а в третьих, при текущей реализации функции отлова команд, в лог будет попадать вся команда $To. Будет что-то вроде этого:Цитата <bot> Послана команда хабу: $To: bot From: user $<user> !command
|
|
|
10.10.2010, 11:54
Сообщение
#3
|
|
Продвинутый участник Группа: Пользователи Сообщений: 176 Регистрация: 11.7.2008 Пользователь №: 171 Спасибо сказали: 182 раза |
Префиксы в разных скриптах свои! По крайней мере у меня. А префиксы из настроек хаба вытянуть - согласен. Некоторые регистрируются отсылом боту в приват команду регистрации.
Не судите строго, я только учусь. 2 alex82 - спасибо за науку, много подчерпнул для себя важного. |
|
|
|
Сейчас: 23.11.2024, 8:52 |