Esempio n. 1
0
def emotions(update, context):
    context.chat_data["command"] = "emotions"
    keyboard = emotions_keyboard()
    reply_markup = InlineKeyboardMarkup(keyboard)
    message = ("Selecciona una emoción!")
    update.message.reply_text(message,
                              reply_markup=reply_markup,
                              parse_mode='markdown')
    return
Esempio n. 2
0
def callback_handler(update, context, pubEmotions, pubMovements):
    publishers = {
        'emotions': pubEmotions,
        'movements': pubMovements,
        'interaction': pubMovements
    }
    chat_data = context.chat_data
    if not context:
        query.answer(text="")
        query.edit_message_text(text="Selecciona una opción en el teclado:")
        return
    #Get update data
    query = update.callback_query
    callback_function = command_callback[chat_data["command"]]
    publisher = publishers[chat_data["command"]]
    handled_response = callback_function(update, context, publisher)
    #Check callback callback_data
    if chat_data['command'] == "emotions":
        #Notify Telegram that we have answered
        query.answer(text="")
        #Update answer
        keyboard = emotions_keyboard()
        reply_markup = InlineKeyboardMarkup(keyboard)
        message = ("Selecciona una emoción!")
        query.edit_message_text(text=message,
                                reply_markup=reply_markup,
                                parse_mode='markdown')
    elif chat_data['command'] == "movements":
        #Notify Telegram that we have answered
        query.answer(text="")
        #Update answer
        keyboard = movements_keyboard()
        reply_markup = InlineKeyboardMarkup(keyboard)
        message = ("Selecciona una opción en el teclado:")
        query.edit_message_text(text=message,
                                reply_markup=reply_markup,
                                parse_mode='markdown')

    elif chat_data['command'] == "interaction":
        #Notify Telegram that we have answered
        query.answer(text="")
        #Update answer
        keyboard = interaction_keyboard()
        reply_markup = InlineKeyboardMarkup(keyboard)
        message = ("Selecciona una opción en el teclado:")
        query.edit_message_text(text=message,
                                reply_markup=reply_markup,
                                parse_mode='markdown')

    else:
        #Notify Telegram that we have answered
        query.answer(text="")
        query.edit_message_text(text="Selecciona una opción en el teclado:")
    return
Esempio n. 3
0
def emotions_callback(update, context, pubEmotions):
    #Get update data
    query = update.callback_query
    #Check callback callback_data
    if query['data'] != "back":
        #Publish emotions in ROS
        pubEmotions.publish(query["data"])
        #Notify Telegram that we have answered
        query.answer(text="")
        #Update answer
        keyboard = emotions_keyboard()
        reply_markup = InlineKeyboardMarkup(keyboard)
        message = ("Selecciona una opción en el teclado:")
        query.edit_message_text(text=message,
                                reply_markup=reply_markup,
                                parse_mode='markdown')
    else:
        #Notify Telegram that we have answered
        query.answer(text="")
        query.edit_message_text(text="Selecciona una opción en el teclado:")

    return