« Raspberry Piからシリアル通信でArduinoのLEDを光らせる | Main | もしも「ほこ×たて」のセキュリティ対決をヤラセで再現できたら »

2013.05.30

Raspberry PiでTwitter Botを作る

Raspberry Piをボット化してみました。あんまりRaspberry Piライブラリを入れたくなかったのですが、こちらのサイトがPythonの標準ライブラリだけで書いていて素晴らしかったので参考にさせていただいてます。

http://d.hatena.ne.jp/Yoshiori/20100929/1285727199

別にRaspberry Piでなくても、普通のLinuxでも動くわけですが、Raspberry Piならではの意外性のある仕掛けが作れそうです。

まず、下記URLからアプリケーションを登録します。

http://dev.twitter.com/apps/new

Callback URLは空欄のままにしておきます。

登録が完了したら、Setting画面でアクセス権をデフォルトの「Read only」から「Read And Write」に変えます。

Tw1

次に、こちらのURLから一式をRaspberry Piの適当なディレクトリにダウンロードします。

https://gist.github.com/usopyon/5677227

なお、後でTwitterの認証画面をブラウザから開くので、Raspberry PiはSSHでログインしておくのが無難かと思います。

gistから直接展開する場合、こんな感じになります。

$ wget https://gist.github.com/usopyon/5677227/download
$ tar -xvzf download
$ mv gist5677227-cef756bbaafe386e46049e2c3dcd0ed0807913a9 sample

展開できたら、conf.txtにConsumer Keyなどを転記します。Consumer Keyは下記URLから参照できます。

https://dev.twitter.com/apps

で、アクセストークン取得用のシェルを起動。

$ sh twitter_setup.sh

URLが表示されるのでブラウザを起動します。お馴染みの画面ですね。

Tw2

認証ボタンを押すと、7ケタの数字が表示されるはずですので、これをシェルに入力します。もし数字が表れない場合、Callback URLが空欄になっているか確認してください。

Tw3

Twitterで「setup complete」と呟いていたら成功です。

以降は同フォルダに保存されたaccess_token.txtを参照するため

$ python tweet.py "Hello"

で幾らでも呟けるはずです。

くれぐれも誰かさんみたいにaccess_token.txtをGithubにあげちゃうとかしないよう注意してください。

|

« Raspberry Piからシリアル通信でArduinoのLEDを光らせる | Main | もしも「ほこ×たて」のセキュリティ対決をヤラセで再現できたら »

Raspberry Pi」カテゴリの記事