ターミナルからツイートしてみた!


ターミナルからツイートできたら便利だよね!

前置き

作業中にツイートしたくなることってよくありますよね?
ただそこでTwitterを開いてしまうと一貫の終わりです。
TLを巡回し、トレンドを漁り、推しを追うことで時間が過ぎ去ってしまいます。
しかしどうしてもツイート(だけ)がしたい!
ということで、ターミナルから直接ツイートすればいいじゃん!ということに気付きました!

ということで、実際に手順を記していきたいと思います。
(Twitter APIの取得さえできれば鬼簡単です。)
(英語を読める方はこちらのサイトを拝見する方が早いかもしれません。)

下準備

まず、ツイートしたいアカウントでAPIを取得します。
API取得についてはこちらのサイトを参考にさせていただきました。

APIを取得できたらさっそく作業開始です。
まずこのページ(Developer用のサイト)にアクセスします。
画面の右上のアカウント名からAppを選択します。
ここでアプリを作成します。
アプリ作成の過程でAPI keyAPI secret keyが取得できるのでメモを取ってください。
(Bearer tokenも念の為控えておくのがいいかもしれません。)

次にApp Permissionsを編集します。
最初はread onlyになっていると思うのでそれをRead and Writeに変えてあげます。

次にアクセストークンを取得します。
Keys and tokensを選択してください。(アプリ名の下で切り替えることができます。)

Access Token & Secretを生成(Generate)して、
Access tokenAccess token secretを同様に控えてください。

これで下準備は完了です。

準備

まず任意のディレクトリにプロジェクト用のフォルダ(ここではtwitter)を作ります。

$ mkdir twitter
$ cd twitter
$ pipenv install python 3.7.5 #各自の環境に合わせて構築してください
$ pipenv shell
$ touch tweet.py
$ open tweet.py

必要なライブラリをインストールします。

$ pipenv install tweepy
tweet.py
import tweepy

#認証キー
#適宜自分のkeyに変更してあげてください。
consumer_key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
consumer_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
access_token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
access_token_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

api = tweepy.API(auth)
tweet = input().split()
api.update_status('\n'.join(tweet))

あとはターミナルで実行するだけです!

$ python tweet.py

実行後にツイートしたい言葉を入れてエンターを押すと完了です!
半角スペースを入れてあげると改行することができます。

後書き

とりあえずツイートできるようになりました!やった!
最後まで読んでいただきありがとうございました!