LINE 機器人 RPG 打王小遊戲

利用機器人進群組資料蒐集,也可以做出類遊戲風格的遊玩方向

🛡️ AvengerBot (復仇者聯盟 RPG 機器人)

這是一個基於 Laravel 框架開發的跨平台互動式文字 RPG 機器人,並結合了 Vue 3 SPA 作為強大的後台管理系統。 提供流暢的指令操作互動介面 (Flex Message)。

LINE BOT 機器人ID: @rsj9080r


✨ 核心特色與 UI 設計語彙 (Design System)

為了脫離傳統對話機器人生硬的「純文字洗版」體驗,本專案全面導入了精心設計的 LINE Flex Message UI 系統:

1. 系統通知紙條 (Toast / Snackbar)

全面捨棄純文字提示。所有的成功、錯誤、防呆提醒,都會以單行小卡片的形式彈出,並帶有狀態專屬顏色的左側飾條:

  • 🟢 迎新綠 (#00B900):操作成功 (例如:選角成功、圖片上傳成功)。
  • 🟠 警告橘 (#FF9800):錯字捕捉提醒 (搭配釘選原訊息功能)。
  • 🔴 錯誤紅 (#E53935):防呆與錯誤提示 (例如:輸入錯誤編號、未開戰就點擊攻擊)。

2. 互動式輪播選單 (Carousel Menu)

如「歡迎加入」、「秀角清單」、「指令說明 (?)」等複雜資訊,全面改用可左右滑動的精美卡片。

  • 支援一鍵點擊:玩家不需開啟鍵盤打字,直接點擊卡片上的「英雄名字」或「灰色指令標籤」,系統即會自動代為送出對應指令。

3. 戰鬥面板 (Battle Dashboard)

  • 戰鬥紀錄 (Battle Log):將多行戰鬥文字收納進單一張帶有紅色飾條的白色卡片中,避免洗版。
  • 狀態面板 (Info):雙方血量 (Health) 與怒氣 (Rage) 皆使用具備視覺張力的「動態進度條 (Progress Bar)」呈現。

📜 指令說明與操作指南

🧭 基本導航與選角

卡片主題色:迎新綠 (#00B900)

指令 說明
? 呼叫系統指令選單,包含所有基本與打王指令的快速點擊按鈕。
秀角 顯示目前所有英雄的輪播清單卡片,點擊卡片即可快速選角。
選角 [編號] 綁定你的出戰英雄。
加角 [名字] 將新的英雄加入到系統名單中。

⚔️ 戰鬥系統

卡片主題色:戰鬥紅 (#E53935)

指令 說明
打王 隨機召喚一名 Boss,並初始化戰鬥狀態。
資訊 呼叫華麗的對戰面板,查看雙方目前的等級、血量與怒氣條。
攻擊 對 Boss 發動攻擊。若怒氣滿 100 則會自動升級為「大招」。
大招 當怒氣滿 100 時可主動施放,造成大量傷害。
治療 恢復自身血量。
防禦 進行防禦,減少本回合 Boss 造成的傷害。

💡 戰鬥結算與升級機制:Boss 死亡後經驗值將歸英雄所有,英雄達標後會自動升級增加基礎數值;再次呼叫 打王 將迎戰下一等級的強大敵人!

🖼️ 英雄圖庫系統

指令 說明
加圖 呼叫英雄選單,點選後可為該英雄上傳專屬圖片。
加圖 [編號] 直接準備為指定英雄上傳圖片。
忘記 刪除目前綁定英雄的專屬圖片。
隨機抽出一張英雄圖片。
抽 [編號] 隨機抽出該指定英雄的一張圖片。

🖥️ 後台與 API 系統 (Backend SPA & API)

除了作為 LINE Bot 的核心邏輯處理外,此專案同時也提供完整的 RESTful API,供 Vue 3 前端 SPA 進行後台管理:

  • SPA 整合支援:Laravel 直接託管 Vue 編譯後的靜態檔 (backend-vue/assets),提供無縫的單頁應用程式 (SPA) 管理介面。
  • 後台管理 API:提供英雄 (Heroes)、Boss 資料的 CRUD 與等級設定 API。
  • 錯字統計系統 (Typo Tracker):支援完整的錯字偵測與數據分析,可統計各大群組與個別玩家的「錯字排行榜」與趨勢圖。
  • 圖片伺服 (Image Serving):自訂獨立的圖片路由 (/UploadPhoto),安全可靠地提供英雄專屬圖片。

🛠️ 技術堆疊 (Tech Stack)

  • Framework: Laravel 9
  • Language: PHP 8.0+
  • Tools: Laravel Cache (Redis)
  • Database: MySQL / Eloquent ORM
  • Integrations:
    • LINE Messaging API (Flex Messages, Quick Replies)
  • Frontend Integration: Vue 3 SPA (經由 Laravel Fallback Route 渲染)