MCJ Quote Bot - 反応ロジック
見積もりBotがどのメッセージに反応するかの判定ロジック整理
判定フロー
1
料金キーワードがある?
「見積」「料金」「いくら」etc → 反応する(ルートなくても聞き返す)
2
矢印ルートがある?
羽田→千歳 羽田↔️松山 HND->CTS etc → 反応する
3
ICAOコードのルートがある?
RJTT - RJCC RJTT RJCC RJTT→RJCC → 反応する
4
「から」ルート + キーワード?
羽田から千歳 + 「料金」or「空いてますか」 → 反応する
羽田から千歳のフェリーを撮影…(キーワードなし)→ スルー
5
「発・着」ルート + キーワード?
羽田発・屋久島着 + 「可能ですか」 → 反応する
キーワードなし → スルー
判定式(コード)
hasPriceKeyword
|| hasArrowRoute
|| hasIcaoRoute
|| (hasRoute && hasAvailKeyword)
|| ((karaRoute || hatsuChaku) && (hasPriceKeyword || hasAvailKeyword))
キーワード一覧
料金キーワード 単独で反応
見積
料金
いくら
金額
費用
価格
チャーター
おいくら
追加料金
追加費用
空き確認キーワード ルートと組み合わせで反応
空き
空いて
空いてる
埋まって
利用可能
機体.*可能
可能でしょうか
可能ですか
運航可能
ルートパターン
| パターン | 例 | 単独反応 |
矢印 → ➡ > - ~ |
羽田→千歳 HND->CTS |
OK |
双方向矢印 ↔ ↔️ ⇄ ⇔ ⇆ |
羽田↔️松山 |
OK |
ICAOコード RJ** - RJ** |
RJTT - RJCC RJTT RJCC |
OK |
「から」○○から○○ |
羽田から千歳まで |
キーワード必須 |
「発着」○○発○○着 |
羽田発・屋久島着 |
キーワード必須 |
空港名の認識
| 形式 | 例 | 備考 |
| 正式名 | 新千歳 中部国際 | 92空港対応 |
| 通称・別名 | 羽田 伊丹 セントレア 関空 小牧 | 主要空港の通称 |
| ICAO 4レター | RJTT RJCC ROAH | 大文字・小文字どちらもOK |
| IATA 3レター | HND CTS NGO | 大文字・小文字どちらもOK |
| 英語名 | Haneda Narita | 部分一致 |
名古屋の区別
| 空港 | ICAO | IATA | 認識する名前 |
| 中部国際空港(セントレア) |
RJGG |
NGO |
中部 / 中部国際 / セントレア |
| 名古屋飛行場(小牧) |
RJNA |
NKM |
名古屋飛行場 / 小牧 / 県営名古屋 |
日数の聞き返し
ルートが判定できたが日数が不明な場合、以下の選択肢を提示:
| 選択 | 日数 | 復路 |
| ① 1日(片道) | 1日 | なし |
| ② 1日(往復) | 1日 | 自動追加 |
| ③ 2日(往復) | 2日 | 自動追加 |
| ④ 3日(往復) | 3日 | 自動追加 |
| ⑤ 4日(往復) | 4日 | 自動追加 |
番号(①〜⑤)、テキスト(「2日」「片道」「1泊2日」)どちらでも返信可
反応マトリクス(実例)
| メッセージ例 | 反応 | 理由 |
羽田→千歳 2泊3日 |
反応 |
矢印ルート |
羽田↔️松山 1泊2日 |
反応 |
双方向矢印ルート |
RJTT - RJCC 8pax |
反応 |
ICAOルート |
見積もりお願いします |
反応 |
料金キーワード(ルート聞き返し) |
羽田から千歳 いくらですか? |
反応 |
「から」+ 料金キーワード |
羽田発・屋久島着 空いてますか? |
反応 |
「発着」+ 空き確認キーワード |
10/5は機体空いてますか? |
スルー |
ルートなし(空き確認のみ) |
羽田から八尾のフェリーを撮影に… |
スルー |
「から」だがキーワードなし |
お世話になっております |
スルー |
該当なし |
5/21-22 決定でお願いします |
スルー |
予約確定(見積もりではない) |
現在未対応のパターン
| パターン | 例 | 理由 |
| 日付+場所のみ(矢印なし) |
11/15 羽田関空 |
ルートパターンにマッチしない |
| 写真添付の見積もり依頼 |
スクショ + 「空きありますか?」 |
画像内テキストは読めない |
| 複数行にまたがる依頼 |
1行目: 挨拶 → 2行目: ルート |
1メッセージ内なら対応済み。別メッセージは未対応 |
| 英語フォーマット |
Depart: 8 March RJTT |
ICAOルートは対応。Depart/Return等は未対応 |
| ルートなしの空き確認 |
28日まだ空いてますか? |
ルートが不明なため判定不可 |
Last updated: 2026-03-25 | mcj-shift-api worker