MyDC.ru _ Запросы скриптов для PtokaX _ Требуется скрипт
Автор: Nikolaevich 19.4.2016, 0:09
Друзья, нужен скрипт, который бы запрещал некоторым видам клиентов подключение к хабу (например Shareaza)
Автор: Ksan 19.4.2016, 21:59
Nikolaevich, Вот простецкий скриптик, работает через sTag (хотя можно было бы и через sClient сделать). В таблицу можете сами добавить других клиентов по аналогии с уже включенным. Если не хотите уведомлять юзера перед дисконнектом о неправильном клиенте, можете закомментить ту строку.
Код
Код
local sBot = SetMan.GetString(21) tClients = { "Shareaza", -- (тут можете вписать другие названия нехороших клиентов, присутствующие в тэгах) }
function UserConnected(tUser) if tUser.sTag then for i = 1, #tClients do if tUser.sTag:find(tClients[i]) then Core.SendToNick(tUser.sNick, "<"..sBot..">: *** В наш хаб запрещено заходить через ваш клиент.") Core.Disconnect(tUser) break end end end end RegConnected = UserConnected
Но учтите, многие клиенты имеют возможность в настройках подменять название клиента. Если юзер воспользуется этим, то скрипт не поможет. Но ваша совесть будет чиста. Если не хотите пускать юзеров без тэга (а такие могут быть), можете в настройках хаба запретить таким вход (либо перенаправить в другой хаб).
Автор: 0 16.8.2016, 4:45
Цитата(Ksan @ 19.4.2016, 22:59)
Nikolaevich, Вот простецкий скриптик, работает через sTag (хотя можно было бы и через sClient сделать). В таблицу можете сами добавить других клиентов по аналогии с уже включенным. Если не хотите уведомлять юзера перед дисконнектом о неправильном клиенте, можете закомментить ту строку.
Код
Код
local sBot = SetMan.GetString(21) tClients = { "Shareaza", -- (тут можете вписать другие названия нехороших клиентов, присутствующие в тэгах) }
function UserConnected(tUser) if tUser.sTag then for i = 1, #tClients do if tUser.sTag:find(tClients[i]) then Core.SendToNick(tUser.sNick, "<"..sBot..">: *** В наш хаб запрещено заходить через ваш клиент.") Core.Disconnect(tUser) break end end end end RegConnected = UserConnected
Но учтите, многие клиенты имеют возможность в настройках подменять название клиента. Если юзер воспользуется этим, то скрипт не поможет. Но ваша совесть будет чиста. Если не хотите пускать юзеров без тэга (а такие могут быть), можете в настройках хаба запретить таким вход (либо перенаправить в другой хаб).
Сможешь на RusHub перевести?!
Автор: Артём 19.8.2016, 19:20
000000, http://mydc.ru/r/?http://wiki.mydc.ru/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_Lua_API_%D0%B2_RusHub сам пробуй переводить, ничего сложного там нет.
Автор: 0 20.8.2016, 14:56
Юзер на хабе сидит с таким ТЭГОМ - <++ V:0.674,M:A,H:1/1/1,S:9> Подскажите пожалуйста, каким клиентом пользуется юзер!
Цитата(Ksan @ 19.4.2016, 21:59)
Nikolaevich, Вот простецкий скриптик, работает через sTag (хотя можно было бы и через sClient сделать). В таблицу можете сами добавить других клиентов по аналогии с уже включенным. Если не хотите уведомлять юзера перед дисконнектом о неправильном клиенте, можете закомментить ту строку.
Код
Код
local sBot = SetMan.GetString(21) tClients = { "Shareaza", -- (тут можете вписать другие названия нехороших клиентов, присутствующие в тэгах) }
function UserConnected(tUser) if tUser.sTag then for i = 1, #tClients do if tUser.sTag:find(tClients[i]) then Core.SendToNick(tUser.sNick, "<"..sBot..">: *** В наш хаб запрещено заходить через ваш клиент.") Core.Disconnect(tUser) break end end end end RegConnected = UserConnected
Но учтите, многие клиенты имеют возможность в настройках подменять название клиента. Если юзер воспользуется этим, то скрипт не поможет. Но ваша совесть будет чиста. Если не хотите пускать юзеров без тэга (а такие могут быть), можете в настройках хаба запретить таким вход (либо перенаправить в другой хаб).
Скрипт нерабочий и пропускает все клиенты! Поставил Shareaza в запреты на вход, попробовал зайти с клиента Shareaza и МЕНЯ ПРЕКРАСНО ПУСТИЛО на хаб!
Автор: Ksan 20.8.2016, 19:52
000000, должен бы работать. Ах, да, надо было ещё одну строку добавить в скрипт:
Код
function UserConnected(tUser) Core.GetUserAllData(tUser) -- это новая строка
Но всё же рекомендую поднять скрипт выше всех остальных, чтоб при попытке зайти с запрещённым клиентом юзер получал как можно меньше информации. Если поднять на самый верх, он получит только такое сообщение от хаба типа этого:
Цитата
[23:45:41] <-Bot-Test> Этот хаб работает под управлением PtokaX DC Hub 0.5.0.1 mod 9 (Время работы: 0 дней, 0 часов, 10 минут / Юзеры: 0) [23:52:44] <-Bot-Test>: *** В наш хаб запрещено заходить через ваш клиент. [23:52:44] *** This socket has been closed...
Если так не сделать. лично в моём хабе юзер получит кучу информации о хабе, о самом себе, некоторые предупреждения, рекомендации, лог чата.. А зачем они, если ты его всё равно выкидываешь..