myDC.ru

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

 
2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему

> ПОМОГИТЕ, Как дать определенному нику права администратора в любом скрипте ?

Теги
Нет тегов для показа
probest
сообщение 17.1.2015, 22:54
Сообщение #1


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 17.1.2015
Пользователь №: 12 937
Спасибо сказали: 0 раз




Как дать определенному нику права администратора в любом скрипте ?

напишите код как можно реализовать это? например в этом коде скрипта управления.


Код
Код
--###################################################################################
--    HubMenuPro v.1 by ZVER
--    API2 (PtokaX 0.4.x.x)
--###################################################################################

Menu = "Меню хаба\\"
UserMenu = "Юзер\\"
AdminMenu = "Управление\\"


ScriptEasy = false    --Упрощенное меню управления скриптами

Prefix = "!"

--###################################################################################

function OnStartup()
    local tTmp = SetMan.GetHubBot()
    bot = tTmp.sNick
end

function UserConnected(user)
    local t = ProfMan.GetProfilePermissions(user.iProfile)
    --Глобальные команды
    Core.SendToUser(user,"$UserCommand 1 3 "..Menu.."Помощь$<%[mynick]> "..Prefix.."help|")
    Core.SendToUser(user,"$UserCommand 1 3 "..Menu.."Показать ваш IP адрес$<%[mynick]> "..Prefix.."myip|")
    if t then
        if t.bGetInfo then
            Core.SendToUser(user,"$UserCommand 1 2 "..UserMenu.."Показать информацию$<%[mynick]> "..Prefix.."getinfo %[nick]|")
            if t.bDrop or t.bKick or t.bTempBan or t.bBan or t.bMassMsg then
                Core.SendToUser(user,"$UserCommand 0 2")
            end
        end
        if t.bMassMsg then
            Core.SendToUser(user,"$UserCommand 1 2 "..UserMenu.."Сообщение от имени бота$<%[mynick]> "..Prefix.."frombot %[nick] %[line:Введите текст сообщения]|")
            if t.bDrop or t.bKick or t.bTempBan or t.bBan then
                Core.SendToUser(user,"$UserCommand 0 2")
            end
        end
        if t.bDrop then
            Core.SendToUser(user,"$UserCommand 1 2 "..UserMenu.."Отключить$<%[mynick]> "..Prefix.."disconnect %[nick]|")
        end
        if t.bKick then
            Core.SendToUser(user,"$UserCommand 1 2 "..UserMenu.."Кикнуть$<%[mynick]> "..Prefix.."drop %[nick] %[line:Причина]|")
        end
        if t.bTempBan then
            Core.SendToUser(user,"$UserCommand 1 2 "..UserMenu.."Бан 1 час$<%[mynick]> "..Prefix.."tempban %[nick] 1h %[line:Причина]|")
            Core.SendToUser(user,"$UserCommand 1 2 "..UserMenu.."Бан 24 часа$<%[mynick]> "..Prefix.."tempban %[nick] 1d %[line:Причина]|")
        end
        if t.bBan then
            Core.SendToUser(user,"$UserCommand 1 2 "..UserMenu.."Постоянный бан$<%[mynick]> "..Prefix.."ban %[nick] %[line:Причина]|")
        end
        --Управление хабом
        if t.bTopic then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Топик\\Установить топик$<%[mynick]> "..Prefix.."topic %[line:Введите текст]|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Топик\\Очистить топик$<%[mynick]> "..Prefix.."topic off|")
        end
        if t.bRefreshTxt then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Текстовые файлы\\Перезап. текст. файлы$<%[mynick]> "..Prefix.."reloadtxt|")
        end
        if t.bMassMsg then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Рассылка сообщений\\Массовая рассылка$<%[mynick]> "..Prefix.."massmsg %[line:Введите текст сообщения]|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Рассылка сообщений\\Рассылка ОПам$<%[mynick]> "..Prefix.."opmassmsg %[line:Введите текст сообщения]|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Сообщение от имени бота$<%[mynick]> "..Prefix.."frombot %[line:Ник] %[line:Введите текст сообщения]|")
        end
        --Списки банов
        if t.bGetBans then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны\\Список банов$<%[mynick]> "..Prefix.."getbans|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны\\Список временных банов$<%[mynick]> "..Prefix.."gettempbans|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны\\Список постоянных банов$<%[mynick]> "..Prefix.."getpermbans|")
            Core.SendToUser(user,"$UserCommand 0 3")
        end
        --Временные баны
        if t.bTempBan then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны\\Временный бан$<%[mynick]> "..Prefix.."nicktempban %[line:Ник] %[line:Время (m = минут, h = часов, d = дней, w = недель)] %[line:Причина]|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны\\Временный бан IP$<%[mynick]> "..Prefix.."tempbanip %[line:Укажите IP] %[line:Время (m = минут, h = часов, d = дней, w = недель)] %[line:Причина]|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны\\Временный бан IP (полный)$<%[mynick]> "..Prefix.."fulltempbanip %[line:Укажите IP] %[line:Время (m = минут, h = часов, d = дней, w = недель)] %[line:Причина]|")
            Core.SendToUser(user,"$UserCommand 0 3")
        end
        if t.bTempUnban then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны\\Снять временный бан$<%[mynick]> "..Prefix.."tempunban %[line:IP или ник]|")
            Core.SendToUser(user,"$UserCommand 0 3")
        end
        --Постоянные баны
        if t.bBan then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны\\Бан$<%[mynick]> "..Prefix.."nickban %[line:Ник] %[line:Причина]|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны\\Бан IP$<%[mynick]> "..Prefix.."banip %[line:Укажите IP] %[line:Причина]|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны\\Бан IP (полный)$<%[mynick]> "..Prefix.."fullbanip %[line:Укажите IP] %[line:Причина]|")
            Core.SendToUser(user,"$UserCommand 0 3")
        end
        if t.bUnban then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны\\Снять бан$<%[mynick]> "..Prefix.."unban %[line:Ник или IP]|")
            Core.SendToUser(user,"$UserCommand 0 3")
        end
        --Списки диапазонов банов
        if t.bGetRangeBans then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны диапазонов\\Список диапазонов банов $<%[mynick]> "..Prefix.."getrangebans|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны диапазонов\\Список временных банов диапазонов$<%[mynick]> "..Prefix.."getrangetempbans|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны диапазонов\\Список постоянных банов диапазонов$<%[mynick]> "..Prefix.."getrangepermbans|")
            Core.SendToUser(user,"$UserCommand 0 3")
        end
        --Временные баны диапазонов
        if t.bRangeTempBan then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны диапазонов\\Временный бан диапазона$<%[mynick]> "..Prefix.."rangetempban %[line:Начальный IP диапазона] %[line:Конечный IP диапазона] %[line:Время (m = минут, h = часов, d = дней, w = недель)] %[line:Причина]|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны диапазонов\\Временный бан диапазона (полный)$<%[mynick]> "..Prefix.."fullrangetempban %[line:Начальный IP диапазона] %[line:Конечный IP диапазона] %[line:Время (m = минут, h = часов, d = дней, w = недель)] %[line:Причина]|")
            Core.SendToUser(user,"$UserCommand 0 3")
        end
        if t.bRangeTempUnban then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны диапазонов\\Снять временный бан диапазона$<%[mynick]> "..Prefix.."tempunban %[line:Начальный IP диапазона] %[line:Конечный IP диапазона]|")
            Core.SendToUser(user,"$UserCommand 0 3")
        end
        --Постоянные баны диапазонов
        if t.bRangeBan then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны диапазонов\\Бан диапазона$<%[mynick]> "..Prefix.."rangeban %[line:Начальный IP диапазона] %[line:Конечный IP диапазона] %[line:Причина]|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны диапазонов\\Бан диапазона (полный)$<%[mynick]> "..Prefix.."fullrangeban %[line:Начальный IP диапазона] %[line:Конечный IP диапазона] %[line:Причина]|")
            Core.SendToUser(user,"$UserCommand 0 3")
        end
        if t.bRangeUnban then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Баны диапазонов\\Снять бан диапазона$<%[mynick]> "..Prefix.."rangepermunban %[line:Начальный IP диапазона] %[line:Конечный IP диапазона]|")
            Core.SendToUser(user,"$UserCommand 0 3")
        end
        --Управление пользователями
        if t.bAddRegUser then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Управление пользователями\\Зарегистрировать пользователя$<%[mynick]> "..Prefix.."addreguser %[line:Ник] %[line:Пароль] %[line:Имя профиля]|")
        end
        if t.bDelRegUser then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Управление пользователями\\Удалить регистрацию$<%[mynick]> "..Prefix.."delreguser %[line:Ник]|")
        end
        --Управление скриптами
        if t.bRestartScripts then
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Скрипты\\Посмотреть список$<%[mynick]> "..Prefix.."getscripts|")
            Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Скрипты\\Перезапустить скрипты$<%[mynick]> "..Prefix.."restartscripts|")
            Core.SendToUser(user,"$UserCommand 0 3")
            if ScriptEasy then
                Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Скрипты\\Перезапуск$<%[mynick]> "..Prefix.."restartscript %[line:Имя файла]|")
                Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Скрипты\\Старт$<%[mynick]> "..Prefix.."startscript %[line:Имя файла]|")
                Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Скрипты\\Стоп$<%[mynick]> "..Prefix.."stopscript %[line:Имя файла]|")
                Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Скрипты\\Сдвинуть вверх$<%[mynick]> "..Prefix.."scriptmoveup %[line:Имя файла]|")
                Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Скрипты\\Сдвинуть вниз$<%[mynick]> "..Prefix.."scriptmovedown %[line:Имя файла]|")
            else
                tScripts = ScriptMan.GetScripts()
                for script in pairs(tScripts) do
                    local CurScript = tScripts[script].sName
                    Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Скрипты\\"..CurScript.."\\Перезапуск$<%[mynick]> "..Prefix.."restartscript "..CurScript.."|")
                    Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Скрипты\\"..CurScript.."\\Старт$<%[mynick]> "..Prefix.."startscript "..CurScript.."|")
                    Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Скрипты\\"..CurScript.."\\Стоп$<%[mynick]> "..Prefix.."stopscript "..CurScript.."|")
                    Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Скрипты\\"..CurScript.."\\Сдвинуть вверх$<%[mynick]> "..Prefix.."scriptmoveup "..CurScript.."|")
                    Core.SendToUser(user,"$UserCommand 1 3 "..AdminMenu.."Скрипты\\"..CurScript.."\\Сдвинуть вниз$<%[mynick]> "..Prefix.."scriptmovedown "..CurScript.."|")
                end
            end
        end
    end
end

OpConnected = UserConnected
RegConnected = UserConnected

function ChatArrival(user,data)
    data = string.sub(data,1,string.len(data)-1)
    local t = ProfMan.GetProfilePermissions(user.iProfile)
    local s,e,pre,cmd = string.find(data, "^%b<>%s+(%p)(%S+)")
    local s,e,param = string.find(data, "^%b<>%s+%p%S+%s+(.+)")
    if pre == Prefix then
        if t then
            if t.bRestartScripts then
                if cmd and cmd == "scriptmoveup" then
                    if param then
                        result = ScriptMan.MoveUp(param)
                        if result then
                            ToOps(user.sNick..": Скрипт "..param.." перемещён вверх на одну позицию.")
                        else
                            ToUser(user,"Ошибка: скрипт "..param.." переместить не удалось.")
                        end
                    else
                        ToUser(user,"<"..bot.."> Ошибка. Вы должны указать имя файла.")
                    end
                    return true
                elseif cmd and cmd == "scriptmovedown" then
                    if param then
                        result = ScriptMan.MoveDown(param)
                        if result then
                            ToOps(user.sNick..": Скрипт "..param.." перемещён вниз на одну позицию.")
                        else
                            ToUser(user,"Ошибка: скрипт "..param.." переместить не удалось.")
                        end
                    else
                        ToUser(user,"<"..bot.."> Ошибка. Вы должны указать имя файла.")
                    end
                    return true
                end
            end
            if t.bDrop then
                if cmd and cmd == "disconnect" then
                    if param then
                        local CurUser = Core.GetUser(param)
                        if CurUser then
                            Core.Disconnect(CurUser)
                        else
                            ToUser(user,"Ошибка: юзер "..param.." не найден на хабе")
                        end
                    else
                        ToUser(user,"Ошибка: Вы должны указать ник.")
                    end
                    return true
                end
            end
            if t.bMassMsg then
                if cmd and cmd == "frombot" then
                    local s,e,nick,msg = string.find(param, "^(%S+)%s+(.+)$")
                    if nick and msg then
                        local CurUser = Core.GetUser(nick)
                        if CurUser then
                            FromBot(CurUser,msg)
                            ToUser(user,"Сообщение отправлено")
                            ToOps(user.sNick.." отправил сообщение от имени бота юзеру "..nick.." :"..msg)
                        else
                            ToUser(user,"Ошибка: юзер "..nick.." не найден на хабе")
                        end
                    else
                        ToUser(user,"Ошибка синтаксиса. Синтаксис: "..Prefix.."frombot <ник> <текст сообщения>")
                    end
                    return true
                end
            end
        end
    end
end

function ToUser(user,msg)
    Core.SendToUser(user,"<"..bot.."> "..msg)
end

function ToOps(msg)
    Core.SendToOps("<"..bot.."> "..msg)
end

function FromBot(user,msg)
    Core.SendPmToUser(user,bot,msg)
end
Причина редактирования: Спрятал код под спойлер
Go to the top of the page
+Quote Post
dimetro
сообщение 17.1.2015, 23:07
Сообщение #2


Активный участник
***

Группа: Пользователи
Сообщений: 69
Регистрация: 14.9.2009
Пользователь №: 4 440
Спасибо сказали: 19 раз




Не совсем понятный вопрос, но ответ скорей всего тут
Go to the top of the page
+Quote Post
probest
сообщение 17.1.2015, 23:15
Сообщение #3


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 17.1.2015
Пользователь №: 12 937
Спасибо сказали: 0 раз




Цитата(dimetro @ 17.1.2015, 23:07) *
Не совсем понятный вопрос, но ответ скорей всего тут


нужен простой код чтоб при добавление его в скрипт нику ( который я указал ) довались права администратора. Есть такая возможность?

то есть допустим я администратор и пока запушен данный скрипт (в который я добавил этот код) у меня будут права администратора
Go to the top of the page
+Quote Post
dimetro
сообщение 17.1.2015, 23:17
Сообщение #4


Активный участник
***

Группа: Пользователи
Сообщений: 69
Регистрация: 14.9.2009
Пользователь №: 4 440
Спасибо сказали: 19 раз




Цитата(probest @ 17.1.2015, 22:12) *
нужен простой код чтоб при добавление его в скрипт нику ( который я указал ) довались права администратора. Есть такая возможность?

По этому поводу как раз ссылка выше на код.
А не проще зарегистрировать ник этот с правами Оператора? И получит достук к командам\меню скриптов Админских).
Go to the top of the page
+Quote Post
probest
сообщение 17.1.2015, 23:26
Сообщение #5


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 17.1.2015
Пользователь №: 12 937
Спасибо сказали: 0 раз




Цитата(dimetro @ 17.1.2015, 23:17) *
По этому поводу как раз ссылка выше на код.
А не проще зарегистрировать ник этот с правами Оператора? И получит достук к командам\меню скриптов Админских).

я кажется понял в той ссылке что вы указали сейчас попробую уважаемый спасибо

А по поводу вашего замечания, нет. В том то и дело мне нужно что в скриптах было это прописано

что то не выходит
Go to the top of the page
+Quote Post
dimetro
сообщение 17.1.2015, 23:28
Сообщение #6


Активный участник
***

Группа: Пользователи
Сообщений: 69
Регистрация: 14.9.2009
Пользователь №: 4 440
Спасибо сказали: 19 раз




Только учтите, что это не даст права доступа к стандартным командам(баны,кик и т.д.) Опов/Админов. big_smile.gif
Go to the top of the page
+Quote Post
alex82
сообщение 17.1.2015, 23:31
Сообщение #7


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




В том скрипте, что выложен в первом посте, это нельзя сделать, поскольку он лишь отсылает меню, а за обработку команд в данномслучае отвечает PtokaX. В других скриптах сделать это можно, но код будет разный для каждого скрипта. Т.е. простого и универсально кода тут нет и быть не может.
Go to the top of the page
+Quote Post
probest
сообщение 17.1.2015, 23:37
Сообщение #8


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 17.1.2015
Пользователь №: 12 937
Спасибо сказали: 0 раз




Цитата(alex82 @ 17.1.2015, 23:31) *
В том скрипте, что выложен в первом посте, это нельзя сделать, поскольку он лишь отсылает меню, а за обработку команд в данномслучае отвечает PtokaX. В других скриптах сделать это можно, но код будет разный для каждого скрипта. Т.е. простого и универсально кода тут нет и быть не может.


А есть ли отдельный скрипт что давал полный доступ? Простой скрипт чтоб давались права нику. Либо внедрить в этот скрипт чтоб нику давались права регистрации пользователей с любым рангом

Цитата(dimetro @ 17.1.2015, 23:28) *
Только учтите, что это не даст права доступа к стандартным командам(баны,кик и т.д.) Опов/Админов. big_smile.gif


как же сделать тогда чтоб давались права. Хотя бы чтоб я свободно мог регистрировать пользователя с правами администратора
Go to the top of the page
+Quote Post
alex82
сообщение 17.1.2015, 23:44
Сообщение #9


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Цитата
как же сделать тогда чтоб давались права. Хотя бы чтоб я свободно мог регистрировать пользователя с правами администратора
Насколько часто Вы регистрируете пользователей с такими правами? Думаю, достаточно редко. В таком случае можно вручную добавить аккаунт в RegisteredUsers.xml.
Go to the top of the page
+Quote Post
probest
сообщение 17.1.2015, 23:46
Сообщение #10


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 17.1.2015
Пользователь №: 12 937
Спасибо сказали: 0 раз




Цитата(alex82 @ 17.1.2015, 23:44) *
Насколько часто Вы регистрируете пользователей с такими правами? Думаю, достаточно редко. В таком случае можно вручную добавить аккаунт в RegisteredUsers.xml.


вы понимаете сервер находиться не у меня. Мне нужен доступ даже в случае того что права пропадут. Либо если другие администраторы удалят их.
Так как доступ у меня я хотел бы как то обезопасить свои права
Go to the top of the page
+Quote Post
alex82
сообщение 17.1.2015, 23:48
Сообщение #11


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




probest, а Вы понимаете, что в таком случае любой, кто зайдет на хаб с Вашим ником, будет иметь такие права?
Go to the top of the page
+Quote Post
probest
сообщение 17.1.2015, 23:51
Сообщение #12


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 17.1.2015
Пользователь №: 12 937
Спасибо сказали: 0 раз




Цитата(alex82 @ 17.1.2015, 23:48) *
probest, а Вы понимаете, что в таком случае любой, кто зайдет на хаб с Вашим ником, будет иметь такие права?


Но ведь если я его зарегистрирую он не сможет зайти через этот ник. Да и нужно угадать будет ему что за это ник. я же могу поставить любой набор букв. Мне не обезательно иметь ключик админа. Мне хотя бы нужно иметь полный доступ к команде регистрации пользователей

Цитата(probest @ 17.1.2015, 23:50) *
Но ведь если я его зарегистрирую он не сможет зайти через этот ник. Да и нужно угадать будет ему что за это ник. я же могу поставить любой набор букв. Мне не обезательно иметь ключик админа. Мне хотя бы нужно иметь полный доступ к команде регистрации пользователей


Если не трудно помогите
Go to the top of the page
+Quote Post
dimetro
сообщение 17.1.2015, 23:52
Сообщение #13


Активный участник
***

Группа: Пользователи
Сообщений: 69
Регистрация: 14.9.2009
Пользователь №: 4 440
Спасибо сказали: 19 раз




Цитата(probest @ 17.1.2015, 22:46) *
вы понимаете сервер находиться не у меня. Мне нужен доступ даже в случае того что права пропадут. Либо если другие администраторы удалят их.
Так как доступ у меня я хотел бы как то обезопасить свои права


Тогда как Вы добавляете-удаляете-редактируете скрипты? Есть на форуме скрипт и программа удаленного управления - PXControl by Alex82 big_smile.gif
Go to the top of the page
+Quote Post
probest
сообщение 17.1.2015, 23:54
Сообщение #14


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 17.1.2015
Пользователь №: 12 937
Спасибо сказали: 0 раз




Цитата(dimetro @ 17.1.2015, 23:52) *
Тогда как Вы добавляете-удаляете-редактируете скрипты? Есть на форуме скрипт и программа удаленного управления - PXControl by Alex82 big_smile.gif


как раз таки я ею и пользуюсь

дело в том что если мои права удалят я не смогу ею пользоваться.
Go to the top of the page
+Quote Post
alex82
сообщение 17.1.2015, 23:55
Сообщение #15


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




probest, покажите тот скрипт, что используется на хабе для регистрации пользователей. Если скрипта нет, и регистрация производится при помощи встроенных команд, то его придется поставить.
Go to the top of the page
+Quote Post
probest
сообщение 17.1.2015, 23:57
Сообщение #16


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 17.1.2015
Пользователь №: 12 937
Спасибо сказали: 0 раз




Цитата(alex82 @ 17.1.2015, 23:55) *
dimetro, покажите тот скрипт, что используется на хабе для регистрации пользователей. Если скрипта нет, и регистрация производится при помощи встроенных команд, то его придется поставить.

CODE
--[[

Команды:
!regme <pass> - зарегистрироваться
!passwd <new_pass> - изменить пароль (встроенная команда)
!unreg - удалить регистрацию

]]--

----------------------------------------------------- Конфигурация -----------------------------------------------------
------------------------------------------------------------------------------------------------------------------------

ShowInfo = 1 -- показывать дополнительную информацию о том, как можно избежать повторных вводов пароля при входе на хаб
ShowToAll = 0 -- показывать всем пользователям, что на хабе новый зарегистрированный участник

------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------

bot = SetMan.GetString(21)

function UserConnected(tUser) --- юзер заявился
UserMenu(tUser) --- и заполучил меню (а сама функция отправки меню ниже)
end
OpConnected = UserConnected --- ОПы тоже люди
RegConnected = UserConnected --- и РЕГи тоже

function ChatArrival(tUser, sData) --- изучаем всё, что отправляется в чат
Core.GetUserAllData(tUser) --- выбиваем из юзера всю информацию (на всякий случай)
local sData = sData:sub(1,-2) --- захват видимой части сообщения, включая и ник отправителя
local _,_,cmd = sData:find("%b<>%s+(%S+)") --- захват первого слова после ника отправителя и первого пробела
if cmd == "!regme" then --- если это команда регистрации
if not(tUser.bRegistered) and RegMan.GetReg(tUser.sNick) == nil then --- если юзер не зареген и если данного ника нет в списке зарегистрированных
local s,e,pass = string.find(sData, "%b<>%s+%S+%s+(%S+)") --- то проверяем наличие пароля в команде
if (pass == nil) then --- если нет пароля
Core.SendToUser(tUser, "<"..bot.."> Вы забыли ввести пароль!") --- от ворот поворот, пусть пишет по новой
return true --- но команду всё же скрываем от остальных
end --- проходим дальше, если пароль есть
RegMan.AddReg(tUser.sNick, pass, 3) --- и регистрируем его
Core.SendToUser(tUser, "<"..bot.."> Вы теперь зарегистрированы на хабе. Ваш ник:"..tUser.sNick.." Пароль: "..pass..". Сохраните пароль и не забудьте перезайти на хаб!") --- и юзер получает такое сообщение со своим паролем, чтоб мог скопировать и сохранить
if (ShowInfo == 1) then --- если чтоит галочка "показывать доп. информацию с советом"
Core.SendToUser(tUser, "<"..bot.."> Теперь для входа на хаб под вашим ником необходимо знать пароль. Вы можете вводить его каждый раз вручную, либо прописать пароль в настройках клиента. Для этого найдите в списке избранных хабов этот хаб, зайдите в его свойства и пропишите в строках Nick и Password ваши ник и пароль.") --- то получает его
end --- хэппи энд - 1
if (ShowToAll == 1) then --- если стоит галочка "известить всех о новом зарегенном юзере"
Core.SendToAll("<"..bot.."> Поприветствуем нового зарегистрировавшегося участника - "..tUser.sNick.." !!!") --- радостно представляем остальному обществу новичка
end --- хэппи энд - 2
else --- этот ник уже зареген, оказывается
Core.SendToUser(tUser, "<"..bot.."> Вы уже зарегистрированы!") --- и он получает отказ
end --- трагический финал
return true --- тоже скрываем команду от других
end --- конец истории о регистрации
if cmd == "!unreg" then --- если же команда - "удалить регистрацию"
if (tUser.iProfile > -1) then --- и если юзер в самом деле зареген
RegMan.DelReg(tUser.sNick) --- хозяин-барин, удовлетворяем желание клиента
Core.SendToUser(tUser, "<"..bot.."> Ваш аккаунт теперь удален.") --- и отправляем ему открытку с нашими сожалениями.
else --- если же юзер не зареген
Core.SendToUser(tUser, "<"..bot.."> Команда доступна только для зарегистрированных пользователей!") --- теперь он тоже об этом знает
end ---
return true --- скрываем команду
end --- покончили с удалением регистрации
if cmd == "!reghelp" then --- если команда - о помощи
local msg = "\r\n\r\n".. --- собираем всё что может помочь юзеру
"\t"..string.rep("=", 50).."\r\n"..
"\t\tПомощь по регистрации\r\n"..
"\t"..string.rep("-", 100).."\r\n\r\n"..
"\t!reghelp\t\t - Этот файл помощи\r\n"..
"\t!regme <пасс>\t - Зарегистрироваться (можно не указывать пасс)\r\n"..
"\t!passwd <пасс>\t - Сменить пароль (встроенная команда хаба)\r\n"..
"\t!unreg\t\t - Удалить аккаунт\r\n\r\n"..
"\tТакже все команды доступны в меню хаба:\r\n"..
"\tНажмите правой кнопкой мыши на любого пользователя\r\n"..
"\tи выберите подменю 'Регистрация'\r\n"
Core.SendPmToNick(tUser.sNick, bot, msg) --- и отправлем ему в приват, на полчаса чтивом он обеспечен
return true --- тоже скрываем команду
end --- конец этапа помощи
end --- и вообще, хватит читать чат

ToArrival = ChatArrival --- если вышеуказанные команды напишут в привате, результат будет такой же (не очень верится, но допускаю)

function UserMenu(tUser) --- обещанная функция об отправке меню юзеру при входе
if (tUser.iProfile == -1) then --- это меню получит незарегенный юзер
Core.SendToUser(tUser, "$UserCommand 0 3")
Core.SendToUser(tUser, "$UserCommand 1 3 Регистрация\\Зарегистрироваться$<%[mynick]> !regme %[line:Введите пароль]|")
Core.SendToUser(tUser, "$UserCommand 1 3 Регистрация\\Помощь при регистрацию$<%[mynick]> !reghelp|")
else --- а все зарегенные получат это меню
Core.SendToUser(tUser, "$UserCommand 0 3")
Core.SendToUser(tUser, "$UserCommand 1 3 Регистрация\\Сменить пароль$<%[mynick]> !passwd %[line:Введите новый пароль]|")
Core.SendToUser(tUser, "$UserCommand 1 3 Регистрация\\Удалить регистрацию$<%[mynick]> !unreg|")
Core.SendToUser(tUser, "$UserCommand 1 3 Регистрация\\Помощь при регистрации$<%[mynick]> !reghelp|")
end ---
end --- отправили

--- эта функция - для отправления в опчат сообщений об ошибке скрипта, если скрипт падает в процессе эксплуатации
function OnError(s)
local h=io.open("errors.log","a+")
if h then
h:write(os.date()..": "..s.."\r\n")
h:close()
end
if Core then
Core.SendToOpChat(s)
else
SendToOpChat(s)
end
end
Go to the top of the page
+Quote Post
alex82
сообщение 18.1.2015, 0:06
Сообщение #17


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




probest, это скрипт саморегистрации, а Вам нужен тот, что позволяет регистрировать других юзеров.

Если Вы так боитесь удаления своей регистрации, то можно поступить проще - написать скрипт, который будет через определенные промежутки времени проверять регистрацию, и при необходимости восстанавливать ее.
Go to the top of the page
+Quote Post
probest
сообщение 18.1.2015, 0:14
Сообщение #18


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 17.1.2015
Пользователь №: 12 937
Спасибо сказали: 0 раз




Цитата(alex82 @ 18.1.2015, 0:06) *
probest, это скрипт саморегистрации, а Вам нужен тот, что позволяет регистрировать других юзеров.

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


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


там есть строки регистрации и её удаления

Цитата(alex82 @ 18.1.2015, 0:06) *
probest, это скрипт саморегистрации, а Вам нужен тот, что позволяет регистрировать других юзеров.

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


долго ли писать такой скрипт? можно как бонус тоже поставить

и я нашёл интересную функцию вот

function ChatArrival(tUser, sData)
local cmd = sData:match"%b<>%s+(%S+).*|"
if cmd == "!команда" then
-- здесь вписываем то, что должно происходить по команде!
return true
end
end

могу ли я её вставлять во все скрипты что при вводе команды к примеру !зарегать происходила регистрация администратора?
и если не сложно напишите что сюда нужно дописать чтоб это происходило
Go to the top of the page
+Quote Post
alex82
сообщение 18.1.2015, 0:21
Сообщение #19


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Цитата(probest @ 17.1.2015, 23:14) *
долго ли писать такой скрипт? можно как бонус тоже поставить
Код
nick = "test"
pass = "123456"
profile = 0
time = 10    -- секунд

function OnStartup()
    OnTimer()
    TmrMan.AddTimer(1000*time)
end

function OnTimer()
    local reg = RegMan.GetReg(nick)
    if not reg then
        RegMan.AddReg(nick, pass, profile)
    elseif reg.iProfile ~= profile or reg.sPassword ~= pass then
        RegMan.ChangeReg(nick, pass, profile)
    end
end

Проверяет наличие указанного аккаунта и соответствие пароля и профиля, и при необходимости восстанавливает его.
Go to the top of the page
+Quote Post
probest
сообщение 18.1.2015, 0:30
Сообщение #20


Начинающий
*

Группа: Пользователи
Сообщений: 13
Регистрация: 17.1.2015
Пользователь №: 12 937
Спасибо сказали: 0 раз




а вот по поводу этой функции она же проще? можно же просто её дописать в любой скрипт и будет функционировать


function ChatArrival(tUser, sData)
local cmd = sData:match"%b<>%s+(%S+).*|"
if cmd == "!команда" then
-- здесь вписываем то, что должно происходить по команде!
return true
end
end

спасибо за скрипт его тоже добавлю. Время которое написано 10 секунд я так понял это время проверки. Его тоже над будет внедрить.
Но мне стала интересна можно ли добавить регистрацию по команде. вон в той функции
Go to the top of the page
+Quote Post

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

Collapse

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

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Помогите собрать пакет хаб софта для прошивки роутера OpenWRT (РЕШЕНО)
ptokax и opendchub
2 мамин_парень 6 343 5.5.2017, 5:21 Посл. сообщение: мамин_парень
No New Posts От: ПОМОГИТЕ
От темы с ID: 5730
0 dimetro 4 234 17.1.2015, 23:57 Посл. сообщение: dimetro
No New Posts Topic has attachmentsПомогите !
3 Dani_Filth 7 265 4.10.2014, 14:52 Посл. сообщение: Артём
No New Posts Topic has attachmentsПомогите Новичку разобрать со скрипами.
НЕ могу понять,после того как загрузил скрипт,его ещё надо настраивать
2 Prizrak333 6 608 27.4.2014, 10:53 Посл. сообщение: Prizrak333
No New Posts помогите мне пожалуйста настроить dc++
1 sdncn 6 338 29.9.2013, 9:37 Посл. сообщение: Delia
No new Помогите с Хабом!
26 cpr 32 669 7.2.2013, 17:20 Посл. сообщение: DEN 007
No New Posts Помогите разобрать ситуацию с хабом, создал хаб на птокеX 0.5.0.0
Помогите разобрать ситуацию с хабом
12 mambob 14 823 30.1.2013, 0:03 Посл. сообщение: Yamakasi
No New Posts Помогите наполнить Юзерами свежий хаб Help
Help me please
1 mambob 4 983 20.1.2013, 3:42 Посл. сообщение: Артём
No New Posts помогите с ip_zone4_min
2 ruslanlee 7 504 9.1.2013, 20:43 Посл. сообщение: ruslanlee
No New Posts Помогите со скриптом! Плачу!
help
2 jekasumy 6 190 19.10.2012, 23:10 Посл. сообщение: jekasumy
No New Posts От: помогите переделать скрипт для Ptokax
От темы с ID: 5237
0 Infern0_05 5 430 14.9.2012, 15:46 Посл. сообщение: Infern0_05
No New Posts Помогите выбрать скрипт
RSS читалка
0 dj hoodo 6 052 9.9.2012, 4:27 Посл. сообщение: dj hoodo
No New Posts помогите мне народ!
1
3 _Герой_ 8 552 6.7.2012, 13:44 Посл. сообщение: KCAHDEP
No New Posts Помогите переделать
Помогите переделать
11 Mr. DoKeP 16 392 27.6.2012, 7:14 Посл. сообщение: Ksan
No New Posts От: помогите с разработкой скрипта
От темы с ID: 4717
0 barbaris 4 983 19.5.2012, 19:54 Посл. сообщение: barbaris

 



RSS Сейчас: 23.12.2024, 4:40