2018年09月15日

夏の工作 Raspberry Pi (Twitterのメンションに反応して動作する)

Twitterで部屋の環境をつぶやくbotと,留守番猫カメラができたので,これらを組み合わせて,Twitter経由でカメラの制御ができるようにする。

Twitterでbot宛のメンションを監視して,「カメラ」「留守番」等のコマンドを検出したら,特定の動作を行うようにしたい。

メンションにリプライを返すbotはいろいろとネットに情報があって例えば,

参考サイト:TweepyとStreaming APIで自動リプライbotをつくる

などを参考にやってみたのだが,どうも動いたり動かなかったりする。変だな変だなと思っていたら,実はTwitterのAPIの仕様が2018年8月で変更になって,上記で使われているStreaming APIが廃止になってしまったらしい。

代わりにTweepy(pythonのライブラリ)で,api.mentions_timelineを使うことで,自分宛のメンションのタイムラインを取得できる。これをcronで定期的に実行するようにして,自分宛の新しいメンションがあったら,その内容をチェックして,「カメラ」,「留守番」等のキーワードが含まれていたら,所定の動作(留守番カメラの起動,写真撮影など)をするスクリプトを書いた。

参考サイト:[(元)情報学科大学生のブログ] Tweepyを使ってTwitterのbotを作る

cronの実行周期を1分にしているので,botに対して@付きでつぶやいてからレスポンスがあるまで最長1分くらい時間がかかるけれど,瞬時に応答が必要な機能でもないので,特に問題は感じない。




注意点としては,自分宛のメンションのうち,特定のユーザID(自分)からのメンションにだけ反応するようにしておくこと。そうしないと知らない人が留守番猫カメラのON/OFFを制御できたりしてしまう。
タグ:Raspberry_Pi
posted by ソウヘイ at 19:24| Comment(0) | パソコン・インターネット
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: