Версия для печати темы
MyDC.ru _ Помощь по скриптам для PtokaX _ Антимат
Автор: Drakula 15.11.2009, 15:59
Нашёл отличный антимат, вот тока 1 проблема, нельзя добавлять слова исключения. Выкидываю скрипт добавьте плиз.
Автор: Setuper 15.11.2009, 18:52
И что же в этом скрипте отличного? Думаю на форуме можно и получше найти)
Автор: Drakula 15.11.2009, 20:15
Я воспользовался поиском на сайте (+внизу пишутся похожие темы), нашёл все темы с антиматом, но не нашёл я скрипта где бы заменялся сам мат а не всё предложение. Если я пропустил какую не будь тему то киньте ссылку, но походу все темы просмотрел, но лучше бы добавить всё таки то, что я попросил. Зарание сенк.
Автор: Panda 7.2.2010, 17:40
Хороший скрипт, вот только никто не подскажет, что нужно туда добавить, что бы писать слова исключения не требующие проверки?
Дело встало за словом Дебиан, соответственно скрипт "Д" и "ан" оставляет а три буквы между ними заменяет.
PS возможно еще какие слова появятся
Автор: Wariner 7.2.2010, 20:23
попробуйте что то в этом роде
Код
local sBot = "БОТанег" -- Имя бота
local bRegBot = true -- Регистрировать бота на хабе true-1/nil-0
local sReplWord = " [Здесь был: Мат] " -- Cлово для замены
local tProfiles = { -- пользователи чьи слова нужно фильтровать
[0] = 1, -- [Master]
[1] = 1, -- [OP]
[2] = 1, -- [VIP]
[3] = 1, -- [Reg]
[-1] = 1, -- [UnReg]
}
local tMask = {
["[хХxX][yYуУеЕeE][йЙеЕeEёЁяЯюЮиИuUpPрР]"] = {},
["[пП][иИеЕeE][дД][оОoO0eEеЕaAаА][pPрР]"] = {},
["[пП][иИеЕeE][дД][pPрР][иИ][лЛ]"] = {},
["[пП][иИеЕeE][дД][оОoO0eEеЕaAаА][pPрР][ЫыАа]"] = {},
["[пП][иИеЕeEёЁuU][зЗ3][дД]"] = {},
["[зЗ3][aAаА][eEеЕёЁяЯиИuU][бБ6]"] = {},
["[eEеЕёЁяЯ][бБ6][иИ]"] = {
"дебиан",
},
["[eEеЕёЁяЯ][бБ6][aAаА][нНHpPрРтТTлЛшШ]"] = {},
["[бБ6][лЛ][яЯ]"] = {},
["[Гг][аАоО0][НнHh][дДтТ][Оо0][HhНн]"] = {},
["[cCсС][yYуУ][kKкК][aAаА]"] = {},
["[СсCc][YyУу][Чч4][AaАа][РрPp][АаЫыУу]"] = {},
["[МмMm][yYуУ][дДdD][аАaA]"] = {},
["[МмMm][yYуУ][дДdD][иИuU][лЛ]"] = {},
["[МмMm][yYуУ][дДdD][OoОо][Зз]"] = {},
}
function OnStartup()
if bRegBot == 1 then
Core.RegBot(sBot,"","",true)
end
end
function ChatArrival(tUser, sData)
if tProfiles[tUser.iProfile] == 1 then
for i,v in pairs(tMask) do
if sData:match(i) and Ext(sData, v) then
sData = sData:gsub(i, sReplWord)
Core.SendToAll(sData)
return true
end
end
end
end
function Ext(sData, tTable)
for i in ipairs(tTable) do
if sData:match(tTable[i]) then
return nil
end
end
return true
end
Автор: Артём 8.2.2010, 10:19
Цитата(Wariner @ 7.2.2010, 19:23)
попробуйте что то в этом роде
Код
\птока 4.1.2\scripts\Antimat.lua:2: unexpected symbol near 'local'
\птока 4.1.2\scripts\Antimat.lua:3: unexpected symbol near 'local'
Автор: Setuper 8.2.2010, 12:45
убери запятые в конце первых двух строк
Автор: Артём 8.2.2010, 12:56
не одна так другая...
Код
scripts\Antimat.lua:13: ']' expected near '='
Автор: Setuper 8.2.2010, 13:24
посмотри внимательно на различия между 12 и 13 строками и попробуй сам исправить
Автор: Артём 8.2.2010, 14:02
исправил одно, выдало другое
Код
Antimat.lua:40: attempt to call method 'Match' (a nil value)
Автор: Setuper 8.2.2010, 14:19
нет такого метода Match, есть только match
Автор: Артём 8.2.2010, 15:00
Setuper
спасибо, но теперь он ругается на
Код
sData = sData:gsub(i, sRepWord)
Antimat.lua:41: bad argument #2 to 'gsub' (string/function/table expected)
Автор: Setuper 8.2.2010, 15:05
sReplWord вместо sRepWord
Автор: Артём 8.2.2010, 15:11
Setuper спасибо заработал, правда он заменяет только один мат в предложение, а остальные игнорит.
Автор: Wariner 8.2.2010, 19:28
Подправил все косяки(просто на скорую руку воял) и добавил замены всего мата. пробуем
Автор: Panda 11.2.2010, 20:13
Цитата(Wariner @ 8.2.2010, 20:28)
Подправил все косяки(просто на скорую руку воял) и добавил замены всего мата. пробуем
Во, спасибо, а не подскажешь еще, что надо вписать что бы "гыыыыыыыыыы" (невыжно сколько "ы") менять на слово?
Автор: Артём 11.2.2010, 20:28
в смысли?
Цитата
(невыжно сколько "ы")
Автор: Panda 11.2.2010, 21:31
Цитата(Артём @ 11.2.2010, 21:28)
в смысли?
Ну в чате бывает любят посмеяться: что то типа ололололо, ахахахахахах, гыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы (гыыыыыы) и т.д.
Вот надо вот это "Гыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы" сократить до, хотя бы, "Гыыы"
Автор: Wariner 11.2.2010, 21:36
был такой скрипт у Николя! Не помню как называется! Где то в готовых если найду дам ссылку! ну и сами попробуйте поискать!
Автор: Артём 11.2.2010, 21:43
Вот этот скрипт
NoCaps___v1.2__.lua ( 3.79 килобайт )
: 53
P.S. сори что не ссыль
Автор: Panda 15.2.2010, 19:18
Цитата(Wariner @ 8.2.2010, 20:28)
Подправил все косяки(просто на скорую руку воял) и добавил замены всего мата. пробуем
Спасибо за скрипт, прекрасно работает на Ptokax 0.4.1.1
Но вот проблема то, опы начали жаловаться, что команды хаба не работают на Ptokax 0.4.1.2 , проверил, действительно не работают, та же !help
Отключаю антимат и команды проходят, включаю - команда печатается в чате как обычное сообщение и ни каких действий не происходит
Подправь пожалуйста если сможешь под 0.4.1.2
PS для теста брались два чистых хаба 0.4.1.1 и 0.4.1.2 где использовался один скрипт, на первом работает на втором нет
PPS разобрался, надо было в настройках на опов 0 поставить
Автор: SmolCity 16.9.2010, 13:31
Цитата(Panda @ 15.2.2010, 20:18)
Спасибо за скрипт, прекрасно работает на Ptokax 0.4.1.1
Но вот проблема то, опы начали жаловаться, что команды хаба не работают на Ptokax 0.4.1.2 , проверил, действительно не работают, та же !help
Отключаю антимат и команды проходят, включаю - команда печатается в чате как обычное сообщение и ни каких действий не происходит
Подправь пожалуйста если сможешь под 0.4.1.2
PS для теста брались два чистых хаба 0.4.1.1 и 0.4.1.2 где использовался один скрипт, на первом работает на втором нет
Столкнулся с аналогичной проблемой, в чем засада не понятно.
Цитата(Panda @ 15.2.2010, 20:18)
PPS разобрался, надо было в настройках на опов 0 поставить
Да для опов, помогает, скрипт просто не фильтрует их сообщения, а как быть с пользователями? Если например пользователь хочет набрать ту же !help не понятно.