Получение данных с сервера и сохранение в конфиг

Morelli

Новичок
Автор темы
3
0
Версия MoonLoader
Другое
Приветствую)
Сделал веб сервис который парсит список администрации и отображает его на странице, решил автоматизировать обновление списка админов в папке игры
Пытаюсь сделать луа скрипт который будет:
Выполнять API запрос для фетчинга
Ждать определенное время
После получения списка администрации - сохранять всё в текстовый файлик
Но у меня даже сообщение в чат не выводится, с Lua пытаюсь что-то делать впервые и явно что-то делаю не так

Мой говнокод:
local requests = require('requests')
local ffi = require('ffi')

function main()
    pcall(function()
        sampAddChatMessage("[Lua Script] Скрипт начал работу!", -1) -- Уведомление о начале работы скрипта
        
        local url = "https://adm-cae8.onrender.com/scrape" -- URL-адрес для запроса
        
        -- Выполнение запроса
        local response = requests.get(url)
        
        -- Ожидание 15 секунд для получения данных
        local start = os.clock()
        while os.clock() - start < 15 do
            coroutine.yield()
        end
        
        if response.status_code == 200 then -- Успешный запрос
            local data = response.text -- Получение данных из запроса
            saveToFile(data) -- Сохранение данных в файл
            
            pcall(function()
                sampAddChatMessage("[Lua Script] Данные успешно сохранены в output.txt!", -1) -- Уведомление в чате о сохранении данных
            end)
        else -- Ошибка запроса
            pcall(function()
                sampAddChatMessage("[Lua Script] Произошла ошибка при выполнении запроса!", -1) -- Уведомление в чате о ошибке
            end)
        end
    end)
end

function saveToFile(data)
    local path = ffi.string(sampGetWorkingDirectory() .. "\\moonloader\\config\\checker\\output.txt") -- Путь к файлу
    local file = io.open(path, "w") -- Открытие файла для записи данных
    file:write(data) -- Запись данных в файл
    file:close() -- Закрытие файла
end

function sampOnScriptTerminate()
    sampAddChatMessage("[Lua Script] Скрипт завершил работу!", -1) -- Уведомление о завершении работы скрипта
end