--AntiChatGuard Bot loaded for greylink --c0ded by: Mr.SkorpioN aka ASPIRIN --ver 0.5 dcpp = {} function dcpp.OnPublicMessage(cid, msg) local key1 = " *** Чтобы иметь возможность писать в чате и приватах БЕЗ РЕГИСТРАЦИИ НА ХАБЕ, напишите ЦИФРАМИ :" if (string.find(string.lower(msg), string.lower(key1)) ~= nil) then local numer = string.sub(msg, string.find(msg, key1)+string.len(key1), string.len(msg)-string.find(msg, key1)+1) DC():PrintDebug("Answer "..GetNumer(numer,nil,nil)) userinfo = DC():GetUserInfo(cid); DC():SendPublicMessage(userinfo.HL, GetNumer(numer,nil,nil)) end return nil end function GetNumer(Mess,srS,erS) Number1 = 0 Number2 = 0 Number3 = 0 US = { [0] = "e", [1] = "o", [2] = "p", [3] = "a", [4] = "c", } RU = { [0] = "е", [1] = "о", [2] = "р", [3] = "а", [4] = "с", } num1 = { [0] = "сто", [1] = "двести", [2] = "триста", [3] = "четыреста", [4] = "пятьсот", [5] = "шестьсот", [6] = "семьсот", [7] = "восемьсот", [8] = "девятьсот", } num2 = { [0] = "двадцать", [1] = "тридцать", [2] = "сорок", [3] = "пятьдесят", [4] = "шестьдесят", [5] = "семьдесят", [6] = "восемьдеят", [7] = "девяносто", } num3 = { [0] = "ноль", [1] = "один", [2] = "два", [3] = "три", [4] = "четыре", [5] = "пять", [6] = "шесть", [7] = "семь", [8] = "восемь", [9] = "девять", [10] = "десять", [11] = "одиннадцать", [12] = "двенадцать", [13] = "тринадцать", [14] = "четырнадцать", [15] = "пятнадцать", [16] = "шестнадцать", [17] = "семнадцать", [18] = "восемнадцать", [19] = "девятнадцать", } --в нижний регистр (а мал0ли) Mess = string.lower(Mess.." ") --к0пим т0льк0 кус0чек с числ0м (м0жн0 отключить если вы уверены чт0 нет п0мех) --local sr = string.find(srS, Mess)+string.len(srS) --local er = string.find(erS, Mess) --Mess = string.sub(Mess, sr, er-sr) --Заменяем английские символы на русские (есть хитрецы которые вставляют английские букофки) for i = 0, 4 do Mess = string.gsub(Mess, US[i], RU[i]) end --определяем числ0 for i = 0, 8 do if (string.find(Mess, " "..num1[i]) ~= nil) then --если нашли т0 Number1 = (i+1) * 100 --п0лучаем цифру -- удаляем эт0 сл0в0 (мал0ли запутаемся) DC():PrintDebug("nm1="..Number1) Mess = string.gsub(Mess, num1[i], "") end end for i = 0, 7 do if (string.find(Mess, " "..num2[i]) ~= nil) then Number2 = (i+2) * 10 DC():PrintDebug("nm2="..Number2) Mess = string.gsub(Mess, num2[i], "") end end for i = 0, 19 do if (string.find(Mess, num3[i]) ~= nil) then Number3 = i DC():PrintDebug("nm3="..Number3) end end --г0т0в0 DC():PrintDebug(Number1 + Number2 + Number3) answr = Number1 + Number2 + Number3 return answr end DC():PrintDebug("* AntiChatGuard Bot loaded") DC():Beep(600,50) DC():Beep(0,50) DC():Beep(800,100) DC():MessageBox('AntiChatGuard Bot loaded!', "AntiChatGuard", "ok", "info")