Beispiel #1
0
def pushMgsReqToLF(sub, date, userId, sec, leavetype):
    from getApplicationData import getLFId, getIDFromMatchUser, getName, getLname, getUserId
    lfid = getLFId(sub)
    studentid = getIDFromMatchUser(userId)
    name = getName("Students", studentid)
    lname = getLname("Students", studentid)
    to = getUserId("LF", lfid)
    print(lfid)
    print(to)
    if leavetype == 'Business':
        line_bot_api.push_message(
            to,
            TemplateSendMessage(
                alt_text='Confirm template',
                template=ConfirmTemplate(
                    text='นักศึกษา ' + str(name) + ' ' + str(lname) + ' ' +
                    str(sec) + '\nรหัส: ' + str(studentid) +
                    ' ขอลากิจ\nวิชา ' + str(sub) + '\nวันที่ ' + str(date),
                    actions=[
                        MessageAction(label='อนุมัติ',
                                      text='อนุมัติคำขอลา ของนักศึกษารหัส:' +
                                      str(studentid)),
                        MessageAction(
                            label='ไม่อนุมัติ',
                            text='ไม่อนุมัติคำขอลา ของนักศึกษารหัส:' +
                            str(studentid))
                    ])))
    else:
        lfid = getLFId(sub)
        studentid = getIDFromMatchUser(userId)
        name = getName("Students", studentid)
        lname = getLname("Students", studentid)
        to = getUserId("LF", lfid)
        print(lfid)
        print(to)
        if leavetype == 'Sick':
            line_bot_api.push_message(
                to,
                TemplateSendMessage(
                    alt_text='Confirm template',
                    template=ConfirmTemplate(
                        text='นักศึกษา ' + str(name) + ' ' + str(lname) + ' ' +
                        str(sec) + '\nรหัส: ' + str(studentid) +
                        ' ขอลาป่วย\nวิชา ' + str(sub) + '\nวันที่ ' +
                        str(date),
                        actions=[
                            MessageAction(
                                label='อนุมัติ',
                                text='อนุมัติคำขอลา ของนักศึกษารหัส:' +
                                str(studentid)),
                            MessageAction(
                                label='ไม่อนุมัติ',
                                text='ไม่อนุมัติคำขอลา ของนักศึกษารหัส:' +
                                str(studentid))
                        ])))
    return 'send success'
Beispiel #2
0
def handle_message(event):
    text = event.message.text
    if text == 'confirm':
        carousel_template = CarouselTemplate(columns=[
            CarouselColumn(
                text='忘れずに服用できていますか?',
                title='服薬状況',
                actions=[
                    #                    URIAction(label='Go to line.me', uri='https://line.me'),
                    PostbackAction(label='はい', data='はい', text='はい'),
                    PostbackAction(label='いいえ', data='いいえ', text='いいえ')
                ]),
            CarouselColumn(
                text='副作用と疑われる症状は出ていませんか?',
                title='副作用について',
                actions=[
                    PostbackAction(
                        label='はい、出ていません', data='はい、出ていません', text='はい、出ていません'),
                    PostbackAction(
                        label='いいえ、出ています', data='いいえ、出ています', text='いいえ、出ています')
                ]),
        ])
        template_message = TemplateSendMessage(alt_text='Confirm alt text',
                                               template=carousel_template)
        line_bot_api.reply_message(event.reply_token, template_message)

    elif text == 'confirm2':
        confirm_template = ConfirmTemplate(text='病状はいかがですか?',
                                           actions=[
                                               PostbackAction(label='軽快している',
                                                              data='軽快している',
                                                              text='軽快している'),
                                               PostbackAction(label='改善してない',
                                                              data='改善してない',
                                                              text='改善してない')
                                           ])
        template_message = TemplateSendMessage(alt_text='Confirm alt text',
                                               template=confirm_template)
        line_bot_api.reply_message(event.reply_token, template_message)

    elif text == 'confirm3':
        confirm_template = ConfirmTemplate(text='Do it?',
                                           actions=[
                                               MessageAction(label='Yes',
                                                             text='Yes!'),
                                               MessageAction(label='No',
                                                             text='No!'),
                                           ])
        template_message = TemplateSendMessage(alt_text='Confirm alt text',
                                               template=confirm_template)
        line_bot_api.reply_message(event.reply_token, template_message)
def postback_data(event):
    global interest
    if event.postback.data == 'iphone,':
        interest = interest + event.postback.data
        confirm_template_message = TemplateSendMessage(
            alt_text='你有用過iPhone嗎?',
            template=ConfirmTemplate(
                text='你有用過或正在使用iPhone嗎?',
                actions=[
                    PostbackAction(label='有',
                                   display_text='我有用過iPhone',
                                   data='have,'),
                    PostbackAction(label='沒有',
                                   display_text='我沒有用過iPhone',
                                   data='not_have,')
                ]))
        line_bot_api.reply_message(event.reply_token, confirm_template_message)

    elif event.postback.data == 'switch,':
        interest = interest + event.postback.data
        confirm_template_message = TemplateSendMessage(
            alt_text='你有用過Switch嗎?',
            template=ConfirmTemplate(
                text='你現在有自己的Switch嗎?',
                actions=[
                    PostbackAction(label='有',
                                   display_text='我有Switch',
                                   data='have,'),
                    PostbackAction(label='沒有',
                                   display_text='我沒有Switch',
                                   data='not_have,')
                ]))
        line_bot_api.reply_message(event.reply_token, confirm_template_message)

    elif interest == 'iphone,':
        interest = interest + event.postback.data
        price_asking = TextSendMessage("現在請你猜猜看現在一台\n"
                                       "iPhone 11 Pro 64G\n"
                                       "售價大概多少錢呢?")
        line_bot_api.reply_message(event.reply_token, price_asking)

    elif interest == 'switch,':
        interest = interest + event.postback.data
        price_asking = TextSendMessage("現在猜猜看現在一台\n"
                                       "Switch紅藍款 (主機only)\n"
                                       "售價大概多少錢呢?")
        line_bot_api.reply_message(event.reply_token, price_asking)
    return interest
Beispiel #4
0
def handle_text_message(event):
    text = event.message.text
    if text == 'profile' :
        if isinstance(event.source, SourceUser):
            profile = line_bot_api.get_profile(event.source.user_id)
            line_bot_api.reply_message(
                event.reply_token, [
                    TextSendMessage(text='Display name: ' + profile.display_name),
                    TextSendMessage(text='Status message: ' + profile.status_message)
                ]
            )
        else:
            line_bot_api.reply_message(
                event.reply_token,
                TextSendMessage(text="Bot can't use profile API without user ID"))
    elif text == 'bye':
        if isinstance(event.source, SourceGroup):
            line_bot_api.reply_message(
                event.reply_token, TextSendMessage(text='Leaving group'))
            line_bot_api.leave_group(event.source.group_id)
        elif isinstance(event.source, SourceRoom):
            line_bot_api.reply_message(
                event.reply_token, TextSendMessage(text='Leaving group'))
            line_bot_api.leave_room(event.source.room_id)
        else:
            line_bot_api.reply_message(
                event.reply_token,
                TextSendMessage(text="Bot can't leave from 1:1 chat"))
    elif text == 'confirm':
        confirm_template = ConfirmTemplate(text='Do it?', actions=[
            MessageAction(label='Yes', text='Yes!'),
            MessageAction(label='No', text='No!'),
        ])
        template_message = TemplateSendMessage(
            alt_text='Confirm alt text', template=confirm_template)
        line_bot_api.reply_message(event.reply_token, template_message)
    elif text == 'ยกเลิก':
        result=cancelall()
        line_bot_api.reply_message(
            event.reply_token, TextSendMessage(text=result))
    elif text == 'กลับ':
        result=rollback()
        line_bot_api.reply_message(
            event.reply_token, TextSendMessage(text=result))
    elif text == 'ย้อน':
        result=rollback()
        line_bot_api.reply_message(
            event.reply_token, TextSendMessage(text=result))
    elif text == 'ย้อนกลับ':
        result=rollback()
        line_bot_api.reply_message(
            event.reply_token, TextSendMessage(text=result))
    elif text == 'ราคาน้ำมัน':
        result=gesprice()
        line_bot_api.reply_message(
            event.reply_token, TextSendMessage(text=result))
    else:
        result=userAction(text)
        line_bot_api.reply_message(
            event.reply_token, TextSendMessage(text=result))
Beispiel #5
0
def sendCancel(event, user_id):  #取消訂房
    try:
        if teamUp.objects.filter(bid=user_id).exists():  #已有訂房記錄
            teamUpdata = teamUp.objects.get(bid=user_id)  #讀取訂房資料
            place = teamUpdata.place
            amount = teamUpdata.amount
            timein = teamUpdata.timein
            text1 = "您的揪團資料如下:"
            text1 += "\n場地:" + place
            text1 += "\n人數:" + amount + " 人"
            text1 += "\n日期:" + timein.replace("T", "\n時間:")
            message = [
                TextSendMessage(  #顯示訂房資料
                    text=text1),
                TemplateSendMessage(  #顯示確認視窗
                    alt_text='取消揪團確認',
                    template=ConfirmTemplate(
                        text='你確定要取消揪團嗎?',
                        actions=[
                            PostbackTemplateAction(  #按鈕選項
                                label='是', data='action=yes'),
                            PostbackTemplateAction(label='否', data='action=no')
                        ]))
            ]
        else:  #沒有訂房記錄
            message = TextSendMessage(text='您目前沒有揪團!')
        line_bot_api.reply_message(event.reply_token, message)
    except:
        line_bot_api.reply_message(event.reply_token,\
                                   TextSendMessage(text='sendCancel發生錯誤!'))
    def confirm(cls, line_bot, event, message, data):
        employee_id, patient_id = data['V']
        patient = Patient.objects.get(pk=patient_id)

        text = '留言內容:\n%s' % message
        pass_context = '收到針對個案 %s 的留言訊息\n%s' % (patient.name, message)

        token = get_random_string(8)
        cache.set('_line:temp:%s:%s' % (event.source.user_id, token),
                  (employee_id, pass_context), 3600)

        line_bot.reply_message(
            event.reply_token,
            TemplateSendMessage(alt_text='請使用手機檢視內容',
                                template=ConfirmTemplate(
                                    text=text[:160],
                                    actions=[
                                        PostbackTemplateAction(
                                            '確定',
                                            json.dumps({
                                                'T': T_SIMPLE_QUERY,
                                                'stage': STAGE_PASS_NOTE,
                                                'V': token
                                            })),
                                        PostbackTemplateAction(
                                            '重填',
                                            json.dumps({
                                                'T':
                                                T_SIMPLE_QUERY,
                                                'stage':
                                                STAGE_SEND_NOTE,
                                                'V': (employee_id, patient_id,
                                                      token)
                                            }))
                                    ])))
 def clean(cls, line_bot, event, patient_id):
     token = get_random_string(8)
     cache.set('_line:temp:%s:%s' % (event.source.user_id, token),
               patient_id, 300)
     line_bot.reply_message(
         event.reply_token,
         TemplateSendMessage(alt_text='確定清除留言板?',
                             template=ConfirmTemplate(
                                 text='確定清除留言板?',
                                 actions=[
                                     PostbackTemplateAction(
                                         '確定',
                                         json.dumps({
                                             'T': T_SIMPLE_QUERY,
                                             'stage':
                                             STAGE_CLEAN_CONFIRM_NOTE,
                                             'V': (token, True)
                                         })),
                                     PostbackTemplateAction(
                                         '取消',
                                         json.dumps({
                                             'T': T_SIMPLE_QUERY,
                                             'stage':
                                             STAGE_CLEAN_CONFIRM_NOTE,
                                             'V': (token, False)
                                         }))
                                 ])))
    def confirm(cls, line_bot, event, message, data):
        patient_id = data['V']
        text = '留言內容:\n%s' % message

        token = get_random_string(8)
        cache.set('_line:temp:%s:%s' % (event.source.user_id, token),
                  (patient_id, message), 3600)
        line_bot.reply_message(
            event.reply_token,
            TemplateSendMessage(alt_text='請使用手機檢視內容',
                                template=ConfirmTemplate(
                                    text=text[:160],
                                    actions=[
                                        PostbackTemplateAction(
                                            '確定',
                                            json.dumps({
                                                'T': T_SIMPLE_QUERY,
                                                'stage': STAGE_COMMIT_NOTE,
                                                'V': token
                                            })),
                                        PostbackTemplateAction(
                                            '重填',
                                            json.dumps({
                                                'T': T_SIMPLE_QUERY,
                                                'stage': STAGE_WRITE_NOTE,
                                                'V': (patient_id, token)
                                            }))
                                    ])))
Beispiel #9
0
def handle_postback(event):
    user_id = event.source.user_id
    if '餐廳位置' in event.postback.data:
        message = ImageSendMessage(
            original_content_url=event.postback.data.replace('餐廳位置',''),
            preview_image_url=event.postback.data.replace('餐廳位置','')
        )
        line_bot_api.reply_message(event.reply_token, message)
    elif '我想去吃' in event.postback.data:
        food_nearby(user_id,event.postback.data.replace('我想去吃',''))
    elif event.postback.data == '獲得導覽資訊':
        Confirm_template = TemplateSendMessage(
            alt_text='是否開啟藍芽與Line Beacon',
            template=ConfirmTemplate(
                title='是否開啟藍芽與Line Beacon',
                text='若要使用導覽功能則必須開啟藍芽與Line Beacon,是否同意?\n若點選同意,則請再「隱私設定」中的「提供使用者資料」中開啟Line Beacon',
                actions=[                              
                    URITemplateAction(
                        label='我同意',
                        uri='line://nv/settings/privacy'
                    ),
                    PostbackTemplateAction(
                        label='我不同意',
                        data='我不同意開啟藍芽'
                    )
                ]
            )
        )
        line_bot_api.reply_message(event.reply_token,Confirm_template)
    elif event.postback.data == '我不同意開啟藍芽':
        Text = '如果之後想要開啟,請再點選導覽按鈕'
        line_bot_api.reply_message(event.reply_token,TextSendMessage(text=Text))
    elif '預約活動:' in event.postback.data:
        Text = '已為您預約'+event.postback.data.replace('預約活動:','')
        line_bot_api.reply_message(event.reply_token,TextSendMessage(text=Text))
Beispiel #10
0
 def __search_store(self):
     place_result = self.google_map_api.place_search(
         store_name=self.text)  # 店家資料搜尋
     if place_result:
         rate = f"{place_result.get('rating')}顆星" if place_result.get(
             "rating") else "尚無評價"
         reply = f"{place_result['name']}\n評價: {rate}\n{place_result['url']}"
         redis.set(f"{self.group_id}:save_store", place_result,
                   30)  # 店家資訊暫存
         redis.set(f"{self.group_id}:add", False, 60)  # 暫時關閉店家查詢功能
     else:
         reply = "Google地圖搜尋無結果"
     self.line_bot_api.reply_message(
         self.event.reply_token,
         [
             TextMessage(text=reply),
             TemplateSendMessage(
                 alt_text="店家查詢確認",
                 template=ConfirmTemplate(
                     text="確定是這家嗎?",
                     actions=[
                         MessageAction(label="對", text="Yes"),
                         MessageAction(label="我要再查一次", text="Again"),
                     ],
                 ),
             ),
         ],
     )
Beispiel #11
0
 def push_turn_off_confirm(self):
     see_you_message = TextSendMessage("でかけるのですか?行ってらっしゃいませ。")
     environment_information = self.get_environment()
     information_message = TextSendMessage(environment_information)
     confirm_template_message = TemplateSendMessage(
         alt_text='エアコン消しておきますか?',
         template=ConfirmTemplate(
             text='エアコン消しておきますか?',
             actions=[
                 PostbackTemplateAction(
                     label='承認',
                     text='承認',
                     data='ac_off_approval'
                 ), 
                 PostbackTemplateAction(
                     label='否認',
                     text='否認',
                     data='ac_off_disapproval'
                 )
             ]
         )
     )
     send_messages = [see_you_message, information_message, confirm_template_message]
     self.line_bot_api.push_message(self.my_line_user_id, send_messages)
     return True
Beispiel #12
0
 def push_turn_on_confirm(self):
     welcome_back_message = TextSendMessage("もうすぐ家ですね。おかえりなさい。")
     environment_information = self.get_environment()
     information_message = TextSendMessage(environment_information)
     confirm_template_message = TemplateSendMessage(
         alt_text='エアコンつけておきますか?',
         template=ConfirmTemplate(
             text='エアコンつけておきますか?',
             actions=[
                 PostbackTemplateAction(
                     label='承認',
                     text='承認',
                     data='ac_on_approval'
                 ), 
                 PostbackTemplateAction(
                     label='否認',
                     text='否認',
                     data='ac_on_disapproval'
                 )
             ]
         )
     )
     send_messages = [welcome_back_message, information_message, confirm_template_message]
     self.line_bot_api.push_message(self.my_line_user_id, send_messages)
     return True
Beispiel #13
0
def sendCancel(event, user_id):  #取消訂房
    try:
        if booking.objects.filter(bid=user_id).exists():  #已有訂房記錄
            bookingdata = booking.objects.get(bid=user_id)  #讀取訂房資料
            roomtype = bookingdata.roomtype
            amount = bookingdata.roomamount
            in_date = bookingdata.datein
            out_date = bookingdata.dateout
            text1 = "您預訂的房間資料如下:"
            text1 += "\n房間型式:" + roomtype
            text1 += "\n房間數量:" + amount
            text1 += "\n入住日期:" + in_date
            text1 += "\n退房日期:" + out_date
            message = [
                TextSendMessage(  #顯示訂房資料
                    text=text1),
                TemplateSendMessage(  #顯示確認視窗
                    alt_text='取消訂房確認',
                    template=ConfirmTemplate(
                        text='你確定要取消訂房嗎?',
                        actions=[
                            PostbackTemplateAction(  #按鈕選項
                                label='是', data='action=yes'),
                            PostbackTemplateAction(label='否', data='action=no')
                        ]))
            ]
        else:  #沒有訂房記錄
            message = TextSendMessage(text='您目前沒有訂房記錄!')
        line_bot_api.reply_message(event.reply_token, message)
    except:
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text='發生錯誤!'))
Beispiel #14
0
def bookTicketsMessage(step=0):
    if step == 1:
        message = TextSendMessage(text='''請告知我您註冊的使用者名稱''')
    elif step == 2:
        message = TextSendMessage(text='''請告知我去程乘車的日期,請按照格式輸入 EX:20180911''')
    elif step == 3:
        message = TextSendMessage(text='''請告知我您的起站 EX:台北''')
    elif step == 4:
        message = TextSendMessage(text='''請告知我您的訖站 EX:台北''')
    elif ((step == 5) or (step == 11)):
        message = TemplateSendMessage(
            alt_text="車種確認",
            template=ConfirmTemplate(text="請確認預定車種",
                                     actions=[
                                         PostbackTemplateAction(
                                             label="1-自強號",
                                             text="1-自強號",
                                             data='action=buy&itemid=1'),
                                         MessageTemplateAction(label="2-莒光號",
                                                               text="2-莒光號")
                                     ]))
    elif ((step == 6) or (step == 12)):
        message = TextMessage(text='''欲搭乘時間範圍的開始時間,請以整點為單位 EX:0900''')
    elif ((step == 7) or (step == 13)):
        message = TextMessage(
            text='''欲搭乘時間範圍的結束時間,請以整點為單位,最晚時間到23:59 EX:0900''')
    elif ((step == 8) or (step == 14)):
        message = TextSendMessage(text='''請告知我您欲搭乘的車次代碼,請按照格式輸入 EX:122''')
    elif (step == 9):
        message = TextSendMessage(
            text='''請告知您的訂票數 EX:1 (如超過6張票以上,請分兩次訂票),如果是預定來回票,票數會自動購買相同數量。''')
    elif step == 10:
        message = TextSendMessage(text='''請告知我回程乘車的日期,請按照格式輸入 EX:20180911''')

    return message
Beispiel #15
0
def composeConfirm(alt_text, text, option1, option2):
    if option1['type'] == "postback":
        opt1_payload = PostbackTemplateAction(
                    label=option1['label'],
                    # text=option1['text'],
                    data=option1['data']
        )
    elif option1['type'] == "message":
        opt1_payload = MessageTemplateAction(
                    label=option1['label'],
                    text=option1['text']
        )

    if option2['type'] == "postback":
        opt2_payload = PostbackTemplateAction(
                    label=option2['label'],
                    # text=option2['text'],
                    data=option2['data']
        )
    elif option2['type'] == "message":
        opt2_payload = MessageTemplateAction(
                    label=option2['label'],
                    text=option2['text']
        )

    payload = TemplateSendMessage(
        alt_text=alt_text,
        template=ConfirmTemplate(
            text=text,
            actions=[opt1_payload, opt2_payload]
        )
    )
    return payload
Beispiel #16
0
def handle_image_message(event):
    message_content = line_bot_api.get_message_content(event.message.id)
    data = apiMl.getObjectDetection(message_content.content)
    textStr = ''
    if data['qty_bottle'] > 0:
        textStr += 'Bottle : \n'
        textStr += '    Amount ' + str(data['qty_bottle']) + '\n'
        textStr += '    Price ' + str(data['prc_bottle']) + '\n'
    if data['qty_can'] > 0:
        textStr += 'Can : \n'
        textStr += '    Amount ' + str(data['qty_can']) + '\n'
        textStr += '    Price ' + str(data['prc_can']) + ' Baht\n'
    if data['qty_glass'] > 0:
        textStr += 'Glass : \n'
        textStr += '    Amount ' + str(data['qty_glass']) + '\n'
        textStr += '    Price ' + str(data['prc_glass']) + ' Baht\n'
    textStr += 'Total Price : ' + str(data['Total']) + ' Baht \n'
    textStr += '\n Confirm order? '
    print(textStr)

    confirm_template = ConfirmTemplate(text=textStr,
                                       actions=[
                                           PostbackAction(label='Confirm',
                                                          data='location'),
                                           PostbackAction(label='cancel',
                                                          data='getridch',
                                                          text='cancel'),
                                       ])
    template_message = TemplateSendMessage(alt_text='Confirm alt text',
                                           template=confirm_template)
    line_bot_api.reply_message(event.reply_token, template_message)
def start(event,value,number):
    try:
        if number < 10:
            value+=1
            number+=1
            if value >20:#題庫20  繞回第一題
                value=1
            food = models.Topic.objects.get(id="t" + str(value))
            message=TemplateSendMessage(
                alt_text='無法顯示',
                template=ButtonsTemplate(
                    thumbnail_image_url=staticurl+"/topic/t"+str(value)+".jpg",
                    title=food.name,
                    text='請問您對此道料理的喜好?',
                    actions=[PostbackTemplateAction(label="喜歡",text="@喜歡",data="data=like&value="+str(value)+"&number="+str(number)+"&like=1"),
                             PostbackTemplateAction(label="不喜歡",text="@不喜歡",data="data=like&value="+str(value)+"&number="+str(number)+"&like=0")]#用0來判斷user 喜好之後的要做事情
                )
            )
            line_bot_api.reply_message(event.reply_token,message)
        elif number == 10:
            message=TemplateSendMessage(
                alt_text='無法顯示',
                template=ConfirmTemplate(
                    text='恭喜完成調查!',
                    actions=[MessageTemplateAction(label="開始分析",text="@為您推薦"),
                             MessageTemplateAction(label="剛剛有選錯...",text="@清空資料")]#用0來判斷user 喜好之後的要做事情
                )
            )
            line_bot_api.reply_message(event.reply_token,message)
        else:
            line_bot_api.reply_message(event.reply_token, TextSendMessage(text="發生錯誤~"))
    except:
        line_bot_api.reply_message(event.reply_token, TextSendMessage(text="發生錯誤~~"))
Beispiel #18
0
def handle_text_message(event):
    text = event.message.text
    template_conf = ConfirmTemplate(
        text='Udah makan?',
        actions=[
            MessageTemplateAction(label='Udah', text='makan_sudah'),
            MessageTemplateAction(label='Belom', text='makan_belom')
        ])
    if text.lower() == 'halo':
        line_bot_api.reply_message(event.reply_token, [
            TextSendMessage(text='Halo juga!!'),
            TemplateSendMessage(alt_text='Udah makan?', template=template_conf)
        ])
    elif text == 'makan_sudah':
        line_bot_api.reply_message(
            event.reply_token,
            TextSendMessage(text='Alhamdulillah, sudah makan.'))
    elif text == 'makan_belom':
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text='Kuy makan !!'))
    elif text == 'joox_help':
        line_bot_api.reply_message(
            event.reply_token,
            TextSendMessage(
                text=
                '[Joox Help]\nKetik joox nama_lagu\nKetik angka\nJika batal, ketik 99'
            ))
    elif text == 'yt_help':
        line_bot_api.reply_message(
            event.reply_token,
            TextSendMessage(text='[YouTube Help]\nKetik yt.video nama_lagu'))
    else:
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text='Tidak ada perintah'))
    '''if text == 'profile':
Beispiel #19
0
def education(reply_token):
    message1 = TextSendMessage(
        text=
        "在大學時期,我修習了許多資訊工程的核心課程,如「資料結構與演算法、演算法設計與分析、作業系統、計算機結構、線性代數」等,在這些課程中我學習了基礎的程式設計的觀念與作業實作。\n"
        +
        "之後也在學校的「CS+X」課程中學習應用方面的網頁相關語言HTML、CSS、JavaScript及遊戲設計使用Unity和資料庫使用MongoDB。"
    )
    message2 = TextSendMessage(
        text=
        "在當研究生的這段期間,除了跟指導老師吳家麟做區塊鏈方面的研究外,我還修習了電機系李宏毅的「機器學習」及資工系林軒田的「機器學習基石」課程\n"
        +
        "在李宏毅的機器學習課程中我學到用keras實作DNN、CNN、RNN等Deep learning的技術,也用python實作word embedding、t-SNE、auto-encoder、K-means等處理資料的方式。\n"
        + "在林軒田的機器學習基石的課程中則是透過數學證明,為機器學習背後的數學理論打下基礎。")
    message3 = TextSendMessage(
        text="在課餘時會跟著教授參與金融科技、區塊鏈等的研討會,也定期追蹤R-ladies Taipei的社團動態\n" +
        "聽前輩分享研究成果或是現在的趨勢,除了可以對未來研究方向有幫助之外,也讓自己隨時與世界接軌,充實自己。")

    confirm_template = ConfirmTemplate(text='是否需要附上成績單?',
                                       actions=[
                                           MessageTemplateAction(label='Yes',
                                                                 text='Yes!'),
                                           MessageTemplateAction(label='No',
                                                                 text='No!'),
                                       ])
    template_message = TemplateSendMessage(alt_text='學業',
                                           template=confirm_template)

    line_bot_api.reply_message(
        reply_token, [message1, message2, message3, template_message])
Beispiel #20
0
def send_E2_4F_classroom(event, line_bot_api):  # 確認按鈕模板
    try:
        print(event)
        Confirm_template = TemplateSendMessage(
            alt_text="This is E2 4F classroom confirm template",
            template=ConfirmTemplate(
                title='This is a ConfirmTemplate',
                text='請問要檢查E2工程二館\n4F哪一側?',  # 要問的問題,或是文字敘述
                # action 最多只能兩個喔!
                actions=[
                    MessageAction(
                        label='西側',  # 顯示名稱
                        text='西側'  # 點擊後,回傳的文字
                    ),
                    MessageAction(
                        label='東側',  # 顯示名稱
                        text='東側'  # 點擊後,回傳的文字
                    )
                ]))
        print("1235952")
        line_bot_api.reply_message(event.reply_token, Confirm_template)
    except:
        line_bot_api.reply_message(
            event.reply_token,
            TextSendMessage(text='發生錯誤!send_E2_4F_classroom'))
Beispiel #21
0
def button_yoyaku_ymd(label):
    # 現在日時の取得
    get_day = datetime.datetime.now()

    if get_day.hour + 9 > 18:
        get_date = str(get_day.year) + "-" + str(
            get_day.month).zfill(2) + "-" + str(get_day.day + 1).zfill(2)
        max_date = str(get_day.year) + "-" + str(get_day.month + 1).zfill(
            2) + "-" + str(get_day.day + 1).zfill(2)
    else:
        get_date = str(get_day.year) + "-" + str(
            get_day.month).zfill(2) + "-" + str(get_day.day).zfill(2)
        max_date = str(
            get_day.year) + "-" + str(get_day.month + 1).zfill(2) + "-" + str(
                get_day.day).zfill(2)

    message_template = TemplateSendMessage(
        alt_text="a",
        template=ConfirmTemplate(text=label,
                                 actions=[
                                     DatetimePickerAction(
                                         type="datetimepicker",
                                         label="日付選択",
                                         data="select_day_yoyaku",
                                         mode="date",
                                         initial=get_date,
                                         max=max_date,
                                         min=get_date),
                                     PostbackAction(label="予約状況確認",
                                                    data="menu_yoyaku")
                                 ]))
    return message_template
Beispiel #22
0
def handle_postback(event):
    if event.postback.data == 'datetime_postback':
        selectedDate = datetime.datetime.strptime(
            event.postback.params['date'], '%Y-%m-%d')
        dateNewFormat = datetime.date.strftime(selectedDate, "%d %B %Y")
        line_bot_api.reply_message(event.reply_token, TextSendMessage(text= 'To-do List pada ' + dateNewFormat + ':\n'\
        '- 07.00 - 09.00 = WBD\n'\
        '- 09.00 - 11.00 = AI'))
    elif event.postback.data == 'todolist_datetime_postback':
        global toDoListString
        dateAndTime = event.postback.params['datetime'].split("T")
        selectedDate = datetime.datetime.strptime(dateAndTime[0], '%Y-%m-%d')
        dateNewFormat = datetime.date.strftime(selectedDate, "%d %B %Y")
        toDoListString += '\ntanggal: ' + dateNewFormat + '\nPukul : ' + dateAndTime[
            1] + '\nberhasil ditambahkan'
        line_bot_api.push_message(event.source.user_id,
                                  TextSendMessage(text=toDoListString))
        confirm_template = ConfirmTemplate(
            text=
            'Apakah ingin mengaktifkan reminder untuk to-do list yang baru ditambahkan?',
            actions=[
                PostbackAction(label='Yes', data='reminderON'),
                PostbackAction(label='No', data='reminderOFF'),
            ])
        template_message = TemplateSendMessage(alt_text='Confirm alt text',
                                               template=confirm_template)
        line_bot_api.reply_message(event.reply_token, template_message)
    elif event.postback.data == 'reminderON':
        line_bot_api.push_message(
            event.source.user_id,
            TextSendMessage(text="Reminder berihasil diaktifkan"))
    elif event.postback.data == 'reminderOFF':
        line_bot_api.push_message(
            event.source.user_id,
            TextSendMessage(text="Reminder tidak diaktifkan"))
Beispiel #23
0
def final_ticket(line_bot, event, message, data):
    patient_id, catalog_id = data['V']

    text = '詢問問題內容:\n%s' % message
    line_bot.reply_message(
        event.reply_token,
        TemplateSendMessage(alt_text='請使用手機檢視問題',
                            template=ConfirmTemplate(
                                text=text[:160],
                                actions=[
                                    PostbackTemplateAction(
                                        '確定',
                                        json.dumps({
                                            'T':
                                            T_PATIENT,
                                            'stage':
                                            STAGE_SUBMIT,
                                            'V':
                                            (patient_id, catalog_id, message)
                                        })),
                                    PostbackTemplateAction(
                                        '重填',
                                        json.dumps({
                                            'T':
                                            T_PATIENT,
                                            'stage':
                                            STAGE_REPORT,
                                            'V': (patient_id, catalog_id)
                                        }))
                                ])))
Beispiel #24
0
def confirm_image_add():
    confirm_template = ConfirmTemplate(text='写真はもうありませんか', actions=[
        PostbackAction(label='もう大丈夫', data='もう大丈夫', text='もう大丈夫'),
        PostbackAction(label='まだある', data='まだある', text='まだある'),
    ])
    confirm_message = TemplateSendMessage(
        alt_text='confirm_image_add', template=confirm_template)
    return confirm_message
Beispiel #25
0
def confirm_image_upload():
    confirm_template = ConfirmTemplate(text='お部屋の画像やこうしたいイメージなどはございますか?', actions=[
        MessageAction(label='写真がある', text='写真がある'),
        MessageAction(label='特にない', text='写真は特にない'),
    ])
    confirm_message = TemplateSendMessage(
        alt_text='お部屋のイメージを教えてください', template=confirm_template)
    return confirm_message
Beispiel #26
0
 def handle_unbind(self):
     return TemplateSendMessage(
         alt_text='確定解除綁定?',
         template=ConfirmTemplate(
             text='真的要走嗎 QQ ~如果要再回來的話,重新註冊分數還會在喔!',
             actions=[
                 PostbackTemplateAction(label='確認', data='CONFIRM_DELETE'),
                 PostbackTemplateAction(label='取消', data='CANCEL_DELETE'),
             ]))
Beispiel #27
0
def callback(request):
    if request.method == 'POST':
        signature = request.META['HTTP_X_LINE_SIGNATURE']
        body = request.body.decode('utf-8')

        try:
            events = parser.parse(body, signature)
        except InvalidSignatureError:
            return HttpResponseForbidden()
        except LineBotApiError:
            return HttpResponseBadRequest()

        for event in events:
            if isinstance(event, MessageEvent):
                if isinstance(event.message, TextMessage):
                    text = event.message.text
                    if  Keyword.objects.filter(key=text):
                        key = Keyword.objects.get(key=text)
                        if key.response_type == 1:
                            message = TextSendMessage(text=key.response)
                            message2 = StickerSendMessage(package_id = "2" , sticker_id = "149")
                            line_bot_api.reply_message(event.reply_token,[message2, message])


                        elif key.response_type == 2:
                            response = key.response.split(';')
                            choices = response[1].split(',')
                            action=[]
                            for choice in choices:
                                action.append(MessageTemplateAction(
                                            label=choice,
                                            text=choice))

                            message = TemplateSendMessage(
                                alt_text='Confirm template',
                                template=ConfirmTemplate(
                                    text=response[0],
                                    actions = action
                                )
                            )
                            line_bot_api.reply_message(event.reply_token,message)

                    else:
                        url = "https://crobott.herokuapp.com/chatterbot/"
                        r = json.loads(requests.post(url, json={'text': text}).content.decode())
                        message = TextSendMessage(text=r['text'])
                        line_bot_api.reply_message(event.reply_token,message)

                else:
                    message = TextSendMessage(text="抱歉Crobot目前沒辦法解讀非文字訊息!但我會隨機生成貼圖QQ")
                    message2 = StickerSendMessage(package_id = "2" , sticker_id = random.randint(140,179))
                    line_bot_api.reply_message(event.reply_token,[message, message2])

        return HttpResponse()
    else:
        return HttpResponseBadRequest()
Beispiel #28
0
 def ask_for_registration(self):
     return TemplateSendMessage(alt_text='註冊之後就可以開始玩囉!',
                                template=ConfirmTemplate(
                                    text='註冊之後就可以開始玩囉!',
                                    actions=[
                                        MessageTemplateAction(label='開始註冊',
                                                              text='開始註冊'),
                                        PostbackTemplateAction(
                                            label='取消', data='NOREGISTER'),
                                    ]))
Beispiel #29
0
def createConfirmMessage():
    confirm_template = ConfirmTemplate(
        text='あなたはこの質問にYesと答える...',
        actions=[
            MessageTemplateAction(label='Yes', text='Yes...ハッ!?'),
            MessageTemplateAction(label='Yes!!', text='Yes!!...ハッ!?')
        ])
    template_message = TemplateSendMessage(alt_text='これはテストコンファームです',
                                           template=confirm_template)
    return template_message
def reply_connect(reply_token):
    lba.reply_message(reply_token, TemplateSendMessage(
        alt_text='接続しますか?',
        template=ConfirmTemplate(
            text='接続しますか?',
            actions=[
                PostbackTemplateAction(label='はい', data='connect'),
                PostbackTemplateAction(label='いいえ', data='no_connect'),
            ]
        )
    ))