最近 Tweepy で動かすオモチャの紹介ばかり書いている気がします。私が生誕してからそろそろ 11,111 日を迎えそう(2020/12/09、30歳半ぐらい)、ということで、そのことを忘れないように Twitter アカウント名を毎日更新するために作ったスクリプトの紹介をします。
(ちなみに、生誕 10,000 日記念のときにはこんなことやりました。生誕1万日記念にポッキー1万本食べようとした話 - note)
殆どの内容は拙記事「Tweepy を使って月齢🌕を Twitter ユーザーネームに反映させる - Qiita」と同じです。Python
の datetime
ライブラリを使って生誕日から現在年月日までの日数を計算します。
環境
- Python : 3.8.5
- Tweepy : 3.9.0
生誕からの日数の計算方法
やっていることはシンプルです。
- 生誕日
d_birth
の設定 - 現在日
d_today
の取得 - 現在日と生誕日の差分
d_from_birth
を計算 - カウントダウンのための数字
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 キーを使って tweepy
の update_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_