Help us understand the problem. What is going on with this article?

Siv3DでDiscord Webhookのクライアントを作ってみた話

作ったもの

ソースコードはここです:https://github.com/hota1024/discord-webhook-test-with-opensiv3d

Discord Webhookとは

ゲーマー向けのチャットサービスであるDiscordにはWebhookという機能があります。
Webhookを使うとボットを作らなくてもWebhookのURLにPOSTリクエストを投げることでDiscordのチャットにメッセージを送ることができます。

また例として、GithubとDiscord Webookを連携させることもできます。

git push origin masterした時のスクショ。
参考:https://support.discordapp.com/hc/ja/articles/228383668-タイトル-Webhooksへの序章
スクリーンショット 2019-12-14 20.10.38.png

C++でHTTP

今回C++でHTTP通信を行うためにcurllibを使用しました。

main.cpp
// POSTリクエストを送る例
# include <curl/curl.h>

int main()
{
  // curl の初期化
  CURL *curl;
  curl = curl_easy_init();

  // curl の設定
  curl_easy_setopt(curl, CURLOPT_POST, 1); // メソッドをPOSTに設定
  curl_easy_setopt(curl, CURLOPT_URL, "<URL>"); // URLを設定
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "<POST_DATA>"); // データを設定
  curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, -1L); // データのサイズを指定

  // 送信
  curl_easy_perform(curl);

  // クリーンアップ
  curl_easy_cleanup(curl);

  return 0;
}

今回の詰まった&詰まっているポイント

今回作ったソースコードだと何故かjsonでデータを送ることができませんでした...
下のようなレスポンスが返ってくる...

{
  "message": "Cannot send an empty message",
  "code": 50006
}

感想

もうちょっと頑張ってDiscordのGateway(ボット)のプログラムをC++で書いてみたいなと思いました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away