見出し画像

【有言実行】Webサブスク決済連動の完全自動AI恋愛相談ラウンジ|Discord版→LINE版リプレイス

以前、下記の記事で「LINE版も作れます」と書きました📝
そして今回、実際に有言実行として構築した記録です😎

 Webサブスク決済と連動した完全自動・マルチペルソナ型Discord AI恋愛相談ラウンジを構築してみた

Web決済とサーバーレスの頭脳とDiscordを繋いで、3人のAIアドバイザー(由美子・レイナ・詩織)が24時間恋の相談に乗るシステムの構築記録です❗️

なぜ構築したか❓️

予告だけして終わるのも格好がつかないので本当に作りました💪
恋愛相談は1対1でこっそり話したいテーマだし、日本人はみんなLINEを持っている。だったらLINEが自然だよね❗️というだけの理由です👍️

今回はそのDiscord版からLINE版への載せ替えを、技術寄りに書いていきます。

まず、全体の仕組み 🧩

LINE版の全体像はこうなっています。前作のDiscord版とほぼ同じで、変わったのは一番下のUI層(窓口)だけです。

頭脳にあたる Cloudflare Workers(司令塔)、D1(会員と状態のDB)、OpenAI API、決済のWebhook受け口は、Discord版をそのまま流用しています。
これは、Discord版を作った時点で、UIとロジックをわざと切り離して設計していたからです。「窓口はいつか別物に替わるかも」と思って、プラットフォーム依存の部分を“差し替えられる部品”として組んでおいた。だから今回はDiscordという部品を抜いて、LINEを挿すだけで済みました。

実際に変えたところ 🔧

UI層を Discord Bot から LINE Messaging API に載せ替えます。具体的にはこの辺りを組み直しました。

受信と返信の方式:LINEはWebhookでメッセージを受け取り、replyToken を使って返信します。このreplyTokenには有効時間があるので、処理が長引くときは push API に切り替える。前作でDiscordのGatewayタイムアウト対策に使った“重い処理は後ろに回す”発想を、そのまま流用しました。

Flex Message:JSONで組むカード型のリッチメッセージ。アイコン+名前+本文をカードで出せるので、由美子・レイナ・詩織の“顔”が見える返信にできます。テキストが流れるだけのDiscordより、相手が誰かハッキリします。

送信者アイコン・名前:LINEはメッセージごとに送信者の表示名とアイコン(sender.name / iconUrl)を差し替えられます。これで「今はレイナが喋っている」感を出しました。

Quick Reply:返信の下に出るタップ候補。キャラ選択や次のアクションをワンタップで選べるようにしています。

LIFF(LINE Front-end Framework):会員登録や決済まわりの導線を、LINEの中のWebビューで完結させました。

回答の深さ:OpenAI側の max_tokens を引き上げて、踏み込んだ長さまで答えきれるように調整しました。

ここを工夫しました:キャラの切り替え 💡

今回、一番面白かったのがキャラの切り替えです😏
Discordでは「#レイナの部屋」のようにチャンネルを分けるだけでキャラが切り替わりました。でもLINEの1対1トークに部屋はありません。同じ画面で3人をどう出し分けるか。
そこで、部屋の代わりに D1の各ユーザーレコード「選択中キャラ」にフラグ を持たせました。Quick Replyやリッチメニューでキャラを選ぶとフラグが書き換わり、メッセージが来るたびにそのフラグを読んで、由美子・レイナ・詩織の該当するシステムプロンプトを適用して返します。Discordの“部屋による暗黙の切り替え”を、LINEでは“選んでもらってフラグで覚えておく”に置き換えた形です。
やってみたら、今どのアドバイザーと話しているかがむしろハッキリして、気持ちのいい仕上がりになりました☺️

以上が、Discord版→LINE版へのリプレイス記録と考え方です☺️

相沢アイ


いいなと思ったら応援しよう!