Skip to content

Instantly share code, notes, and snippets.

@wingsergey
Forked from Mo45/discord.msg.send.php
Created November 3, 2020 11:39
Show Gist options
  • Save wingsergey/bb90d028bf3ed989386453fc8854924b to your computer and use it in GitHub Desktop.
Save wingsergey/bb90d028bf3ed989386453fc8854924b to your computer and use it in GitHub Desktop.
PHP - Send message to Discord via Webhook
<?php
//=======================================================================================================
// Create new webhook in your Discord channel settings and copy&paste URL
//=======================================================================================================
$webhookurl = "YOUR_WEBHOOK_URL";
//=======================================================================================================
// Compose message. You can use Markdown
// Message Formatting -- https://discordapp.com/developers/docs/reference#message-formatting
//========================================================================================================
$timestamp = date("c", strtotime("now"));
$json_data = json_encode([
// Message
"content" => "Hello World! This is message line ;) And here is the mention, use userID <@12341234123412341>",
// Username
"username" => "krasin.space",
// Avatar URL.
// Uncoment to replace image set in webhook
//"avatar_url" => "https://ru.gravatar.com/userimage/28503754/1168e2bddca84fec2a63addb348c571d.jpg?size=512",
// Text-to-speech
"tts" => false,
// File upload
// "file" => "",
// Embeds Array
"embeds" => [
[
// Embed Title
"title" => "PHP - Send message to Discord (embeds) via Webhook",
// Embed Type
"type" => "rich",
// Embed Description
"description" => "Description will be here, someday, you can mention users here also by calling userID <@12341234123412341>",
// URL of title link
"url" => "https://gist.github.com/Mo45/cb0813cb8a6ebcd6524f6a36d4f8862c",
// Timestamp of embed must be formatted as ISO8601
"timestamp" => $timestamp,
// Embed left border color in HEX
"color" => hexdec( "3366ff" ),
// Footer
"footer" => [
"text" => "GitHub.com/Mo45",
"icon_url" => "https://ru.gravatar.com/userimage/28503754/1168e2bddca84fec2a63addb348c571d.jpg?size=375"
],
// Image to send
"image" => [
"url" => "https://ru.gravatar.com/userimage/28503754/1168e2bddca84fec2a63addb348c571d.jpg?size=600"
],
// Thumbnail
//"thumbnail" => [
// "url" => "https://ru.gravatar.com/userimage/28503754/1168e2bddca84fec2a63addb348c571d.jpg?size=400"
//],
// Author
"author" => [
"name" => "krasin.space",
"url" => "https://krasin.space/"
],
// Additional Fields array
"fields" => [
// Field 1
[
"name" => "Field #1 Name",
"value" => "Field #1 Value",
"inline" => false
],
// Field 2
[
"name" => "Field #2 Name",
"value" => "Field #2 Value",
"inline" => true
]
// Etc..
]
]
]
], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE );
$ch = curl_init( $webhookurl );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $json_data);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec( $ch );
// If you need to debug, or find out why you can't send message uncomment line below, and execute script.
// echo $response;
curl_close( $ch );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment