名称未設定-25

TradingView WebhookアラートをGoogleAppsScript経由でDiscordに投稿する。

前置き

こんにちは。たんさんです。

前回の記事で、TradingViewのWebhookアラートを使ったbitFlyer自動売買BOTを制作しました。↓

しかし、よく考えてみると、GASシリーズ第1弾のこの記事↓

これを最新版にアップデートできるなと思い至ったので、早速スクリプト(めっちゃシンプル!!)を書き、記事化することにしました。


前提条件

この記事は全文無料で読めます。(有料設定は投げ銭用です)
しかし、TradingViewのWebhookアラートを使用するにはTradingViewの有料会員登録が必要ですので、その点はご理解ください。

↓TradingViewの有料登録はこちらから(アフィリエイトリンクです)


仕様(ざっくり)

TradingView → Google Apps Script → Discord

画像1


準備

・TradingView有料会員になる
・Googleアカウントを取得


Google Apps Scriptの設定①

⭐️Google Driveにアクセス

⭐️+新規をクリック

画像2

⭐️その他 > Google Apps Scriptをクリック

画像3

Google Apps Scirptがない場合+アプリを追加をクリック

※Google Apps Scriptを検索し+接続をクリック
(下の画像は接続済のため ★評価する になっています)
その後、上記画像の方法でGoogle Apps Scriptを開く

画像4

⭐️無題のプロジェクトをクリックし、任意の名前(ここでは「tradingview_alert_discord」)を入力

画像5

⭐️以下のコードを貼り付け

//=========================================================
// ↓入力部分↓
//=========================================================
// Discord Webhook URL
DISCORD_WEBHOOK_URL = "Discord Webhook URLを入力";

//=========================================================
// ↓コード本体↓
//=========================================================
function doPost(p){
 var message = p.postData.contents;
 var payload = JSON.stringify({content: message});
 var params = {
   headers: {
     'Content-Type': 'application/json'
   },
   method: "POST",
   payload: payload,
   muteHttpExceptions: true
 };
 try {
   var response = UrlFetchApp.fetch(DISCORD_WEBHOOK_URL, params);
   Logger.log(response.getContentText());
 }
 catch(e){
   Logger.log(e);
 }
}

※以下の部分に、アラートを送るDiscordチャンネルのWebhook URLを入力します

DISCORD_WEBHOOK_URL = "Discord Webhook URLを入力";


Discord Webhook URLの取得

⭐️アラートを送るDiscordチャンネルの歯車マーク⚙をクリック
(Webhook URLを取得するためには、チャンネルのWebhook URLを取得する権限が付与されている必要があります)

画像6

⭐️ウェブフック > ウェブフックを作成をクリック

画像7

⭐️ウェブフックURLの右側 Copyをクリックし、保存をクリック

画像8


Google Apps Scriptの設定②

⭐️コピーしたWebhook URLを下記画像右側の赤丸部分に貼りつけし、
ファイル > 保存をクリック

画像9

URLを貼り付ける際は以下のようにお願いします。
「"」や「;」を間違って消さないように注意してください。
DISCORD_WEBHOOK_URL = "https://discordapp.com/aaaabbbbccccddddeeee";

⭐️公開 > ウェブアプリケーションとして導入をクリック

画像10

・プロジェクトバージョン:New
・次のユーザーとしてアプリケーションを実行:自分
・アプリケーションにアクセスできるユーザー:全員(匿名ユーザーを含む)
⭐️以上になっていることを確認し導入をクリック

画像11

⭐️許可を確認をクリック

画像12

⭐️自分のGoogleアカウントをクリック

画像13

⭐️詳細をクリック
⭐️tradingview_alert_discord(安全ではないページ)に移動をクリック

画像14

⭐️許可をクリック

画像15

⭐️現在のウェブアプリケーションのURLをコピーしてOKをクリック
(このURLをTradingViewのWebhookアラート部分に貼りつけます)

画像16

※今後スクリプトをアップデートする際はファイル > 保存で保存後、
公開 > ウェブアプリケーションとして導入でプロジェクトバージョンをNewにし更新する必要があります。

画像17


TradingViewの設定

TradingViewからテストアラートを送ってみます。

⭐️Webhook URLのチェックボックスにチェックを入れ、先ほどコピーしたURLをペースト
⭐️メッセージにDiscordに送りたいメッセージを入力
(@everyoneなどのメンションや、絵文字の使用も可能です)

画像18

本番アラートも上記部分に気をつけて設定してもらえれば大丈夫です。

※Discord側に送られたメッセージを確認してみましょう。

画像19

先ほどメッセージ部分に記載した内容がそのまま送られています。


終わりに

いかがでしたでしょうか?

TradingViewがWebhook URLに対応したことで、最初のGAS記事に比べると格段にシンブルなシステムになったかと思います!

ちなみに、前回のアラートは1分ごとにTradingViewのアラートの有無を確認していたため、TradingViewのアラート後、Discordにメッセージが届くまで最大で1分弱の遅延がありました。

しかし、新しいシステムでは安定的に数秒以内の遅延しか起こりません。

そのため新しいシステムは、設定が簡単な上に速度も早い、一石二鳥なシステムになりました。

簡単に設定できますので、是非一度試していただければと思います!



以上です。お付き合いいただきありがとうございました。

有用でしたら是非投げ銭として、記事の購入をよろしくお願いします!!
(有料部分は投げ銭用なので何もありません。)


ここから先は

1字

¥ 2,000

サポートしていただいたお金は全てがん闘病生活の資金に充てさせて頂きます。 BTC: 3679CqD4SnZtTgeMTVPjCefCMkrHu3nmjb