みなさん、去年の年末はどのように過ごされましたか?私は紅白歌合戦を見たりしながら、毎年変わらない年末年始を過ごしました。
昨年、2018年の紅白歌合戦は視聴率が40%の大台に乗ったらしく、他の番組を押しのけてのさすがNHKという形になったのではないでしょうか?
さて、昨年の紅白歌合戦で、私はアーティストの出演情報などをDiscordに垂れ流しておりました。その方法等をまとめておき、来年必要があればまた再実装しようと思います。
注意事項
この記事に記載されている内容を実行し、発生したいかなる問題について当サイト管理者は一切責任を負いません。自己責任でお願いします。
目次
使うもの
- Android端末
- IFTTT
- PHPの動作するWebサーバ
- DiscordBot、もしくはWebhook
ざっくりとしたフローチャート
やり方
- NHK紅白アプリをインストール。
NHK紅白 - Google Play - NHK紅白アプリを起動し、全アーティストの通知設定をオン
- IFTTTをインストール
初期設定を済ませてください。省略します。 - IFTTTで、以下のようにAppletを作成
IfAndroid Device -> Notification received
thenWebhooks -> Make a web request
(Notification received from specific appでもいいかもです。未検証。) - 必要項目を入力
URLに設置しようとしているサーバのPHPファイルURLを入力
MethodはPOST
Content Typeはapplication/json
Bodyには{"appname":"AppName","message":"NotificationMessage"}
と入力。AppNameとNotificationMessageはAdd Ingredientから。 - Saveをタップして保存。
- 先程指定したURLに対応する場所に、ifttt.php - GitHub Gistをダウンロード。保存・アップロード
備考
- Discordでのメッセージ送信にDiscordでのメッセージ送信についてで公開しているプログラムを使っています。
- Discord Embedの作成に、DiscordEmbed.class.phpを使っています。
- 実行する前に、BotのトークンとチャンネルのIDを入力・設定してください。
- Discordへの送信にWebhookを利用する場合は、必要に応じて書き換えてください。
- PHPプログラムはかなり簡素なものになっています。本来であればアクセス元の確認や内容の確認等を行うべきです。
- Android端末での設定で、IFTTTが通知を確認できるように設定をして下さい。またNHK紅白アプリが通知を送信できるように設定をして下さい。
- NHK紅白公式でWebhookを実装してほしいです…絶対需要あります…。
- この記事に記載された内容を利用して発生したいかなる問題について執筆者は一切の責任を負いません。