メモ:VBAからDiscordにメッセージを送信する
完全に見様見真似のメモ。
ほぼこちらの内容をVBAにしただけ。
webhookのURLを取得
この辺から取得する。
設定 > テーマ > 詳細設定 >開発者モード のチェックが必要かも
当然ながら、自分がサーバー権限持ってないと取得できない。
ただ、簡単にサーバーは建てられるので、試すだけだけなら非常に楽。
メッセージ送信
MSXML2.XMLHTTP
オブジェクトを作ってPOSTするだけ。
失敗した場合は、sendした後にresponseText
にエラーメッセージが入る。
また、openの第三引数varAsync
にTrueを指定しないと、sendで強制停止させられてエラーになる。
Sub SendDiscordMsgSample() Dim msg As String msg = "Hello Discord!!" Const WEBHOOK_URL = ' 上記で取得したURL文字列 Dim xhr As Object 'As MSXML2.XMLHTTP60 Set xhr = VBA.CreateObject("MSXML2.XMLHTTP") With xhr .open "POST", WEBHOOK_URL, True .setRequestHeader "Content-Type", "application/json" .send "{""content"":""" & msg & """}" End With 'xhr End Sub
結果
参考
公式。ちゃんと理解していない。