Версия для печати темы
MyDC.ru _ Служебные скрипты [PtokaX] _ Gagme
Автор: alex82 22.3.2009, 3:58
Название скрипта: GagMe
Версия: 1.01
Версия API: API2
Автор: alex82
Описание:
Cкрипт позволяет блокировать функции общения для определённых ников или IP.
Дополнительная информация:
При указании времени заглушки необходимо использовать формат, аналогичный используемому в командах временных банов PtokaX.
Для нормальной работы скрипта, он должен стоять выше любых других скриптов, модифицирующих сообщения пользователей.
GagMe_v1.01.rar ( 3.65 килобайт )
: 480
Автор: intlive 22.3.2009, 9:45
Заглушил юзера по ип на 10 минут вылезло: [13:44] Синтаксис D:\0.4.1.1\scripts\GagMe.lua:134: attempt to call global 'TimeToString' (a nil value)
Сообщения в чат проходят...
Пробовал по нику - тоже самое..
Автор: alex82 22.3.2009, 11:58
Исправил.
Если заметишь ещё какие-то косяки - пиши.
Автор: intlive 22.3.2009, 12:09
Спасибо, после исправления все работает на ура!
А нельзя сделать что заглушенный юзер мог написать в личку только указанным профилям? (админам - опам)
Автор: truth 17.10.2009, 1:34
А можно пожалуйста добавить команду для просмотра списка заглушеных? (сразу добавить ее в меню). Было бы очень полезно.
Автор: alex82 17.10.2009, 16:04
truth
А разве её нету? Посмотри внимательно.
Автор: truth 17.10.2009, 18:32
Вот это туфли гнутся, конечно есть! А я то думаю что-то здесь не то..
Автор: Setup 22.10.2009, 5:32
Сделайте пожалуйста чтобы было видно какую фразу юзер пытается написать в ЛС, аналогично как и при попытке написания в ГЧ. ;-)
Автор: alex82 25.10.2009, 22:23
Setup
Нехорошо читать сообщения, адресованные не тебе.
Автор: Setup 27.10.2009, 11:23
Цитата(alex82 @ 25.10.2009, 22:23)
Setup
Нехорошо читать сообщения, адресованные не тебе.
если юзер заглушен полность, то уже не особо важно куда оно адресовано ;-)
Автор: Артём 27.10.2009, 11:27
Цитата(Setup @ 27.10.2009, 10:23)
если юзер заглушен полность, то уже не особо важно кому и чего адресовано ;)
Вот тебе и ответ!!!
Автор: Trans 27.10.2009, 13:22
Цитата
если юзер заглушен полность, то уже не особо важно куда оно адресовано ;-)
Тогда неважно и
что он пишет! Сказано тебе - нехорошо читать то, что не тебе адресовано, если это приватное сообщение! Мало ли что он заглушен.
Автор: Setup 28.10.2009, 18:01
Спасибо, сделал уже без вашей помощи. :-P
Автор: truth 29.10.2009, 14:31
А можно в таблицу "Список заглушенных" добавить ник рядом с IP заглушенного и причину..
Ну, собственно, вот такая ситуация. НА хабе обязательной регистрации нет, значит по нику глушить не лучший вариант. Зато локальная сеть и заглушки по IP более чем достаточно. Вот так некоторых пользователей заглушили на долгий срок по IP.. а теперь смотрю список заглушенных, а кто есть кто и по какой причине не ясно
Хотелось бы, что бы при просмотре списка.. там где заглушенные IP выводился ник пользователя, который был во время заглушки, ну и причина..
Пример:
Код
Список заглушенных IP:
192.168.14.149 (ValeNtin)
----------------------------------------------------------
Заглушен Moderator 25 октября в 15:39.
Снятие заглушки: никогда
Причина: Флуд
192.168.7.236 (Masyania)
----------------------------------------------------------
Заглушен Moderator 16 октября в 21:59.
Снятие заглушки: никогда
Причина: Мат
Автор: Артём 29.10.2009, 19:30
Зачем?
Автор: Trans 29.10.2009, 19:37
Как зачем? Нормальная просьба. Чтоб знать, кто за данным айпи. Может, пора уже разглушить, может, обстоятельства изменились. Мало ли. Лишняя информация никогда не лишняя.
По существу просьбы - я в таких случаях в строке "Причина" в конце причины в скобках пишу ник заглушаемого.
Автор: Артём 29.10.2009, 20:13
Вроде в скрипте если юзер по нику заглушен то ник пишется, а если IP глушится то зачем нужно ещё знать ник? Ник может и сменить заглушенный
Автор: truth 29.10.2009, 20:50
Артём, ну вроде бы все кристально понятно
Сеть локальная, ники по 250 раз не меняют. В чате общаются самые активные.. Глушить по нику впринципе глуповато, ведь сменить не проблема, тем более когда банишь не на 10 минут пользователя. Поставил по IP заглушку, а потом смотришь список и ломаешь голову кто есть кто, гораздо же легче запоминать по никам, да и еще когда перед глазами причина..
Цитата
По существу просьбы - я в таких случаях в строке "Причина" в конце причины в скобках пишу ник заглушаемого.
А причина то и не выводиться в список заглушенных ;)
Автор: Артём 29.10.2009, 21:25
Цитата
... тем более когда банишь не на 10 минут пользователя. Поставил по IP заглушку, а потом смотришь список и ломаешь голову кто есть кто, гораздо же легче запоминать по никам, да и еще когда перед глазами причина....
так это другое дело
Цитата
А причина то и не выводиться в список заглушенных ;)
добавь пункт причины и будет
Автор: truth 3.11.2009, 1:28
И было бы очень полезно закинуть причину заглушки при выдачи сообщения от бота.
Код
[00:18:33] <Bot> _Вася_ нежно заткнул IP 192.168.8.114 (Петя) на 10 минут. Причина: Флуд.
Ну вот, что бы примерно вот так было
alex82, найди пожалуйста немного времени ;)
Автор: Артём 3.11.2009, 11:34
truth ты пользуешся хоть тем скриптом что в первом посту???
Ибо в нём есть то что ты просишь
Цитата
[10:29:50] <Ботяра
> Артём заглушил юзера вася. Причина: флуд.
Цитата
- <<<<<<<<<<<<<<<<<<<<<<<GagMe v1.01>>>>>>>>>>>>>>>>>>>>>>>
Список заглушенных юзеров:
вася
----------------------------------------------------------
Заглушен Артём 3 ноября в 10:29. Причина: флуд.
Снятие заглушки: никогда
Список заглушенных IP:
На данный момент никто не заглушен
а юзеру выдаёт вот такое
Цитата
<Ботяра
> Вы не можете отправлять сообщения в чат. Причина: флуд
Возможность общаться в чате будет возвращена 3 ноября в 10:44 (через 9 минут 56 секунд).
Автор: truth 3.11.2009, 11:42
хм..
В списке заглушенных нет причины. Юзеру то причину выдает, а в общак от бота - неа.. =\ Кто-то из нас начинает сходить с ума О_о
Автор: Артём 3.11.2009, 11:48
Цитата(truth @ 3.11.2009, 10:42)
Кто-то из нас начинает сходить с ума О_о
наверно ты
, я только что поставил скрипт из этой тему, с первого поста и проверил, может ты не в тот раздел заглушки пишишь))))
Автор: truth 3.11.2009, 15:08
Тьфу блин, глянул исходник вроде причина написана, но почему-то в общак она не выходит.. и в списке заглушенных ее нет =\
Автор: evg 10.2.2010, 14:35
причина не записывалась только если глушить выделенного юзера по ипу
ищем:
Код
[tCmd.GagUserIP] = function(user,data)
local _,_,nick = data:find("^(%S+)")
local _,_,num,w = data:find("^%S+%s+(%d+)([mhdwMY])")
if nick then
local usr = Core.GetUser(nick)
if usr then
local IP = usr.sIP
if num and w then
local iGagTime = GetGagTime(num,w)
if tIPs[IP] and (tIPs[IP][1] == 0 or tIPs[IP][1]+tIPs[IP][2]-os.time(os.date("*t")) > iGagTime) then
ToUser(user,"Ошибка: IP "..IP.." ("..nick..") уже заглушен на срок, превышающий тот, что указан Вами.")
else
local _,_,reason = data:find("^%d+%.%d+%.%d+%.%d+%s+%d+%w%s+(.+)$")
tIPs[IP] = {iGagTime,os.time(os.date("*t")),user.sNick,reason}
Save()
local sReason = ""
if reason then sReason = " Причина: "..reason.."." end
ToOps(user.sNick.." заткнул IP "..IP.." ("..nick..") на"..Ling:TimeToString(iGagTime).."."..sReason)
end
else
if tIPs[IP] and tIPs[IP][1] == 0 then
ToUser(user,"Ошибка: IP "..IP.." ("..nick..") уже заглушен.")
else
local _,_,reason = data:find("^%d+%.%d+%.%d+%.%d+%s+(.+)$")
tIPs[IP] = {0,os.time(os.date("*t")),user.sNick,reason}
Save()
local sReason = ""
if reason then sReason = " Причина: "..reason.."." end
ToOps(user.sNick.." заткнул IP "..IP.." ("..nick..")."..sReason)
end
end
else
ToUser(user,"Ошибка: юзер "..nick.." не найден.")
end
else
ToUser(user,"Ошибка: не указан ник.")
end
end,
меняем(у меня это 281 строка):
Код
local _,_,reason = data:find("^%d+%.%d+%.%d+%.%d+%s+%d+%w%s+(.+)$")
на
Код
local _,_,reason = data:find("^%S+%s+%d+%w%s+(.+)$")
тут видимо alex82 просто опечатался.
Что бы писало всем о заглушке, я добавил, сразу после
Код
ToOps(user.sNick.." заткнул IP "..IP.." ("..nick..") на"..Ling:TimeToString(iGagTime).."."..sReason)
это:
Код
Core.SendToAll("<ИМЯ_БОТА> "..user.sNick.." заткнул юзера "..nick.." на"..Ling:TimeToString(iGagTime).."."..sReason)
в остальных местах по аналогии,
НО для гага ипа (так как ник не известен) это:
Код
Core.SendToAll("<HAPPY> "..user.sNick.." заглушил IP ("..IP..") на"..Ling:TimeToString(iGagTime).."."..sReason)
Автор: Игорь Станиславович 10.2.2010, 19:04
Цитата(alex82 @ 22.3.2009, 3:58)
Название скрипта: GagMe
Версия: 1.01
Версия API: API2
Автор: alex82
Описание: Cкрипт позволяет блокировать функции общения для определённых ников или IP.
Дополнительная информация: При указании времени заглушки необходимо использовать формат, аналогичный используемому в командах временных банов PtokaX.
Для нормальной работы скрипта, он должен стоять выше любых других скриптов, модифицирующих сообщения пользователей.
GagMe_v1.01.rar ( 3.65 килобайт )
: 480 А есть такой на диапазон IP ?
Автор: Игорь Станиславович 16.2.2010, 9:54
Цитата(Игорь Станиславович @ 10.2.2010, 19:04)
А есть такой на диапазон IP ?
Нашёл.
Автор: NoNick 30.9.2010, 10:13
заглушеные юзеры пишут в главный чат используя /me
Автор: Damaks 6.9.2011, 12:44
Через полтора года дополню пост evg.
Причина бана по ip всё ещё не будет записываться в таблицу, она выводится только в момент бана. Нужно ещё три строчки подправить:
Строки 237 и 285
Код
tIPs[IP] = {0,os.time(os.date("*t")),user.sNick}
на
Код
tIPs[IP] = {0,os.time(os.date("*t")),user.sNick,reason}
Строка 274
Код
tIPs[IP] = {iGagTime,os.time(os.date("*t")),user.sNick}
на
Код
tIPs[IP] = {iGagTime,os.time(os.date("*t")),user.sNick,reason}