LINE Notifyサービス終了
利用している方にはすでに連絡が届いていると思いますが、当ブログのツールでもLINE通知にちょくちょく活用させていただいたLINE Notifyというサービスが2025年3月31日をもってサービス終了となります。
これにより4月以降、当ブログで配布しているLINEで通知する系インジケーターはすべて使えなくなります。
LINE公式では代替としてLINE Messaging APIを勧めているようですが、「個人で自分にだけちょっと通知投げたい」という用途には向かないように感じます。
個人的には、"LINEで"という部分はそこまで重要視しておらず、「なかしらスマホに通知できればいい」くらいの感覚なので、LINEにはこだわりません。
というわけで、以前公開したNotify PluginのLINE通知機能を削除し、代替の通知機能を追加しました。
なお、だいぶ前に公開したLINEにだけ通知送る系の古いインジケーターは4月以降は完全に使えなくなり、更新予定もありません。
「使えなくなると困る!」というものがある場合は言っていただければNotify Pluginの連携インジケーターとして作成しますのでご要望ください。
Notify Plugin
ポジション変動などのイベントや連携インジケーターが出すサインに反応して通知を送るためのプラグインです。
詳しくはこちら。
-
-
通知プラグイン
cTraderで何か起きたら通知したい あけましておめでとうございます (今更)。 今年も本ブログはのんびり更新でいかせていただきます。 さて、ずっと迷走しています通知系ツール。以前こん ...
続きを見る
連携インジケーターはまだほとんどありませんが、要望があり次第、徐々に増やしていく予定です。
今回、新しい通知機能を追加したため、LINE Notifyの代わりとしてDiscordで通知を受ける方法を紹介します。
初期設定
プラグインをインストールし、有効にしたら一度cTraderを終了してください。(もしくは一度pluginを無効化してください)
マイドキュメントのcAlgo->Files->NotifyApiConfigというフォルダ内にDiscord.jsonというファイルができています。
ここにDiscordから取得したWeb hook URL を入れて上書き保存してください。(Web hook URL取得方法については後述)
こんな感じになればOKです。
{
"endpoint": "https://discord.com/api/webhooks/~~~~",
"requestBody": {
"content": "##MSG##",
"username": "cTrader NotifyPlugin"
}
}
あとはcTraderを再起動すればDiscord通知が使えるようになっています。
通知方法に"API"を選択、Optionで"Discord"を選択します。
Discord側設定
Discordは音声・ビデオ・テキストチャットができるコミュニケーションプラットフォームです。
ゲーマー向けボイスチャットのイメージが強いかもしれませんが、普通のチャットができるのはもちろん、Webhookという機能で外部アプリからの通知を受けとる機能も簡単に使えるようになっています。
Nitroという有料プランもありますが、Webhookで通知受け取るだけなら無料プランで十分です。
通知をスマホで確認したい場合はスマホアプリもインストールしておくのをお忘れなく。
Web hook URL発行方法
Discordを使ったことない方はとりあえずトップ画面からサインアップしてアカウントを作成してログインしておいてください。
なお、通知を受け取るためURL発行はPCから行う必要があります。スマホではできませんのでご注意ください。
まずは自分専用のサーバーを作成します。
ログインしたらディスコードマークの下に"+"ボタンがあるので、これを押してサーバーを追加します。
「オリジナルの作成」->「自分と友達のため」
サーバー名は好きなように名付けて、「新規作成」
自分用のサーバーが作成できたらトップ画面のディスコードマークのすぐ下に今作ったサーバーのアイコンが出てきます。
ここを右クリックして「サーバー設定」→「連携サービス」
「ウェブフックを作成」をクリック
「新しいウェブフック」を作ったら「ウェブフックURLをコピー」を押します。
これでクリップボードに自分専用のウェブフックURL、つまりは自分だけに通知を送るためのURLが格納されました。こんな感じの文字列が入ってるはずです。
https://discord.com/api/webhooks/~~~~
これを先ほどのファイルに貼り付けて下さい。
そのほかの方法で通知を受ける
一応DiscordだけではなくAPIで通知するタイプのものは同じような方式であれば対応できるようになってます。
たとえばLINE Messeging APIが設定済みでトークンとユーザーIDがわかっていれば、こんな感じで"Discord.json"と同じフォルダに"LINE.json"とでも名前をつけて設定ファイルを作ってください。(LINE側の設定やトークン、ユーザーID取得方法についてはご自身で調査お願いします。)
{
"endpoint": "https://api.line.me/v2/bot/message/push",
"content-type":"application/json",
"authSchema": "Bearer",
"authToken":"<チャンネルアクセストークン>",
"requestBody": {
"to":"<ユーザーID>",
"messages": [{"type":"text", "text":"##MSG##"}]
}
}
またTelegramでボット用トークンとチャットIDを取得済みの場合はこんな感じの"Telegram.json"を作ってください。(Telegram側の設定はご自身で・・・)
{
"endpoint": "https://api.telegram.org/bot<ボット用トークン>/sendMessage",
"content-type":"application/json",
"requestBody": {
"chat_id":"<チャットID>",
"text":"##MSG##"
}
}
~.jsonファイルを作成してからcTraderを再起動すると、このようにOptionから選べるようになります。
通知だけでなくいろんなことできる・・・?
少しWeb周りの知識がある方はなんとなく気づいてると思いますが、Notify Pluginのこの機能、別に通知専用というわけではなくただPOSTでAPIをたたくだけの機能です。
jsonは独自形式であるものの、上述のLINE.jsonを参考に必要な部分を変更すれば似たような形式のAPIはたたけます。
要はシンプルな認証でPOSTメソッドのAPI実行するだけの機能ならだいたい連携が可能です。
ただしそこまで信頼のできる機能でもないので、発注などに使う場合はあくまで自己責任で慎重にお願いします。
また、もともと通知用途なのであまり頻繁に呼び出そうとすると呼び出し失敗しますので注意して下さい。
外部のAPIと連携するときは、APIの利用規約をよくご確認の上、ご利用下さい。