ご近所さんと簡単に連絡が取りたかったんです…
このツールを思いついたきっかけは、ご近所トラブルからでした。
住んでいるマンションの部屋の並びが
[私][Aさん][Bさん]
という並びなんですが、この真ん中のAさんが10月に引っ越してきてから、ヘビースモーカーでも臭いと言う位の強烈なタバコ臭が部屋に侵入したり、深夜~明け方にかけてマイクで喋っているような声が響く日々・・。
同じ状況だったBさんから昨年末にお手紙をもらってから、手紙でお互いの状況や管理会社・大家とのやり取り内容を共有しているのですが・・・・
毎回手書きでお手紙を書くのはシンドイ!!
サクっと手間をかけずに情報交換したい!でもなるべく連絡先等の情報は公開したくない・・・という思いからLINE Botを使って 強引に メッセージを交換するツールを作成しました。
使用ツール
- LINEmessagingAPI
- GoogleAppsScript
処理イメージ
ちなみに、他の人から動画が届くと、下の図の黄色マーカー部分のような表示になります。
処理の流れ
作成方法
LINE側の準備
こちらの公式マニュアルを参考に、LINE Developersにログインし、チャネルの作成とBotの作成を行ってください。
Messaging APIを始めよう
ボットを作成する
プログラム
GoogleAppsScriptに以下プログラムを書いていきます。
const CHANNEL_ACCESS_TOKEN = "チャネルアクセストークン";
function doPost(e) {
handleMessage(e);
}
function handleMessage(e) {
const replyToken = JSON.parse(e.postData.contents).events[0].replyToken;
const lineType = JSON.parse(e.postData.contents).events[0].type
if (typeof replyToken === "undefined" || lineType === "follow") {
return;
}
let userMessage = JSON.parse(e.postData.contents).events[0].message.text;
return push(userMessage);
}
//実際にメッセージを送信。
function push(text) {
const url = "https://api.line.me/v2/bot/message/broadcast";
const headers = {
"Content-Type" : "application/json; charset=UTF-8",
'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
};
let postData = {
"messages" : [
{
'type':'text',
'text':text,
}
]
};
let options = {
"method" : "post",
"headers" : headers,
"payload" : JSON.stringify(postData)
};
return UrlFetchApp.fetch(url, options);
}
今回自分のアカウントを知られたくないという事なので、オウム返しのLINE Botを参考にして、全員にメッセージを送るブロードキャストメッセージを使ってBotを登録している人全員にオウム返しされるようにしました。
アカウント名を伏せるため、受信するメッセージはすべてBotからのメッセージになります。
その後
連絡を取りたかったBさんがLINEを使わない人だったので、使わずに終了・・・・。
それもあったので、Qiitaに記念投稿しました。
ちなみに、強烈タバコ臭と夜間騒音は、管理会社は何もしない(というか他人事状態)。その代わり、情報を知った大家がお怒りモードで動いている感じです。