/x-post-cli

Primary LanguagePythonMIT LicenseMIT

X Post CLI

このツールは、コマンドラインからX (Twitter) への投稿できるPython製のCLIアプリケーションです。Twitter API v2を使用して、テキストの投稿を行います。

インストール

1. リポジトリのクローン

git clone https://github.com/macaron/x-post-cli.git
cd x-post-cli

2. 仮想環境の作成と有効化

# 仮想環境の作成
python3 -m venv v

# 仮想環境の有効化
# macOS/Linux の場合:
source v/bin/activate

# Windows の場合:
v\Scripts\activate

3. 依存関係のインストール

pip install tweepy python-dotenv

環境設定

Twitter Developer Account の取得

  1. Twitter Developer Portal にアクセス
  2. Developer Accountを申請・取得
  3. 新しいアプリケーションを作成
  4. API Key、API Secret、Access Token、Access Token Secretを取得

環境変数の設定

プロジェクトルートに .env ファイルを作成し、以下の形式で認証情報を設定してください:

API_KEY=your_api_key_here
API_SECRET=your_api_secret_here
ACCESS_TOKEN=your_access_token_here
ACCESS_TOKEN_SECRET=your_access_token_secret_here

⚠️ セキュリティ注意事項:

  • .env ファイルは絶対にGitリポジトリにコミットしないでください
  • 認証情報は他人と共有しないでください
  • 本番環境では環境変数として設定することを推奨します

使用方法

基本的な投稿

python3 post.py "投稿したいテキスト"

複数の単語を含む投稿

python3 post.py これは テスト 投稿です

使用例

# シンプルなメッセージ
python3 post.py "Hello World!"

# 日本語メッセージ
python3 post.py "今日は良い天気ですね"

# 複数単語(自動的に結合されます)
python3 post.py 今日は 良い 天気 ですね

制限事項

  • 文字数制限: 280文字まで
  • 空メッセージ: 空のメッセージは投稿できません
  • 認証必須: 有効なTwitter API認証情報が必要です

ログ機能

アプリケーションの実行ログは logs/app.log に記録されます。

ログの特徴

  • ローテーション機能: ファイルサイズが10MBに達すると自動的にローテーション
  • バックアップ: 最大5個のバックアップファイルを保持
  • フォーマット: ISO8601形式のタイムスタンプ付き
  • エンコーディング: UTF-8

ログレベル

  • INFO: 正常な処理(認証成功、投稿成功など)
  • ERROR: エラー情報(認証失敗、引数不足など)
  • CRITICAL: 重大なエラー(API呼び出し失敗など)