Как передать аргумент в обработчик для кнопок inline-клавиатуры? pyTelegramBotApi

Есть одна проблема, с которой я столкнулся при написании не одного уже бота - как передать аргумент в обработчик для кнопок встроенной клавиатуры типа InlineKeyboardMarkup? Предположим я создал для пользователя экземпляр браузера с помощью библиотеки selenium вот таким образом:

    driver = webdriver.Chrome("D:\chromedriver.exe")
    driver.get("https://link")

Примите во внимание, что переменная driver не глобальная и передается с одной функции в другую. Пример кода:

@bot.message_handler(content_types=["text"])
def Mode1(message):
    driver = webdriver.Chrome("D:\chromedriver.exe")
    driver.get("https://link")
    msg = bot.send_message(message.chat.id, "Beta-режим активирован")
    key = types.InlineKeyboardMarkup()
    btn1 = types.InlineKeyboardButton(text="Пример 1", callback_data = "Пример 1")
    btn2 = types.InlineKeyboardButton(text="Пример 2", callback_data = "Пример 2")
    key.add(btn1, btn2)
    msg = bot.send_message(message.chat.id, element.text, reply_markup = key)
    driver.find_element_by_xpath('//*[@id="source"]').click()
    return bot.register_next_step_handler(msg, Mode2, driver)


def Mode2(message, driver):
    driver.get("https://link")
    # И так далее

И есть обработчик нажатий inline-клавиатуры:

@bot.callback_query_handler(func=lambda c:True)
def inline(c):
# def inline(c, driver): # предположительно, что я хочу реализовать
    if c.data == "Пример 1":
        # вот сюда нужно передать экземпляр браузера driver(не глобальной переменной!)
        # чтобы можно было получить объект из этого экземпляра
        #
        #Что-то типа такого: driver.find_element_by_xpath('//*[@id="source"]').click()
    elif c.data == "Пример 2":
        pass

Подскажите пожалуйста, где нужно указать в обработчике нажатий аргумент driver, который я хочу передать? Не обязательно, чтобы аргумент был driver - какой-угодно можно передать, но вопрос в том - каким образом его туда передать? Каким из способов не пробовал - не получается этого сделать.


Ответы (0 шт):