0
0

More than 1 year has passed since last update.

作業の進捗を定期的にTwitterで呟くアプリをPythonで作ってみた

Posted at

タイトルの通り作業の進捗を定期的にTwitterで呟くアプリをPythonで作ってみました.
自分がサボりやすいのでフォロワーに監視してもらいたいのと,作業量を可視化したいのが目的です.

ということで早速コードをどーん,と置きたいのですが丸々置くと邪魔なのでGithubのリンク:ProgressTweetを置いておきます.
主要部分だけ置いておくと,

import time
import tweepy
from tweepy import api
import datetime

if __name__=='__main__':
    char_num = 0
    num_diff = 0
    consumer_key,consumer_secret,access_token,access_token_secret = getAllKeys()
    auth = tweepy.OAuthHandler(consumer_key,consumer_secret)
    auth.set_access_token(access_token,access_token_secret)
    api = tweepy.API(auth)
    wait_time = 1200
    dt_now = datetime.datetime.now()
    tweet_first = str(dt_now.hour) +  "時" + str(dt_now.minute) + "分開始"
    api.update_status(tweet_first)

    while True:
        char_num,num_diff = get_progress(file_name,char_num)
        tweet_content = "二十分間の進捗は"+str(num_diff)+"字です."
        api.update_status(tweet_content)
        print(tweet_content)
        time.sleep(wait_time)

こんな感じですかね.

因みに例によって例の如くすんなり作れなくて色々引っかかりました.
今回引っかかった点はTwitter APIの権限の問題ですね.
最初に↓

でAPI使うためにあれこれする必要があるんですけど,最初に取得した権限だけだと作ったアプリケーションに呟く権限がないので,アプリの権限をEssentialからElevatedにアップグレードする必要があります.

あと引っかかったのが"time.sleep()"ですね.
何故か知らないけどtimeをimportしたらVScodeで自動的に補完されてて,

import time from time

ってなってたんですけど,この表記だとhas no attributeって怒られるので

シンプルに

import time

って書き直す必要があります.

参考にしたサイト:Twitter APIで遊んでみた ~2. ツイートの投稿と取得~

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0