Приветствуем вас на форуме проекта WoW Circle. Если вы читаете это, значит не зарегистрировались у нас. Для того, чтобы получить доступ к расширенным возможностям нашего форума нажмите сюда и пройди регистрацию, которая не займет у вас много времени. После регистрации будут доступны новые, более расширенные, возможности.
ИЩУ Антиспам\блокировку для чата

Упомянутые в теме пользователи:

Показано с 1 по 9 из 9

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Активист Аватар для crab141
    Регистрация
    31.08.2013
    Сообщений
    46
    Поблагодарил(а)
    5
    Получено благодарностей: 9 (сообщений: 3).
    Репутация: 9

    Question ИЩУ Антиспам\блокировку для чата

    нафорум.jpg

    Доброго времени суток, друзья! :)
    Думаю все заметили что в последнее время очень часто стали приходить рекламы от голдселеров и т.д.

    ищу аддон который:
    1) перед приходом сообщения в лс проверяет есть ли запрещенные слова (к примеру, vk.com\продажа\руб и т.п.)
    2) да - блокирует и не позволяет сообщению прийти \ нет - пропускает сообщение

    Увидел что некий дримлолз пишет аддоны.. так что если такого аддона нету, то вот идея для создания нового :)

  2. #2
    Абориген Аватар для Foximys
    Регистрация
    22.10.2012
    Сообщений
    1,987
    Поблагодарил(а)
    54
    Получено благодарностей: 342 (сообщений: 296).
    Репутация: 342
    1) была такая тема тут где то
    2) badboy spam чего то там, был аддон для таких дел.

  3. #3
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,201
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от crab141 Посмотреть сообщение
    нафорум.jpg

    Доброго времени суток, друзья! :)
    Думаю все заметили что в последнее время очень часто стали приходить рекламы от голдселеров и т.д.

    ищу аддон который:
    1) перед приходом сообщения в лс проверяет есть ли запрещенные слова (к примеру, vk.com\продажа\руб и т.п.)
    2) да - блокирует и не позволяет сообщению прийти \ нет - пропускает сообщение

    Увидел что некий дримлолз пишет аддоны.. так что если такого аддона нету, то вот идея для создания нового :)
    Фрейма , на фрейму ивент CHAT_MSG_ , аргумент с сообщением прогоняешь через через итератор по string.find(msg, tbl[i]) , где tbl[i] массив с запрещенными в употребление фразами. В случае совпадения используем string.gsub и уничтожаем второй аргумент ивента.

  4. #4
    Старожил Аватар для Wbtest2
    Регистрация
    21.02.2015
    Адрес
    Minsk
    Сообщений
    180
    Поблагодарил(а)
    46
    Получено благодарностей: 114 (сообщений: 60).
    Репутация: 114
    Цитата Сообщение от decemberx Посмотреть сообщение
    не получается уничтожить/изменить, через string.gsub или даже просто строку во втором агрументе.

    там вроде через функцию ChatFrame_AddMessageEventFilter и еще какойта hook нада мутить
    Как то так:

    Скрытый текст


    PHP код:
    local Limit 5;
    local Filter_List = {
    --[
    "запрещенное слово"] =  вес (если вес >= Limit блок сообщения)
        [
    "продам"]            =    3,
        [
    "голд"]            =    3,
        [
    "cheges.ru"]        =    5,
    }

    local function MSG_Filter(selfeventmessagesender, ...)
        if 
    sender == GetUnitName("player"falsethen return end;
        
    local Temp 0;
        for 
    KeyValue in pairs(Filter_List) do
            if 
    message:lower():find(Keythen Temp Temp Valueend;
        
    end;
        
        if 
    Temp >= Limit then return trueend;
    end;
    ChatFrame_AddMessageEventFilter("CHAT_MSG_CHANNEL",    MSG_Filter);
    ChatFrame_AddMessageEventFilter("CHAT_MSG_WHISPER",    MSG_Filter);
    ChatFrame_AddMessageEventFilter("CHAT_MSG_YELL",     MSG_Filter); 
    [свернуть]
    Последний раз редактировалось Wbtest2; 29.12.2015 в 19:02.

  5. #5
    Старожил Аватар для Wbtest2
    Регистрация
    21.02.2015
    Адрес
    Minsk
    Сообщений
    180
    Поблагодарил(а)
    46
    Получено благодарностей: 114 (сообщений: 60).
    Репутация: 114
    Цитата Сообщение от decemberx Посмотреть сообщение
    зачем локальный фрейм Core и эвенты на нем, если не юзаешь их?
    Забыл убрать, думал поначалу через эвент )

    Цитата Сообщение от decemberx Посмотреть сообщение
    зачем в функции MSG_Filter - return false, message, sender, ..., если и без этого работает?
    та не зачем))
    Цитата Сообщение от decemberx Посмотреть сообщение
    почему локальные Limit и Filter_List не внутри функции?
    а зачем держать массив внутри функции.
    Цитата Сообщение от decemberx Посмотреть сообщение
    и если напишут: "продам багровое колье за 5 голд срооочна нехватает пачиница", ты не увидишь?)
    это всеголиш пример, заполняй чем угодно и выставляй свои веса )
    Последний раз редактировалось Wbtest2; 29.12.2015 в 19:15.

  6. #6
    Старожил Аватар для alexdubovyck
    Регистрация
    24.04.2014
    Сообщений
    193
    Поблагодарил(а)
    178
    Получено благодарностей: 71 (сообщений: 41).
    Репутация: 71
    DreamlØlz помоги-ка с tbl[i] tbl[i] string.find string.gsub. Приведи примеры использования. Давай вместе сделаем примитивный простенький аддон для блокировки. Лучше свой понятный, чем массивный непонятный сложный чужой. Нашей индивидуальной задачей будет ручное заполнение черного списка ignorelisttext. Можно даже для разный серверов своё
    (local realmname = GetRealmName()
    if realmname == "WoW Circle 3.3.5a x25" then ...
    )

    Я решил для себя написать подобную вещь, вот что на выходе:
    PHP код:
    CreateFrame("Frame","ignorelist")
    ignorelist:RegisterEvent("CHAT_MSG_SAY")
    ignorelist:RegisterEvent("CHAT_MSG_CHANNEL")
    ignorelist:RegisterEvent("CHAT_MSG_WHISPER")
    ignorelist:SetScript("OnEvent",function(self,event,...)
    local arg={...}
    local ignorelisttext={
    "vk.com/classgold",
    "vk.com/club107236471",
    "ICQ(677-639)",
    "cheges.ru",
    " lol "
    }
    -- %
    u%d%s нужно для чисел,букв,пробелов...и тд
    for i=1,#ignorelisttext do
        
    if string.find(arg[1],ignorelisttext[i],1,"%uds."then
        PlaySoundFile
    ("Sound\\Spells\\PVPWarningHorde.wav")
        
    AddIgnore(arg[2])
        
    end
    end
    end

    2-я проблема: за 2 дня игры мой чс автоматически заполнился, т.к лимит 50 чсеров. Я так понимаю есть аддон на увеличение списка чс.
    Жду ответа от тебя. Мб прочтёшь мою версию, как-то улучшишь, найдешь замечания, поправишь, и научишь пользоваться tbl[i] tbl[i] string.find string.gsub.
    Я думаю что tbl[i] это и есть моё arg[1].
    Я почитал про string.find string.gsub - там довольно сложно сразу так освоить и применить в условиях wow api.

    Например string.find, ищет точную "фразу", а хотелось бы (1 слово) или (словосочетание) из целого предложения.
    Например наша база: local ignorelisttext={куплю,бонусы,скайп ,скидки}
    В чате фраза "3 круг куплю слона 8? скидки -". Он ничего не найдёт(т.к присутсвуют: пробелы,символы неизвестные, и это целое предложние а не 1-но слово),(Чтоб с этим работать я (нашел) %u%d%s (%d digits числа,цифры) (%u upper case letters - большие буквы) (%s space characters пробелы) (%a letters буквы))
    А вот если просто фраза "куплю" то найдёт. Это так работает string.find, а как работает string.gsub пока незнаю.

  7. #7
    Наш человек Аватар для qqS
    Регистрация
    08.06.2012
    Сообщений
    414
    Поблагодарил(а)
    16
    Получено благодарностей: 136 (сообщений: 100).
    Репутация: 134
    Цитата Сообщение от crab141 Посмотреть сообщение
    Доброго времени суток, друзья! :)
    Думаю все заметили что в последнее время очень часто стали приходить рекламы от голдселеров и т.д.

    ищу аддон который:
    1) перед приходом сообщения в лс проверяет есть ли запрещенные слова (к примеру, vk.com\продажа\руб и т.п.)
    2) да - блокирует и не позволяет сообщению прийти \ нет - пропускает сообщение
    Увидел что некий дримлолз пишет аддоны.. так что если такого аддона нету, то вот идея для создания нового :)
    ну вообще очень напоминает MrtWoo. Не помню настраивает ли он блокировку конкретных каналов - у меня чистит и репортит по всем, от лс до лфг.
    игровой чс не используется - поэтому 1. он никогда не переполнится 2. чтобы выкинуть из чс придется лезть в конфиг файл аддона.
    каждому слову можно назначит свой "вес", и определить "вес" сообщения при котором идет его блокировка.
    как пример:
    порог блокировки = 90.
    вес слов: вар - 45, продам - 45
    "продам вара" - блокирует, "продам мозг" - не блокирует,

    Можно настроить как жестко: указать конкретные сервера/скайпы/вк за которые будет блокировка.
    Можно поступить более гибко - выбрать 3-4 слова, которые всегда встречаются в подобных сообщениях, и назначить им такой вес, чтобы их сумма превышала порог блокировки. но случайное употребление 1-2 слов в фразе пропускалось нормально. (этот вариант более предпочтителен, т.к. "благодаря" циркулевскому якобы антиспаму - барыги начали вставлять в сервера/вк/тдтп всякие кружочки квадратики, ну и за счет универсальности не приходится каждую неделю пополнять базу блокируемых слов новыми днищересурсами. Но есть риск кривой настройки - и в чс будут попадать вполне безобидные фразы, а за репорты на них будут заходить с другого аккаунта и бомбить тебе в лс "ты такой сякой, как ты посмел меня зарепортить, я тебя по ип вычислю")

    выложу как пример конфиг файла своего аддона - там и ключевые слова с их весом, и примеры заблоченных сообщений


    Код:

    Скрытый текст

    MrtWooDB = { ["profileKeys"] = { }, ["profiles"] = { ["Default"] = { ["modules"] = { ["as_spamrate"] = 70, ["as_blocklist"] = { ["gdfjrrhegewg"] = { ["reason"] = "{круг}ШМОТКИ С ЛК ЗА ПОЛЦЕНЫ{КРУГ}Темная скорбь(300 руб),Любая вещь (150 руб)/маунты(100 руб)/Золото(1к=80коп).Скайп Goldmen322 или группа http://vk.com/club91913726", ["player"] = "Gdfjrrhegewg", ["time"] = 18968.664, ["lifetime"] = 86400, }, ["gsrever"] = { ["reason"] = "{Круг}Продажа Вещей из личного кабинета,Персонажей,Дс =4 руб(1000 ЗОЛОТА=от 40 коп) Более 400 отзывов Skype = adre{звезда}nalino5 сайт vk.com/wowcir{звезда}clewmz", ["player"] = "Gsrever", ["time"] = 167449.554, ["lifetime"] = 86400, }, ["фулычапр"] = { ["reason"] = "River/Rise.ru САЙТ ПИШЕТСЯ БЕЗ / 3 реалма (x4,x100easy,x150hard) на x4 FREE перенос! уникальная работоспобность сервера! x100 боссы ослаблены на 99%", ["player"] = "Фулычапр", ["time"] = 24433.127, ["lifetime"] = 86400, }, ["wowgoldstore"] = { ["lifetime"] = 86400, ["player"] = "Wowgoldstore", ["time"] = 26140.136, ["reason"] = "ЗОЛОТО, 1000 голд 1.r.u.b! ДР.САРОНИТ 1ШТ 3p Магазин http://wow{квадрат}goldstore.ru Более 900 отзывов! Skype krab{квадрат}apala Доставка почтой", }, ["призматик"] = { ["lifetime"] = 86400, ["player"] = "Призматик", ["time"] = 22859.992, ["reason"] = "Продам вара 6840 пве,6100 танк 6550 пвп в лк за минималку!", }, ["camerun"] = { ["lifetime"] = 86400, ["player"] = "Camerun", ["time"] = 35275.297, ["reason"] = "продам дк за минималку", }, ["ффбвамврот"] = { ["reason"] = " Ассириус нету тут ничего хорошего потому что будет так: Милый купи тигра милый дай голд милый одень меня милый дай сокетов милый гоу цлк", ["player"] = "Ффбвамврот", ["time"] = 64371.65, ["lifetime"] = 86400, }, ["hgfkmjrt"] = { ["lifetime"] = 86400, ["player"] = "Hgfkmjrt", ["time"] = 33033.817, ["reason"] = "{круг}ШМОТКИ С ЛК ЗА ПОЛЦЕНЫ{КРУГ}Темная скорбь(300 руб),Любая вещь (150 руб)/маунты(100 руб)/Золото(1к=80коп).Скайп Goldmen322 или группа http://vk.com/club91913726", }, ["рарни"] = { ["lifetime"] = 86400, ["player"] = "Рарни", ["time"] = 26002.901, ["reason"] = "River/Rise.ru САЙТ ПИШЕТСЯ БЕЗ / 3 реалма (x4,x100easy,x150hard) на x4 FREE перенос! уникальная работоспобность сервера! x100 боссы ослаблены на 99%", }, ["kasperski"] = { ["reason"] = "Розыгрыши в вк.Голд(80коп-1к).Продажа персов/золота за реал/STEAMвещи,500 отзывов,НУЖНЫ ПРОДАВЦЫ ЗОЛОТА С ХОРОШИМ КАПИТАЛОМ https://vk.com/big_store", ["player"] = "Kasperski", ["time"] = 41084.578, ["lifetime"] = 86400, }, ["vsekyply"] = { ["lifetime"] = 86400, ["player"] = "Vsekyply", ["time"] = 62510.537, ["reason"] = "Розыгрыши в вк.Голд(75коп-1к).Продажа персов за реал/STEAM вещи,более 450 отзывов,часть с скринами.Объявления о Вашей продаже https://vk.com/big_store", }, ["pitchfork"] = { ["reason"] = "Продам вара 6840 пве ,6100 прото в лк за минималку", ["player"] = "Pitchfork", ["time"] = 26349.18, ["lifetime"] = 86400, }, ["xronoss"] = { ["lifetime"] = 86400, ["player"] = "Xronoss", ["time"] = 125655.266, ["reason"] = "хиЛ РЕЙГАЙ ИНСТ ОБРАНДОМ ПЛЗ умоляю", }, ["лупина"] = { ["lifetime"] = 86400, ["player"] = "Лупина", ["time"] = 22670.574, ["reason"] = "дайте голды плиз", }, ["dasdade"] = { ["reason"] = "Розыгрыши в вк.Голд(80коп-1к).Продажа персов за реал/STEAM вещи,более 350 отзывов,часть с скринами.Объявления о Вашей продаже https://vk.com/big_store", ["player"] = "Dasdade", ["time"] = 25428.095, ["lifetime"] = 86400, }, ["whiteteacher"] = { ["lifetime"] = 86400, ["player"] = "Whiteteacher", ["time"] = 18393.608, ["reason"] = "Пацаны дайте голды на птичку обучиться", }, ["lordrubidium"] = { ["reason"] = "{крест}ШМОТКИ С ЛК ЗА ПОЛЦЕНЫ{крест}Темная скорбь(400руб)Любая вещь(250руб.)Маунты(150руб.)Золото(1=80коп.)Skype: Goldenmen233 или https://vk.com/wowandgold", ["player"] = "Lordrubidium", ["time"] = 19864.173, ["lifetime"] = 86400, }, ["kanaalberona"] = { ["reason"] = " Розыгрыш золота,20 победителей. Акция1000000голд=300р. Продажа персов(1000голд-40коп)ДС-3руб, Купим за Голд вещи с игр СТИМА http://vk.com/buy_circle Skype-BuyCircle", ["player"] = "Kanaalberona", ["time"] = 43919.461, ["lifetime"] = 86400, }, }, ["as_silent"] = false, ["as_s_check_whisper"] = true, ["core_checknew"] = false, ["as_report"] = true, ["as_filters"] = { ["продажа золота"] = 80, ["shop_wowcirc|e"] = 80, ["rozalia"] = 80, ["куплю чара"] = 99, ["голд"] = 30, ["кошелек"] = 50, ["wowcirclemoney"] = 80, ["продам персонажа"] = 99, ["прода акк"] = 81, ["wow fire"] = 80, ["уплю перса"] = 50, ["родам шамана"] = 81, ["https://vk.com/arcticwow"] = 80, ["еняю паладина"] = 81, ["******-store.ru"] = 99, ["pvpbank"] = 50, ["http://ms-wow.ru"] = 80, ["перса"] = 30, ["wowgear.biz"] = 80, ["http://vk.com/buy_circle"] = 80, ["unreal-wow.biz"] = 80, ["еняю лока"] = 81, ["куплю персов"] = 99, ["родаю акк"] = 81, ["розалия2"] = 80, ["продажа персонажей"] = 83, ["StormÑraft"] = 80, ["Stasdasdft"] = 80, ["одолжите"] = 30, ["www.ridges.ru"] = 80, ["чара"] = 30, ["webmoney"] = 80, ["родам паладина"] = 81, ["еняю друида"] = 81, ["родам охотника"] = 81, ["родам золо"] = 81, ["продам/куплю"] = 80, ["дайте голд"] = 83, ["еняю шамана"] = 81, ["одетого"] = 30, ["родам вара"] = 81, ["кошельк"] = 50, ["http://wowgear.biz"] = 80, ["не хватает"] = 30, ["реалм"] = 40, ["продам голд"] = 80, ["куплю"] = 30, ["qiwi"] = 80, ["умаляю"] = 80, ["продам чара"] = 99, ["рублей"] = 30, ["https://vk.com/club74192694"] = 80, ["stormcraft.su"] = 80, ["розыгрыш"] = 80, ["https://vk.com/blesser12"] = 80, ["дота 2"] = 35, ["занижен"] = 40, ["еняю дк"] = 81, ["плис"] = 30, ["дай голд"] = 83, ["куплю чаров"] = 99, ["ятупой"] = 80, ["плиз"] = 30, ["старт 80"] = 80, ["еняю приста"] = 81, ["умоляю"] = 80, ["куплю персонажа"] = 99, ["еняю охотника"] = 81, ["родаю моне"] = 81, ["продам персов"] = 99, ["misex-wow.ru"] = 80, ["персонажа"] = 30, ["персонажей"] = 30, ["чаров"] = 30, ["прoдаю зoлoтo"] = 80, ["еняю*личк*"] = 81, ["еняю рогу"] = 81, ["www.emerial.biz"] = 80, ["приглашаю на сервер"] = 80, ["родам приста"] = 81, ["анковская карт"] = 50, ["продаю золото"] = 265, ["еняю мага"] = 81, ["родам дк"] = 81, ["плз"] = 30, ["куплю перса"] = 99, ["http://vk.com/club83323758"] = 80, ["родам рогу"] = 81, ["еняю*класс*"] = 81, ["акции"] = 40, ["казино"] = 80, ["прода"] = 30, ["гарантии"] = 40, ["шмот"] = 35, ["skype"] = 80, ["River.Rise.ru"] = 80, ["еняю воина"] = 81, ["vk.com/club"] = 200, ["продам чаров"] = 99, ["родам воина"] = 81, ["isgold.ru"] = 80, ["vk.com/wowcirclewmz"] = 80, ["vk.com/zoloto.company"] = 80, ["дай"] = 30, ["сервер"] = 40, ["подай голд"] = 83, ["родам друида"] = 81, ["родам лока"] = 81, ["гарант"] = 30, ["677-639"] = 80, ["персов"] = 30, ["rozaliagold.ru"] = 80, ["продам перса"] = 99, ["https://vk.com/sweepstaker"] = 281, ["реал"] = 30, ["интерес персонаж"] = 99, ["https://vk.com/wowcircle_secrets"] = 80, ["родам мага"] = 81, ["aleksey_wow"] = 80, }, ["as_spam_additional_checks"] = false, ["as_antiflud"] = false, }
    [свернуть]
    Последний раз редактировалось qqS; 29.12.2015 в 11:04.
    Цитата Сообщение от 2.22 Посмотреть сообщение
    Чаще всего на практике мы это применяем, но редко.
    Цитата Сообщение от pavvvel Посмотреть сообщение
    Да, ДЦ - много-кнопочный спек. Все кто считает иначе - опять же, Дауны.
    Цитата Сообщение от ZaknafeiN Посмотреть сообщение
    в рейде хилы в первую очередь хилят танков, себя и других хилов,

    "Работнички" мастерской. Или откуда же у нас такие прямые фиксы.


    Цитата Сообщение от MrCroW Посмотреть сообщение
    Экзорцизм магия - из-за него на оффе палы собирали 17% меткости для пве. у нас обходятся минимумом. <...> Очередной клоун, давно уже кидал, что палы на оффе набирали 17%. Может меньше, но спеллкап был собран для рейда,
    [свернуть]

  8. #8
    Модератор чата x100 Аватар для g00d_game
    Регистрация
    07.01.2012
    Сообщений
    1,857
    Поблагодарил(а)
    428
    Получено благодарностей: 355 (сообщений: 227).
    Репутация: 1416
    Моя подпись поможет


    Мой новый игровой ник на х100 Imbahilpve


  9. #9
    Старожил Аватар для Wbtest2
    Регистрация
    21.02.2015
    Адрес
    Minsk
    Сообщений
    180
    Поблагодарил(а)
    46
    Получено благодарностей: 114 (сообщений: 60).
    Репутация: 114
    Цитата Сообщение от decemberx Посмотреть сообщение
    еще можно приделать слеш команды, чтоб ими редактировать таблицу с плохими словами, но я пока неумею
    Ну SavedVariables используй:
    в .toc добавь к примеру: ## SavedVariables: MyDB
    ну и в аддоне чтото потипу:
    PHP код:
    local Core CreateFrame("FRAME");
    Core:RegisterEvent("VARIABLES_LOADED");
    Core:SetScript("OnEvent", function()
        if (
    not MyDBthen MyDB= {}; end;  --Первый запускинициализация таблицы
    end
    ); 
    ну и:
    PHP код:
    SlashCmdList['MYSLASH'] = function(msgbox)
        
    local cmdarg string.split(" "msg2);
        if( 
    not msg or msg == "" or string.lower(cmd) == "help" then
            
    print ("Использование:")
            print (
    "    /MS help выводит подсказку");
            print (
    "    /MS list показывает список слов");
            print (
    "    /MS add [слово] добавляет слово");
        elseif 
    string.lower(cmd) == "list" then
            
    print("|cffFF0000Список запрещенных слов:|r");
            for 
    1#MyDB do
                
    print(MyDB[i]);
            
    end;
        elseif 
    string.lower(cmd) == "add" then
            table
    .insert(MyDBarg)
        else 
            return;
        
    end;
    end;
    SLASH_MYSLASH1 '/MS' 
    Ну и потом используй уже массив "MyDB";
    Последний раз редактировалось Wbtest2; 30.12.2015 в 13:58.

  10. 1 пользователь сказал cпасибо Wbtest2 за это полезное сообщение:

    decemberx (30.12.2015)

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 10.01.2015, 06:10
  2. Прошу снять блокировку.
    от Ext_Oo в разделе Обжалование наказаний форумных аккаунтов
    Ответов: 1
    Последнее сообщение: 21.04.2014, 21:52
  3. Прошу снят Блокировку!
    от Xuy в разделе Обжалование наказаний форумных аккаунтов
    Ответов: 1
    Последнее сообщение: 16.08.2013, 14:22
  4. Заявка на блокировку персонажа.
    от 4ay в разделе Корзина
    Ответов: 1
    Последнее сообщение: 25.08.2012, 16:51

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •