Menu

Jak odeslat zprávu na discord přes PHP

29. 8. 2018 - Daniel Bulant - PHP tutoriály
Jak odeslat zprávu na discord přes PHP

Ať už chcete mít na webu něco jako knihu návštěv, vlastní zprávy či cokoliv jiného, můžete použít discord. Pro odeslání zprávy lze jednoduše použít PHP funkci cURL, která odešle požadavek, neboli payload na discord server, resp. webhook.

A jak ho tedy udělat? 

Nejdříve, jako první si vytvoříme HTML formulář. Potřebujeme v něm mít samotnou zprávu, i když pak můžete přidat například jméno.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Discord tutorial</title>
</head>
<body>
<form method="get" action="discord.php">
<input type="text" name="name" value="" placeholder="nick">
<input type="text" name="msg" value="" placeholder="zpráva">
<input type="submit" name="" value="odeslat">
</form>
</body>
</html>

Takhle jednoduše může vypadat formulář. V tomto tutoriálu nám nejde o styl, nýbrž o samotné PHP.

PHP kód se dá též udělat celkem jednoduše. Nejdříve si přidáme proměnné:

if(isset($_GET["msg"])){
$msg = $_GET["msg"];
} else {
$msg = "Missing GET parameter: msg";
}
if(isset($_GET["name"])){
$name = $_GET["name"];
} else {
$name = "Web";
}
if(isset($_GET["avatar"])){
$avatar = $_GET["avatar"];
} else {
$avatar = "http://thetutorials.tk/docs/wp-content/uploads/2018/08/photo-3.jpg";
}
if(!empty($_GET["tts"])){
$tts = true;
} else {
$tts = false;
}

To by byly proměnné. Teď potřebujeme webhook URL, které získáme z nastavení kanálu. Klikněte pravým tlačítkem myši, vyberte nastavení a tam vyberte WEBHOOK. Zde už stačí webhook vytvořit a zkopírovat jeho URL.

Když ho máte, stačí ho vložit do další proměnné:


$webhookurl = "";

To by bylo asi všechno. Nyní nám stačí do PHP přidat samotný příkaz na payload přes cURL. Tady máme náš "finální" kód:

<?php

$webhookurl = "váš webhook";

if(isset($_GET["msg"])){
$msg = $_GET["msg"];
} else {
$msg = "Missing GET parameter: msg";
}
if(isset($_GET["name"])){
$name = $_GET["name"];
} else {
$name = "Web";
}
if(isset($_GET["avatar"])){
$avatar = $_GET["avatar"];
} else {
$avatar = "http://thetutorials.tk/docs/wp-content/uploads/2018/08/photo-3.jpg";
}
if(!empty($_GET["tts"])){
$tts = true;
} else {
$tts = false;
}
$json_data = array ('content'=>"$msg",'username'=>"$name",'avatar_url'=>"$avatar",'tts'=>$tts);
$make_json = json_encode($json_data);
$ch = curl_init( $webhookurl );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $make_json);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec( $ch );
$json_data["response"] = $response;
echo json_encode($json_data);
?>

Pro tento tutoriál to stačí. Zatím. Zde je odkaz na video, které jsem natočil. Pokud chcete s něčím poradit, neváhejte se na mě obrátit v komentářích. 

Prosím, povol YouTube cookies aby jsme ti mohli přehrát toto video. Potřebujeme to kvůli GDPR.

YouTube privacy policy

Pokud je povolíte tlačítkem dole, nastavení se uloží a stránka se znovu načte.

Napsat komentář