- python3
- telegram
- network
- ngrok (如果使用本機作為伺服器)
pip3 install requirement.txt
pip3 install python-vlc
- 因為考量到自己最近身體不是很好,不過常常去診所看醫生,卻只是被簡單問個一兩句就結束,有時候都不知道是不是醫生人比較多,所以比較隨便,還是真的只是小問題。而且因為台灣的健保使得看病很便宜,所以有時沒甚麼事的小病,也會去看醫生,非常浪費醫療資源。
- 而當如果要吃藥或是網路上掛號後,常常會一忙就忘記這些事,如果這些小事寫上行事曆又會顯得很雜亂,所以才希望有個可以提醒的功能
- 因為去年我有個好朋友跟他女朋友分手,他連續好幾天心情都很難過,想跟我聊天或是談心,可是我剛好那幾個禮拜很忙幾乎天天都在系館到3.4點,所以沒有辦法第一時間陪在他身邊,看他變成行屍走肉,我自己也妥是難過,所以才想要可以安慰別人的功能,雖然還是有差,但是我想多多少少可以為他分擔一些不愉快,甚至給他一些鼓勵,或許我朋友就不會像個殭屍一樣度過了半年。
主要有三個功能:
- 設定提醒事件鬧鐘 可以用留言設定需要被提醒的事件和提醒時間,當時間到時,bot會傳送提醒的事件作為訊息,來通知使用者時間到了要做甚麼。
- 簡易診斷身體狀況 將身體不舒服的狀況以訊息做輸入,並且跟著bot的回覆類似醫生問診做問答,最後會簡單告訴使用者,身體出了甚麼狀況和應該要如何解決。
- 心情抒發 可以將自己不好的心情以訊息方式傳送,bot會以相對應的來給予鼓勵或安慰
- state: user
- input:
"[提醒]"
- response:
請問要設定甚麼提醒? 先打出時間(24小時制) 再打事項 ex.13:24 要記得吃藥
- response:
- input:
- state: setNote
- input:
13:30 要記得吃藥
- response:
"已經完成設定"
- error:
"抱歉~你的設定負數的時間哦~請重新設定" or "抱歉~你的設定過去的時間哦~請重新設定" (如果時間設定為過去的時間或是負數時間,並重回到user state)
- response:
- input:
- result:
"要記得吃藥" (當時間到所設定的時間,伴隨BeapBeap聲)
目前有三種資訊系學生較為常見症狀可以診斷
- 嘴破
- 腰痛
- 眼睛痠
- state: user
- input:
"我不舒服"
- response:
"你怎麼啦??"
- response:
- input:
- state: uncomfort
- input:
"我嘴巴破掉了" or "我眼酸" or "我腰痛"
- response:
會根據輸入進入到不同的狀態並給予不同的回覆
嘴破: "你是不是最近太常熬夜=3=?" 腰痛: "多久了??" 眼酸: "你一定是眼睛用太久了" "來跟我一起做動眼操"
- response:
會根據輸入進入到不同的狀態並給予不同的回覆
- input:
- state: mouthache
- input:
"沒有" or "有"
- response:
嘴破有很多原因 以中醫來看,就是「火氣太大」 以西醫來看,有可能是下來原因 ●精神緊張、壓力過大 ●營養不均衡 ●睡眠不足 ●過度勞累 ●女性內分泌失調 ●免疫能力減退 ●家族遺傳 通常10%的嘴破發生原因是缺乏維生素B、C, 造成黏膜發炎並破裂;而臨床上80%的患者都 是因為情緒緊張造成免疫功能失調、或因此造 成肌肉緊繃,使黏膜的血液循環不良而造成嘴破
- response:
- input:
- state: mouthacheReason
- input:
"那怎麼辦?"
- response:
1.多吃水果,尤其是奇異果、柳丁、蘋果等等 2.吃點退火食物,如綠豆、薏仁、仙草 3.早點休息 4.多運動、多喝水 *盡量不要吃荔枝等上火水果 *用鹽水漱口是沒用的
- response:
- input:
-
state: backpain
-
state: backpainLong
- state: eyehurt
- input:
<no input>
- response:
(會伴隨google小姐的聲音,並且自動隔5秒傳送下一則訊息)
"先閉上眼睛5秒" "然後眼睛往左看5秒" "換往右看5秒" "換往上看5秒" "換往下看5秒" "好了~有舒服點嗎?"
- response:
(會伴隨google小姐的聲音,並且自動隔5秒傳送下一則訊息)
- input:
- state: seeDoctor
(在每個症狀的最後狀態都接到seeDoctor)
- input:
<no input>
- response:
"如果長時間沒有好或持續惡化,建議還是去看個醫生ㄅ"
- input:
-
state: user
- input:
"我心情不好"
- response:
"你還好嗎?說來聽聽"
- response:
- input:
-
state: badMoodBegin
- input:
<any input>
- response:
<none>
- response:
- input:
-
state: badMood
-
state: badMoodFinish
- input:
"謝謝你"
- response:
"加油~我會一直在這聽你說的"
- response:
- input:
- 目前所給的詞語還不能隨意點,必須要非常明確
- 再傳送圖片上,沒有close
- 不能多個人同時使用此bot
- 聲音目前只能出現在server端,無法直接傳送
- 將一些症狀資料可以動態從網路上爬取
- 可以自動生成新的診斷狀態
- 對話在更人性化