システムから tweet できるようにしてみた

投稿日: 2022/04/25
更新日: 2022/04/25
シェア:

URL copied!


概要

システムからツイートできると何かと便利かと思って実装してみた。

実装

環境ごとに分けて設定を書き、不要な環境では使わないように(誤って投稿しないように)設定を分けておきましょう。

settings/prod.py

...
TWITTER_CONFIG = {
    "access_token": "AAAA",
    "access_token_secret": "BBBB",
    "api_key": "CCCC",
    "api_secret": "DDDD",
}
...

settings/local.py

...
TWITTER_CONFIG = {}
...

twitter_client.py

import tweepy
from django.conf import settings

access_token = settings.TWITTER_CONFIG.get("access_token")
access_token_secret = settings.TWITTER_CONFIG.get("access_token_secret")
api_key = settings.TWITTER_CONFIG.get("api_key")
api_secret = settings.TWITTER_CONFIG.get("api_secret")


class TwitterClient:
    def __init__(self):
        self.client = tweepy.Client(
            consumer_key=api_key,
            consumer_secret=api_secret,
            access_token=access_token,
            access_token_secret=access_token_secret,
        )

    def post_message(self, message):
        return self.client.create_tweet(text=message)

使いたいところ.py

from twitter_client import TwitterClient
TwitterClient().post_message(body)