[VDS] Помогите пожалуйста с дискорд хуком на вдске

Есть вопрос про вдску, на моём локальном серваке хук отправляется прекрасно, но у меня есть запрет, на вдске его нет, и хук не отправляется с ошибкой “403”:

Attempted to create unknown entity type !
NULL Ent in GiveNamedItem!
MEN забанил Themself на 1 минута по причине: reason
ServerLog: [ULX] MEN забанил Themself на 1 минута по причине: reason
L 02/03/2025 - 19:56:33: [ULX] MEN забанил Themself на 1 минута по причине: reason
Ошибка при отправке сообщения в Discord: 403

Прошу прощения если не подробно, я не знаю что ещё написать, я сам даже не имею понятия почему так может быть, может возможно из-за блокировки, либо я чего-то ещё не понимаю, если нужен код я его скину по первому вопросу

но всё идеально работает у меня без ошибок, а на вдске не работает

Что за ошибка 403?

UPD:
Почитал про ошибку 403.

Вроде как это бот не может отправить сообщение т.к у него нет прав.

Проверь роли у бота

UPD:
Дай код Дискорд бота в луа

делаю через хук а не бота, сейчас покажу как

local CATEGORY_NAME = "Utility"
bannedPlayers = bannedPlayers or {}

local DISCORD_WEBHOOK_URL = ""

local function sendDiscordMessage(message)
    http.Post(
        DISCORD_WEBHOOK_URL,
        {content = message},
        function(body, length, headers, code)
            if code ~= 204 then
                print("Ошибка при отправке сообщения в Discord: " .. code)
            end
        end,
        function(message)
            print("Ошибка при отправке сообщения в Discord: " .. message)
        end
    )
end 

if SERVER then
    function ulx.gban(calling_ply, target_ply, time, units, reason)
        local steamID = target_ply:SteamID()
        local multiplier = (units == "минуты" and 60) or 1
        bannedPlayers[steamID] = {endTime = os.time() + time * multiplier, reason = reason}

        target_ply.ignoreChangeTeamBan = true
        
        if RPExtraTeams[TEAM_IZGOY] then
            target_ply:changeTeam(TEAM_IZGOY, true)
        else
            print("Team IZGOY does not exist!")
        end
        
        target_ply.ignoreChangeTeamBan = nil
        
        target_ply:StripWeapons()
        target_ply:SetPos(Vector(2343.034668, 2111.748047, 128.031250))
        target_ply:SetEyeAngles(Angle(-0.990013, -87.890038, 0.000000))
        
        local timeString = units == "минуты" and (time .. " минут(ы)") or (time .. " секунд(ы)")
        ulx.fancyLogAdmin(calling_ply, "#A отправил в бан #T на " .. timeString .. " по причине: #s", target_ply, reason)
        
        local discordMessage = string.format("Игрок %s был забанен на %s по причине: %s", target_ply:Nick(), timeString, reason)
        sendDiscordMessage(discordMessage)
    end
end

local gban = ulx.command(CATEGORY_NAME, "ulx gban", ulx.gban, "!gban")
gban:addParam{type=ULib.cmds.PlayerArg}
gban:addParam{type=ULib.cmds.NumArg, min=0, default=5, hint="time", ULib.cm

можно перекинуть в “делюсь кодом”, но тут есть подвох, надо многое переписать, плюс кидать в ulx/modules/sh

формально да, бот, но для меня бот немного другое, если будут ещё вопросы, задавайте

А ничего что Дискорд заблокировал Агента который использует Gmod(Выделенный сервер)?

Бери инфу от сюда(я про DLL, луа своё можешь делать)

ничего не понял, но спасибо, попробую переписать

переписал, но давно уже не нужно)