ディスコードのメッセージ送信をスマホで自動化したら捗った話【Android】

ディスコードってゲーマー用のチャットアプリでしょ?
そんなふうに考えていた時期が私にもありました。

実際、使ってみたら、まぁ便利。 目からウロコ、、、いや、ここはゲーマーらしく『目にドラゴラム』と言っておこう。

会社を出たら家族に「今から家にルーラする!」
子供が塾に着いたら「到着フラグ立てときますね♪」
自宅Wi-Fiにつながったら「結界保護下への帰還完遂確認。」

これらを全部自動化しちゃう。
そんな、便利物語を後世に残すべく、ペンを手に取るのであった。

目次

なんでDiscordなの?LINEじゃダメなん?

家族や友人との連絡ならLINEで十分かも。 実際、「今から帰る」くらいならLINEを開いて送れば30秒もかからない。

仕事が終わるたびに「帰るよ」と送る。

子どもが塾に着いたか気になる。
「あ、送るの忘れてた(・ω<)てへぺろ」なんて日もある。

毎日、毎日、、、まいにち、、、、、、、、

( ;´Д`)いやぁぁぁぁぁー!

もう勝手に送ってよ。

ところがどっこい、LINEは「自動でメッセージを送る」という用途には向かない。 LINEで自動送信をしようと思うとPCの大先生を召喚必至なのだ。

一方、Discordは、最初から「外部からメッセージを送れる仕組み」が用意されている。

難しいことを覚える必要Nothing。

一度設定してしまえば、あとはスマホが「会社を出ました」「塾に到着しました」といったメッセージを、自動で送ってくれる。

ゲーム用チャットアプリだと思っていたDiscordが、今や「通知掲示板」と化している。

できること

Androidアプリ「MacroDroid(マクロドロイド)」を使って、Discordへメッセージを自動送信。

  • 会社を出たら「今から帰る」
  • 子どもが塾に着いたら「塾に到着」
  • 自宅に着いたら「帰宅しました」

こんな通知を、スマホが自動で送ってくれるようになるよ。

動作確認しやすいように、「自宅のWi-Fiに接続したら帰宅メッセージを送る」という例で進めるが、「〇〇したら」いろんな形に変更可能だ。

必要なもの

今回使うものはこれだけ。

  • スマホ:Android
  • アプリ:MacroDroid(無料版でも試せる)
  • アプリ:Discord(無料)

PCは不要!!!!
スマホのみで完結できるよヽ(^o^)丿

MacroDroid – デバイス自動化
Google Playで手に入れよう

Discord – みんな一緒に集まって、喋って、遊ぼう
Google Playで手に入れよう

まずはスマホのDiscordアプリをインストールし、アカウントを作成する。サクッと登録を済ませよう。

Discordのサインアップと登録ガイド

Discord側の設定(メッセージの送り先を作る)

Discordで作成、設定するのは3つ(サーバー・チャンネル・ウェブフック)。

サーバー・チャンネル・ウェブフックとは

用語が難しそうなだけで、とくに難しくない。

  • サーバー :家
    LINEでいうグループみたいなもの。自分一人で住んでもいいし、家族や友人と住む家など自由だ。
  • チャンネル :家の中にある部屋
    家の中に目的に合わせた部屋を作ることができる。通知専用の部屋、ゲーム専用の部屋など好きな部屋割りをしよう。
  • ウェブフック:その部屋専用のFAX
    普通は部屋に入ってから、部屋に手紙(メッセージ)を置く。
    これを外から、この部屋の向けてメッセージを送信できるようにする。
    部屋専用のFAX番号(URL)にメッセージを送ると部屋に入らなくてもメッセージが届くようになるぞ。

「自分だけの家を建てて、通知を入れる部屋を作り、そこにFAXを設置する」 という作業。

家(サーバー)を建てる

スマホのDiscordアプリを開き、画面左側にある 「+(サーバーを追加)」をタップ。 「オリジナルの作成」を選んで、自分だけの家を建てる。(名前は何でもOK!)

部屋(チャンネル)を作る

サーバーを開き、メニューから「チャンネルを作成」を選択。 チャンネル名を入力して、専用の部屋を作る。
チャンネルの種類は「#テキスト」(最初からあるチャンネルをそのまま使ってもOK)

部屋にFAX(ウェブフック)を設置する

⚠️ ここが一番の注意ポイント

ウェブフックの新規作成はスマホアプリからできないため、ここだけスマホのブラウザ(Chromeなど)でDiscordのWeb版を開いてログインしよう。

https://discord.com/login

ブラウザでログインするとアプリに切り替わってしまう場合は、リンクを長押しして「新しいタブで開く」または「シークレット タブで開く」をタップする。

サーバーに移動して、メニューから「サーバー設定」を選択する。

「連携サービス」 ➔  「ウェブフック」  ➔  「新しいウェブフック」ボタン の順に選択する

これで新しいウェブフック(部屋専用FAX)が追加される。

ウェブフックのアイコン・名前を好きなものに変更(そのままでもOK)

チャンネル: メッセージを送信したいチャンネル(部屋)を指定する

アイコン・名前・チャンネルは、後からスマホアプリでも変更可。

ウェブフック URLをコピーする

ウェブフックさえ作ってしまえば、後は スマホアプリからでも可能

サーバーに移動して、メニューから「設定」を選択する。

「連携サービス」 ➔ 「ウェブフック」 ➔ 「作成したウェブフック」の順に選択する

発行された「ウェブフックURLをコピー」をタップするとURLがコピーされる。

このURLが部屋専用のFAX番号になる。

MacroDroid側の設定(送信用FAXを作る)

ここからはメッセージを送る側を作っていくぞ。

毎回、送信用FAXを一から組み立てるのは面倒なので、ここで「Discord送信用FAX」を作っておく。

あとは送りたいメッセージだけ好きに変えて送れるようになるよ。

アクションブロックの新規作成と変数設定

まずは、FAX送信専用の紙から用意するぞ。

  1. MacroDroidのトップ画面から「アクションブロック」を開き、新規作成(+)をタップする。
  2. アクションブロックに好きな名前(例:Discordメッセージ)をつける。
  3. 「入力変数」の新規作成(+)をタップする。
    • 変数名: message
    • 変数の種類: 文字列
アクションブロックの入力変数

アクション(HTTPリクエスト)の追加

いよいよ、送信専用FAXの組み立てに入る。

アクションの「+」ボタンをタップするとアクションの追加が開かれる。
「WEB操作」 「HTTPリクエスト」 を選択して、以下のように設定する。

設定タブ

  • リクエストメソッド: POST
  • URLを入力: 先ほどDiscordでコピーした「ウェブフックURL」をそのまま貼り付ける。
HTTPリクエストの設定

コンテントボディタブ

  • コンテントタイプ(MIMEタイプ): application/json を選択する。
  • コンテントボディを入力:
{"content":"{lv=message}"}
HTTPリクエストのコンテントボディ

これで、

送信専用の紙(入力変数)

家の部屋専用FAX番号(ウェブフックURL)入りの

送信専用FAX(アクションブロック)

完成したぞ。

いよいよ自動送信デビュー!

送信専用のFAXは完成した。 紙もある。

あとは、代わりに送ってくれる人を見つけてくるのだ。

かわいいメイドさんを想像しておこう。

送信のきっかけ(トリガー)を決める

自宅のWi-Fiにつながったら、メッセージ送っといてね

みたいな、〇〇したらのとこ。

  1. MacroDroidのトップ画面から「マクロを追加」を選択する。
  2. マクロに好きな名前をつける。
  3. トリガーの「+」をタップし、「通信」  ➔ 「Wi-Fi接続時」 を選択する。
  4. 自宅のWi-Fiを選択する。

送信のお願い(アクション)をする

あとは、「このFAXを使ってこの手紙を送っといてね」と伝えておくだけだ。

  1. アクションの「+」をタップし、「マクロ」 「アクションブロック」 を選択する。
  2. 先ほど作った Discordメッセージ を選択する。
  3. 変数 message の入力欄が表示されるので、Discordに送信したい文章を入力する。
アクションにアクションブロックを追加

マクロ全体がこのようになっていればOK

帰宅通知マクロの全体

これで全部完成だ。

╰(°▽°)╯ ヤッター

自宅に着くと、かわいいメイドさんが自動でFAX送信しておいてくれるよ

「此度の務めも無事に終え、我が庵へ戻り候。」

送信テストしてみよう

もはや待つ余裕など皆無に候!
今すぐ、この文を『ふぁっくす』にて送られたし!何卒、大至急にござるぅ〜!

マクロのメニューから「アクションを試す」を選択する。
正常ならこれだけでDiscordに指定したメッセージが届くぞ。

マクロのアクションを試す

あとはトリガーを差し替えるだけ

これで「Wi-Fiに繋がったら、指定したメッセージがDiscordに自動で飛ぶ」という仕組みが完成した。

この方法の素晴らしいところは、
一度作ったアクションブロックは一切いじらずに、送信のきっかけ(トリガー)を好きな条件に変えるだけで、別の自動メッセージが量産できる点だ。

  • 会社を出たときに連絡したいなら:
    「Wi-Fi切断(会社のWi-Fi)」したら「今から帰る」とメッセージ
  • バッテリーログを取りたいなら:
    「バッテリー残量(10%以下)」になったら「バッテリー残り僅か」とメッセージ
  • 子供の到着を知りたいなら:
    「ジオフェンス(塾の半径150m)」に入ったら「塾に到着したよ」とメッセージ

好きなメッセージも絵文字も思いのまま!

この仕組みの何より嬉しいところは、日本語の文字化けなども一切なく、自分が送りたいメッセージを100%そのまま送信できる点だ。

もちろん、絵文字だってバッチリ送れる。

🚗 車から降りました!
🏠 帰宅しました!
🚨 バッテリー残量が少なくなっています! [10%]
❤️ 今日もお疲れさまでございました!

通知を受け取る側はiPhoneでもPCでも何でもOK!

このシステムのもう一つの大きな強みは、「通知を受け取る側の端末を選ばない」という点だ。

自動化の仕込み(MacroDroid)自体はAndroidスマホで行うが、Discordさえ入っていれば、受け取る側は何でもいい

  • 家族のiPhone(「今から帰る」の自動連絡をiPhone持ちの家族に送れる)
  • 自分の作業用PC(仕事中にスマホを見なくても、画面の隅でログを確認できる)
  • iPadやタブレット

送る側はAndroidで仕組みをガチっと固め、受け取る側はいつもの端末でスマートに通知を見る。この自由度の高さも、LINEやメールを超えてDiscordを選ぶ大きなメリットだ。

つまずいたポイント

私が実際にハマったのはこの3つ。
同じところで時間を溶かさないように、先に書いておく。

  • Webhookはアプリから作れない
    スマホのDiscordアプリだけで完結させようとして、最初どこを探してもWebhookの新規作成ボタンが見つからなかった。結論、Webhookの「作成」だけはブラウザ版(PC版サイト表示)でないとできない。URLのコピーはアプリからでもできるので、作成の瞬間だけブラウザに切り替えれば十分。
  • {“content”:”{lv=message}”} の書き方
    変数の埋め込み方を間違えたりすると、Discordが無反応になる。{lv=message}でアクションブロックの入力変数を差し込む、という書式さえ覚えてしまえば、あとはコピペで使い回せる。
  • 通知が来ないと思ったらDiscordアプリが開きっぱなしだった
    テスト中、何度送っても通知が来なくて焦ったが、原因はDiscordアプリが開きっぱなしにしていたこと。アプリを開いている間はプッシュ通知が抑制される。アプリを閉じた状態で試したら、あっさり通知が来た。

これで、帰宅通知でも、見守り通知でも、バッテリーログでも、スマホが勝手に報告してくれるようになった。

一度仕組みを作ってしまえば、あとは「何をきっかけに」「何を送るか」を変えるだけ。

今日もどこかで健気にFAXしてくれるメイドさんを愛でていこう。

コメントする


目次