- 3
- 0
Lua:
script_author('chapo')
script_name('send discord punish')
local checkName = false -- измени на false что бы приходили все наказания (or true) ЕСЛИ true ТО ВВЕДИТЕ НИК АДМИНА ОТ КОТОРОГО БУДУТ ПРИХОДИТЬ НАКАЗАНИЯ
local players = {
'Sam_Mason',
}
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local sampev = require 'lib.samp.events'
local url = 'сюды хук'
local data = {
['username'] = 'Arizona punish mute',
['avatar_url'] = 'https://shapka-youtube.ru/wp-content/uploads/2021/02/prikolnaya-avatarka-dlya-patsanov.jpg',
['content'] = '',
['embeds'] = {
{
['title'] = '',
['description'] = '',
['color'] = 8453970
}
}
}
function isNameInList(name)
for i = 1, #players do
if players[i]:lower() == name:lower() then
return true
end
end
return false
end
function sampev.onServerMessage(color, text)
local PATTERN = 'Администратор (.+)%[(%d+)%] заглушил игрока (.+)%[(%d+)%] на (%d+) минут. Причина: (.+)'
if text:find(PATTERN) then
local adminName, adminId, playerName, playerId, time, reason = text:match(PATTERN)
if checkName == false or isNameInList(playerName) then
data['embeds'][1]['description'] = '**Админ:** `'..adminName..' ['..adminId..']`\n**Игрок:** `'..playerName..' ['..playerId..']`\n**Время:** `'..time..'`\n**Причина:** `'..(reason)..'`'
asyncHttpRequest('POST', url, {headers = {['content-type'] = 'application/json'}, data = u8(encodeJson(data))},
function(r)
print(r.text)
end,
function(r)
print(r)
end)
end
end
end
local effil = require 'effil' -- В начало скрипта
function asyncHttpRequest(method, url, args, resolve, reject)
local request_thread = effil.thread(function (method, url, args)
local requests = require 'requests'
local result, response = pcall(requests.request, method, url, args)
if result then
response.json, response.xml = nil, nil
return true, response
else
return false, response
end
end)(method, url, args)
-- Если запрос без функций обработки ответа и ошибок.
if not resolve then resolve = function() end end
if not reject then reject = function() end end
-- Проверка выполнения потока
lua_thread.create(function()
local runner = request_thread
while true do
local status, err = runner:status()
if not err then
if status == 'completed' then
local result, response = runner:get()
if result then
resolve(response)
else
reject(response)
end
return
elseif status == 'canceled' then
return reject(status)
end
else
return reject(err)
end
wait(0)
end
end)
end