LIVA君(LINUX MINT)からPython+tweepy+cronで時報をお知らせするようにしました

cronで所定の時間にツイートできるようになったら欲が出てきました。

LIVA君(LINUX MINT)からPython+tweepy+cronでラジオ体操の時間をお知らせするようにしました – happyman web

正時に時報を出したい。1時間に1回、時間のお知らせをしたいのです。

 1.tweepyの設定の見直し(V2)

とりあえずとりあえずPythonからツイートできるようにしたので、tweepyの設定を見直しました。

【Python×Twitter】自動ツイート(投稿)を定期実行する方法|APIとtweepyを用いたbot開発支援

なかなか上手く行かなかったんですが、なんとか通りまして、HalloWorldできました。

ここまでもっていくのに四苦八苦しているのだから、おじさんはセンスがない。

2.時刻をツイートに組み込みたい

ここからは色々自分で考えていかないといけないのですが、とりあえず1時間1回動かすものを作れば良い。

しかし時間の部分が1日24回変わるので、その時間になったら時間をお知らせする部分を作らないといけない。

[解決!Python]日付や時刻をYYMMDDhhmmssなどの形式に書式化するには:解決!Python – @IT

ここを見ながらやっているのですが、一向に上手く行きません。

datetimeモジュールの使い方について

これを参考にごにょっとやったら出来ました。

3.完成コード

これで何でも好きな時報が出せる。

import tweepy
from pprint import pprint
from datetime import datetime

# API情報を記入
Bearer_Token='Bearer_Token'
consumer_key='API_key'
consumer_secret='API_secret'
ACCESS_TOKEN='ACCESS_TOKEN'
ACCESS_TOKEN_SECRET='ACCESS_TOKEN_SECRET'

# クライアント関数を作成
def ClientInfo():
  client=tweepy.Client(
  bearer_token="Bearer_Token",
  consumer_key="API_key",
  consumer_secret="ACCESS_TOKEN",
  access_token="ACCESS_TOKEN",
  access_token_secret="ACCESS_TOKEN_SECRET",
  )
  return client

# 時刻を取得
datetime_dat = datetime.now()
time_str = datetime_dat.strftime('%H')
print(time_str)

# メッセージを指定
message = "はぴぞうが"+time_str+"時をお知らせします。"

# 関数
def CreateTweet(message):
    tweet = ClientInfo().create_tweet(text=message)
    return tweet

# 関数実行・結果出力
pprint(CreateTweet(message))