はじめに
前回の記事ではDUGAの新作をXにツイートするボットを紹介しました。
あれから月日が経ち、Xの規約強化とボットを干すアルゴリズム変更により、見事にオワコン化しました。収益はほぼゼロです。ほったらかし収入装置のはずが、ただのほった らかしになりました。
気を取り直して次の一手を考えました。最近OpenClawなどAIエージェントに作業を任せることが増えてきて、「AIにDMM・DUGAを検索させてコンテンツを自動生成できたら楽では?」と思い始めました。問題はAPIをAIが直接叩くのが面倒なことです。
そこで av-cli というCLIツールを作りました。DMM APIとDUGA APIをラップして、結果をJSONで標準出力に吐くだけのシンプルなツールです。AIエージェントはこれを呼び出すだけでDMM・DUGAの情報を取得できます。
Goで書いたので(というのは嘘で、Claude Codeに書いてもらいました)シングルバイナリです。Macにもそのまま入ります。
リポジトリ: https://github.com/dugabot0/av-cli
av-cliでできること
-
dmm floors— フロア一覧(サービス・フロアコードの確認) -
dmm items— 商品検索(キーワード・女優・ジャンルなどで絞り込み) -
dmm actress— 女優検索(スリーサイズ・生年月日などでフィルター可) -
dmm genre / maker / series / author— ジャンル・メーカー・シリーズ・作者検索 -
duga search— DUGA商品検索
出力はすべてJSON(--prettyで整形)。スクリプトやAIエージェントのツール呼び出し結果としてそのまま使えます。
API登録
DMM
https://affiliate.dmm.com/ からアフィリエイト会員登録してAPI IDを取得してください。
DUGA
https://click.duga.jp/aff/40413-01 から登録してください。このリンク経由で登録すると、あなたが収益を得た際に私への紹介報酬が発生します。前回の記事でも書きましたがDUGAはアフィリエイト条件が良いのでおすすめです。
インストール
Mac(M1/M2/M3)
curl -L https://github.com/dugabot0/av-cli/releases/download/v0.1.0/av-cli_0.1.0_darwin_arm64.tar.gz | tar xz
sudo mv av-cli /usr/local/bin/
Intel Macの場合は darwin_arm64 を darwin_amd64 に変えてください。
Linux
curl -L https://github.com/dugabot0/av-cli/releases/download/v0.1.0/av-cli_0.1.0_linux_amd64.tar.gz | tar xz
sudo mv av-cli /usr/local/bin/
.deb / .rpm パッケージもリリースページにあります。
設定
~/.config/av-cli/config.yaml を作成します。
dmm:
api_id: "取得したAPI ID"
affiliate_id: "取得したアフィリエイトID(xxxx-990形式)"
duga:
app_id: "DUGAのアプリケーションID"
agent_id: "DUGAの代理店ID"
banner_id: "01"
環境変数でも設定できます。
export DMM_API_ID=your-api-id
export DMM_AFFILIATE_ID=your-affiliate-990
export DUGA_APP_ID=your-duga-app-id
export DUGA_AGENT_ID=your-agent-id
使ってみる
フロア一覧を確認する
まずフロアIDを確認します。他のコマンドで --floor-id が必要になります。
av-cli dmm floors --pretty
商品を検索する
av-cli dmm items --keyword "松本いちか" --hits 5 --pretty
女優を検索する
# 名前で検索
av-cli dmm actress --keyword "松本いちか" --pretty
# スリーサイズで絞り込み
av-cli dmm actress --gte-bust 90 --lte-waist 60 --sort -bust --hits 10 --pretty
DUGA商品を検索する
av-cli duga search --keyword "素人" --hits 5 --pretty
AIエージェントと組み合わせる
jqでパイプするとそのまま使えます。
av-cli dmm actress --keyword "松本いちか" | jq '.actress[0].id'
av-cli dmm items --keyword "松本いちか" | jq '.items[0].title'
av-cli duga search --keyword "素人" | jq '.items[0].item.title'
ClaudeやOpenClawなどのAIエージェントにツールとして登録しておけば、「この女優の出演作を調べて」「DUGAの評価順ランキングを取って」といった指示をAIが自律的に実行してコンテンツを生成してくれます。私はこれでアフィリエイト記事の下書き生成を自動化しています。
特にDUGA APIはタイトルだけでなく caption フィールドに作品の概要テキストも含まれます。タイトル+概要をそのままLLMに渡せるので、紹介文やSNS投稿文の自動生成との相性が抜群です。Xのボットはオワコンになりましたが、素材集めの手間はゼロになりました。
# タイトルと概要をまとめて取得
av-cli duga search --keyword "素人" --hits 5 | jq '.items[].item | {title, caption}'
終了コードで成功・失敗を判別できるのでスクリプト組み込みも楽です。
| 終了コード | 意味 |
|---|---|
0 |
成功 |
2 |
設定ミス・必須フラグ未指定 |
3 |
認証エラー |
4 |
ネットワークエラー |
おわりに
Xのボットがオワコン化した教訓として、特定のプラットフォームに依存しない設計にしました。CLIツールにしておけばX以外のSNS、ブログ自動投稿、LINE Bot、なんにでも組み合わせられます。次のプラットフォームが規約変更しても乗り換えるだけです。懲りてない!
コードはMITライセンスで公開しているので自由に使ってください。issueやPRも歓迎します。