小编Dem*_*X86的帖子

使用python-telegram-bot构建菜单的正确方法

我与python-telegram-botBotFather机器人合作并尝试构建嵌套菜单系统.例如,您有一个通用的机器人菜单

pic.1

您可以在其中选择"编辑机器人"并获取新的相应菜单

pic.2

可以选择返回上一个菜单.

我尝试用代码实现:

# main menu
def start(bot, update):
    menu_main = [[InlineKeyboardButton('Option 1', callback_data='m1')],
                 [InlineKeyboardButton('Option 2', callback_data='m2')],
                 [InlineKeyboardButton('Option 3', callback_data='m3')]]
    reply_markup = InlineKeyboardMarkup(menu_main)
    update.message.reply_text('Choose the option:', reply_markup=reply_markup)

# all other menus
def menu_actions(bot, update):
    query = update.callback_query

    if query.data == 'm1':
        # first submenu
        menu_1 = [[InlineKeyboardButton('Submenu 1-1', callback_data='m1_1')],
                  [InlineKeyboardButton('Submenu 1-2', callback_data='m1_2')]]
        reply_markup = InlineKeyboardMarkup(menu_1)
        bot.edit_message_text(chat_id=query.message.chat_id,
                              message_id=query.message.message_id,
                              text='Choose the option:',
                              reply_markup=reply_markup)
    elif query.data == 'm2':
        # second submenu
        # first submenu
        menu_2 = [[InlineKeyboardButton('Submenu 2-1', callback_data='m2_1')],
                  [InlineKeyboardButton('Submenu …
Run Code Online (Sandbox Code Playgroud)

python bots menu telegram python-telegram-bot

7
推荐指数
2
解决办法
6443
查看次数

我可以用另一肘来称呼肘吗?

我正在开发一个使用肘节来管理状态的应用程序。很多时候,当我需要发出 API 请求时,我需要获取当前的本地化信息(处理可能的异常),然后将其发送到后端。所以我想我应该使用肘来请求并获取当前的本地化。

我的问题是我应该如何处理?我可以gpsLocalizationCubit从另一肘处打电话吗?我应该使用 bloc 侦听器进行调用gpsLocalizationCubit并成功调用吗?requestCubit但是,那么我应该如何管理对于获取本地化和 API 请求都应该可见的加载屏幕呢?另一个问题是我在单个视图中有多个类似的请求(需要使用当前本地化)。

flutter flutter-bloc flutter-state cubit flutter-cubit

7
推荐指数
1
解决办法
2145
查看次数