disclipy — Discordへ高速にクリップを共有するツール

Tool

概要

disclipyは「share your precious clips to discord faster than ever」を掲げる、OBSなどで作成したクリップを素早くDiscordへ共有するためのPython製ユーティリティです。ユーザーが指定したフォルダを監視してファイルを検出し、設定したアップロードサービスへ自動または手動(ホットキー経由)で送信します。複数のアップローダ(Gofile、Catbox、Litterbox、Buzzheavier)に対応し、1つが失敗した際に別サービスへフォールバックする仕組みを持ちます。アップロード後はDiscordのWebhookにファイル情報とリンクを送信でき、配信中でも使用しやすいオーバーレイやトレイ常駐のインターフェースを備える点が特徴です。

GitHub

リポジトリの統計情報

  • スター数: 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字)

リポジトリ情報:

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…