Trocar webhooks do Discord
Troque o link do webhook do Discord nos scripts pelo link do log no FiveDash, sem mudar mais nada no script.
Troque o link do webhook do Discord nos scripts pelo link do log no FiveDash, sem mudar mais nada no script.
A maioria dos scripts de FiveM manda logs para um webhook do Discord. Para trazer esses logs para o FiveDash, você não precisa reescrever nada: o link do log no FiveDash aceita a mesma mensagem que o Discord aceita. Basta trocar um link pelo outro na config do script. Esta página é para quem cuida dos scripts da cidade.
O script mandava para o Discord:
Config.Webhook = "https://discord.com/api/webhooks/1234…/aBcD…"
Agora manda para o log do FiveDash:
Config.Webhook = "https://logs.fivex.sh/api/logs/<id-do-log>/<token>"
O formato do link é sempre https://logs.fivex.sh/api/logs/<id-do-log>/<token>. Copie o link inteiro do painel, sem digitar.
No painel, abra o log na barra lateral (Logs → nome do log), clique em Como mandar e copie o link. Se o log estiver no export, clique em Usar webhook para ver o link.
Abra a config do script (config.lua, shared.lua…) e procure por discord.com/api/webhooks.
Troque esse link pelo link do log certo. O resto do script fica igual.
No console do servidor, rode ensure nome-do-script.
Faça no jogo algo que o script registra, ou clique em Mandar teste em Como mandar. O log aparece na página do log na hora.
O link do log responde como um webhook do Discord. Scripts que montam a mensagem com PerformHttpRequest funcionam sem mudança.
| Content-Type | Como o corpo é lido |
|---|---|
application/json | O corpo é a mensagem do webhook (content, username, embeds). Até 256 KiB. |
multipart/form-data | O campo payload_json (e os campos content e username, se vierem). Os arquivos anexados são contados, mas não são guardados. Até 4 MiB no total. |
application/x-www-form-urlencoded | Os campos payload_json, content e username. |
| Campo do Discord | O que vira no FiveDash | Limite |
|---|---|---|
content | O texto do log (só no primeiro embed). | 2.000 caracteres |
username | O Script que mandou (usado no filtro Script e em Scripts na visão geral). | 80 caracteres |
embeds | Cada embed vira um log separado. | 10 embeds |
embeds[].title | O título do log. Sem título, vale o author.name ou a primeira linha do content. | 256 |
embeds[].description | O texto do log. | 4.096 |
embeds[].fields | Os valores do log, na ordem (name, value, inline). | 25 campos; nome 256, valor 1.024 |
embeds[].color | A cor da faixa do log. | — |
embeds[].author.name | Autor do embed. | 256 |
embeds[].footer.text | Rodapé do embed. | 2.048 |
embeds[].url | Link do embed. | — |
embeds[].image.url / thumbnail.url | Imagem e miniatura do log. | — |
embeds[].timestamp | Hora no embed, mostrada no log. | — |
Outros campos (como avatar_url, tts e componentes) são ignorados.
Além de guardar a mensagem, o FiveDash procura no texto, nos campos e no rodapé:
| O que | Como ele reconhece |
|---|---|
| Passaporte / ID do personagem | Rótulos como Passaporte, user_id, citizenid, ID, Vítima, Assassino seguidos de um número. |
| Conta do Discord | Menções <@123…> e discord:123…. |
| Identificadores | license:, license2:, steam:, fivem:, xbl:, live:. |
| Coordenadas | vector3(x, y, z), x: … y: … z: … ou três números com casas decimais separados por vírgula. |
| Pares de valores | Linhas como **Item:** água, Item: água ou [ITEM]: água. |
Esses dados alimentam a busca, o filtro Jogador e os Jogadores mais ativos.
| Situação | Resposta |
|---|---|
| Log aceito | 204 No Content, como o Discord. |
Log aceito com ?wait=true no link | 200 com a mensagem criada (id, content, embeds…), como o Discord. |
GET no link | 200 com os dados do webhook, como o Discord. |
| Log que não existe ou foi excluído | 404 {"code":10015,"message":"Unknown Webhook"} |
| Token errado (link antigo depois de Gerar novo link) | 401 {"code":50027,"message":"Invalid Webhook Token"} |
| JSON inválido | 400 {"code":50109,…} |
Mensagem vazia (sem content, embeds nem arquivos) | 400 {"code":50006,"message":"Cannot send an empty message"} |
| Corpo grande demais | 413 {"code":40005,"message":"Request entity too large"} |
| Muitos logs por segundo | 429, com Retry-After: 1 |
| Serviço ocupado ou fora | 503, com Retry-After: 1 |
Se você pode editar o script, o export do FiveDash é mais rápido e já lê o passaporte do jogador. Em Como mandar, clique em Usar export e depois em Copiar prompt para IA: cole numa IA junto com o script e ela troca o PerformHttpRequest pela chamada do export. Veja Recurso FiveM.
O log continua aparecendo no Discord? Não. Depois da troca, o script manda só para o FiveDash. Os logs ficam no painel, com busca e filtros.
Troquei o link e nada chegou. O que conferir?
Veja se o link foi colado inteiro, se o script foi reiniciado (ensure nome-do-script) e se o link não é de antes de um Gerar novo link. Em Logs → Visão geral, o bloco Em silêncio mostra os logs que não receberam nada nas últimas 24 h.
Tenho links antigos com o endereço do painel. Eles ainda funcionam? Sim. Links de log que apontam para o painel continuam aceitos. Para scripts novos, use o link que o painel mostra agora.
Os prints que o script mandava junto ficam guardados? Não. O log registra quantos arquivos vieram, mas não guarda os arquivos. Para guardar prints, use a CDN.