示例#1
0
def confirm_birth_time(event, line_bot_api):
    line_bot_api.reply_message(
        event.reply_token,
        TemplateSendMessage(
            alt_text='請確認出生時間',
            template=ConfirmTemplate(
                text='您的出生時間為 ' + event.message.text + ' 嗎?',
                actions=[
                    PostbackAction(
                        label='是',
                        display_text='是',
                        data='action=confirm_birth_time&reply=yes&birth_time='
                        + event.message.text),
                    PostbackAction(label='否',
                                   display_text='否',
                                   data='action=confirm_birth_time&reply=no')
                ])))
    def send_ensure_correctIfLine_message(self, reply_token, venue, status):

        quickReply_message = TextSendMessage(
            text='你想將' + venue + '的狀態改為目前' + status + ',你確定嗎?',
            quick_reply=QuickReply(items=[
                QuickReplyButton(
                    action=PostbackAction(label='是',
                                          data="ensure-ifLine-yes_" + status +
                                          "_" + venue,
                                          text='我確定')),
                QuickReplyButton(
                    action=PostbackAction(label='否',
                                          data="ensure-ifLine-no_" + venue,
                                          text='我不改了,幫我跳回管理表單吧!'))
            ]))

        self.line_bot_api.reply_message(reply_token, quickReply_message)
def button(choice, button_color):
    button = ButtonComponent(
        style='primary',
        color=button_color,
        height='sm',
        action=PostbackAction(label=choice, data=choice, text=choice),
    )
    return button
    def __getSourceCarouselColumn(self):
        sourceCarouselColumn = CarouselColumn(
            thumbnail_image_url=self.__sourceColumn.imageUrl,
            title='來源影像',
            text='時間:{}'.format(self.__sourceColumn.imageCaptureTime),
            actions=[PostbackAction(label=' ', data='doNothing')])

        return sourceCarouselColumn
示例#5
0
def handle_message(event):
    _id = event.source.user_id
    profile = line_bot_api.get_profile(_id)
    UserName = profile.display_name
    keyWord = ['Taipei', 'New Taipei']

    mesg = TextSendMessage(text=event.message.text)

    if 'Heartbeat' == mesg.text:
        buttons_template = ButtonsTemplate(
            text='Hi {} ! Please select the location where you want to query.'.
            format(str(UserName)),
            actions=[
                PostbackAction(
                    label='Taipei',
                    data='HB_Taipei',
                    text=
                    'Please wait while your report(Taipei) is being queried.'),
                PostbackAction(
                    label='New Taipei part A',
                    data='HB_NewTaipei_A',
                    text=
                    'Please wait while your report(New Taipei part A) is being queried'
                ),
                PostbackAction(
                    label='New Taipei part B',
                    data='HB_NewTaipei_B',
                    text=
                    'Please wait while your report(New Taipei part B) is being queried'
                ),
                PostbackAction(
                    label='New Taipei part C',
                    data='HB_NewTaipei_C',
                    text=
                    'Please wait while your report(New Taipei part C) is being queried'
                )
            ])

        template_mesg = TemplateSendMessage(alt_text='the Menu button',
                                            template=buttons_template)
        line_bot_api.reply_message(event.reply_token, template_mesg)

    if 'Outlier' == mesg.text:
        replyTXT = "Hi {} ! It is under construction.".format(str(UserName))
        mesg = TextSendMessage(text=replyTXT)
        line_bot_api.reply_message(event.reply_token, mesg)
    def send_ensure_correctCurrent_message(self, reply_token, venue):

        confirm_template = ConfirmTemplate(
            text=venue + '最新的照片即將上傳,你確定嗎?',
            actions=[
                PostbackAction(label='是',
                               data="ensure-currentSituation-yes",
                               text='我確定'),
                PostbackAction(label='否',
                               data="ensure-currentSituation-no",
                               text='我不改了,幫我跳回管理表單吧!')
            ])

        template_message = TemplateSendMessage(alt_text='確認拍照是否上傳',
                                               template=confirm_template)

        self.line_bot_api.reply_message(reply_token, template_message)
示例#7
0
def confirm_phone(event, line_bot_api):
    line_bot_api.reply_message(
        event.reply_token,
        TemplateSendMessage(
            alt_text='請確認電話號碼',
            template=ConfirmTemplate(
                text='您的電話號碼是 ' + event.message.text + ' 嗎?',
                actions=[
                    PostbackAction(
                        label='是',
                        display_text='是',
                        data='action=confirm_phone&reply=yes&phone=' +
                        event.message.text),
                    PostbackAction(label='否',
                                   display_text='否',
                                   data='action=confirm_phone&reply=no')
                ])))
 def quick_reply_festival():
     textQuickReplyButton_moon = QuickReplyButton(action=PostbackAction(
         label="中秋節", data="keyword=中秋料理", text="中秋節相關食譜"))
     textQuickReplyButton_dragon = QuickReplyButton(action=PostbackAction(
         label="端午節", data="keyword=端午包粽", text="端午節相關食譜"))
     textQuickReplyButton_halloween = QuickReplyButton(
         action=PostbackAction(
             label="萬聖節", data="keyword=萬聖節", text="萬聖節相關食譜"))
     textQuickReplyButton_Merry = QuickReplyButton(action=PostbackAction(
         label="聖誕節", data="keyword=聖誕大餐", text="聖誕節相關食譜"))
     textQuickReplyButton_love = QuickReplyButton(action=PostbackAction(
         label="情人節", data="keyword=情人節", text="情人節相關食譜"))
     textQuickReplyButton_Lantern = QuickReplyButton(action=PostbackAction(
         label="元宵節", data="keyword=元宵湯圓", text="元宵節相關食譜"))
     textQuickReplyButton_newyear = QuickReplyButton(action=PostbackAction(
         label="過年年菜", data="keyword=年菜", text="過年年菜相關食譜"))
     ## 設計節慶 QuickReplyButton的List
     quickReplyList_Festival = QuickReply(items=[
         textQuickReplyButton_moon, textQuickReplyButton_dragon,
         textQuickReplyButton_halloween, textQuickReplyButton_Merry,
         textQuickReplyButton_love, textQuickReplyButton_Lantern,
         textQuickReplyButton_newyear
     ])
     return TextSendMessage(text='發送問題給用戶,請用戶回答',
                            quick_reply=quickReplyList_Festival)
def lambda_handler(event, context):

    today = datetime.date.today()

    if is_holiday(today):
        return {
            'statusCode': 200,
            'body': json.dumps('ok', ensure_ascii=False)
        }

    try:
        print(event)

        line_bot_api = LineBotApi(channel_access_token=os.environ['ACCESS_TOKEN'])
        buttons_tmplate_messages = TemplateSendMessage(
            alt_text='Buttons template',
            template=ButtonsTemplate(
                title='ぶぶチェック',
                text='水のんだ?',
                actions=[
                    PostbackAction(
                        label='のんだ!',
                        display_text='のんだ!',
                        data='status=ok'
                    ),
                    PostbackAction(
                        label='のんでない!',
                        display_text='のんでない!',
                        data='status=ng'
                    )
                ]
            )
        )
        line_bot_api.push_message(os.environ['GROUP_ID'], buttons_tmplate_messages)

        return {
            'statusCode': 200,
            'body': json.dumps('ok', ensure_ascii=False)
        }
    except:
        traceback.print_exc()
        return {
            'statusCode': 200,
            'body': json.dumps('ok', ensure_ascii=False)
        }
示例#10
0
 def activationMsg(self):
     # Lineビーコンが接続された場合、もし0:未設定なら設定プロセスを起動する
     if self.__user_data.json_data['use_line_beacon'] is 0:
         confirm_template = ConfirmTemplate(
             text=
             "LINE beacon が接続されたようです。Beacon Ecoを使用しますか?\nこれを用いることでスマホがビーコンから遠くにあるときはセンサを省エネ化し、センサ寿命を延ばすことができます。\nbeacon と話しかけると設定を変更できます。",
             actions=[
                 PostbackAction(label='Yes',
                                data='set_beacon_on',
                                displayText='はい!'),
                 PostbackAction(label='No',
                                data='set_beacon_off',
                                displayText='いいえ'),
             ])
         template_message = TemplateSendMessage(alt_text='Confirm alt text',
                                                template=confirm_template)
         self.__line_bot_api.reply_message(self.__reply_token,
                                           template_message)
示例#11
0
def what_would_you_like_to_learn(event):
    """ Ask user what they would like to learn and redirect with postback messages. 
    :param event <event>: the message
    """
    learning_choices = TemplateSendMessage(
        alt_text='Buttons template',
        template=ButtonsTemplate(
            thumbnail_image_url='https://i.imgur.com/xHzymxe.gif',
            title='今天想學些什麼?',
            text='抱歉,你能選的只有:',
            actions=[
                PostbackAction(label='Python',
                               data='action=register_user&' +
                               str(event.source.user_id) + '&Python'),
                PostbackAction(label='想學其他東西點這邊',
                               data='demande=learn_sth_else')
            ]))
    return learning_choices
示例#12
0
def confirm_user_info(event, line_bot_api, user_name, user_gender,
                      user_birth_day, user_birth_time):
    line_bot_api.reply_message(
        event.reply_token,
        TemplateSendMessage(
            alt_text='確認所有資料',
            template=ConfirmTemplate(
                text='您是 [' + user_name + '], ' + user_gender + '性, 生日為 ' +
                user_birth_day[:4] + '/' + user_birth_day[4:6] + '/' +
                user_birth_day[-2:] + ' ' + user_birth_time + ' ?',
                actions=[
                    PostbackAction(label='是',
                                   display_text='是',
                                   data='action=confirm_user_info&reply=yes'),
                    PostbackAction(label='否',
                                   display_text='否',
                                   data='action=confirm_user_info&reply=no')
                ])))
示例#13
0
def handle_FollowEvent(event):
    button_template_message = ButtonsTemplate(
        thumbnail_image_url=
        "https://obs.line-scdn.net/0h_TFUioZ5AHt7LCh0KO1_LFpxCxlITh5wWUpIGVwkXE1RHEBDExhPHg0sWhwBT0AuT0gbHjAsVh5XFUQrQA9OTg4pV09fGw/f256x256",
        title='Module List',
        text='Welcome to follow, click one to get the module instruction:',
        image_size="contain",
        actions=[
            PostbackAction(label='Publish & Search',
                           data='#Module 1 Instruction'),
            PostbackAction(label='News Summaries', data='#Module 2 Instruction'),
            PostbackAction(label='Anti-Coronavirus',
                           data='#Module 3 Instruction'),
        ])
    line_bot_api.reply_message(
        event.reply_token,
        TemplateSendMessage(alt_text="The Module Instruction",
                            template=button_template_message))
示例#14
0
def after_preference2(event=None, line_bot_api=None):
    user_id = event.source.user_id
    postback = getattr(event, "postback", None)
    if postback is not None:
      _place_sports =  postback.data.split("&")[1]
      repo.update_users(user_id, "place_sports", _place_sports)

    _text = "それじゃあ、どうやって目標を達成しようか?"
    _h = MODE.AFTER_PREFERENCE3.hash
    Session_interface.set_waiting_mode(user_id, MODE.AFTER_PREFERENCE3)
    line_bot_api.push_message(user_id, TextSendMessage(text=_text, 
      quick_reply=QuickReply(
              items=[
                QuickReplyButton(action=PostbackAction(label="食事中心", data=_h+"&食事中心", text="食事中心")),
                QuickReplyButton(action=PostbackAction(label="運動中心", data=_h+"&運動中心", text="運動中心")),
                QuickReplyButton(action=PostbackAction(label="どっちも", data=_h+"&どっちも", text="どっちも"))
              ]
          )))
示例#15
0
 def test_image_carousel_column(self):
     arg = {
         'image_url': 'https://example.com/bot/images/item1.jpg',
         'action': PostbackAction(label='Buy', data='action=buy&itemid=555')
     }
     self.assertEqual(
         self.serialize_as_dict(arg),
         ImageCarouselColumn(**arg).as_json_dict()
     )
    def send_ensureIfLine_message(self, reply_token, venue):

        confirm_template = ConfirmTemplate(
            title='你確定要開啟' + venue + '的排隊提醒嗎?',
            text='我們會在排隊時間小於15分鐘時提醒你',
            actions=[
                PostbackAction(label='好',
                               data="remind-ifLine_" + venue,
                               text='好!'),
                PostbackAction(label='先不要',
                               data="remind-ifLine-no",
                               text='先不要!')
            ])

        confirm_template_message = TemplateSendMessage(
            alt_text='註冊提醒', template=confirm_template)

        self.line_bot_api.reply_message(reply_token, confirm_template_message)
示例#17
0
def menu_buttons(words):
    quick_buttons = []
    for option in ["absence", "tardiness", "leave_early",
                   "contactQuestion", "answerSubmit", "others"]:
        quick_buttons.append(QuickReplyButton(
            action=PostbackAction(
                label=words[option], data="menu_" + option, display_text=words[option])
        ))
    return quick_buttons
示例#18
0
 def makeQuickReplyButton(self, result):
     item = []
     for key, value in result.items():
         item.append(
             QuickReplyButton(action=PostbackAction(
                 label=value,
                 data=key,
             )))
     return item
示例#19
0
def get_rich_menu():
    result = False

    width = 2500
    height = 1686
    try:
        # define a new richmenu
        rich_menu_to_create = RichMenu(
            size=RichMenuSize(width=width, height=height),
            selected=True,
            name='richmenu',
            chat_bar_text='メニュー',
            areas=[
                RichMenuArea(bounds=RichMenuBounds(x=0,
                                                   y=0,
                                                   width=height,
                                                   height=height),
                             action=PostbackAction(label='ストーリーをすすめる',
                                                   data='next_step')),
                RichMenuArea(bounds=RichMenuBounds(x=height,
                                                   y=0,
                                                   width=width - height,
                                                   height=height / 2),
                             action=PostbackAction(label='中止', data='stop')),
                RichMenuArea(bounds=RichMenuBounds(x=height,
                                                   y=height / 2,
                                                   width=width - height,
                                                   height=height / 2),
                             action=PostbackAction(label='投票', data='vote'))
            ])
        richMenuId = line_bot_api.create_rich_menu(
            rich_menu=rich_menu_to_create)

        # upload an image for rich menu
        path = settings.STATIC_ROOT + 'images/richmenu.jpeg'
        with open(path, 'rb') as f:
            line_bot_api.set_rich_menu_image(richMenuId, "image/jpeg", f)

        result = True

    except Exception:
        result = False

    print(richMenuId, 'richmenu-id result: ' + str(result))
示例#20
0
文件: app.py 项目: anemone3504/penny
def insert():
    thanks = [
        '嬉しいわ。',
        'お金はまだあるわよね?',
        '明日もがんばりなさいよ。',
        '今日はもうおしまいかしら?',
        'まだ物足りないわね。',
    ]
    value = request.form['value']#大括弧なのに注意。
    insert_column(value)

    #DBにアクセスして最新の貯金1件を取得
    sql = "SELECT id FROM users;"
    with conn.cursor() as cur:
        cur.execute(sql)
        userID = cur.fetchall()

    IDs = []
    for user in userID:
        IDs.append(user[0])

    for id in IDs:
        line_bot_api.push_message(
            id,[
                TextSendMessage(
                    text = f'{value}円貯金してくれてありがとうね、{random.choice(thanks)}',
                    quick_reply = QuickReply(
                        items = [
                            QuickReplyButton(
                                action = PostbackAction(label = "1週間分の貯金額",data = "1週間")
                            ),
                            QuickReplyButton(
                                action = PostbackAction(label = "1ヶ月分の貯金額",data = "1ヶ月")
                            ),
                            QuickReplyButton(
                                action = PostbackAction(label = "1年分の貯金額",data = "1年")
                            )
                        ]
                    )
                )
            ]
        )

    return "Insert done." #Noneを返すとstatus code が500になる。
示例#21
0
def handle_message(event):
    user_message = event.message.text

    if user_message in city_list:
        city_id = city_dict[user_message]
        text_message = get_weather_info(city_id)

        confirm_template_message = TemplateSendMessage(
            alt_text='Confirm template',
            template=ConfirmTemplate(text=user_message + 'を登録しますか?',
                                     actions=[
                                         PostbackAction(label='はい',
                                                        display_text='はい',
                                                        data=city_id),
                                         PostbackAction(label='いいえ',
                                                        display_text='いいえ',
                                                        data='no')
                                     ]))
        messages = [
            TextSendMessage(text=text_message), confirm_template_message
        ]
    elif '一覧' in user_message:
        text_message = '以下、対応地域一覧です。\n' + '\n'.join(city_list)
        messages = [TextSendMessage(text=text_message)]
    else:
        my_city = db.session.query(MyCity).filter(
            MyCity.user_id == event.source.user_id).first()
        if my_city:
            text_message1 = get_weather_info(my_city.city_id)
            text_message2 = '対応地域を知りたい場合は、「一覧」と話しかけてください。'
            messages = [
                TextSendMessage(text=text_message1),
                TextSendMessage(text=text_message2)
            ]
        else:
            text_message1 = '久留米'
            text_message2 = '上記、入力例です。以下、対応地域一覧です。\n' + '\n'.join(city_list)

            messages = [
                TextSendMessage(text=text_message1),
                TextSendMessage(text=text_message2)
            ]

    line_bot_api.reply_message(event.reply_token, messages)
示例#22
0
def phase_intermediate(event):

    color_dict = {
        'red': '紅',
        'orange': '橙',
        'yellow': '黃',
        'green': '綠',
        'blue': '藍',
        'purple': '紫'
    }
    reply_dict = {
        'mode': '[2/4] 今晚,繼續來點雙色打光!\n請選擇色彩變化梯度:',
        'gradient_factor': '[3/4] 今晚,還想來點雙色打光!\n請選擇第一道色彩:',
        'first_tone': '[4/4] 今晚,最後來點雙色打光!\n請選擇第二道色彩:'
    }
    quick_button_dict = {
        'mode': [
            QuickReplyButton(action=PostbackAction(
                label=i, display_text=f'變化梯度:{i}',
                data=f'gradient_factor={i}')) for i in (5, 10, 50, 100)
        ],
        'gradient_factor': [
            QuickReplyButton(action=PostbackAction(
                label=j, display_text=f'第一道色彩:{j}', data=f'first_tone={i}'))
            for i, j in color_dict.items()
        ],
        'first_tone': [
            QuickReplyButton(action=PostbackAction(
                label=j, display_text=f'第二道色彩:{j}', data=f'second_tone={i}'))
            for i, j in color_dict.items()
        ]
    }

    user_id = event.source.user_id
    postback_data = event.postback.data
    current_phase = postback_data.split('=')[0]

    CallDatabase.update_record(user_id, current_phase,
                               postback_data.split('=')[1])
    line_bot_api.reply_message(
        event.reply_token,
        TextSendMessage(
            text=reply_dict[current_phase],
            quick_reply=QuickReply(items=quick_button_dict[current_phase])))
示例#23
0
文件: main.py 项目: ogasyunn/linebot
def postbackevent(event):
    answer = db.session.query(Answer).all()
    print(event.postback.data)
    print(answer[-1].answer)
    if event.postback.data == "retry":
        instruments = db.session.query(Instruments).filter(Instruments.userid == event.source.user_id).first()
        instruments.status = "registing"
        db.session.add(instruments)
        db.session.commit()
        line_bot_api.reply_message(
            event.reply_token,
            TextSendMessage(text="もう一度自己紹介を入力してね")
            )
    elif event.postback.data == "ok":
        instruments = db.session.query(Instruments).filter(Instruments.userid == event.source.user_id).first()
        instruments.status = "registed"
        db.session.add(instruments)
        db.session.commit()
        line_bot_api.reply_message(
            event.reply_token,
            TextSendMessage(text="登録しました")
            )
    elif event.postback.data == answer[-1].answer:
        line_bot_api.reply_message(
        event.reply_token,
        TextSendMessage(text="正解!!!")
        )
    elif event.postback.data != answer[-1].answer:
        line_bot_api.reply_message(
        event.reply_token,
        TextSendMessage(text="違うよ!!")
        )
        

        instruments = db.session.query(Instruments).filter(Instruments.status == "registed").all()
        quizmember = db.session.query(Instruments.userid).filter(Instruments.status == "registed").all()
        quizmembericon = db.session.query(Instruments.icon).filter(Instruments.status == "registed").all()
        
        count = len(instruments)
        
        memberinstruments = db.session.query(Instruments).filter(Instruments.userid == quizmember[num].userid).first()
        
        contents = []
        
        for i in range(count):
            profile = line_bot_api.get_profile(quizmember[i].userid)
            quizmembername = profile.display_name
            item = QuickReplyButton(action=PostbackAction(imageUrl = quizmembericon[i].icon, label = quizmembername, display_text = quizmembername + "さん", data = quizmember[i].userid))
            contents.append(item)
        
        message = TextSendMessage(text = memberinstruments.message, quick_reply=QuickReply(items = contents))

        line_bot_api.reply_message(
            event.reply_token,
            message
            )
    def _generate_dist_venues(self, dist_venues):

        actions = []
        columns = []

        if (len(dist_venues) / 4) <= 1.0:

            for venue in dist_venues:

                actions.append(
                    MessageAction(label=venue['title'], text=venue['title']))

            template_message = TemplateSendMessage(
                alt_text='請問你是要問' + dist_venues[0]['dist'] + '的哪個館呢?',
                template=ButtonsTemplate(title=dist_venues[0]['dist'],
                                         text='以下是' + dist_venues[0]['dist'] +
                                         '有提供資訊的展館',
                                         actions=actions))

            return template_message

        else:

            empty_action = PostbackAction(label='空白按鈕', data='empty')

            for venue in dist_venues:

                actions.append(
                    MessageAction(label=venue['title'], text=venue['title']))

                if (len(actions) % 3 == 0):
                    column = CarouselColumn(title=venue['dist'],
                                            text='以下是' + venue['dist'] +
                                            '有提供資訊的展館',
                                            actions=actions)

                    columns.append(column)
                    actions = []

            while len(actions) % 3 != 0:

                actions.append(empty_action)

            column = CarouselColumn(title=venue['dist'],
                                    text='以下是' + venue['dist'] + '有提供資訊的展館',
                                    actions=actions)

            columns.append(column)

            carousel_template = CarouselTemplate(columns=columns)

            template_message = TemplateSendMessage(
                alt_text='請問你是要問' + dist_venues[0]['dist'] + '的哪個館呢?',
                template=carousel_template)

            return template_message
示例#25
0
def handle_follow_event(event=None, line_bot_api=None):
    user_id = event.source.user_id
    dur()
    _text = "数あるダイエットサービスの中から選んでもらえてくれしいです。"
    line_bot_api.push_message(user_id, TextSendMessage(text=_text))
    dur()
    _text = "あなたの最適なパートナーになれるように頑張ります♪これからよろしくお願いします♪"
    line_bot_api.push_message(user_id, TextSendMessage(text=_text))
    dur()
    _text = "まずは、あなたのことを知りたいです!性別を教えてください!"
    Session_interface.set_waiting_mode(user_id=user_id, mode=MODE.AFTER_SEX)
    line_bot_api.push_message(user_id, TextSendMessage(text=_text, 
      quick_reply=QuickReply(
              items=[
                QuickReplyButton(action=PostbackAction(label="男性", data=MODE.AFTER_SEX.hash+"&男性", text="男性")),
                QuickReplyButton(action=PostbackAction(label="女性", data=MODE.AFTER_SEX.hash+"&女性", text="女性")),
                QuickReplyButton(action=PostbackAction(label="その他", data=MODE.AFTER_SEX.hash+"&その他", text="その他"))
              ]
          )))
示例#26
0
 def test_postback(self):
     arg = {
         'label': 'Buy',
         'data': 'action=buy&id=1',
         'display_text': 'buy'
     }
     self.assertEqual(
         self.serialize_as_dict(arg, type=self.POSTBACK),
         PostbackAction(**arg).as_json_dict()
     )
示例#27
0
 def test_postback(self):
     arg = {
         'label': 'Buy',
         'data': 'action=buy&id=1',
         'display_text': 'buy',
         'input_option': PostbackInputOption.OPEN_KEYBOARD,
         'fill_in_text': 'fill in text',
     }
     self.assertEqual(self.serialize_as_dict(arg, type=self.POSTBACK),
                      PostbackAction(**arg).as_json_dict())
示例#28
0
def on_follow(display_name):
    return TemplateSendMessage(
        alt_text='Hi {0}, nice to meet you :)'.format(display_name),
        template=ConfirmTemplate(
            text='Hi {0}, nice to meet you! \n\nMy name is Jeff and this chatbot is made by me.\n\nWould you like to know more about me?'.format(display_name),
            actions=[
                PostbackAction(
                    label='Sure',
                    text='Sure',
                    data='action=WTKM' # Want to know me.
                ),
                PostbackAction(
                    label='No',
                    text='No',
                    data='action=DWTKM' # Dont wnt to know me.
                )
            ]
        )
    )
示例#29
0
def number_buttons(maxNumber, grade_classroom):
    quick_buttons = []
    number = 1
    while number <= maxNumber:
        quick_buttons.append(QuickReplyButton(
            action=PostbackAction(
                label=number, data=f"{grade_classroom}_" + str(number), display_text=number)
        ))
        number += 1
    return quick_buttons
示例#30
0
def confirm_birth_day(event, line_bot_api):
    line_bot_api.reply_message(
        event.reply_token,
        TemplateSendMessage(
            alt_text='請確認國曆生日',
            template=ConfirmTemplate(
                text='您的國曆生日為 ' + event.message.text[:4] + '年' +
                event.message.text[4:6] + '月' + event.message.text[-2:] +
                '日 嗎?',
                actions=[
                    PostbackAction(
                        label='是',
                        display_text='是',
                        data='action=confirm_birth_day&reply=yes&birth_day=' +
                        event.message.text),
                    PostbackAction(label='否',
                                   display_text='否',
                                   data='action=confirm_birth_day&reply=no')
                ])))