結論:2026年8月5日時点で、DiscordとXの自動投稿は「ノーコード」「Webhook+GAS」「Claude Codeで作る自前bot」の3択で考えるのが現実的です。
- X→Discord:Discord WebhookへPOSTするだけなら簡単。X側の検知方法が論点です。
- Discord→X:通常投稿を読むには、Discord Botや対応トリガーが必要です。
- 無料枠の現況:Make Freeは月1,000 credits、最短15分間隔。IFTTT Freeは限定Appletで1トリガー1アクション。GASはURL Fetchが個人で1日20,000回、Workspaceで1日100,000回です。
- X APIの注意:公式PricingではPost作成は1リクエスト0.015ドル、URL付きPost作成は0.200ドルです。無料書き込み枠前提では設計しないでください。
「Discordの告知チャンネルに書いた内容を、そのままXにも出せませんか?」
企業向けAI研修や自動化相談で、SNS運用担当の方からよく出る質問です。最初はWebhookでつなげば一瞬に見えます。でも実際に詰まるのは、Webhookではなく「どのDiscord投稿を拾うのか」「Xへどの権限と費用で投稿するのか」なんです。
特に2026年8月現在、X APIは古い無料枠情報のまま見積もると危険です。公式情報では従量課金とクレジット制に整理されており、Xへ直接Postを作成する処理にはリクエスト単位の費用が出ます。
ここでは、Discord x 自動投稿を3つの方法に分けて整理します。趣味サーバーの少量通知から、企業の告知・採用・コミュニティ運用まで、どこまで無料に寄せられて、どこから有料・自前運用にすべきかを正直に見ていきます。
まず転送方向を分ける
DiscordとXの連携は、方向で難易度が変わります。Xの投稿をDiscordへ通知するだけなら、Discord側はIncoming Webhookで受けられます。一方、Discordの通常投稿をXへ流すには、Discord内の投稿を読む仕組みが別に必要です。
Discord公式ドキュメントでは、Webhookは外部サービスからDiscordチャンネルへ投稿する低負荷な方法として説明されています。つまり「外からDiscordへ入れる入口」です。通常メッセージを外へ出す出口ではありません。
Discord→Xを作るなら、Makeなどの自動化サービスでDiscord投稿トリガーが使えるかを確認するか、自前のDiscord Botを置きます。実務では、全チャンネルを監視するより「X投稿用チャンネルに置いたものだけ転送」のほうが事故が少ないです。
権限設計の考え方は、AIエージェント導入完全ガイドが近いです。Typefullyを出口にする判断は、Typefully完全ガイドも参考になります。
2026年8月の公式前提
仕様・無料枠は変わりやすいので、ここでは2026年8月5日に公式一次情報で確認できた内容だけに絞ります。
X APIは従量課金として見る
X API公式Pricingでは、X APIはサブスクリプションではなく従量課金、クレジット制と説明されています。書き込み系では、Post作成が1リクエスト0.015ドル、URL付きPost作成が1リクエスト0.200ドルです。
そのため、X APIを直接叩く構成は「無料で大量投稿」ではありません。公式ページで確認できる無料要素は、X APIクレジット購入に応じたxAI API creditsなどであり、X APIの無料投稿枠とは別に考えます。
MakeとIFTTTは少量検証向き
MakeのFreeプランは月1,000 credits、3,000以上のアプリ、ルーターとフィルター、15分の最短実行間隔が確認できます。小さな通知や下書き作成の検証には十分ですが、投稿数が多いサーバーでは早めに上限を意識します。
IFTTTのFreeプランは、限定数のAppletを有効化でき、1つのトリガーと1つのアクション、Delayを含められると公式Helpにあります。IFTTTにはXの「Post a tweet」アクション、「New tweet by you」トリガー、Webhooksの送受信機能があります。ただし、実際に使える組み合わせはアカウント画面とプラン条件で確認してください。
GASは中継点に向く
Google Apps Scriptは、Webhookを受ける、本文を整形する、Discord WebhookやTypefully APIへPOSTする用途に向きます。公式Quotaでは、URL Fetch callsが個人アカウントで1日20,000回、Google Workspaceで1日100,000回、1回の実行時間は6分です。
ただし、GASは常時接続のDiscord Botを動かす場所ではありません。Discordのメッセージ本文を読むBotを作る場合、DiscordのMessage ContentはPrivileged Intentとして扱われます。小規模サーバーでも、読むチャンネルを絞り、必要な権限だけにする設計が重要です。
方法別の比較表
| 方法 | 向いている用途 | コスト | 保守 | 制限 |
|---|---|---|---|---|
| ノーコード | X投稿をDiscordへ通知、少量の下書き化 | MakeやIFTTTの無料枠で検証可 | 低い | 実行間隔、対応トリガー、プラン条件に依存 |
| Webhook+GAS | 整形、ログ保存、承認前の下書き作成 | GASは無料枠で動かしやすい。X API直投稿は従量課金 | 中くらい | 常時接続不可。認証と重複排除は自分で実装 |
| Claude Code自前bot | Discord→Xの本格運用、複数チャンネル、監査ログ | サーバー代、X APIまたはTypefully側の費用 | 高め | Intent、レート制限、秘密情報管理、投稿事故対策が必要 |
おすすめは、最初から即時公開にしないことです。Discord→XはTypefully下書き、X→DiscordはDiscord Webhook通知。この組み合わせなら、無料枠で検証しつつ誤投稿とAPI費用を抑えやすいです。
方法1:ノーコードで試す
ノーコードの価値は、実装スピードです。X→Discordなら、X投稿を検知するサービスを使い、アクションとしてDiscord WebhookへPOSTします。IFTTTならXトリガーとWebhooksアクション、または各サービスのDiscord連携を使う形です。
送る内容は、最初から盛り込みすぎないでください。おすすめは、投稿本文の短縮版、X投稿URL、投稿者、時刻だけです。画像や埋め込みまで完全再現しようとすると、プラン制限やメディア処理で壊れやすくなります。
Discord→Xをノーコードだけで組む場合は、自動化ツール側がDiscord投稿トリガーを扱えるかが前提です。MakeはDiscord連携ページを公開し、シナリオとモジュールでアプリ間ワークフローを作る説明があります。ただし、使えるトリガー名や権限は自分の作成画面で確認してください。公式で確認できないトリガーを前提にしないことが大切です。
企業運用では、Xへ直接出すよりTypefully下書きを作るほうが安全です。Typefully APIは、X、LinkedIn、Threads、Bluesky、Mastodonへの作成・スケジュール・公開を扱えます。投稿前に人間が見られるので、採用広報やコミュニティ告知ではかなり使いやすいです。
方法2:Webhook+GASで整形する
GASは、ノーコードより自由で、自前botより軽い中間案です。Webhookを受け、本文を整形し、Discord WebhookやTypefully APIへ投げられます。
XやTypefullyで投稿が公開されたらDiscordへ通知する構成では、GASは受信したイベントを整形し、Discord WebhookへPOSTするだけです。Discord→Xでは、Discordの投稿を読む部分をGASだけで持たず、Discord Bot、Make、別のWebhook送信元からGASにPOSTします。
function createTypefullyDraft(text, sourceUrl) {
const props = PropertiesService.getScriptProperties();
const socialSetId = props.getProperty('TYPEFULLY_SOCIAL_SET_ID');
const body = {
platforms: { x: { enabled: true, posts: [{ text: text + 'nn' + sourceUrl }] } },
draft_title: 'discord-x-auto-post',
share: false,
publish_at: 'next-free-slot'
};
UrlFetchApp.fetch('https://api.typefully.com/v2/social-sets/' + socialSetId + '/drafts', {
method: 'post',
contentType: 'application/json',
headers: { Authorization: 'Bearer ' + props.getProperty('TYPEFULLY_API_KEY') },
payload: JSON.stringify(body),
muteHttpExceptions: true
});
}Typefully v2では、Draft操作はSocial Set単位です。GET /v2/social-setsでIDを取得し、POST /v2/social-sets/{id}/draftsで下書きを作る流れです。IDは推測せず、自分のアカウントで取得した値を使います。
- 重複排除:Discord message IDやX post IDを保存し、同じIDは再処理しない。
- 失敗時の退避:APIエラー、元投稿URL、時刻をスプレッドシートなどに残す。
- 即時公開の抑制:初期値は下書きまたは
next-free-slotにし、nowは明示許可にする。
想定シナリオとして、採用広報チームがDiscordで投稿候補を集めるケースを考えます。GASを挟むと、元投稿URLの付与、ハッシュタグ整理、社内メンション削除を一箇所にまとめられます。
方法3:Claude Codeで自前botを作る
Discord→Xを継続運用するなら、自前botが一番コントロールしやすいです。Claude Codeを使う価値は、コードだけでなく、README、dry-run、テスト、ログ、停止手順までまとめて作れる点にあります。
Uravationのwebhook-channel運用知見を一般化すると、投稿用チャンネルを1つ作り、そこに置かれた#xpostだけを拾い、Typefullyに下書きまたは次の空き枠として登録します。成功・失敗は運用者用チャンネルへ通知し、元投稿IDをログに残します。
Claude Codeに渡す指示例
Discordの特定チャンネルに投稿された #xpost だけをTypefully下書きにするNode.js botを作ってください。
環境変数は DISCORD_BOT_TOKEN, DISCORD_SOURCE_CHANNEL_ID, TYPEFULLY_API_KEY, TYPEFULLY_SOCIAL_SET_ID を使ってください。
不足している情報があれば、最初に質問してから作業を開始してください。重複投稿防止を追加してください。Discord message IDを保存し、同じIDは再処理しない設計にしてください。
失敗ログと運用者向け通知も入れてください。
仮定した点は必ず"仮定"と明記してください。Typefully連携を独立したモジュールにしてください。publish_at は初期値を next-free-slot にし、now は環境変数で明示した場合だけ許可してください。
数字と固有名詞は、根拠(出典/計算式)を添えてください。Discord Botの権限とIntentをREADMEに整理してください。
Message Content Intentが必要な理由、読むチャンネルを限定する理由、トークン漏洩時の停止手順を含めてください。
不足している情報があれば、最初に質問してから作業を開始してください。dry-runモード、環境変数の未設定検知、投稿先チャンネルID確認、fetchのモックテストを追加してください。
実APIを叩くテストと単体テストを分けてください。
不足している情報があれば、最初に質問してから作業を開始してください。最小実装の考え方
import { Client, GatewayIntentBits } from 'discord.js';
import 'dotenv/config';
const client = new Client({ intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent
]});
client.on('messageCreate', async (message) => {
if (message.author.bot) return;
if (message.channelId !== process.env.DISCORD_SOURCE_CHANNEL_ID) return;
if (!message.content.startsWith('#xpost')) return;
const text = message.content.replace(/^#xposts*/, '').trim();
await createTypefullyDraft(text, message.url); // Typefully APIへ下書き作成
await message.react('✅');
});
client.login(process.env.DISCORD_BOT_TOKEN);X APIへ直接投稿する出口は、公式のCreate PostエンドポイントであるPOST /2/tweetsです。認証済みユーザーのアクセストークンを使い、JSON bodyのtextに本文を入れます。ただし、直接投稿は従量課金と投稿事故の責任を自社で持つ設計です。企業運用ではTypefully下書き経由を先に検討してください。
Claude Code自体の反復作業化は、Claude Codeログをスキル化するOSSも近い考え方です。自動化プロジェクト全体の比較は、GA4レポート自動化3つの方法も参考になります。
Typefully経由を選ぶ場面
Typefully経由は、X API制限を無視する抜け道ではありません。投稿ワークフローを、下書き・予約・レビュー・複数SNS展開の基盤に寄せる選択肢です。Discord投稿をそのまま公開文にせず、素材として受け取り、公開前に整える運用と相性が良いです。
- 投稿前に人間レビューを挟みたい
- X以外にもLinkedInやThreadsへ出したい
- 投稿カレンダーで空き枠管理をしたい
- X APIの認証実装や課金監視を自社で持ちたくない
完全リアルタイム、大量投稿、APIレスポンスの細かい制御が必要なら、自前botとX API直接連携を検討します。
運用ルールを先に決める
自動投稿は、動いた瞬間から公開責任が発生します。技術構成より先に、次の3つを決めます。
- 投稿対象チャンネル:雑談や質問チャンネルは対象外。専用チャンネルだけを読む。
- 公開方式:初期は下書き。即時公開は、停止手順と承認者が決まってから。
- 機密情報:顧客名、売上、未公開機能、個人情報、契約条件、添付ファイルは初期版では転送しない。
APIや外部サービス選定の観点は、生成AI API選定5項目にも近いです。SNS連携でも、SLA、レート制限、監査ログ、認証方式、停止手順は同じように見ます。
【要注意】よくある失敗パターン
失敗1:Discord Webhookで投稿を読めると思う
❌ DiscordのWebhook URLを作れば、チャンネル投稿を外部へ送れると思う。
⭕ Discord Webhookは外部からDiscordへ投稿する入口です。Discord内の投稿を読むにはBotや対応トリガーを使います。
失敗2:X APIの古い無料枠情報で見積もる
❌ 古い記事を見て、X APIは無料で一定数投稿できる前提にする。
⭕ 2026年8月5日時点のX公式PricingとDeveloper Consoleで、課金・レート・使えるエンドポイントを確認します。
失敗3:全部を即時公開にする
❌ Discordに書いた瞬間、Xにも出す。
⭕ 初期はTypefully下書き、または次の空き枠に入れます。即時公開は、対象チャンネル、投稿者、本文ルール、停止手順が固まってからです。
失敗4:トークンをコードやDiscordに貼る
❌ Discord Webhook URL、Typefully APIキー、Xアクセストークンをソースコードやチャットに貼る。
⭕ 環境変数、GASのScript Properties、ホスティングサービスのSecretsに保存し、ログにも出さないようにします。
FAQ
Discordの投稿をXへ無料で完全自動投稿できますか?
少量検証なら無料枠に寄せられます。ただし、Discord投稿を読む仕組みとXへ投稿する出口が必要です。X APIを直接使う場合、公式情報上はPost作成が従量課金です。無料にこだわるなら、まずTypefullyやIFTTTなどの自分のプラン範囲を確認し、下書き運用から始めてください。
Xの投稿をDiscordへ流すだけなら何が一番簡単ですか?
Discord側はIncoming Webhookが最短です。X側の検知は、IFTTTのXトリガー、Typefullyの公開Webhook、X APIの取得などから選びます。自分のX投稿だけを通知するならIFTTTやTypefully経由が軽いです。
参考・出典
- X API pay-per-usage pricing and credits – X Developer Platform(参照日: 2026-08-05)
- Create or Edit Post – X Developer Platform(参照日: 2026-08-05)
- Webhook Resource – Discord Developer Platform(参照日: 2026-08-05)
- What are Privileged Intents? – Discord Developer Support(参照日: 2026-08-05)
- Quotas for Google Services – Google Apps Script(参照日: 2026-08-05)
- Typefully API – Typefully Help Center(参照日: 2026-08-05)
- Typefully API v1 → v2 migration guide – Typefully Help Center(参照日: 2026-08-05)
ここまでの要点
- Discord x 自動投稿は、X→DiscordとDiscord→Xで難易度が違います。
- 2026年8月5日時点で、X APIは従量課金として設計するべきです。
- 最初の実装は、専用Discordチャンネル、
#xpost、Typefully下書き、ログ保存に絞ると安定します。 - 自前botを作るなら、Claude CodeにREADME、dry-run、テスト、重複排除、失敗通知まで作らせます。
今日やること:X→DiscordならDiscord Webhookを作る。Discord→Xなら専用チャンネルを作り、Typefully下書きへ送る構成から始める。いきなり全自動公開にしないことが、結果的に一番早いです。
あわせて読みたい:AIエージェントの最小権限設計では、権限と停止手順の考え方を整理しています。
次回予告:次の記事では、SNS自動投稿botの承認フローと誤投稿を止める設計を、チーム運用向けに掘り下げます。
著者: 佐藤傑(さとう・すぐる)
株式会社Uravation代表取締役。X(@SuguruKun_ai)フォロワー約10万人。100社以上の企業向けAI研修・導入支援。著書『AIエージェント仕事術』(SBクリエイティブ)。SoftBank IT連載7回執筆(NewsPicks最大1,125ピックス)。
自社のDiscord・X・Typefully連携を整理したい場合は、お問い合わせフォームからご相談ください。
AI導入、要件整理から一緒にやります
100社以上・研修4,200名以上の実績。ツール選定から設計・社内展開まで、実務目線で伴走します。
- 100社以上・研修4,200名以上の実績
- 初回30分無料・即日返信
お問い合わせフォームから24時間以内にUravation担当者がご返信します。




