LoginSignup
0
0

More than 3 years have passed since last update.

生誕 11,111 日目を Twitter アカウントでカウントダウンするための Python スクリプト

Last updated at Posted at 2020-12-07

最近 Tweepy で動かすオモチャの紹介ばかり書いている気がします。私が生誕してからそろそろ 11,111 日を迎えそう(2020/12/09、30歳半ぐらい)、ということで、そのことを忘れないように Twitter アカウント名を毎日更新するために作ったスクリプトの紹介をします。

(ちなみに、生誕 10,000 日記念のときにはこんなことやりました。生誕1万日記念にポッキー1万本食べようとした話 - note

できるものはざっくりこんなイメージです。
image.png

殆どの内容は拙記事「Tweepy を使って月齢🌕を Twitter ユーザーネームに反映させる - Qiita」と同じです。Pythondatetime ライブラリを使って生誕日から現在年月日までの日数を計算します。

環境

  • Python : 3.8.5
  • Tweepy : 3.9.0

生誕からの日数の計算方法

やっていることはシンプルです。

  1. 生誕日 d_birth の設定
  2. 現在日 d_today の取得
  3. 現在日と生誕日の差分 d_from_birth を計算
  4. カウントダウンのための数字 remain_days を計算

ソースコードは以下のとおり。

# 誕生日から生誕何日か調べる
# 生誕日と現在日を取得
d_birth = datetime.date(1990, 7, 9)
d_today = datetime.date.today()

# 日時の差を計算
d_from_birth = d_today - d_birth
print(d_from_birth)

# 11111 日までの残り日数
remain_days = 11111 - d_from_birth.days

Twitter アカウント更新

あらかじめ取得した API キーを使って tweepyupdate_profile 関数を使えるようにしておき、適当な形で先程計算した日数を入れます。API の取得、設定方法は Tweepy を使って月齢🌕を Twitter ユーザーネームに反映させる - Qiita を参考にしてください。

API.update_profile([name][, url][, location][, description])
name – ユーザーネーム(最大 20 文字)
url – アドレス(最大 100 文字、"http://" を省略しても勝手につけられる)
location – 場所(最大 30 文字)
description – 自己紹介(最大 160 文字)

# 表示名を設定
nameStr = "村橋究理基%s北大@生誕%d日目" % (moon, d_from_birth)
profileStr = "名前の%sは今夜の月を表しています。仕組みの説明→https://t.co/ACE6OhPVVz 生誕11111日まで後%d日 北大理学院宇宙理学 博士3+2年 惑星気象/火星大気シミュレーション 3Dプリンタ/恵迪寮寮歌アプリ/高校専修免許(理科)/学芸員/恵迪寮第300期寮長/恵迪寮同窓会理事/愛知県立津島高校出身" % (moon, remain_days)

api.update_profile(name = nameStr, description = profileStr)

おわり

さあ、みなさんも任意の生誕記念日までの日数を意識してみましょう。結構たくさん記念日があるかもしれません。身近な人を適当な理由をつけて祝ってみたいときにぜひ!

ところでこの記事を書いている今日 2020/12/07 は私の生誕 11,109 日目なのですが、まだ 11,111 日記念日に何するか決まってません。結構悩んでいるので、だれか面白い案を教えてください→ https://twitter.com/mkuriki_

参考資料

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