Привет, чтобы отправлять уведомление пользователю через Бота. тебе нужно:для инвайта в банды и т.п
Гайда нет для чайников, таких как я :(
local effil = require 'effil'
local cfg = {"тут токен", "тут айди чата"}
local ansi_decode={
[128]='\208\130',[129]='\208\131',[130]='\226\128\154',[131]='\209\147',[132]='\226\128\158',[133]='\226\128\166'...
для инвайта в банды и т.пГлавный вопрос, для чего тебе это?
Гайда нет для чайников, таких как я :(Исходник - Гайд - Как сделать управление игрой через Telegram + отправка уведомлений
новый пример, мне лень обновлять тему (юзать его) Хай, я тут поискал и не нашел темы о том, как сделать управление игрой через Telegram и решил сделать сам Позже постараюсь выложить обновленную версию с кнопками(ну когда разберусь:)) Если нашли какой-то баг - отпишите в темеwww.blast.hk
Привет, чтобы отправлять уведомление пользователю через Бота. тебе нужно:для инвайта в банды и т.п
Гайда нет для чайников, таких как я :(
local effil = require 'effil'
local cfg = {"тут токен", "тут айди чата"}
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 threadHandle(runner, url, args, resolve, reject)
local t = runner(url, args)
local r = t:get(0)
while not r do
r = t:get(0)
wait(0)
end
local status = t:status()
if status == 'completed' then
local ok, result = r[1], r[2]
if ok then resolve(result) else reject(result) end
elseif err then
reject(err)
elseif status == 'canceled' then
reject(status)
end
t:cancel(0)
end
function requestRunner()
return effil.thread(function(u, a)
local https = require 'ssl.https'
local ok, result = pcall(https.request, u, a)
if ok then
return {true, result}
else
return {false, result}
end
end)
end
function async_http_request(url, args, resolve, reject)
local runner = requestRunner()
if not reject then reject = function() end end
newTask(function()
threadHandle(runner, url, args, resolve, reject)
end)
end
function encodeUrl(str)
str = str:gsub(' ', '%+')
str = str:gsub('\n', '%%0A')
return AnsiToUtf8(str)
end
function SendTelegramMessage(msg)
msg = msg:gsub('{......}', '')
msg = encodeUrl(msg)
async_http_request('https://api.telegram.org/bot' .. cfg[1] .. '/sendMessage?chat_id=' .. cfg[2] .. '&text='..msg,'', function(result) end)
end
это отправка в тг но никак не то, что ему нужно.Привет, чтобы отправлять уведомление пользователю через Бота. тебе нужно:
1. Зайти в телеграм -> @BotFather -> Написать команду /newbot -> Потом ввести название бота, допустим Test_bot. После чего ниже "Use this token to access the HTTP API:" будет токен, ты его копируешь, потом мы пишем боту @getmyid_bot /start, и он выдаёт ID твоего аккаунта, и чата, копируй ID чата, и переходим в пункт 2.
2. Копируешь это всё в lua файл:
Lua:local effil = require 'effil' local cfg = {"тут токен", "тут айди чата"} 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 threadHandle(runner, url, args, resolve, reject) local t = runner(url, args) local r = t:get(0) while not r do r = t:get(0) wait(0) end local status = t:status() if status == 'completed' then local ok, result = r[1], r[2] if ok then resolve(result) else reject(result) end elseif err then reject(err) elseif status == 'canceled' then reject(status) end t:cancel(0) end function requestRunner() return effil.thread(function(u, a) local https = require 'ssl.https' local ok, result = pcall(https.request, u, a) if ok then return {true, result} else return {false, result} end end) end function async_http_request(url, args, resolve, reject) local runner = requestRunner() if not reject then reject = function() end end newTask(function() threadHandle(runner, url, args, resolve, reject) end) end function encodeUrl(str) str = str:gsub(' ', '%+') str = str:gsub('\n', '%%0A') return AnsiToUtf8(str) end function SendTelegramMessage(msg) msg = msg:gsub('{......}', '') msg = encodeUrl(msg) async_http_request('https://api.telegram.org/bot' .. cfg[1] .. '/sendMessage?chat_id=' .. cfg[2] .. '&text='..msg,'', function(result) end) end
3. Чтобы отправить тестовое сообщение, тебе нужно куда то вставить функцию SendTelegramMessage("test"), и после чего тебе придёт уведомление. Забыл добавить то что нужно указать токен и ID чата в переменную local cfg = {"тут токен", "тут айди чата"}
случайно это не подойдет?это отправка в тг но никак не то, что ему нужно.
Проверено - Исполнитель - [Python/Lua] Скрипты на заказ.
Занимаюсь разработкой скриптов на заказ. Имеется 40+ отзывов от реальных людей. Связь: ЛС форума(смотрю редко), vk, tg.www.blast.hk
elseif text:match('^!sendchat') then
local arg = text:gsub('!sendchat ','',1)
sampSendChat(arg)
end
та там надо переписать код немного под раксамп, если ты просто в раксамп это закинешь оно работать не будетслучайно это не подойдет?
lua:elseif text:match('^!sendchat') then local arg = text:gsub('!sendchat ','',1) sampSendChat(arg) end
за сколько сделаешь, то, что я написал?та там надо переписать код немного под раксамп, если ты просто в раксамп это закинешь оно работать не будет
зачем тут спрашивать, куда нибудь мне напиши там поговоримза сколько сделаешь, то, что я написал?