NAME = '[GOZHELNIKOV Games Bot]'
package.path = "./scripts/libs/?.lua";
package.cpath = "./scripts/libs/?.dll";
local token = ''
local chatid = ''
local link = ('https://api.telegram.org/bot' .. token .. '/sendMessage?chat_id=' .. chatid .. '&text=' )
local tgbot = require("lua-bot-api").configure(token)
local lanes = require("lanes").configure()
local linda = lanes.linda()
require 'Tasking'
onScriptUpdate = Tasking.tick
local json = require 'cjson'
local effil = require("effil")
local encoding = require("encoding")
encoding.default = 'CP1251'
u8 = encoding.UTF8
local list_auto_opra
local list_accept_forms = {'slap', 'flip', 'freeze', 'unfreeze', 'spplayer', 'sethp', 'weap', 'spcar', 'plveh', 'spcars', 'givegun', 'uval', 'agl', 'acceptadmin'}
local aonline = 0
local afk = 0
local MAKEADMIN_BOT = false
local autoopra = true
local AUTO_OPRA = false
local AUTOACCEPT_FORMS = true
local list_accept_forms = {'slap', 'flip', 'freeze', 'unfreeze', 'spplayer', 'sethp', 'weap', 'spcar', 'plveh', 'spcars', 'givegun', 'uval', 'agl'}
local awarnforma = {'awarn'}
local nrg_give = {'дайте нрг', 'бот дай нрг', 'бот нрг', 'нрг', 'нрг фаст', 'НРГ ФАСТ', 'дай нрг', 'nrg'}
local flip = {"дайте флип", "админы флип", "админы почините", "почините", "бот дай флип", "флипните", "бот флип", "флип", "бот дай флип"}
local infernus = {"дайте тачку", "дай тачку", "дайте инфернус", "дай инфернус", "бот дай тачку", "дайте инфернус"}
local spawn = {"заспавните", "спавн дайте", "админы спавн", "бот спавн", "спавн"}
local ab = {"тп на аб", "тпните на аб", "бот тп на аб", "Бот тп на аб"}
local tpgetto = {"бот тп в гетто", "тп гетто"}
local banklv = {"банк лс", "тп в банк"}
local bankls = {"банк лв", "тп в банк лв", "тп в банк лв"}
local cont = {"тп на конты", "контейнеры", "тп пж на конты"}
local slap = {"бот слап", "слапните", "слап", "slap", "дайте слап", "можно слап"}
local unfreeze = {"унфриз", "унфризните меня", "я завис", "завис", "бот унфриз", "unfreeze"}
local shamal = {"шамал", "бот дай шамал", "бот выдай шамал", "шамал", "shamal", "можно шамал?"}
local uval = {"увольте пж", "увал", "бот уволь меня"}
local maverick = {"маверик", "можно мавер?", "дайте маверик", "maverick"}
local tpaukcr = {"бот тп на аукцион", "тп на аукцион"}
local centralrinok = {"бот тп на центральный рынок", "тп на цр", "бот тп на цр"}
local mute = {"хуеплот", "бот ты даун", "даун", "пидрила", "пидарас", "блядина", "гандон", "рот ебал"}
local ban30day = {"мать ебал", "mq", "сервер говно", "сервер хуета", "мать курва", "мать шалава", "гожельников лох", "переезжаем на:", "переходим на", "сервер закрывается", "переезд"}
local pass_give = {"дай паспорт", "паспорт", "дайте паспорт", "бот дай паспорт"}
local hp = {"вылечите", "дайте хп", "хп", "бот дай хп"}
local gey = {"бот гей?", "ты гей?", "бот а ты гей?", "бот ты гей?"}
local hello = {"[A] Вы успешно авторизовались как Основатель"}
local iznas = {"бот изнасилуешь меня?", "бот изнасилуешь?", "бот изнасилуй меня", "бот трахни меня"}
local umniy = {"ботик ты умный?", "бот ты тупой?", "ты умный?", "бот а ты умный?", "бот ты умный?", "Бот ты умный?", "Бот а ты умный?"}
local adm_plus = {"Eduard_Haunted", "Sambero_Lucanio", "KingBot", "Alexander_Wesley"}
local info = {"Eduard_Haunted", "Sambero_Lucanio", "KingBot", "Alexander_Wesley"}
local adm_captcha = {"Eduard_Haunted", "Sambero_Lucanio", "KingBot", "Alexander_Wesley"}
local ugadai = {"Eduard_Haunted", "Sambero_Lucanio", "KingBot", "Alexander_Wesley"}
local info_konkurs = {"Eduard_Haunted", "Sambero_Lucanio", "KingBot", "Alexander_Wesley"}
local captcha = false
local ansi_decode={
[128]='\208\130',[129]='\208\131',[130]='\226\128\154',[131]='\209\147',[132]='\226\128\158',[133]='\226\128\166',
[134]='\226\128\160',[135]='\226\128\161',[136]='\226\130\172',[137]='\226\128\176',[138]='\208\137',[139]='\226\128\185',
[140]='\208\138',[141]='\208\140',[142]='\208\139',[143]='\208\143',[144]='\209\146',[145]='\226\128\152',
[146]='\226\128\153',[147]='\226\128\156',[148]='\226\128\157',[149]='\226\128\162',[150]='\226\128\147',[151]='\226\128\148',
[152]='\194\152',[153]='\226\132\162',[154]='\209\153',[155]='\226\128\186',[156]='\209\154',[157]='\209\156',
[158]='\209\155',[159]='\209\159',[160]='\194\160',[161]='\209\142',[162]='\209\158',[163]='\208\136',
[164]='\194\164',[165]='\210\144',[166]='\194\166',[167]='\194\167',[168]='\208\129',[169]='\194\169',
[170]='\208\132',[171]='\194\171',[172]='\194\172',[173]='\194\173',[174]='\194\174',[175]='\208\135',
[176]='\194\176',[177]='\194\177',[178]='\208\134',[179]='\209\150',[180]='\210\145',[181]='\194\181',
[182]='\194\182',[183]='\194\183',[184]='\209\145',[185]='\226\132\150',[186]='\209\148',[187]='\194\187',
[188]='\209\152',[189]='\208\133',[190]='\209\149',[191]='\209\151'
}
function AnsiToUtf8(s)
local r, b = ''
for i = 1, s and s:len() or 0 do
b = s:byte(i)
if b < 128 then
r = r..string.char(b)
else
if b > 239 then
r = r..'\209'..string.char(b - 112)
elseif b > 191 then
r = r..'\208'..string.char(b - 48)
elseif ansi_decode[b] then
r = r..ansi_decode[b]
else
r = r..'_'
end
end
end
return r
end
function getIp()
ip = openUrl('https://api.ipify.org/?format=json')
return ip:match('{\"ip\":\"(.*)\"}')
end
function updateThread(token)
local bot, ext = require("lua-bot-api").configure(token)
ext.onTextReceive = function(msg)
linda:send("tg_message_recv", { from = msg.from.id, text = msg.text })
end
ext.run()
end
function onScriptUpdate()
local eventName, eventData = linda:receive(0, "tg_message_recv")
if eventName == "tg_message_recv" then
onTelegramMessage(eventData.from, eventData.text)
end
end
function onScriptStart()
math.randomseed(os.time())
lanes.gen("*", updateThread)(token)
printLog('[GOZHELNIKOV Games Bot]: Скрипт успешно загружен!')
openUrl(AnsiToUtf8(link..'%E2%9C%88 Скрипт успешно загружен'))
end
function isCoordsInArea2d(x, y, ax, ay, bx, by)
if x > ax and x < bx and y < ay and y > by then
return true
end
return false
end
function onServerMessage(msg)
if msg:find(': /mаkeadmin') then
id1, id2 = msg:match(': /mаkeadmin (%d+) (%d+)')
sendInput('/admin133 ' .. id1 .. ' ' .. id2)
sendInput('/a [MAKEADMIN] Админ-права выданы ID: '..id1..'')
end
if msg:find(' бoт слап (.+)') then
id1 = msg:match(' бoт слап (.+)')
sendInput('/slap ' .. id1 .. '')
end
if msg:find(' бoт спавн (.+)') then
id1 = msg:match(' бoт спавн (.+)')
sendInput('/sp ' .. id1 .. '')
end
if msg:find(' бoт акик (.+) (.+)') then
id1, id2 = msg:match(' бoт акик (.+) (.+)')
sendInput('/akick ' .. id1 .. ' ' .. id2)
end
if msg:find(' бoт кик (.+) (.+)') then
id1, id2 = msg:match(' бoт кик (.+) (.+)')
sendInput('/kick ' .. id1 .. ' ' .. id2)
end
if msg:find(' бoт бан (.+) (.+) (.+)') then
id1, id2, id3 = msg:match(' бoт бан (.+) (.+) (.+)')
sendInput('/ban ' .. id1 .. ' ' .. id2 .. ' ' .. id3)
end
if msg:find(' бoт слив (.+)') then
id1, id2, id3 = msg:match(' бoт слив (.+)')
sendInput('/iban ' .. id1 .. ' Слив сервера')
end
if msg:find(' бoт реклама (.+)') then
id1, id2, id3 = msg:match(' бoт реклама (.+)')
sendInput('/iban ' .. id1 .. ' Реклама')
end
if msg:find(' бот mk (.+)') then
id1 = msg:match(' бот mk (.+)')
sendInput('/setstat ' .. id1 .. ' 20 1')
end
if msg:find(' Бот инфо') then
sendInput('/a [ИНФО] форум проекта: ')
sendInput('/a [ИНФО] Сайт Проекта: ')
sendInput('/a [ИНФО] Админ Раздел: ')
sendInput('/a [ИНФО] Правила администрации: ')
sendInput('/a [ИНФО] Группа ВК: ')
sendInput('/a [ИНФО] Админ Тулс: ')
sendInput('/a [ИНФО] Команды бота: /bоthelp')
end
if msg:find(' Бот Инфо') then
sendInput('/a [ИНФО] форум проекта: ')
sendInput('/a [ИНФО] Сайт Проекта: ')
sendInput('/a [ИНФО] Админ Раздел: ')
sendInput('/a [ИНФО] Правила администрации: ')
sendInput('/a [ИНФО] Группа ВК: ')
sendInput('/a [ИНФО] ')
sendInput('/a [ИНФО] Команды бота: /bоthelp')
end
if msg:find(' /bothelp') then
sendInput('/a [Бот mk] Получить доступ к /mk и /checkleaders')
sendInput('/a [Бот инфo] Узнайть информацию о проекте.')
sendInput('/a [Бот реп] Отправить несколько сообщений о большем реопрте.')
sendInput('/a [Бот тулс] Отправить ссылку на Админ тулс.')
sendInput('/a [Бот ацепт (ваш ид)] Выдать ацепт администратору.')
sendInput('/a [бот слап] Слапнуть игрока. {OWNER}')
sendInput('/a [бот кик] Кикнуть игрока с сервера. {OWNER}')
sendInput('/a [бот бан] Заблокировать игрока. {OWNER}')
sendInput('/a [/makeadmin id lvl] Выдать админку игроку ONLINE. {OWNER}')
sendInput('/a [бот акик] Кикнуть администратора с сервера. {OWNER}')
sendInput('/a [бот спавн] Заспавнить игрока. {OWNER}')
sendInput('/a Дополнительная информация - vk.com/del_444')
end
if msg:find(" оставил жалобу/сообщение ") then
sendInput("/a ПРИШЕЛ НОВЫЙ РЕПОРТ, НЕЗАМЕДЛИТЕЛЬНО ВОЗЬМИТЕ ЕГО - /ans ")
sendInput("/a ПРИШЕЛ НОВЫЙ РЕПОРТ, НЕЗАМЕДЛИТЕЛЬНО ВОЗЬМИТЕ ЕГО - /ans ")
sendInput("/a ПРИШЕЛ НОВЫЙ РЕПОРТ, НЕЗАМЕДЛИТЕЛЬНО ВОЗЬМИТЕ ЕГО - /ans ")
end
if msg:find(" Бот реп") then
sendInput("/aa ОТВЕЧАЕМ НА РЕПОРТ! У МЕНЯ ВСЕ В ЛОГАХ, СНИМУ ВСЕХ!! ")
end
if msg:find(" Бот ацепт (%d+)") then
admin_id = msg:match(" Бот ацепт (.+)")
sendInput("/acceptadmin "..admin_id.."")
sendInput("/a [ADMIN-ACCEPT] Выдал подтверждение администратору.")
end
if msg:find(" (.+) авторизовался.") then
nick = msg:match(" (.+) авторизовался.")
sendInput("/a Приветствую "..nick.."! [РАССТОЯНИЕ МЕЖДУ IP ~ 0км].")
end
if msg:find(" (.+) бот ты гей") then
nick = msg:match(" (.+) бот ты гей")
sendInput("/a "..nick.." ты гей, а у меня жена есть! Сочуствую тебе!")
end
if msg:find(" (.+) бот как дела?") then
nick = msg:match(" (.+) бот как дела?")
sendInput("/a "..nick.." у меня все хорошо, а у тебя?")
end
if msg:find(" (.+) бот норма") then
nick = msg:match(" (.+) бот норма")
sendInput("/a "..nick.." 4 часа 40 репортов. / выходные: 5 часов 50 репортов")
end
if msg:find(" (.+) бот рабочий день") then
nick = msg:match(" (.+) бот рабочий день")
sendInput("/a "..nick.." Рабочий день с 09:00 до 21:00 по МСК.")
end
if msg:find(": тулс") then
sendInput("/a Админ тулс - ")
end
if msg:find(": Бот (.+) гей?") then
nick = msg:match(" Бот (.+) гей?")
sendInput("/a Я думаю "..nick.." Все же ГЕЙ!")
end
if msg:find("Внимание! Администратор (.+) отключился от сервера ") then
nick = msg:match("Внимание! Администратор (.+) отключился от сервера ")
sendInput("/a Администратор: "..nick.." отключился, Удачи!")
end
if captcha and msg:match("%[.+%] (.+)%[(%d+)%]%: "..capt.."") then
admin_nick, admin_id, other = msg:match("%[.+%] (.+)%[(%d+)%]%: "..capt)
sendInput("/a Игрок ".. admin_nick .."[".. admin_id .."] первый ввел капчу и получил рубли в количестве: "..priz.."")
sendInput("/a Выйграл игрок под айди ["..admin_id.."]! Поздравляем!")
sendInput("/giverubelka "..admin_id.." "..priz.."")
openUrl(AnsiToUtf8(link..'%E2%9C%A6 Игрок %E2%9D%B1 '..admin_nick..' %E2%9D%B0 выиграл викторину и получил DM в количестве: '..priz..'!'))
captcha = false
end
if captcha and msg:match("%[.+%] (.+)%[(%d+)%]%: "..capt.."") then
admin_nick, admin_id, other = msg:match("%[.+%] (.+)%[(%d+)%]%: "..capt)
sendInput("/a Игрок ".. admin_nick .."[".. admin_id .."] первый угадал цифру и выиграл рубли в количестве: "..priz.."")
sendInput("/a Выйграл игрок под айди ["..admin_id.."]! Поздравляем!")
sendInput("/givedonate "..admin_id.." "..priz.."")
openUrl(AnsiToUtf8(link..'%E2%9C%A6 Игрок %E2%9D%B1 '..admin_nick..' %E2%9D%B0 угадал цифру и выйграл рубли в количестве: '..priz..'!'))
captcha = false
end
if msg:find("Администрация онлайн: %(в сети: (%d+), из них в АФК: NaN%)") then
anline = msg:match("Администрация онлайн: %(в сети: (%d+), из них в АФК: NaN%)")
openUrl(AnsiToUtf8(link..'%F0%9F%91%B7 Всего администраторов в сети: '..anline..'%0A%E2%97%BC Из них в афк: '..afk..''))
end
end
function onTelegramMessage(from, text)
sn = getServerName()
nickname = getNickName()
money = getMoney()
id = getBotId()
ip = getServerAddress()
state = getBotState()
online = getPlayersCount()
if text == "/active" then
openUrl(AnsiToUtf8(link..'[GOZHELNIKOV Games Bot] Активный бот:%0A%0AНик: '..nickname..'%0AСервер: '..sn..'%0AАйди: '..id..'%0AIP Address: '..ip..'%0AСостояние бота: '..state))
elseif text == "/anline" then
sendInput("/admins")
openUrl(AnsiToUtf8(link..'%E2%97%BC Собираю информацию, пожалуйста, подождите...'))
elseif text == "/online" then
openUrl(AnsiToUtf8(link..'%F0%9F%93%88 Онлайн сервера на данный момент: '..online))
elseif text == "/cmd" then
openUrl(AnsiToUtf8(link..'%F0%9F%91%91 Команды бота:%0A%E2%96%B6 /pizda - Дать пиздюлины админам! {NEW}%0A%E2%96%B6 /reports - посмотреть количество репорта%0A%E2%96%B6 /online - посмотреть количество онлайна на данный момент%0A%E2%96%B6 /rec - перезапустить всех ботов%0A%E2%96%B6 /anline - посмотреть количество администраторов%0A%E2%96%B6 /action [запрос] - отправить запрос из Telegram%0A%E2%96%B6 /makeadmin [id] [lvl] - выдать админ права игроку online%0A%E2%96%B6 /captcha - запустить рандомную капчу на предмет%0A%E2%96%B6 /ugadai - викторина "угадай число"'))
elseif text:find("/action (.+)") then
action = text:match("/action (.+)")
sendInput(action)
openUrl(AnsiToUtf8(link..'%E2%9C%85 Успешно выполнен запрос, содержимое запроса: %0A'..action))
elseif text == "/random" then
local rid = math.random(0, getPlayersCount()-1)
local pred = math.random(1, 100)
sendInput("/o Вниманuе! Система рандома решила что игрок под ID ["..rid.."] получает Рубли в количестве: "..pred.."")
sendInput("/giverub "..rid.." "..pred.." ")
sendInput("/o Победитель ID: "..rid.." Колчество DM"..pred.." ")
openUrl(AnsiToUtf8(link..'%E2%9C%85 Успешно выданы DM рандомному игроку!'))
elseif text =="/aa" then
sendInput('/aa ОТВЕЧАЕМ НА РЕПОРТ! У МЕНЯ ВСЕ В ЛОГАХ, ВСЕХ СНИМУ!!')
openUrl(AnsiToUtf8(link..'%E2%9C%85 Успешно выполнен запрос, дал пиздюлей админам!'))
elseif text =="/tools" then
sendInput('/a Админ тулс - ')
openUrl(AnsiToUtf8(link..'%E2%9C%85 Успешно выполнен запрос, скинул админам тулс!'))
elseif text =="/rab" then
sendInput('/aa Делаем МП(/mp), Ставим Лидеров(/mk), Следим за чатом, Следим за Warning!')
openUrl(AnsiToUtf8(link..'%E2%9C%85 Успешно выполнен запрос, подкинуть работы админам!'))
elseif text =="/liderka" then
sendInput('/o Если все лидерки будут заняты сделаем МП На админку 1 - 4 ЛВЛ, - /liderka')
openUrl(AnsiToUtf8(link..'%E2%9C%85 Успешно выполнен запрос, требования /adminka!'))
elseif text:find("/makeadmin (.+)") then
makeadmin = text:match("/makeadmin (.+)")
sendInput(makeadmin)
openUrl(AnsiToUtf8(link..'%E2%9C%85 Успешно выполнен запрос, содержимое запроса: %0A'..makeadmin))
AUTO_OPRA = false
elseif text =="/makeadminoff" then
sendInput('/a [MAKEADMIN] Выдача админ-прав деактивирована.')
openUrl(AnsiToUtf8(link..'%E2%9C%85 Выдача админ-прав игрокам в игре деактивирована.'))
MAKEADMIN_BOT = false
elseif text=="/makeadminon" then
sendInput('/a [MAKEADMIN] Выдача админ-прав активирована.')
openUrl(AnsiToUtf8(link..'%E2%9C%85 Выдача админ прав игрокам в игре активирована.'))
MAKEADMIN_BOT = true
elseif text =="/rec" then
sendInput('/a [INFO] Telegram ограничил использование бота для во избежания слива. ')
openUrl(AnsiToUtf8(link..'%E2%86%A9 Команда выполнена! Бот покинул сервер.'))
reconnect(1)
elseif text == "/captcha" then
cmd = v
capt = math.random(10000, 99999)
priz = math.random(1, 200)
captcha = true
openUrl(AnsiToUtf8(link..'%E2%9D%97 Запуск капчи на рубли успешно выполнен!'))
sendInput("/a МП ДЛЯ АДМИНОВ! Запускаю рандомную капчу на рандомное кол-во DM...")
sendInput("/a Вниманuе! капча "..capt.." | приз: DM в количестве: "..priz.." ! Отправлять исключительно в чат (/a)")
elseif text == "/rubcaptcha" then
cmd = v
capt = math.random(1000000, 99999999999)
priz = math.random(1, 3)
captcha = true
openUrl(AnsiToUtf8(link..'%E2%9D%97 Запуск капчи на рубли успешно выполнен!'))
sendInput("/a МП ДЛЯ АДМИНОВ! Запускаю рандомную капчу на рандомное кол-во рублей...")
sendInput("/a Вниманuе! капча "..capt.." | приз: рубли в количестве: "..priz.." ! Отправлять исключительно в чат (/a)")
elseif text == "/ugadai" then
cmd = v
capt = math.random(1, 50)
priz = math.random(1, 200)
captcha = true
openUrl(AnsiToUtf8(link..'%E2%9D%97 Запуск викторины на рубли успешно выполнен! < TELEGRAM'))
sendInput("/a Без проблем! Запускаю викторину 'угадай цифру' < TELEGRAM...")
sendInput("/a Вниманuе! Отгадай цифру от 1 до 50 | приз: рубли в количестве: "..priz.." ! Отправлять исключительно в VIP чат (/a)")
openUrl(AnsiToUtf8(link..'%E2%9C%A6 Загаданная цифра: '..capt..''))
else
openUrl(AnsiToUtf8(link..'%E2%9D%8E Неизвестная команда%0AВведите: /cmd что бы посмотреть команды'))
end
end
function encodeUrl(str)
str = str:gsub(' ', '%+')
str = str:gsub('\n', '%%0A')
return u8:encode(str, 'CP1251')
end
function onDialogShow(dialogId, dialogStyle, dialogTitle, okButtonText, cancelButtonText, dialogText)
sendDialog(211, 1, 65535, "0")
end
function OnDialogShow(id, style, title, button1, button2, text)
if id == 15330 then
if active then
sampCloseCurrentDialogWithButton(0)
sampSendDialogResponse(id, 0, nil, nil)
else
active = true
end
end
end