Skip to content

饅頭聊天機器人,主要是一個在 LINE 上的一個聊天機器人;此專案需部屬至 Vercel 伺服器。

Notifications You must be signed in to change notification settings

mant0u0/LineBot-Mant0u

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

饅頭機器人

簡介

饅頭聊天機器人,主要是一個在 LINE 上的一個聊天機器人。你可以直接跟機器人對話,使用特定的「關鍵字」可以觸發「機器人功能」;也可以直接邀請至群組內,跟朋友一起遊玩。

原先是希望能做一台,有各種亂數功能的機器人,結果功能不小心越做越多。最近還加入了許多 Gemini AI 的應用在一些功能上。為了能讓大家使用起來覺得有趣,花比較多時間在處理介面的圖片繪製上,希望大家會喜歡~ (´・ω・`)

Image

使用方法

Caution

免責聲明

此程式所讀取訊息、圖片,皆為暫存使用,不對其長時間保存,因此不對使用者之訊息、圖片等個人資料負責。

貨幣匯率資料僅供參考,對於因使用或依賴匯率資料而導致的任何損失或損害,概不負責。

Warning

注意事項

試用時如果有出現「Gemini API 請求失敗」的訊息,表示 Gemini 免費版的使用額度已經達到上限。如果可以的話還是建議自行架設,可以使用自己的 API KEY 來玩~

由於這個機器人沒有使用任何的資料庫來記錄使用紀錄,目前遊玩紀錄都是直接寫入暫存資料夾內,可能會被 Vercel 不定時清除。建議自行架設後,可以改寫成存入資料庫中~

  • 點擊以下連結,至 LINE APP 中,將機器人加為好友;直接進行對話即可使用。

    📔 饅頭機器人

自行架設

Note

事前準備

需準備 Github、Vercel、Line Developers 帳號。 略懂 Python 程式語法。

  • 此專案需部屬至 Vercel 伺服器,部屬時所需設定的環境變數(Environment Variables)

    • LINE_CHANNEL_ACCESS_TOKEN:於 Line Developers 後台取得
    • LINE_CHANNEL_SECRET:於 Line Developers 後台取得
    • IMGBB_KEY:於 ImgBB 登入後取得,若不需要可以先移除「以圖搜圖」功能。
    • GEMINI_KEY:於 Google AI Studio 取得,注意選用時的方案是否免費。若不需要可以先移除「AI」功能。
    • MANT0U_BOT_MODEL:測試用可以亂打,輸入「private」可以觸發測試語法。
  • 詳細部屬教學可以參考此簡報。

    📔 簡報 - LINE 機器人架設教學

機器人功能

  • 饅頭 AI 聊天功能 (ai)
  • 搜尋引擎 (search)
  • 翻譯功能 (translate)
  • Twitter 擷取訊息 (fixTwitter)
  • Instagram 擷取訊息 (fixInstagram)
  • 貨幣換算 (currency)
  • 海盜桶 (gamePopUpPirate)
  • 一番賞 (gameIchiban)
  • 扭蛋機 (randomGashapon)
  • 猜拳 (gameRPS)
  • 手槍 (gameGun)
  • 亂數 (randomNumber)
  • 硬幣 (randomCoin)
  • 拉霸 (randomSlot)
  • 擲筊 (randomBwaBwei)
  • 骰子 (randomDice)
  • 抽籤 (randomOkamikuji)
  • 是不是、要不要、有沒有 (randomYesOrNo)
  • 哪個 (randomWhichOne)
  • 抽牌 (randomPoker)
  • 塔羅牌 (randomTarotCards)
  • 日曆 (calendar)
  • 計算機 (calculator)
  • 日文單字 (japanese)

Image

程式與目錄說明

  • index.py

    機器人的主程式,主要是拿來設定特定訊息的「關鍵字」,會觸發什麼樣的「功能」。

  • apps

    這個目錄下,依據不同的小功能分了很多資料夾。其中每個小功能的主要程式,皆命名為「main.py」,如果有「example.py」通常是拿來記錄 Flex Message 的 json 結構的。

  • static

    這個路徑主要是用來放「圖片」用的,由於 LINE 的 Flex Message 或其他圖片訊息,傳送時需要「圖片連結」,為了需要獲取專案下的圖片連結,需要將圖片放在這個目錄下才拿的到圖片連結。當然也可以將圖片存在外部圖庫。

  • tmp

    這個路徑作為伺服器暫時存放檔案用,由於這個專案使用 Vercel 進行部屬,暫存檔案一定要放進這個資料夾內,才能夠進行讀寫。雖然內部的檔案,Vercel 會不定期清除,但因為不想另外開資料庫,所以就先把一些遊戲紀錄存在這邊了。(例如:猜拳、海盜桶、扭蛋機...等使用紀錄)

  • requirements.txt

    記錄專案所需要的第三方套件與其版本資訊。這個檔案可以提示並幫助伺服器或開發者安裝對應的第三方套件,確保專案在不同環境中能夠一致地運行。

參考網站、專案、API

開源授權規定

  • 本專案為個人專案,禁止擅自挪用進行商業用途。

  • 此專案可供程式撰寫之參考,歡迎自行下載改寫、研究、部屬。

  • 若改寫此專案,請勿再使用「Mant0u Bot、饅頭機器人」等名稱稱呼相關程式或服務,避免造成混淆。

  • 如有引用此專案,請註明此專案連結( https://github.com/mant0u0/LineBot-Mant0u ),感謝配合。

特別感謝

特別感謝 GDG Kaohsiung 社群與主辦人 Andy。在每月第二個禮拜二晚上七點於高雄舉辦的 TOOCON 軟體交流聚會,感謝給我機會於 TOOCON#12 上台分享這個專案,順便附上當天的簡報~ ٩( 'ω' )و

抖內支持

如果你喜歡這個小程式,覺得這個專案有幫助到你的話。歡迎抖內,感謝大家~ (っ ´▽`)っ

About

饅頭聊天機器人,主要是一個在 LINE 上的一個聊天機器人;此專案需部屬至 Vercel 伺服器。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages