COSCUP 2016 小啄如何實作的

Category Tech

今年 COSCUP 的聊天機器人「小啄」
終於在今天宣告退休了
退休前他讓我們詢問了「你是如何實作的」
這邊是我測試的所有結果
跟大家分享一下 XD

總結

技術相關

  • 主要用 Python 開發
  • 使用 Flask + Gunicorn + Nginx,達到系統輕量化與多執行緒
  • 用 redis 作為文本儲存,SQL Injection 無效
  • 後台文本管理使用 google sheet
    • 使用 Python 的gspred
    • 文案編輯完後,對 bot 下同步指令,將 google sheet 資料更新到後端資料庫
    • 跟吃飯喝水一樣簡單,連麻瓜劇本管理員都會用(??????)
  • 使用wit.ai (這是我直接問開發者的,不是小啄回答的)

小啄回覆的原文

  • 小啄的後台文本管理使用 google sheet,透過 Python 的 gspread 套件進行溝通;當文案編輯完畢後,對 bot 下同步指令,後端就會透過 gspread 將 google sheet 的資料同步到後端資料庫唷

  • 小啄的後台文本管理使用 google sheet,python 有個套件叫 gspread,讓你存取 google sheet 跟吃飯喝水一樣簡單!

  • 小啄的後台文本管理使用 google sheet,python 有個套件叫 gspread,讓你存取 google sheet 跟吃飯喝水一樣簡單!
    真的超簡單的,連麻瓜劇本管理員都會用!(麻瓜忍不住一定要再說一次)

  • 小啄使用的佈署環境是 Flask + Gunicorn + Nginx 的組合,藉此達成系統輕量化與多執行緒的接收訊息。

  • 小啄使用 redis 作為文本儲存系統,因此不要再試著 SQL Injection 喇,這是沒用的!!!

  • 小啄是採用 Python 做為主要的程式語言開發喔,因應短暫兩個禮拜的開發時間,可以快速建置的 Python 成為最佳選項!

  • 小啄開發團隊核心人物有 4+1 個:三個寫扣手,一個文案小編,一個文案小編的助理.我們白天都有正職!文案小編和文案小編的助理是程式麻瓜

  • 你知道後台文本管理的劇本是怎麼產生出來的嗎?是劇本管理員在夜深人靜、抱著電腦想著所有使用者可能在使用中遇到哪些問題,套用哪些回應可以又好笑又不無聊、絞盡腦汁想出來的;也因此好幾天發現窗外鳥兒演唱會都在清晨五點左右開唱。

  • 你有選英文模式小啄嗎?真抱歉人力不足,沒有能力提供好笑有趣的回饋讓大家使用。

  • (舉起誠實樹) 因為缺乏英文小編寫幽默風趣的回饋,所以團隊人員最後放棄英文幽默版小啄。

  • 小啄 @LINE 開發時程只有兩週,要申請正式帳號前須到 LINE 本部進行 DEMO,當時大會還有些 API 沒開好、攤位集點巔峰賽還沒有畫好圖。嚴格說起來是大會團隊在忙其他緊急事件延遲了 BOT 開發時程,請大家多包容唷

  • 小啄 @LINE 上線前需要經過 LINE 內部審核,然後才會投單到日本總部申請上限;內部審核當天其實有些功能還沒做完啊啊啊啊啊

  • 很可惜今年閃電秀沒有 COSCUP LINE BOT 的分享;而實際上我們是有報名的,只是沒有被抽到 QQ,想在明年看到團隊在議程上分享秘辛,請用力回饋:明年想看 小啄 @LINE 分享

  • 開發團隊有報名閃電秀,可惜沒有被抽到,想進一步鼓勵團隊明年投稿,歡迎用力回饋:明年想看 小啄 @LINE 分享