SMSでTodoを飛ばせるようにした

自宅で稼働している自慢できるシステムの一つに「Todoモニター」というデジタルサイネージシステムがあります。カンバン方式のTodoサービスであるTrelloと連動してやるべきタスクが大きく表示されます。

Trelloと連動しているので、スマートフォンなどでもタスクを追加することができ、それらのタスクもこのTodoモニターに表示されるので利便性は大幅に上がりました(多分)。

最近では、このTodoリストに誰でも追加できるようにしたいと考えていました。Trelloでは公開設定があるため、公開になっているリストは権限のあるユーザーが追加することができるようになっています。しかし、「誰でも」かつ「タスクを追加する」操作のみ許可して閲覧などは一切できないようにしたかったのです。

誰でも自分にTodoを投げれる方法はないのか、と考えたところ真っ先に思いついた手段はメールを使う手段です。特定のメールアドレスにメールを投げればタスクを追加するという簡単な考えですが、メールは短文の送信には向いていません。よってボツです。次にTwitterのダイレクトメッセージを使った手段を思いつきました。特定の文字列をつけて私にメッセージを送信するとタスクに追加するという手段です。これにも問題があり、Twitterアカウントがないと追加することができません。またイタズラをされる可能性もあります。

もっと手軽な方法は無いのか…と考えたところ、私はSMSを使用した追加手段を考案しました!

%e3%82%b9%e3%82%b1%e3%83%83%e3%83%81-4

特定の電話番号にSMSを投げるとtwilioが受け取ってこれをトリガーにTrelloにPOSTするという単純な処理ですね。

TwilioからTrelloに投げる処理はプログラムを書く必要があるので簡単にphpで書きました。

またこの時点で卑猥な単語などが来た場合はTrelloに投げず、「変な単語ありますよー」というレスポンスを返すようにするということも行っています。この「卑猥な単語」はどこを参考にしたらいいか迷いましたが、ニコニコ生放送で使われている運営NGワード一覧を参考に使用しました。実際はこれに加えて別の単語も追加しています。

巷ではサーバーレスというのが流行っているようですが、phpはどこも対応していないので普通にサーバーでホスティングしています。MicrosoftがAzure functionsというサービスを始めるそうですが、これはphpに対応しているようなので正式にスタートしたら移行してみたいですね。

さて、この時点で読者はお気づきかとは思いますが、SMSは送信料金がかかります。しかもTwilioは日本の電話番号でSMSを送受信することができないのです!そのためアメリカの番号を取得しましたが、これにより送信料金は1通あたり50円もかかってしまうという問題が発生しました。正直、この50円が壁になってイタズラ目的で送信する人が減ると思うので一種のフィルターにもなりつつあります。

そんなわけで、私が緊急のタスクを忘れてヘロヘロと怠けていたら、電話するかこのSMSで喝を飛ばしてください。本当に緊急の時に使ってくださいねいつもはちゃんとタスク処理しているので!

+1 484-851-2089

※プラス記号は0ボタンを長押しすることで入力できます。

※NTTドコモの場合、送信料金として50円かかります。十分にご注意ください。