disclipy — Discordへ高速にクリップを共有するツール
概要
disclipyは「share your precious clips to discord faster than ever」を掲げる、OBSなどで作成したクリップを素早くDiscordへ共有するためのPython製ユーティリティです。ユーザーが指定したフォルダを監視してファイルを検出し、設定したアップロードサービスへ自動または手動(ホットキー経由)で送信します。複数のアップローダ(Gofile、Catbox、Litterbox、Buzzheavier)に対応し、1つが失敗した際に別サービスへフォールバックする仕組みを持ちます。アップロード後はDiscordのWebhookにファイル情報とリンクを送信でき、配信中でも使用しやすいオーバーレイやトレイ常駐のインターフェースを備える点が特徴です。
リポジトリの統計情報
- スター数: 3
- フォーク数: 0
- ウォッチャー数: 3
- コミット数: 6
- ファイル数: 3
- メインの言語: Python
主な特徴
- 指定フォルダの自動監視と新規クリップの自動アップロード/手動アップロード(ホットキー対応)
- 複数のアップロードサービスをサポートし、失敗時はフェールオーバーで代替サービスを利用
- Discord Webhookへアップロード結果(リンク+ファイル情報)を通知
- 配信に便利なオーバーレイ表示とトレイ常駐による軽いUI制御
技術的なポイント
READMEとファイル名から読み取れる設計方針と、実装で想定される技術的要素をまとめます。コアはファイル監視・アップロード・通知の3つのパイプラインです。監視はOSのファイル変更イベント(watchdog等)か定期スキャンで実装され、検出したファイルをキュー化して処理します。アップロードは各サービスごとにHTTPのmultipart/form-dataを用いるのが一般的で、複数サービスの中から順に試す「フェールオーバー」ロジックを備えています。アップロード時はタイムアウトやリトライ、レスポンス解析(成功URLの抽出)を行い、失敗時は次のサービスへフォールバックします。
Discord通知はWebhookに対するHTTP POSTで実現され、送信するペイロードにはファイル名・サイズ・アップロード先URL・サムネイルや埋め込み(embed)情報が含まれる想定です。ユーザー設定用のGUI(READMEに設定GUIの記載あり)ではWebhook URLや監視フォルダ、ホットキー設定、利用するアップローダ順などを保持する必要があり、簡易的にはJSONやiniで設定を永続化します。ホットキーはkeyboardやpynputでグローバル登録、オーバーレイは透過ウィンドウ(Tkinter/pyqt/pygameなど)やOBSの上に重ねる簡易表示で実装されることが多いです。トレイアイコンはpystray等で実現し、常駐アプリとしての操作性を高めます。
セキュリティ面ではWebhook URLの取り扱いやアップロード先での公開設定、巨大ファイル対策(サイズ上限の事前判定や分割アップロード)を考慮すべきです。将来的な改善点としては、非同期(asyncio)による並列アップロード、進捗表示、バックオフ戦略、テストカバレッジの充実、依存関係の明示と配布(PyPI/コンパイル実行ファイル化)などが挙げられます。
プロジェクトの構成
主要なファイルとディレクトリ:
- README.md: file
- file_uploader.py: file
- logo.png: file
(実質的な動作ロジックは file_uploader.py に集約されている想定で、設定GUIや監視・アップロード・Webhook通知の処理が実装されます。)
まとめ
OBS配信者向けに素早く共有可能な軽量な自動アップロード/通知ツールです。(約50字)
リポジトリ情報:
- 名前: disclipy
- 説明: share your precious clips to discord faster than ever
- スター数: 3
- 言語: Python
- URL: https://github.com/jscr3ator/disclipy
- オーナー: jscr3ator
- アバター: https://avatars.githubusercontent.com/u/223422007?v=4
READMEの抜粋:
disclipy
share your precious clips to discord faster than ever, inspo from @vivaancode, made one for obs
Features
- automatically watches your folder of choice for files
- Auto upload or manual (hotkey avail in settings :D)
- Supports multiple upload services (fallback if one fails), [Gofile, Catbox, Litterbox, Buzzheavier]
- Sends file info + link to Discord webhook, configured in settings gui
- Optional overlay showing status [kinda buns ill fix later dw haha]
- Tray icon fo…