これまでのあらすじはこちらから↑
前回はオクトパスエナジーのAPIを叩いて電気代を取得しました。
今回はRailsからLINE Messaging APIを叩いて取得した電気代情報をLINEメッセージにして送ります!
LINE Messaging APIとやり取りするチャネルを作る
コンソールに行きチャネルを作成します
MessagingAPIを選択します。チャネルの情報を入力する必要があるので、入力していきます。
line-bot-sdk-ruby を導入する
gemが用意されているのでこれを使ってやりとりします。
チャネルを自分のLINEに追加する
Messaging API設定に作ったチャネルを追加するためのQRコードが表示されているので、それを使って自分のLINEに登録します。
自分のユーザーIDを確認する
push_messageを利用すればメッセージを送信することができますが、そのためには送り先のユーザーIDが必要になります。LINEのIDとは異なるものです。
これを見ると開発者の画面からユーザーIDを確認できるようでしたが、自分の場合そういう動線はありませんでした。
こちらでも似たような質問があるようなので、ユーザーIDをとることは諦めました。
ブロードキャストメッセージでメッセージを送る
ブロードキャストメッセージ機能があります。他にこのLINEチャネルを友達登録する人が現れると、自分の電気代をさらけ出してしまうことになりますが、まぁこのチャンネルを友だち登録する人が発生するようなことは無いと考えていいでしょう( ˘ω˘)
def send_line_message
message = {
type: 'text',
text: 'hello'
}
client = Line::Bot::Client.new do |config|
config.channel_secret = ENV["LINE_CHANNEL_SECRET"]
config.channel_token = ENV["LINE_CHANNEL_TOKEN"]
end
client.broadcast(message)
end
ブロードキャストメッセージを送るメソッドを作り、 /octopus/index
で呼ぶようにしました。
試しに/octopus/index
にアクセスすると、メソッドが呼ばれ無事メッセージを送信することができました。
メッセージを電気代にする
/octopus/index
のページで表示していた電気代の文字列をメッセージに渡します。
これで電気代をLINEで伝えてくれる仕組みを作ることができました。
RailsからLINEメッセージを送ることができた
今回は、RailsからLINE Messaging APIを叩いてLINEメッセージを送ることができました!
あとは定期的に実行すればいいですね!もう少しです٩( ‘ω’ )و
電気を見直してみませんか?
最後に、オクトパスエナジーの紹介をします!
オクトパスエナジーの電力量料金(1kWhあたりの料金)は、東京電力と比較して安く設定されています!電気代は毎月必ず来るものなので、少しでもオトクなところと契約したいですよね。
電力消費量 | 東京電力 従量電灯B | オクトパスエナジー グリーンオクトパス |
---|---|---|
120kWhまで | 19.88円 | 19.68円 |
120kWh超えて300kWhまで | 26.48円 | 24.35円 |
300kWh超える | 30.57円 | 26.50円 |
さらに、こちらのリンクから契約すると、あなたと私、それぞれに5000円のボーナスが貰えます!一緒にお得になりましょう٩( ‘ω’ )و