TwitterBotとは
BotとはRobotが語源になっていて、自動でなんらかの処理をするもののことを指します。Twitterにおいて
- 自動ツイートBot
- 自動いいねBot
- 自動フォローBot
など多岐にわたるBotが存在します。
Botのメリットは?
自動ツイートは通知のような役割を果たします。例えば、「好きなアーティストのライブ情報が更新された場合に自動でツイートする」といったものが挙げられます。
自動いいね、自動フォローは不特定多数の人に自分のアカウントを知ってもらうためのツールとしての働きがあります。これは例えば、自分のTwitterアカウントのPR活動などに使われます。
Botの作成手順
Botの作成手順は主に以下の3ステップです。
- Twitter Developer登録
- プログラム作成(Python)
- 定期実行登録(Cron)
実装
今回は定期的に現在時刻をツイートするBotを作成します。
詳細は以下の動画で紹介しています。
英語版
https://youtu.be/mmKXdLUhG_k
ソースコード
credential.py
CONSUMER_KEY = '********'
CONSUMER_SECRET = '********'
ACCESS_TOKEN_KEY = '********'
ACCESS_TOKEN_SECRET = '********'
twitter_bot.py
from credential import CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN_KEY, ACCESS_TOKEN_SECRET
from requests_oauthlib import OAuth1Session
from http import HTTPStatus
from datetime import datetime
def post_tweet(body):
# 認証処理
twitter = OAuth1Session(
CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN_KEY, ACCESS_TOKEN_SECRET
)
# ツイート処理
res = twitter.post("https://api.twitter.com/1.1/statuses/update.json", params={"status": body})
print(res)
# エラー処理
if res.status_code == HTTPStatus.OK:
print("Successfuly posted")
else:
print(f"Failed: {res.status_code}")
def main():
# body = "テスト投稿2"
now = datetime.now()
post_tweet(now)
if __name__ == '__main__':
main()