Автор: OtshelnikFm 7.11.2008, 13:57
Скрипт выкидывает юзера если он не зарегится. Подскажите - скрипт ниже. не работает функция просмотра тех кто незарегился. Команда !showusers приводит к ошибке в строке 93. Менял curUser:SendMessage на Core.SendToOps - но тогда команда выходит в общий чат. Пытался сделать разрешение для выполнения команды только админом - ничего не получилось.
прикручивал меню - также пропускает команды в чат:
Код
tMenu = "Незарегенные" -- ArtBotMenu Name
function UserConnected(tUser)
Core.SendToNick(tUser.sNick,"$UserCommand 1 3 "..tMenu.."\\Смотреть $<%[mynick]> !showusers|")
end
OpConnected = UserConnected
Подскажите где ошибка.
Автор: Perspect 7.11.2008, 23:27
Загляни сюда: http://mydc.ru/topic178.html
Автор: OtshelnikFm 14.11.2008, 18:12
Цитата(Perspect @ 7.11.2008, 23:27)
Загляни сюда: http://mydc.ru/topic178.html
Спасибо. Вот только функции - смотреть незарегенных пользователей нету. хочется именно ее + "Отправить незарегенным сообщение" - подскажите как дополнить
Автор: OtshelnikFm 22.11.2008, 14:27
Думаю что такое возможно - подскажите! Нужно очень
Автор: Wariner 22.11.2008, 19:13
Конвертер перевёл криво! Я немного упростил код! Пробуй)
Автор: OtshelnikFm 23.11.2008, 11:04
Спасибо огромное - работает без проблем!
Автор: OtshelnikFm 27.11.2008, 14:54
Цитата(OtshelnikFm @ 23.11.2008, 11:04)
Спасибо огромное - работает без проблем!
После тестов замечено - когда регистрируется человек - то в таймере продолжается статистика (-5675 секунд). И это накапливается пока не перезапустишь скрипт. Приходится пользоваться функцией (из другого скрипта) перезагрузки этого скрипта. Т.е получается - сначала смотришь незарегенных. Отправляешь им PM о необходимости регистрации. А потом, если есть зарегистрировавшийся, перезагружаешь его. Как бы сделать чтобы зарегистрировавшего выбрасывало из этого списка - т.е таймер не учитывал его. Или ,например, как только проходит команда Regme - скрипт выбрасывал из своей статистики этого юзера.. Может есть еще варианты?
Автор: Wariner 28.11.2008, 21:02
Замени полностью функцию OnTimer на:
Код
function OnTimer(tUser,tmr)
local Now = os.time()
for i,v in pairs(tUsers) do
if ((Now-v)>= tSettings.iRedirectInterval*60) then
local tUser = Core.GetUser(i,true)
if not RegMan.GetReg(tUser.sNick) then
Core.SendToNick(i, "<"..tSettings.sBot.."> Вы незарегистрировались в отведенные "..tSettings.iRedirectInterval.." минут, извините, но я вас перенаправляю!")
Core.SendToNick(i, "$ForceMove "..tSettings.sRedirectAddy)
if tUsers[tUser.sNick] then
tUsers[tUser.sNick] = nil
end
else
tUsers[tUser.sNick] = nil
end
end
end
end