PythonでPC起動を自動ツイートさせる
なんだこの語彙力がないタイトルは。
それはともかく、百聞は一見にしかず。
実際のツイートを見てもらったほうが理解が早いでしょう。
こういうふうなツイートをしておくと、結構ゲームのお誘いとか、来たりします。
このように、「PCが起動した時に起動した時刻とともに、自動でツイートしてくれるTwitter botをつくろう」というのが今回の記事です。
この記事では、Windows10での方法について、解説させていただきます。
また、当方今回初めてNoteを書くので、解説とか言葉選びが下手くそです。ご容赦ください。
1.Pythonをインストールする
今回は、「Python」というプログラム言語を用いて、このbotを作っていきます。
PythonはWindowsはもちろん、MacやLinuxでも動作します。
Pythonをインストールする方法については、もう既にたくさんの記事が書かれているので、この記事では省略させていただきます。
ここでは、わかりやすく解説されている記事を紹介させていただきます。
公式サイトに行ってインストーラーをダウンロード、指示に従ってインストールし、Pathを通すだけの簡単なお仕事です。
ここで一応PCの再起動をしておいたほうがいいですね。
2.Twitter APIの申請を行う
これもこの記事では、解説を省かせていただきます。
というのも、このbotを作ったのはもう半年以上前なので、僕自身どのように作ったのか半分忘れています。
この手順に関しても、とても分かりやすい記事を見つけたので、ここで紹介させていただきます。
3.Pythonでbotを作れる状態にする
「Twitterでbotをつくろう」的な記事には必ずこの手順が解説されていますが、これもこの記事では省かせていただきます。
この手順に関しても、とても分かりやすい記事を見つけたので、ここにリンクを記載させていただきます。
ただ、この記事のときとデザインが変わっていて、「Get Started」が下の方にあるので注意してください。
具体的することとしては、
・Twitter Developer Platformにて、APIキーを取得
・PythonにOAuth認証をするためのライブラリ、「requests-oauthlib」のインストールをする
です。
最初は、簡単にPythonでTwitter botを作れるライブラリ「Tweepy」を使ってbotを作ろうと思っていたのですが、なかなか上手く行かず、この方法に落ち着いたような記憶があります。
4.プログラムファイルをつくる
デスクトップでも、どの場所でもいいです。
右クリックして、メニューから「新規作成」→「テキスト ドキュメント」と選びましょう。
ファイルの名前は適当でいいです。
拡張子は、「.txt」から「.py」に変えておきましょう。
そうすると、画像のようになるかと思います。
このファイルを、右クリックしてメニューから、「プログラムから開く」→「その他のオプション」→「メモ帳」で開いておきましょう。
5.コードを書く
先程作ったファイルにコードを書いていきます。
難しそうに聞こえるかもしれませんが、そんなに難しくないです。
だって、こんなプログラムのことをほぼほぼ勉強してないような素人中学生でもできたんですから。
世の中にはたくさんのサンプルコードが溢れています。
それを、ありがたく使わせていただき、混ぜ合わせて自分が求めるものにしていく。
創造は模倣からしか生まれません。
くだらないこと言ってないで、早速書いていきます。
先程のサイトの「ツイートする」という項から、プログラムのコードをコピペさせていただきます。
# coding: UTF-8
import json
from requests_oauthlib import OAuth1Session
#ここにKeyとToken
CONSUMER_KEY = ""
CONSUMER_SECRET = ""
ACCESS_TOKEN = ""
ACCESS_TOKEN_SECRET = ""
twitter = OAuth1Session(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
url = "https://api.twitter.com/1.1/statuses/update.json"
tweet = "Pythonからのテストツイートです" #ツイート内容
params = {"status" : tweet}
req = twitter.post(url, params = params) #ここでツイート
if req.status_code == 200: #成功
print("Succeed!")
else: #エラー
print("ERROR : %d"% req.status_code)
APIキーとか、アクセストークンとかは、手順3で入手したものを入力していきましょう。
まぁ、最初はこのコードのAPIキーとかとツイート内容だけ書き換えて、PC起動時にこのプログラムを自動で実行させるだけで良いと思ってたんですが、Twitterは一日に全く同じ内容のツイートができないので、一日複数回PCを起動したらツイートされなくなるということに気付きました。
あと、普通に全く同じ文面だと、凍結リスクも高まります。多分。
そこで、日付と時刻も入れていきます。
この記事を参考にさせていただきました。
ということで、最終的にはこんな感じのコードになりました。
コピペして使っていただいて構わないです。
# coding: UTF-8
import json
from requests_oauthlib import OAuth1Session
import datetime
#日付
now = datetime.datetime.now()
#ここにKeyとToken
CONSUMER_KEY = "APIキー"
CONSUMER_SECRET = "APIシークレットキー"
ACCESS_TOKEN = "アクセストークン"
ACCESS_TOKEN_SECRET = "アクセストークンシークレット"
twitter = OAuth1Session(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
url = "https://api.twitter.com/1.1/statuses/update.json"
tweet = "じゃこくんがPCを起動しました!!\n今日は何をするのかな?\n{0:%Y}年{0:%m}月{0:%d}日{0:%H}時{0:%M}分".format(now)#ツイート内容
params = {"status" : tweet}
req = twitter.post(url, params = params) #ここでツイート
if req.status_code == 200: #成功
print("Succeed!")
else: #エラー
print("ERROR : %d"% req.status_code)
ツイート内容中の「\n」は、改行を表しています。
6.プログラムをPC起動時に自動で実行させる
最後の手順です。
デスクトップで「Windowsキー」と「Rキー」を同時押ししましょう。
そうすると、画像のようなウィンドウが出てくると思います。
これの「名前」のところに、
shell:startup
と打ち込んでください。
そうすると、エクスプローラーが立ち上がって、フォルダが表示されると思います。
そこに、先程のプログラムのショートカットを作成してください。
そして、PCを再起動してみてください。
そうすると.....
このように、自動でツイートされると思います
記事がすごく長くなってしまって申し訳ないです。
おつかれさまでした!!!!!