telegram api 301

Vespan

loneliness
Автор темы
Проверенный
2,141
1,797
Версия MoonLoader
.026-beta
не могу отправить сообщение в тг боту
Lua:
r = requests.post('https://api.telegram.org/bot<TOKEN>/sendMessage?chat_id=<ID>&text=!')
r.text вовразает
HTML:
<html>

<head><title>301 Moved Permanently</title></head>

<body>

<center><h1>301 Moved Permanently</h1></center>

<hr><center>nginx/1.18.0</center>

</body>

</html>
есть эту url ссылку вставлю в браузер то сообщение будет отправлено
токен бота актуален и user id
как решить?
 

Lance_Sterling

Известный
995
355
Не варик?
Код:
chat_id = '' -- чат ID юзера
token = '' -- токен бота
function encodeUrl(str)
    str = str:gsub(' ', '%+')
    str = str:gsub('\n', '%%0A')
    return u8:encode(str, 'CP1251')
end
function async_http_request(url, args, resolve, reject)
    local runner = requestRunner()
    if not reject then reject = function() end end
    lua_thread.create(function()
        threadHandle(runner, url, args, resolve, reject)
    end)
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 encodeUrl(str)
    str = str:gsub(' ', '%+')
    str = str:gsub('\n', '%%0A')
    return u8:encode(str, 'CP1251')
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 sendTelegramMessage(msg) -- функция для отправки сообщения юзеру
    msg = msg:gsub('{......}', '') --тут типо убираем цвет
    msg = encodeUrl(msg) -- ну тут мы закодируем строку
    -- wt2:run()
    async_http_request('https://api.telegram.org/bot' .. token .. '/sendMessage?chat_id=' .. chat_id .. '&text='..msg,'', function(result) end) -- а тут уже отправка
end
 
  • Эм
Реакции: Vespan

Vespan

loneliness
Автор темы
Проверенный
2,141
1,797
Не варик?
Код:
chat_id = '' -- чат ID юзера
token = '' -- токен бота
function encodeUrl(str)
    str = str:gsub(' ', '%+')
    str = str:gsub('\n', '%%0A')
    return u8:encode(str, 'CP1251')
end
function async_http_request(url, args, resolve, reject)
    local runner = requestRunner()
    if not reject then reject = function() end end
    lua_thread.create(function()
        threadHandle(runner, url, args, resolve, reject)
    end)
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 encodeUrl(str)
    str = str:gsub(' ', '%+')
    str = str:gsub('\n', '%%0A')
    return u8:encode(str, 'CP1251')
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 sendTelegramMessage(msg) -- функция для отправки сообщения юзеру
    msg = msg:gsub('{......}', '') --тут типо убираем цвет
    msg = encodeUrl(msg) -- ну тут мы закодируем строку
    -- wt2:run()
    async_http_request('https://api.telegram.org/bot' .. token .. '/sendMessage?chat_id=' .. chat_id .. '&text='..msg,'', function(result) end) -- а тут уже отправка
end
Оно работает но не хочу.
 
  • Ха-ха
Реакции: Lance_Sterling

Vespan

loneliness
Автор темы
Проверенный
2,141
1,797
Скорее всего дело в пост запросе, переделай под get
Делал, и через функцию астнхро хттп - тоже самое.

Такого не было, но после того как вчера переустановил виндовс то чет вот такая проблема появилась..

Нашел решение
requests не принимает почему то httpS ссылки, убрал S и все заработало..
хотя такого не было раньше
 
Последнее редактирование: