def message_text(event): # line_bot_api.reply_message( # event.reply_token, # TextSendMessage(text=event.message.text) Reply_token = event.reply_token text_fromUSer = event.message.text # ### Set Text # text_tosend_1 = TextSendMessage(text='Uncle Engineer 01',quick_reply=None) # text_tosend_2 = TextSendMessage(text='Uncle Engineer 02',quick_reply=None) # ### Set Image # image_message_1 = ImageSendMessage( # original_content_url='https://image.shutterstock.com/image-vector/free-red-square-grunge-stamp-260nw-340650854.jpg' # ,preview_image_url='https://www.webopedia.com/imagesvr_ce/8660/404-error.jpg' # ) # line_bot_api.reply_message( # Reply_token , # messages = [text_tosend_1 , text_tosend_2 , image_message_1] # ) if 'เช็คราคา' in text_fromUSer: from Resource.bxAPI import GetBxPrice from random import randint num = randint(1, 10) data = GetBxPrice(Number_to_get=num) from Resource.FlexMessage import setCarousel, setbubble flex = setCarousel(data) from Resource.reply import SetMenuMessage_Object, send_flex flex = SetMenuMessage_Object(flex) send_flex(Reply_token, file_data=flex, bot_access_key=channel_access_token) else: text_list = [ 'ฉันไม่เข้าใจที่คุณพูด กรุณาลองใหม่อีกครั้ง', 'ขออภัย ฉันไม่เข้า่ใจ กรุณาลองใหม่อีกครั้ง', 'ขอโทษค่ะ มีความหมายอย่างไงค่ะ กรุณาลองใหม่อีกครั้ง' ] from random import choice text_data = choice(text_list) text = TextSendMessage(text=text_data) line_bot_api.reply_message(Reply_token, text)
def message_text(event): ### function reply token Reply_token = event.reply_token text_fromUser = event.message.text # text_tosend_1 = TextSendMessage(text='BullBotThai',quick_reply=None) # text_tosend_2 = TextSendMessage(text='วันนี้เล่นตัวไหนดี',quick_reply=None) # line_bot_api.reply_message( # Reply_token , # messages = [text_tosend_1, text_tosend_2] # ) # image_message_1 = ImageMessage( # origianl_content_url='xxx' # ,preview_image_url='xxx' # ) if 'เช็คราคา' in text_fromUser: from Resource.bxAPI import GetBxPrice from random import randint num = randint(1, 10) data = GetBxPrice(Number_to_get=num) ##เก็บจำนวนข้อมูล from Resource.FlexMessage import setbubble, setCarousel flex = setCarousel(data) from Resource.reply import SetMenuMessage_Object, send_flex flex = SetMenuMessage_Object(flex) send_flex(Reply_token, file_data=flex, bot_access_key=channel_access_token) else: text_list = [ 'ฉันไม่เข้าใจที่คุณพูด กรุณาเลือกใหม่อีกครั้ง', 'ขออภัยฉันไม่เข้าใจจริงๆ ลองใหม่อีกครั้ง', 'ขอโทษครับ ไม่ทราบว่าหมายความว่าอะไร', 'กรุณากรอกข้อมูลใหม่อีกครั้งนึง' ] from random import choice text_data = choice(text_list) text_random = TextSendMessage(text=text_data) line_bot_api.reply_message(Reply_token, text_random)
def message_text(event): # line_bot_api.reply_message( # event.reply_token,#ได้ reply token # TextSendMessage(text=event.message.text)#ส่ง text # ) text_fromuser = event.message.text #ข้อความจาก user Reply_token = event.reply_token # userid='U4dd62d9af204ed4fa2f0a3f58c47db19' # image_message_1 = ImageSendMessage( # original_content_url='https://image.shutterstock.com/image-photo/beautiful-water-drop-on-dandelion-260nw-789676552.jpg', # preview_image_url='https://image.shutterstock.com/image-photo/beautiful-water-drop-on-dandelion-260nw-789676552.jpg' # ) # text_fromuser_1 = TextSendMessage(text='Pop1',quick_reply=None) # text_fromuser_2 = TextSendMessage(text='Pop2',quick_reply=None) # line_bot_api.reply_message(Reply_token,messages=[text_fromuser_1,text_fromuser_2,image_message_1])#ส่งได้ 5 ข้อความ แบบ array # line_bot_api.push_message(to=userid,messages=[text_fromuser_1,text_fromuser_2,image_message_1]) if 'check' in text_fromuser: from Resource.bxAPI import GetBxPrice from random import randint num = randint(1, 10) data = GetBxPrice(Number_to_get=num) from Resource.FlexMessage import setCarousel, setbubble flex = setCarousel(data) from Resource.reply import SetMenuMessage_Object, send_flex flex = SetMenuMessage_Object(flex) send_flex(Reply_token, file_data=flex, bot_access_key=channel_access_token) else: text_list = [ 'ฉันไม่เข้าใจที่คุณพูด กรุณารองใหม่อีกครัง', 'ขออภัย ฉันไม่เข้าใจจริงๆ', 'ขอโทษนะครับ ไม่ทราบว่ามีความหมายอย่างไรครับ', 'กรุณาพิมพ์ใหม่' ] from random import choice text_data = choice(text_list) text = TextSendMessage(text=text_data) line_bot_api.reply_message(Reply_token, text)
def message_text(event): #fuction reply_token #line ส่งมาหา server เรา ได้ print("reply_token: " + event.reply_token) #debug print("userId: " + event.source.user_id) #debug print("message id: " + event.message.id) #debug print("message: " + event.message.text) #debug Reply_token = event.reply_token # reply token text_fromuser = event.message.text # get ข้อความที่ user ส่งมา if "ราคา" in text_fromuser: from Resource.bxAPI import GetBxPrice #from random import randint #num = randint(1,5) data = GetBxPrice(Number_to_get=3) from Resource.FlexMessage import setCarousel, setbubble flex = setCarousel(data) from Resource.reply import SetMenuMessage_Object, send_flex flex = SetMenuMessage_Object(flex) send_flex(Reply_token, file_data=flex, bot_access_key=channel_access_token) #text_tosend = TextSendMessage(text=str(price)) #text_tosend02 = TextSendMessage(text="Hello") #line_bot_api.reply_message(Reply_token,messages=text_tosend) else: text_list = [ "ฉันไม่เข้าใจที่คุณพูด ลองใหม่", "ขออภัย ไม่ทราบ", "ขอโทษ ระบบไม่มีข้อมูล" ] from random import choice # random ข้อควมมตอบ user text_data = choice(text_list) text_random = TextSendMessage(text=text_data) line_bot_api.reply_message(Reply_token, text_random)
def message_text(event): ### function reply_token Reply_token = event.reply_token #### reply token text_fromUser = event.message.text ### ข้อความจาก ยูสเซอ line print(text_fromUser) #### ตรวจสอบ ว่า ภายในข้อความของยูส มีคำว่า เช็คราคา อยู่หรือไม่ ถ้าใช้ บอทจะตอบกลับเป็น flex message if 'เช็คราคา' in text_fromUser: from Resource.bxAPI import GetBxPrice from random import randint num = randint(1, 10) data = GetBxPrice(Number_to_get=num) ## เก็บจำนวนข้อมูล from Resource.FlexMessage import setbubble, setCarousel flex = setCarousel(data) from Resource.reply import SetMenuMessage_Object, send_flex flex = SetMenuMessage_Object(flex) send_flex(Reply_token, file_data=flex, bot_access_key=channel_access_token) ##### check newsapi elif 'เช็คข่าวสาร' in text_fromUser: text = TextSendMessage( text='ท่านได้ทำการเลือกเมนู เช็คข่าวสาร') #setup text message from Resource.FlexMessage import news_setbubble from Resource.reply import SetMenuMessage_Object, send_flex from Resource.GetNews import get_cnn_news data = get_cnn_news() flex = news_setbubble(data['title'], data['description'], data['url'], data['image_url']) text = TextSendMessage( text='รายงานข่าวสารสำหรับ CNN ล่าสุด').as_json_dict() msg = SetMenuMessage_Object([text, flex]) send_flex(Reply_token, file_data=msg, bot_access_key=channel_access_token) else: message = '' ### message ที่เราจะส่งกลับไปให้ยูสเสอ from dialogflow_uncle import detect_intent_texts project_id = os.getenv('DIALOGFLOW_PROJECT_ID') session_id = event.source.user_id ## get user id message = detect_intent_texts(project_id, session_id, text_fromUser, 'th') text = [] user_data = None for i in message['fulfillment_messages']: ### เพิ่มจากในคลิบ txt = TextSendMessage(text=i) ### เพิ่มจากในคลิบ text.append(txt) ### เพิ่มจากในคลิบ if message[ 'action'] == 'Uncleregister.Uncleregister-custom.Uncleregister-courses-custom.Uncleregister-courses-where-custom.Uncleregister-courses-where-when-yes': user_data = TextSendMessage(text=str( message['parameters'])) ### เพิ่มจากในคลิบ text.append(user_data) ### เพิ่มจากในคลิบ line_bot_api.reply_message(Reply_token, messages=text)
def message_text(event): print(event) Text_fromUser = event.message.text reply_Token = event.reply_token if 'เช็คราคา' in Text_fromUser: from Resource.bxAPI import GetBxPrice msg = GetBxPrice(Number_to_get=10) from Resource.FlexMessage import setCarousel flex = setCarousel(msg) ### setup carousel flex = SetMenuMessage_Object(flex) ### setup flex send_flex(reply_Token , flex , channel_access_token) elif 'เช็คข่าวสาร' in Text_fromUser: from Resource.GetNews import get_cnn_news data = get_cnn_news() from Resource.FlexMessage import news_setbubble msg = news_setbubble(data['title'],data['description'],data['url'],data['image_url']) flex = SetMenuMessage_Object(msg) send_flex(reply_Token , flex , channel_access_token) else : message = '' ### message ที่เราจะส่งกลับไปให้ยูสเสอ text = [] user_data = None from dialogflow_uncle import detect_intent_texts project_id = os.getenv('DIALOGFLOW_PROJECT_ID') session_id = event.source.user_id ## get user id message = detect_intent_texts(project_id,session_id,Text_fromUser,'th') for i in message['fulfillment_messages']: ### เพิ่มจากในคลิบ txt = TextSendMessage(text=i)### เพิ่มจากในคลิบ text.append(txt)### เพิ่มจากในคลิบ ## adding imagemap message เรียนอะไร if message['action'] == 'register': from MessageTemplate.Imgmap import selectCourse imagemap = Base.get_or_new_from_json_dict(selectCourse(),ImagemapSendMessage) text.append(imagemap) ### prepare imagemap message to send #### เรียนที่ไหน elif message['action'] == 'selectcourses': from MessageTemplate.Imgmap import selectWhere imagemap = Base.get_or_new_from_json_dict(selectWhere(),ImagemapSendMessage) text.append(imagemap) ### prepare Imagemap message to send ### ให้ยูสเซอลงเวลา elif message['action'] == 'selecttype': from MessageTemplate.Imgmap import selectTime msg = Base.get_or_new_from_json_dict(selectTime(),TemplateSendMessage) text.append(msg) #### confirm message elif message['action'] == 'selectmonth': from MessageTemplate.Imgmap import confirmRegis msg = Base.get_or_new_from_json_dict(confirmRegis(),TemplateSendMessage) text.append(msg) ### sumarize message elif message['action'] == 'confirm': from google.protobuf.json_format import MessageToDict data = message['parameters'] data = MessageToDict(data) from MessageTemplate.Imgmap import GetStudentCard ####เนื้องจากการส่งข้อความแบบ flex2019 SDK python ยังไม่รองรับทำให้เราต้องกลับมาส่งแบบ manual msg = [] for i in text: Dict = i.as_json_dict() msg.append(Dict) msg.append(GetStudentCard(data['courses'])) flex = SetMenuMessage_Object(msg) send_flex(reply_Token,file_data = flex,bot_access_key = channel_access_token) #### กรณีเข้าโหมดถามตอบ elif message['action'] == 'q&a': line_bot_api.link_rich_menu_to_user(session_id,richmenu['menu2']) #### กรณีกำลังถามตอบ elif message['action'] == 'qa.qa-fallback': from MessageTemplate.Imgmap import AnwserMsg from Resource.wolf import search_wiki result = search_wiki(Text_fromUser) ### set msg + answer Flex_Ans = AnwserMsg(Text_fromUser,result) ### set quick reply qbtn = QuickReplyButton(image_url='https://cdn0.iconfinder.com/data/icons/online-education-butterscotch-vol-2/512/Questions_And_Answers-512.png' ,action=MessageAction('หยุดถาม','หยุดถาม')) q = QuickReply(items=[qbtn]) ### set text as json new_text1 = TextSendMessage(text='ลุงขอหาแปรป...').as_json_dict() new_text2 = TextSendMessage(text='อยากถามต่อไหม ถ้าไม่... กดปุ่ม หยุดถามได้เลยจร้า',quick_reply=q).as_json_dict() ### send msg with quick reply flex = SetMenuMessage_Object(Message_data=[new_text1,Flex_Ans,new_text2]) r = send_flex(Reply_token,file_data = flex,bot_access_key = channel_access_token) #### กรณีหยุดถาม elif message['action'] == 'qa.qa-custom': line_bot_api.link_rich_menu_to_user(session_id,richmenu['menu1']) text = TextSendMessage(text='แล้วกลับมาถามใหม่น่าาาา...') line_bot_api.reply_message(reply_Token,text) print(message['action']) line_bot_api.reply_message(reply_Token,text) return 'OK'
def message_text(event): Reply_token = event.reply_token ### reply token text_fromUser = event.message.text ## message from user #################### 1 # Text_tosend1 = TextSendMessage(text='uncle engineer 01',quick_reply=None) # Text_tosend2 = TextSendMessage(text='uncle engineer 02',quick_reply=None) # image_message = ImageSendMessage( # original_content_url='https://cdn.majorcineplex.com/uploads/movie/2686/thumb_2686.jpg', # preview_image_url='https://www.logolynx.com/images/logolynx/04/04788b7d8705912db91b77cedfb16073.jpeg' # ) # sticker_message = StickerSendMessage( # package_id='1', # sticker_id='1' # ) # line_bot_api.reply_message( # Reply_token, # messages = [Text_tosend1,Text_tosend2,sticker_message,image_message] # ) #################### 2 # if 'price' in text_fromUser: # from Resource.bxAPI import GetBxPrice # price = GetBxPrice() # text_tosend = TextSendMessage(text=str(price)) # line_bot_api.reply_message(Reply_token,text_tosend) #################### 3 if 'เช็คราคา' in text_fromUser: from Resource.bxAPI import GetBxPrice from random import randint num = randint(1, 10) data = GetBxPrice(num) ## เก็บจำนวนข้อมูล from Resource.FlexMessage import setbubble, setCarousel flex = setCarousel(data) from Resource.reply import SetMenuMessage_Object, send_flex flex = SetMenuMessage_Object(flex) send_flex(Reply_token, file_data=flex, bot_access_key=channel_access_token) else: text_list = [ 'ฉันไม่เข้าใจที่คุณพูด กรุณาลองใหม่อีกครั้งค่ะ', 'ขออภัย ฉันไม่เข้าใจจริงๆค่ะ ลองใหม่อีกครั้งนะค่ะ', 'ขอโทษค่ะ ไม่ทราบว่า มีความหมายอย่างไรค่ะ', 'กรุณาลองพิมพ์ใหม่ได้ไหมค่ะ' ] from random import choice text_data = choice(text_list) text = TextSendMessage(text=text_data) line_bot_api.reply_message(Reply_token, text)