skip to content
barorin&?

TerminalからMastodonでトゥートするPythonアプリを作りました

/ 4 min read

Table of Contents

はじめに

Terminalから離れたくない!でもトゥートしたい!というトゥート廃?のためにMastodonをコマンドラインから操作できるPythonアプリケーション「mastodon-cli」を作ってみました。
リポジトリURL: https://github.com/barorin/mastodon-cli

主な機能

mastodon-cliには、マストドンの基本的な機能がコマンドライン形式で実装されています。

  • タイムラインの表示: ホーム、ローカル、パブリックなど、各種タイムラインを簡単に閲覧できます
  • ハッシュタグタイムラインの表示: 特定のハッシュタグを指定して、関連するトゥートを表示できます
  • トゥートの投稿: テキストはもちろん、メディア添付、公開範囲設定、CW(コンテンツ警告)などの機能も利用可能です
  • プロフィール表示: 自分や他のユーザーのプロフィール情報を表示できます

動作環境

  • Ubuntu 24.04 LTS
  • Python 3.12

インストール方法

インストールはとても簡単です。Pythonと依存パッケージをインストールするだけで使えます。

Terminal window
# リポジトリをクローン
git clone https://github.com/barorin/mastodon-cli.git
cd mastodon-cli
# 依存パッケージをインストール
pip install -r requirements.txt

必要な依存パッケージはMastodon.pypython-dotenvだけなので、とても軽量です。

初期設定

初回実行時には.envファイルの作成が必要です。リポジトリに含まれる.env.exampleファイルをコピーして必要な情報を設定してください。
アクセストークンなどの認証情報は、Mastodonの設定ページから取得できます。

Terminal window
cp .env.example .env
# その後、.envファイルを編集

使用例

ちなみに私は入力が面倒なので、alias toot='python main.py post --text'とかを設定しています。

トゥートの投稿

Terminal window
# 基本的な投稿
python main.py post --text "こんにちは、マストドン!"
# 公開範囲を指定して投稿
python main.py post --text "非公開投稿" --visibility private
# メディア付き投稿
python main.py post --text "写真付き投稿" --media photo.jpg
# コンテンツ警告付き投稿
python main.py post --text "長い内容..." --spoiler "長文注意"

タイムラインの表示

Terminal window
# ホームタイムラインを表示
python main.py timeline
# ローカルタイムラインを表示
python main.py timeline --type local
# 表示件数を指定
python main.py timeline --count 15

ハッシュタグの検索

Terminal window
# 「python」タグのトゥートを表示
python main.py tag python

技術的な詳細

mastodon-cliは以下のファイル構成になっています。

  • main.py - エントリポイントとなるスクリプト
  • mastodon_api.py - Mastodon APIとの連携を担当
  • config.py - 設定ファイル管理
  • utils.py - トゥート表示などのユーティリティ関数

特にutils.pydisplay_toots関数をカスタマイズすることで、トゥートの表示方法を自分好みに変更できるようになっています。
トゥートの表示では、HTMLタグの除去、日時のフォーマット、リブースト情報の表示、メディア添付の表示など、見やすさを重視した設計にしています。

# トゥート表示の例(utils.pyから)
print(f"\n[{display_num}] {account} (@{username}) - {formatted_time}")
print("-" * 40)
print(clean_content)

おわりに

mastodon-cliは、Mastodonをより効率的に使いたいコマンドライン愛好家のために開発しました。シンプルな設計ながらも必要な機能は揃えていますので、ぜひ試してみてください。
リポジトリURL: https://github.com/barorin/mastodon-cli