myDC.ru

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

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

> script-manager, Скрипт управления скриптами

Saymon21
сообщение 11.8.2010, 11:50
Сообщение #1


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

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




script-manager - Это скрипт для управления скриптами на хабе RusHub.
Версия: 0.2
Лицензия GNU GPLv3.
Автор: Saymon21
Локализация: Завит от настройки хаба и доп. файлов локализации. В дистрибутиве доступны Русская и Английская.
Описание команд:
  • !startscript scriptname.lua - Запускает скрипт с именем scriptname.lua Если не удалось запустить скрипт, в чат будет выведено сообщение об ошибке.
  • !stopscript scriptname.lua - Останавливает скрипт с именем scriptname.lua. Если не удалось остановить скрипт, в чат будет выведено сообщение об ошибке.
  • !lsscript scriptname.lua - Выводит информацию о скрипте scriptname.lua (Статус, запущен или нет и расход памяти). Если имя скрипта не указано, выводит информацию о всех скриптах, в том порядке, в котором происходит их запуск.
  • !movedownscript scriptname.lua Опускает скрипт с именем scriptname.lua в дереве выполнения. Если не удалось опустить скрипт, в чат будет выведено сообщение об ошибке.
  • !moveupscript scriptname.lua Поднимает скрипт с именем scriptname.lua в дереве выполнения. Если не удалось поднять скрипт, в чат будет выведено сообщение об ошибке.
  • !restartscript scriptname.lua Перезапускает скрипт с именем scriptname.lua. Если имя скрипта не указано, перезапускает все скрипты. Если не удалось перезапустить скрипт, в чат будет выведено сообщение об ошибке.

Кстати. Писать имя скрипта с окончанием .lua не обязательно.

Для всех команд можно использовать параметр -h для получения справки по использованию.

Пример

Цитата
!lsscript -h

Цитата
[20:59:13] <RusHub>
NAME:
!lsscript
SYNOPSIS:
lsscript [ -h ] [ scriptname ]
DESCRIPTION:
lsscript - command to show information for script(s). If [ scriptname ] not specified, shows information about all the scripts.
OPTIONS:
-h Show this help
EXAMPLE USAGE:
!lsscript test2.lua - show info for one scripts.
!lsscript - show info for all scripts
SEE ALSO:
!startscript, !stopscript, !movedownscript, !moveupscript, !restartscript



Скачать: Прикрепленный файл  rushub_script_manager.tar ( 20 килобайт ) Кол-во скачиваний: 19

Так-же можно скачать скрипт с репозитория: http://opensource.hub21.ru/rushub-script-manager/wiki/Home

В архиве есть папка lang. Всё её содержимое должно быть помещено туда, куда в конфиге хаба указан путь до языковых файлов.


Спасибо сказали:
Go to the top of the page
+Quote Post
Saymon21
сообщение 17.3.2013, 21:21
Сообщение #2


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

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




Обновлён в первом посте.
Полностью переписан, убрано меню управления скриптами. Проделан небольшой шаг на убиение подобных жалоб. (Sorry for my bad english. big_smile.gif).
Так-же свежая версия выложена на BitBucket. Ссылка на репозиторий в первом посте.

Из ближайших планов:
Приделать файл локализации. Дабы не лазить по коду, если нужно будет перевести на какой нить другой язык. Пока после обновления интерфейс скрипта - инглиш онли.
Go to the top of the page
+Quote Post
Saymon21
сообщение 20.3.2013, 0:27
Сообщение #3


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

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




Обновлено.
Основные измениения: небольшой рефакторинг и теперь есть файлы локализации. Подробности в первом посте.
Go to the top of the page
+Quote Post
CrazyKiller
сообщение 21.3.2013, 0:56
Сообщение #4


Продвинутый участник
****

Группа: Пользователи
Сообщений: 189
Регистрация: 20.4.2009
Пользователь №: 3 121
Спасибо сказали: 10 раз




Саймон а в чем разница между тем что уже есть под русхаб, управление скриптами ?

Скрипт
local sBotName,sScriptsDir,sHubName,sLuaPluginVersion,HubPath = "#S.T.K#",Core.sScriptsDir,Config.sHubName,Core.sLuaPluginVersion,Core.sMainDir

AdminMenu = ".:: Меню Администрации ::.\\.:: Скрипты ::."
Prefix = "!"

local Access = {
[0] = 1,
[1] = 0,
[2] = 0,
[3] = 0,
[-1] = 0,
}
function OnStartup()
if sBotName == "" then
sBotName = Config.sHubBot
end
end

function OnUserEnter(UID)
if Access[UID.iProfile] == 1 then
Core.SendToUser(UID,"$UserCommand 0 3")
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\.:: Дополнительно ::.\\.:: Посмотреть список ::.$<%[mynick]> "..Prefix.."showlua|")
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\.:: Дополнительно ::.\\.:: Показать статус скрипта (Ввести название) ::.$<%[mynick]> "..Prefix.."lua_get_info %[line:Имя файла с расширением]|")
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\.:: Дополнительно ::.\\.:: Перезапустить скрипты ::.$<%[mynick]> "..Prefix.."reload_all_lua|")
Core.SendToUser(UID,"$UserCommand 0 3")
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\.:: Дополнительно ::.\\.:: Перезапуск (Ввести название) ::.$<%[mynick]> "..Prefix.."reloadlua %[line:Имя файла с расширением]|")
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\.:: Дополнительно ::.\\.:: Старт (Ввести название) ::.$<%[mynick]> "..Prefix.."luastart %[line:Имя файла с расширением]|")
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\.:: Дополнительно ::.\\.:: Стоп (Ввести название) ::.$<%[mynick]> "..Prefix.."luastop %[line:Имя файла с расширением]|")
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\.:: Дополнительно ::.\\.:: Сдвинуть вверх (Ввести название) ::.$<%[mynick]> "..Prefix.."luaup %[line:Имя файла с расширением]|")
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\.:: Дополнительно ::.\\.:: Сдвинуть вниз (Ввести название) ::.$<%[mynick]> "..Prefix.."luadown %[line:Имя файла с расширением]|")
Core.SendToUser(UID,"$UserCommand 0 3")
tScripts = Core.GetScripts()
for script in pairs(tScripts) do
local Script = tScripts[script].sName
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\"..Script.."\\.:: Перезапуск ::.$<%[mynick]> "..Prefix.."reloadlua "..Script.."|")
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\"..Script.."\\.:: Показать информацию ::.$<%[mynick]> "..Prefix.."lua_get_info "..Script.."|")
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\"..Script.."\\.:: Старт ::.$<%[mynick]> "..Prefix.."luastart "..Script.."|")
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\"..Script.."\\.:: Стоп ::.$<%[mynick]> "..Prefix.."luastop "..Script.."|")
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\"..Script.."\\.:: Сдвинуть вверх ::.$<%[mynick]> "..Prefix.."luaup "..Script.."|")
Core.SendToUser(UID,"$UserCommand 1 3 "..AdminMenu.."\\"..Script.."\\.:: Сдвинуть вниз ::.$<%[mynick]> "..Prefix.."luadown "..Script.."|")
end
end
end
function OnChat(UID,data)
local pre,cmd = data:match("^%b<>%s+(%p)(%S+)")
local bPrm = data:match("^%b<>%s+%p%S+%s+(.+)")
if pre == Prefix then
if cmd and cmd == "scriptmoveup" or cmd == "luaup" then
if Access[UID.iProfile] == 1 then
if bPrm then
Scripts = Core.MoveUpScript(bPrm)
if Scripts then
Core.SendToUser(UID, "Скрипт "..bPrm.." перемещён вверх на одну позицию.", sBotName)
else
Core.SendToUser(UID,"Ошибка: скрипт "..bPrm.." переместить не удалось.", sBotName)
end
else
Core.SendToUser(UID,"Ошибка. Вы должны указать имя файла.", sBotName)
end
else
Core.SendToUser(UID, "Ошибка, у вас нет прав для использования этой команды!", sBotName)
end
return true
elseif cmd and cmd == "scriptmovedown" or cmd and cmd == "luadown" then
if Access[UID.iProfile] == 1 then
if bPrm then
Scripts = Core.MoveDownScript(bPrm)
if Scripts then
Core.SendToUser(UID, " Скрипт "..bPrm.." перемещён вниз на одну позицию.", sBotName)
else
Core.SendToUser(UID,"Ошибка: скрипт "..bPrm.." переместить не удалось.", sBotName)
end
else
Core.SendToUser(UID,"Ошибка. Вы должны указать имя файла.", sBotName)
end
else
Core.SendToUser(UID, "Ошибка, у вас нет прав для использования этой команды!", sBotName)
end
return true
elseif cmd == "showlua" or cmd == "луаскрипты" then
if Access[UID.iProfile] == 1 then
local Scripts = Core.GetScripts()
local Message = "\n\t"..sHubName.." - Список скриптов:\n"..string.rep("-",70).."\n"
local mem = 0
for i, Scripts in ipairs(Scripts) do
mem = mem + Scripts.iMemUsage
Message = Message..(("¦ %s ¦ ¦ %s ¦ = ¦ %s ¦ = %s \n"):format(i > 9 and i or "0"..i, Scripts.bEnabled and "ON" or " ",Scripts.iMemUsage ~= 0 and (" %s Кб"):format(Scripts.iMemUsage) or " ",Scripts.sName))
end
Message = Message..(("%s\n¦Текущая версия хаба: %s\n¦Версия Lua плагина: %s\n¦Общее использование памяти скриптами: %sКб\n¦Папка, содержащая скрипты: %s\n+%s"):format(string.rep("-",70),Core.sHubVersion,Core.sLuaPluginVersion,mem,sScriptsDir,string.rep("-",70)))
Core.SendToUser(UID, Message, sBotName)
end
return true
elseif cmd and cmd == "luastart" or cmd and cmd == "стартлуа" then
if Access[UID.iProfile] == 1 then
if bPrm then
Scripts = Core.StartScript(bPrm)
if Scripts then
Core.SendToUser(UID, UID.sNick..", "..bPrm.." был успешно запущен!", sBotName)
else
Core.SendToUser(UID,"Ошибка: Не удалось запустить скрипт "..bPrm, sBotName)
end
end
else
Core.SendToUser(UID, "Ошибка, у вас нет прав для использования этой команды!", sBotName)
end
return true
elseif cmd and cmd == "luastop" or cmd and cmd == "луастоп" then
if Access[UID.iProfile] == 1 then
if bPrm then
Scripts = Core.StopScript(bPrm)
if Scripts then
Core.SendToUser(UID, UID.sNick..", "..bPrm.." был выгружен успешно!", sBotName)
else
Core.SendToUser(UID,"Ошибка: Не удалось выгрузить скрипт "..bPrm, sBotName)
end
end
else
Core.SendToUser(UID, "Ошибка, у вас нет прав для использования этой команды!", sBotName)
end
return true
elseif cmd and cmd == "reloadlua" or cmd and cmd == "луарелоад" then
if Access[UID.iProfile] == 1 then
if bPrm then
Scripts = Core.RestartScript(bPrm)
if Scripts then
Core.SendToUser(UID, UID.sNick..", "..bPrm.." был перезапущен успешно!", sBotName)
else
Core.SendToUser(UID,"Ошибка: Не удалось перезапустить скрипт "..bPrm, sBotName)
end
end
else
Core.SendToUser(UID, "Ошибка, у вас нет прав для использования этой команды!", sBotName)
end
return true
elseif cmd and cmd == "reload_all_lua" then
if Access[UID.iProfile] == 1 then
Core.RestartScripts(0)
Core.SendToUser(UID, UID.sNick..", все скрипты были перезапущены!", sBotName)
else
Core.SendToUser(UID, "Ошибка, у вас нет прав для использования этой команды!", sBotName)
end
return true
elseif cmd == "lua_get_info" then
if Access[UID.iProfile] == 1 then
if bPrm then
local Scripts = Core.GetScript(bPrm)
local sMsg = (("\n%s\n¦ Название: %s \n¦ Статус: %s\n¦ Использование памяти: %s кб\n%s"):format(string.rep("-",70),Scripts.sName,Scripts.bEnabled and "Запущен" or "Не запущен",Scripts.iMemUsage or "",string.rep("-",70)))
Core.SendToUser(UID, sMsg, sBotName)
end
else
Core.SendToUser(UID, "Ошибка, у вас нет прав для использования этой команды!", sBotName)
end
return true
elseif cmd == "rh_lua_help" then
if Access[UID.iProfile] == 1 then
Core.SendToUser(UID, "\n\t"..string.rep("-",70).."\n\tПомощь по командам управления:\n\t!scriptmoveup <Имя скрипта>\t - Поднять скрипт (Альтернативы: !luaup )\n"..
"\t!scriptmovedown <Имя скрипта>\t - Опустить скрипт (Альтернативы: !luadown )\n"..
"\t!showlua \t-Показать список скриптов (Альтернативы: !луаскрипты)\n\t!luastart <Имя скрипта> \t - Запустить скрипт (Альтернативы: !стартлуа)\n"..
"\t!luastop <Имя скрипта> \t - Остановить скрипт (Альтеранативы: !луастоп )\n\t!reloadlua <Имя скрипта> \t - Перезапустить скрипт (Альтеративы: !луарелоад )\n\t!reload_all_lua \t - Перезапустить все скрипты\n\t!lua_get_info <Имя скрипта> \t - Показать статус скрипта\n\t!rh_lua_help \t- Эта справка\n\t"..string.rep("-",70), sBotName)
else
Core.SendToUser(UID, "Ошибка, у вас нет прав для использования этой команды!", sBotName)
end
return true

end
end
end

function OnError(LUA_errors_msg)
Core.SendToProfile(0, "Синтаксическая ошибка в скрипте: "..LUA_errors_msg, sBotName)
end
Go to the top of the page
+Quote Post
Saymon21
сообщение 21.3.2013, 20:31
Сообщение #5


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

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




Код посмотри.
Go to the top of the page
+Quote Post
CrazyKiller
сообщение 23.3.2013, 18:20
Сообщение #6


Продвинутый участник
****

Группа: Пользователи
Сообщений: 189
Регистрация: 20.4.2009
Пользователь №: 3 121
Спасибо сказали: 10 раз




Цитата(Saymon21 @ 21.3.2013, 21:31) *
Код посмотри.


исчерпывающий ответ big_smile.gif

а подробнее, код кодам, но функционал почти тот-же big_smile.gif
Go to the top of the page
+Quote Post

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

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Topic has attachmentsptokax install source BASH Script
Скрипт позволяет компилировать из исходников PtokaX и производить пред
6 DEN 007 4 437 3.5.2013, 7:24 Посл. сообщение: Sinsei
No new Topic has attachmentsДоработанный Tag Script
API1 | Добавляет имя профиля в Описание юзера
31 district 14 260 11.9.2011, 9:27 Посл. сообщение: Артём
No New Posts Topic has attachmentsRHConf Manager
Быстрая настройка хаба
2 Saymon21 2 975 31.8.2011, 22:00 Посл. сообщение: Saymon21
No New Posts Topic has attachmentsHistory script for HeXHub
HeXHub
4 Артём 4 323 8.1.2011, 15:10 Посл. сообщение: Maximum
No New Posts Topic has attachmentsScript's Verlihub
Script's Verlihub
4 TaGG 4 005 17.12.2010, 22:11 Посл. сообщение: Vizunchik
No New Posts Topic has attachmentsPtokaX Stat Script by Saymon
API2 | Очередной небольшой скрипт статистики хаба
11 Saymon21 7 261 9.3.2010, 15:36 Посл. сообщение: Saymon21
Moved PtokaX Stat Script by Saymon
API2 | Очередной небольшой скрипт статистики хаба
0 Saymon21 0 9.3.2010, 15:36 Посл. сообщение: Saymon21
Closed РЕШЕНО: Help! Script
2 random name 2 190 28.1.2010, 21:32 Посл. сообщение: random name
No New Posts От: *** Last Seen Script ***
От темы с ID: 1665
0 Wariner 2 092 27.3.2009, 21:48 Посл. сообщение: Wariner
No New Posts Topic has attachmentsMove Script Up Or Down
API2 | Скрипт для перемещения скриптов
12 Wariner 8 009 26.2.2009, 8:12 Посл. сообщение: alex82

 



RSS Сейчас: 14.12.2017, 18:05