如何为函数的执行设定条件?

问题描述 投票:0回答:1

我有一个 “button-1” 它调用 KeyboardButtonRequestChat 然后我可以选择频道并将其发送到机器人,该函数将通过 chat_shared 获取频道 id,但是我想添加另一个按钮,该按钮也将调用 KeyboardButtonRequestChat 但在不同的条件下,我还将创建一个通过 chat_shared 获取 id 的函数。但是如何为这些函数创造条件,让“button-1”调用一个“function-1”“button-2”调用“function-2”呢?

也许可以使用 “request_id” 添加条件?否则 “button-1” 将调用 “function-1”“function-2”

如果有任何答案,我将不胜感激。

按钮:

@dp.message(lambda message: message.text == "Buttons")
async def configure_source_channels(message: Message, state: FSMContext):
    user_id = message.from_user.id
    user_states[user_id] = UserStates.SOURCE_CHANNELS
    keyboard = ReplyKeyboardMarkup(keyboard=[
        [KeyboardButton(text="button-1", request_chat=KeyboardButtonRequestChat(
            request_id=1,
            user_is_bot=False,
            chat_is_channel=True,
            chat_is_forum=False
        ))],
        [KeyboardButton(text="button-2", request_chat=KeyboardButtonRequestChat(
            request_id=2,
            user_is_bot=True,
            chat_is_channel=False,
            chat_is_forum=False
        ))],
])

功能:

@dp.message(F.chat)
async def handle_request_chat_button1(msg: Message, state: FSMContext):
    print("Handling request_chat")
    chat_info = msg.chat_shared.chat_id
@dp.message(F.chat)
async def handle_request_chat_button2(msg: Message, state: FSMContext):
    print("Handling request_chat")
    chat_info = msg.chat_shared.chat_id
python bots telegram aiogram
1个回答
0
投票

在许多编程语言中,您可以使用条件语句来控制是否应执行函数。根据语言的不同,语法可能略有不同,但不同语言的总体思路是相似的。以下是几种常见语言的示例。

© www.soinside.com 2019 - 2024. All rights reserved.