この記事について

この記事は旧サイトから記事を移動したものです。内容の再編集をしておりませんので古い情報が含まれる場合があります。ご了承ください。

Discordとは?

Discord is a free proprietary VoIP application designed for gaming communities. Discord runs on Microsoft Windows, Mac OS X, Android, iOS, Linux and in a web browser. As of July 2016, the software had been used by over 11 million users.

引用元: https://en.wikipedia.org/wiki/Discord_(software)

いや何でJapanWikipediaにDiscordのページ無いんだよ!!!!
多少ガバガバ翻訳すると

Discordは、ゲームコミュニティの為に作られた無料の独自のVoIPアプリケーションである。
Discordは、Microsoft Windows、Mac OS X、Android、iOS、Linux、そしてウェブブラウザ内で動く。
2016年7月には、1100万人のユーザーによって使用されていた。

ということです。
早い話が、「ゲーム専用の通話チャットサービス」ということで、SkypeやLINEよりもゲームに特化した、チャット・通話が行えるサービスとなっています。
個人的にはSlackのパクリだと思います。UIも色々同じなんだもの…。

Discord API

DiscordのAPIドキュメントはDiscord - Developer Documentationから得られます。
アプリケーションの取得とかについてはGoogle先生を使ってください。今回はphpでメッセージ送信だけを行う方法がGoogle先生にいくら聞いてもわからなかったので書いておくことにします。

メッセージ送信

早速ですが、ソースコードを貼ります。

function DiscordMessageSend($channelid, $message, $embed = null){
    $token = "";
    $data = array(
        "content" => $message,
        "embed" => $embed
    );

    $header = array(
        "Content-Type: application/json",
        "Content-Length: ".strlen(json_encode($data)),
        "Authorization: Bot ".$token,
        "User-Agent: DiscordBot (http://example.com, v0.0.1)"
    );

    $context = array(
        "http" => array(
            "method"  => "POST",
            "header"  => implode("\r\n", $header),
            "content" => json_encode($data)
        )
    );
    $context = stream_context_create($context);
    $contents = file_get_contents("https://discordapp.com/api/channels/".$channelid."/messages", FALSE, $context );
}

//使い方
DiscordMessageSend("1234567890", "test");

※これではBotを対象にしてますが、それ以外で使う場合はAuthorizationのBotを適当な値に書き換えてください。
使うまえに$token = "";の""内にAPP BOT USERのTokenを入力してください。

今回は凄く雑ですが、以上となります。