ヽ(廿Δ廿 )にゃんぱすー。情報系の学生をしております、なっぢです。
Qiitaの記事を書いてみたいと思ったので、PythonでTwitterクライアントを作った話をします。
事の経緯
(ここは別に大事じゃないので読みたくなけりゃ飛ばしてもらって大丈夫です)
via芸のために愛用していた非公式クライアントが自分の引継ぎミスで使えなくなったのがきっかけです。
Twitterはやめたくないし、新しいクライアントを探すのも面倒なので、
Pythonの勉強も兼ねて自分で作ってみよう。という発想に至りました(?)。
以前、アプリケーションの登録をしていた。っていうのも大きかったです。
開発環境
Python 3.7.3
コマンド一覧
(2019/6/5 追記)
最終的に実装したコマンドの一覧です。
置換コマンド
>> おなかが減った-on
find関数を用いて文章中の置換コマンドを検索し、replace関数で置換します。
置換コマンドごとに検索を行うので、複数の置換コマンドにも対応しています。
subコマンド
>> おなかが減った-on
>> sub
任意の文章を入力後に実行するとツイートされます。このときのツイートがこちら。
mtlコマンド
>> mtl
自分のツイートを表示するコマンドです。まともなツイートをしていないので実行結果は控えます。
-mtlコマンド
>> -mtl
>> 100
mtlコマンドとは違って、表示する数を指定できます(APIの仕様上、200件までですが)。
こちらも、まともなツイートをしていないので実行結果は控えます。
srcコマンド
>> src
>> にゃんぱす
検索コマンドです。リツイートとリプライは省いて表示します。
img:コマンド
>> img:XXXXXXX.png
知り合いが追加してくれたコマンドです。感謝。
Twitterでサポートしている一般的な画像ファイルであれば大丈夫(とのこと)です。
この記事の投稿時には複数画像をツイートする機能はありません。
exitコマンド
>> exit
プログラムを終了するコマンドです。
追加したコマンド群
ersコマンド
>> 誤字ってしまった分
>> ers
ツイートしたい文を間違えてしまったときに使うコマンドです。
Twitterでいう下書きの削除とほぼ同じと考えてもらえるとわかりやすいと思います。
tlコマンド
>> tl
タイムラインを表示します。
-tlコマンド
>> -tl
>> 100
タイムラインを表示します。
こちらは表示する数を指定できます(おそらくこちらも200件が最大)。
今後の展望
- タイムラインの表示機能を追加
TwitterなのにTLが見れないのはどうなの。って感じなので早々に実装したいです。
リプライとかリツイート(仕様上可能なのかは知らない)も実装したいと考えています。 - 現在ある機能のアップデート
検索機能にオプション(Twitterでいうfrom)を追加したり、複数画像に対応させたいです。 - Webアプリケーション化
おわりに
今まではPythonを避けていたのですが、今回の開発でなかなか面白い言語だなぁ。って思ったので
全く毛色の違うプログラムも書きたいと思います。
また、少しではありますが共同開発というものも体験でき、いい経験になりました。
拙い文章ではありましたがお読みいただきありがとうございました。