Maak een Discord-webhook, bouw de JSON-payload (content, username, avatar_url, embeds) met live tekenlimieten en kopieer kant-en-klare code voor curl, JavaScript en Python.
Een Discord-webhook is een geheime URL die aan één kanaal gekoppeld is. Stuur met POST een JSON-body met content (tot 2000 tekens), embeds (tot 10) of allebei, en het bericht verschijnt in dat kanaal onder de naam van de webhook. Er is geen bot of login nodig, en daarom kan ook iedereen die de URL heeft berichten plaatsen.
De velden van Execute Webhook die u het meest gebruikt
Veld
Type
Opmerkingen
Berichttekst, tot 2000 tekens
Overschrijft de naam van de webhook voor dit bericht
Overschrijft de avatar van de webhook voor dit bericht
Tot 10 rijke embed-objecten
Beperkt welke @mentions echt een melding geven
thread_id (query)
Plaatst in een thread binnen het kanaal
wait (query)
true retourneert het aangemaakte bericht in plaats van 204
Webhooks zijn de snelste manier om meldingen, formulierinzendingen of deploy-berichten in een Discord-kanaal te krijgen. De builder hieronder schrijft de JSON voor u, telt tijdens het typen tekens af tegen de limieten van Discord en zet het resultaat om in curl, JavaScript en Python die u in een script of server kunt plakken. Zelf verstuurt hij niets, dus uw webhook-URL verlaat uw machine nooit.
Maak in de instellingen van uw Discord-server een webhook aan voor het kanaal waarin u wilt posten.
Kies het kanaal, stel een naam en avatar in en kopieer dan de webhook-URL.
Vul de builder hieronder in en kopieer de gegenereerde code.
Voer die uit vanuit een terminal of uw server, met de URL in een omgevingsvariabele.
Behandel de URL als een wachtwoord. Bewaar hem in een omgevingsvariabele en houd hem uit front-endcode en openbare repositories.
Als een URL uitlekt, verwijder die webhook dan in de instellingen van uw server en maak een nieuwe aan; de oude URL werkt dan niet meer.
Zet allowed_mentions op { "parse": [] } als de content invoer van gebruikers bevat, zodat niemand @everyone kan activeren.
Voeg ?wait=true toe als u het bericht-id terug nodig hebt, bijvoorbeeld om het later te bewerken of te verwijderen.
De embedkleur is een decimaal geheel getal, dus de hexkleur 4F98FB wordt verstuurd als 5216507.
Veelgestelde vragen
Hoe krijg ik een Discord-webhook-URL?
U hebt de machtiging Webhooks beheren nodig op de server of het kanaal. Maak in de instellingen van uw Discord-server een webhook aan voor het kanaal en kopieer de URL.
Waarom geeft mijn webhook 400 Bad Request terug?
Meestal is de body leeg of ongeldig. U moet minstens een van content, embeds, components, een bestand of een poll sturen, en content mag maximaal 2000 tekens lang zijn. Stuur ook de header Content-Type: application/json mee, anders wordt de body niet als JSON gelezen.
Kan ik een Discord-webhook vanuit de browser aanroepen?
Doe dat niet. Elke pagina die dat doet toont de URL aan elke bezoeker, die dan alles in uw kanaal kan plaatsen. Verstuur vanaf een server, een serverless functie of een script, en laat uw pagina dat aanroepen.
Wat zijn de limieten voor embeds?
Discord documenteert een titel van maximaal 256 tekens, veldwaarden tot 1024 tekens en een gezamenlijk totaal van 6000 tekens over titel, beschrijving, veldnamen en waarden, footertekst en auteursnaam in alle embeds van één bericht.
Kan een webhook berichten lezen of gebruikers antwoorden?
Nee. Een webhook kan alleen posten (en zijn eigen berichten bewerken of verwijderen). Kanalen lezen, op commando's reageren of mensen antwoorden vereist een bot-applicatie.
Wat de URL bevat
Een webhook-URL eindigt op twee delen: het webhook-id en het bijbehorende token. Het token is de enige inloggegeven, daarom merkt de documentatie van Discord op dat het uitvoeren van een webhook geen andere authenticatie nodig heeft. Iedereen met de volledige URL heeft dezelfde macht als u.
Content, embeds of allebei
Gewone content past bij korte meldingen en ondersteunt de markdown van Discord. Embeds geven u een gekleurde zijbalk, een titel met link, velden in kolommen en een footer, wat beter leest voor gestructureerde data zoals een bestelling of een foutrapport.
U kunt beide in één aanroep sturen. De content verschijnt boven de embeds, en allowed_mentions bepaalt of namen erin mensen echt een melding geven.
Versturen in grote aantallen
Als u te snel verstuurt, antwoordt Discord met status 429 en een JSON-waarde retry_after in seconden. Respecteer die en zet berichten in een wachtrij, in plaats van in een strakke lus opnieuw te proberen. Meerdere gebeurtenissen combineren in één bericht met meerdere embeds vermindert ook het aantal aanroepen.
Kant-en-klare requests
curl: een gewoon bericht
De URL wordt uit een omgevingsvariabele gelezen zodat hij nooit in uw shellgeschiedenis of een commit belandt.
Node.js: een embed met velden
Gebruikt de ingebouwde fetch van Node 18 en later. Met wait=true retourneert Discord het bericht zodat u het id kunt loggen.
Python met requests
json= stelt de Content-Type-header voor u in. Status 204 betekent dat het bericht geplaatst is.
Payload-builder voor Discord-webhooks
Typ uw bericht en embed, houd de tekenaantallen in de gaten en kopieer de JSON of code. Vanaf deze pagina wordt niets verstuurd.
Berichtinhoud
Andere gebruikersnaam
Andere avatar-URL
Een embed toevoegen
Titel van de embed
Beschrijving van de embed
Kleur van de embed
Footertekst
Alle mentions blokkeren (allowed_mentions parse: [])