エンジニアじゃない私が、AIと3日で「LINEに話すだけでXに投稿できるツール」を作った話
結論から言います。
エンジニアじゃない私でも、作れました。
LINEに話しかける →文章になって返ってくる →「OK」と返す →Xに投稿される
そんな自作ツールです。かかった期間は3日。書いたプログラムの行数、0行。
え、プログラム書いてないのに作れるの?と思いました?
書いてないんです。全部AIが書きました笑
この記事では、私が実際にやった手順を、つまずいたところも含めて全部公開します。「AIでこんなことができる時代なんだ」というのが伝われば嬉しいです😊
注:この記事は「私はこうやった」という体験談です。各サービスの画面や料金は変わることがあるので、最新情報は公式サイトで確認してください。
そもそも、なんで作ったの?
きっかけは、Xで交流のある方からの一言でした。
「AI音声入力ツール作ってくれませんか?笑」
実は私、前から「手放しでポストしたい」という野望がありました。
ポストしたいことって、手がふさがっているときに限って浮かぶんです。洗い物の途中、洗濯物を干している最中、車の運転中…(もちろん運転中のスマホ操作はダメなので、あくまで将来の夢です笑)
そして手が空いたころには、ネタごと忘れてる。この繰り返しでした。
さすがに「完全に手放し」はハードルが高いので、今回は「家事の合間に、LINEに話しかけるだけでポストできる」を目標にしました。
LINEなら毎日使ってるし、音声入力ならしゃべるだけ。
「LINEに話したことが、そのままXに投稿されたら最高じゃない?」
思いつきを、そのままAIに相談してみました。
完成したものは、こんな仕組み
出来上がった仕組みを、たとえ話で説明します。
登場人物は4人です。
| 登場人物 | 役割 |
|---|---|
| LINE公式アカウント | 私の話を聞いてくれる「受付係」 |
| Cloudflare Worker | 全体を取り仕切って、Xに届ける「執事」 |
| Gemini(AI) | 話し言葉を投稿文に整える「編集者」 |
| X(Twitter) | 投稿先 |
私がLINEの受付係にグダグダの話し言葉で話しかけると、編集者が私の口癖どおりの投稿文に整えて、執事が「この内容で投稿しますか?」と聞き返してくれます。
私が「OK」と返したときだけ、執事がXに投稿する。
この「OKと返すまで絶対に投稿されない」が今回のこだわりです。音声入力の誤変換のまま世界に発信されたら大惨事なので笑
作り方の全手順
ここから、実際にやった手順です。正直に言うと、作業のほとんどは「AIの指示どおりに画面のボタンを押して、キーをコピペする」でした。
私はClaude Code(AIに作業をまるごと頼めるツール)を使いました。同じことをするなら、Codexのような「エージェント型AI」(会話だけでなく、ファイル作成や設定作業まで代わりにやってくれるタイプ)がおすすめです。ふつうのチャットAIだと、コードは書いてくれても、そのあとの設置作業を全部自分でやることになるので、非エンジニアにはかなりつらいと思います。
手順1:Xの「開発者向けのカギ」を発行する(約30分)
Xには開発者向けの窓口(X Developer Portal)があります。ここで自分のアカウント用の「APIキー」というカギを発行します。
やることは4つ。
- X Developer Portalに自分のXアカウントでログイン
- 開発者登録をして、アプリ(ツールの登録枠)を作る
- 権限を「Read and write」(読み書き両方)に変更する
- カギを4本発行する(API Key・API Key Secret・Access Token・Access Token Secret)
つまずきポイント:カギを4本も発行するとは思っていませんでした。しかも権限変更の後にカギを発行し直す必要があって、順番を間違えて一度やり直しています笑
発行したカギは、パスワード管理アプリ(私は1Password)に保存しました。メモ帳やスクショ保存はダメ、絶対。
注:X APIは有料です。私が選んだ従量課金プランだと、1投稿あたり約2.3円。月100投稿しても230円くらいなので、個人利用なら現実的な金額です。
手順2:LINE公式アカウントを作る(約30分)
次は受付係のLINE公式アカウントです。無料で作れます。
- LINE Developersに自分のLINEアカウントでログイン
- プロバイダー(開発者としての名義)を作る
- Messaging APIのチャネル(ボットの本体)を作る
- ここでもカギを2本発行(チャネルシークレット・チャネルアクセストークン)
- 「応答メッセージ」をオフにする(オンのままだと、ボットが定型文で二重に返事してしまう)
- QRコードを読み取って、自分のLINEに友だち追加
これでカギは合計6本(あとで編集者Gemini用が1本増えて、最終的に7本になります)。もう立派なカギ屋さんです笑
手順3:プログラム本体をAIに書いてもらう(約10分)
ここが一番ハードルが高そうで、実は一番ラクなところ。
私がAIに伝えたのは、こんな内容だけです。
「LINEに送った文章を下書きにして、OKと返したらXに投稿されるようにしたい。勝手に投稿されるのは絶対イヤ。最初はテストモードで動かしたい」
数分後には、プログラム一式が出来上がっていました。私がやったことは、要望を日本語で言っただけ。
ポイント:「テストモードで動かしたい」は入れてよかったです。本物のXに投稿される前に、安心して何度でも試せました。
手順4:Cloudflareに設置する(約15分)
出来上がったプログラムは、どこかのサーバーに置かないと動きません。私はCloudflare Workersという場所に置きました。個人利用なら無料枠で十分です。
ここで初めて「黒い画面」(ターミナル)を触りました。
と言っても、AIが用意してくれたコマンドをコピペして、Enterを押しただけ。ブラウザが開いて「Allow」を押したら設置完了です。
つまずきポイント:最初にコマンドを打ったら「command not found」というエラーが出ました。原因は、必要な道具(Node.js)への道がターミナルに通っていなかっただけ。AIに画面を見せたら30秒で解決しました。エラー画面はそのままAIに見せる、が正解です。
手順5:カギ6本を金庫に登録する(約15分)
発行した6本のカギを、Cloudflareの金庫(シークレット機能)に登録します。
ここで大事なことをひとつ。
カギは、AIにもチャットにも貼り付けませんでした。
登録用のコマンドだけAIに作ってもらい、カギの値そのものは、私が自分のターミナルで1Passwordから直接貼り付ける方式です。画面には●●●すら表示されない徹底ぶりで、最初は「ほんとに入力できてるの?」と不安になりました笑
ポイント:APIキーは「あなたのアカウントを操作できる合鍵」です。プログラムに直接書いたり、チャットに貼ったりするのは、家の合鍵をSNSに載せるのと同じ。金庫(シークレット機能)に入れる方式なら、キーが漏れる場所がありません。
手順6:LINEとCloudflareをつなぐ(約5分)
最後の配線です。LINE Developersの設定画面に「Webhook URL」という欄があるので、そこにCloudflareの住所を貼り付けて、Webhookをオンにするだけ。
これで、LINEに届いたメッセージが執事に転送されるようになります。
手順7:テスト!(感動の瞬間)
LINEを開いて、話しかけてみます。
「テストです!今日はLINEからXへポストするためのシステム構築をがんばりました!」
数秒後、返事が来ました。
「OK」と返すと——
「(テスト)投稿内容:テストです!今日は…」
動いた!!
テストモードなので実際には投稿されていないんですが、この瞬間は声が出ました笑
自分が思いつきで口にした仕組みが、2日後に手の中で動いてる。この感動は、ぜひ味わってほしいです。
かかったお金、全部見せます
| 項目 | 金額 |
|---|---|
| Cloudflare Workers | 0円(無料枠) |
| LINE公式アカウント | 0円(無料プラン・月200通まで) |
| Gemini(文章を整える編集者AI) | 0円(無料枠) |
| X API | 従量課金(1投稿 約2.3円) |
| 開発を手伝ってくれたAI(Claude) | 月額プランを利用中 |
つまり、開発用AIの利用料を除けば、ほぼタダです。文章整形のAIまで無料で動いているのは、自分でも驚きました。
月100投稿しても、X APIの料金は230円くらい。缶コーヒー2本分で「フリック入力からの解放」が買えるなら、私は安いと思いました😊
正直に言うと、つまずきまくりました
いいことばかり書くのはフェアじゃないので、うまくいかなかったことも全部書きます。むしろここが一番おもしろいところかもしれません笑
つまずき1:クレジットカードが通らない
最初、編集者AIには別のサービスを使う予定でした。ところが利用料の支払い手続きで、カードがどうしても通らない…
カードを変え、ブラウザを変え、入力方法を変え、全部ダメ。AIと一緒に調べた結果、「日本の個人ユーザーだと購入ボタンが押せなくなる」というサービス側の不具合らしいと判明。サポートに報告して、こちらは返答待ちです。
私のせいじゃなかった。ここまで調べるのに丸1日かかりました笑
そこでAIと相談して、無料で使えるGeminiに乗り換え。「完璧を待たずに、動くものを先に完成させる」方針に切り替えました。これが大正解でした。
つまずき2と3:原因不明の連続エラー
Geminiに乗り換えて、いざテスト。LINEに話しかけたら「下書きの作成に失敗しました」。直してもらったら、今度は返事すら来なくなりました笑
正直に白状すると、この2つ、私は原因をまったく分かっていません。
私がやったのは「失敗したみたいです」とAIに報告して、言われるがままにLINEでテスト送信を繰り返しただけ。その間にAIが裏側の記録を調べて、「古いAIモデルを指定していたので最新版に変えました」「LINE側が返事を待ちきれず切断していたので、先に受け取り確認だけ返す方式にしました」と直していってくれました。
3回目のテストで、突然きれいな返事が来たときは声が出ました。
つまずき4:最後の最後で、Xに拒否される
いよいよ記念すべき第1号投稿…「OK」を送ったら「投稿に失敗しました」。
原因は、Xのカギ4本のうち、発行し直した時期がズレて「ペアが合わない」状態になっていたこと。4本まとめて発行し直したら、あっさり解決しました。
ここで一番の学びを共有します。
エラーが出たら、画面をそのままAIに見せる。これだけです。
私は原因をひとつも自力で特定していません。エラー画面を見せるたびに、AIが「原因はこれです。こう直します」と進めてくれました。エラーは怖いものじゃなくて、AIに渡すただの材料でした。
非エンジニアこそ、ここだけは守ってほしい
AIに任せれば作れる時代だからこそ、安全面だけは自分で意識する必要があります。私が守ったのは3つです。
- APIキーをチャットやメモ帳に貼らない。パスワード管理アプリと金庫機能だけで受け渡す
- 「勝手に投稿されない」仕組みにする。必ず自分の「OK」を挟む
- いきなり本番にしない。テストモードで動きを確認してから切り替える
逆に言えば、この3つさえ守れば、失敗しても被害はほぼゼロです。
まとめ:日本語が話せれば、ツールは作れる
無事に、記念すべき第1号ポストもXに投稿できました。
LINEに向かってしゃべって、返ってきた下書きに「OK」と返しただけ。スマホの音声入力から、世界への発信まで、フリック入力ゼロ。ちょっと感動しました。
やったことを振り返ると——
- プログラミング:0行(全部AI)
- 私がやったこと:要望を日本語で伝える、画面のボタンを押す、カギをコピペする、エラー画面をAIに見せる
- 期間:3日(うち1日はカード事件です笑)
- 費用:ほぼ0円
作りたいものがある人は、まずAIに「こういうのが欲しいんだけど、私にも作れる?」と聞いてみてください。たぶん「作れますよ」と返ってきます。実際、作れちゃいましたから笑
エンジニアじゃないから、と諦めてたけど。やればできる時代になってきたな、と感じました。
これからは毎日の思いつきを、家事の合間に声でポストしていきます。このツールで書いた投稿がバズったら、また記事にします!
AIとの付き合い方は、こちらの記事でも書いています。