PythonとTweepyで簡単なTwitter BOTを作る

2017-01-09

Twitter BOT を自作するという例は山ほどあります.

言語も PHP や Ruby, Java など様々ですが,今回は Python で書いていきます.

使ったもの

  • Anaconda3 64bit:仮想環境管理,パッケージ管理など
  • Python 2.7.12
  • Tweepy:Twitter API の利用

Anaconda は入れておくと割と便利なので使ってますが,必須環境ではありません.

Tweepy は pip などを使って,インストールしておきます.

terminal

$ pip install tweepy

Tweepy

パッケージを使うと楽なので,今回は Tweepy を使います.他にも python-twitter などがあります.

これを使えば,面倒な OAuth での認証も簡単にできるので便利ですし,用意された様々な関数を使って簡単に BOT の機能を作り上げることができます.

Twitter Apps

Twitter Application Management で予め BOT に利用するアプリを登録しておきます.現在は電話番号で認証したアカウントしかアプリを作ることができません.

アプリを登録したら,後で使う Consumer Key, Consumer Secret, Access Token, Access Token Secret を取得しておきます.これらの値は Key and Access Tokens のタブで発行,確認できます.

BOT の構築

今回は,陳腐ですがタイムラインに呟く機能を実装してみます.

# -*- coding: utf-8 -*-

import tweepy

#認証
consumer_key = 'XXXXXXXXXXXXXXXXXXXXXXXXX'
consumer_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
access_token = 'XXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
access_token_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)

api.update_status('テスト')

最後の一行だけで呟くことができます.

試しに実行してみます.

terminal

$ python bot.py

ちゃんと呟けてます.これを自動で呟かせるためには,外部のサーバに上げなければなりません.Heroku など PaaS を使うと楽です.

最後に

API を使いこなせば何でもできます.

でも,調子に乗ってテストしまくっていると API を使い果たして 15 分間何もできなかったり,最悪凍結されたりするのでご注意を.