4
2

More than 5 years have passed since last update.

PythonとTwitterAPIでTwitterクライアント的なのを作ったお話【びよりったー】

Last updated at Posted at 2019-05-23

ヽ(廿Δ廿 )にゃんぱすー。情報系の学生をしております、なっぢです。
Qiitaの記事を書いてみたいと思ったので、PythonでTwitterクライアントを作った話をします。

事の経緯

(ここは別に大事じゃないので読みたくなけりゃ飛ばしてもらって大丈夫です)

via芸のために愛用していた非公式クライアントが自分の引継ぎミスで使えなくなったのがきっかけです。

Twitterはやめたくないし、新しいクライアントを探すのも面倒なので、
Pythonの勉強も兼ねて自分で作ってみよう。という発想に至りました(?)。
以前、アプリケーションの登録をしていた。っていうのも大きかったです。

開発環境

Python 3.7.3

コマンド一覧

実装したコマンドの一覧です。一応隠しコマンドもあります。

(2019/6/5 追記)
最終的に実装したコマンドの一覧です。

置換コマンド

Example
>> おなかが減った-on

find関数を用いて文章中の置換コマンドを検索し、replace関数で置換します。
置換コマンドごとに検索を行うので、複数の置換コマンドにも対応しています。

subコマンド

Example
>> おなかが減った-on
>> sub

任意の文章を入力後に実行するとツイートされます。このときのツイートがこちら。

mtlコマンド

Example
>> mtl

自分のツイートを表示するコマンドです。まともなツイートをしていないので実行結果は控えます。

-mtlコマンド

Example
>> -mtl
>> 100

mtlコマンドとは違って、表示する数を指定できます(APIの仕様上、200件までですが)。
こちらも、まともなツイートをしていないので実行結果は控えます。

srcコマンド

Example
>> src
>> にゃんぱす

検索コマンドです。リツイートとリプライは省いて表示します。

img:コマンド

Example
>> img:XXXXXXX.png

知り合いが追加してくれたコマンドです。感謝。
Twitterでサポートしている一般的な画像ファイルであれば大丈夫(とのこと)です。
この記事の投稿時には複数画像をツイートする機能はありません。

exitコマンド

Example
>> exit

プログラムを終了するコマンドです。

追加したコマンド群

ersコマンド

Example
>> 誤字ってしまった分
>> ers

ツイートしたい文を間違えてしまったときに使うコマンドです。
Twitterでいう下書きの削除とほぼ同じと考えてもらえるとわかりやすいと思います。

tlコマンド

Example
>> tl

タイムラインを表示します。

-tlコマンド

Example
>> -tl
>> 100

タイムラインを表示します。
こちらは表示する数を指定できます(おそらくこちらも200件が最大)。

今後の展望

  • タイムラインの表示機能を追加
    TwitterなのにTLが見れないのはどうなの。って感じなので早々に実装したいです。
    リプライとかリツイート(仕様上可能なのかは知らない)も実装したいと考えています。
  • 現在ある機能のアップデート
    検索機能にオプション(Twitterでいうfrom)を追加したり、複数画像に対応させたいです。
  • Webアプリケーション化

おわりに

今まではPythonを避けていたのですが、今回の開発でなかなか面白い言語だなぁ。って思ったので
全く毛色の違うプログラムも書きたいと思います。

また、少しではありますが共同開発というものも体験でき、いい経験になりました。

拙い文章ではありましたがお読みいただきありがとうございました。

4
2
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
4
2