Достать переменную из функции telebot python

Как достать переменные из функции telebot.

Имеется функция:

@bot.message_handler(commands=['start'])
def start(message):
    bot.send_message(message.chat.id, 'Click', reply_markup=webAppKeyboard())

    username = message.from_user.username
    id=message.from_user.id
    user_name=message.from_user.first_name

Как достать переменные:

username, id, user_name

Чтобы использовать в другой функции.


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

Автор решения: mrBars1k

Если Вам просто нужно передать полученные значения переменных в другую функцию, то просто передайте их. Буквально. Пусть другая функция принимает аргументы и передайте в качестве параметров при вызове этой функции их.

def new_function(username, id, user_name):
    print(f'Обрабатываю данные: {username}, {id}, {user_name}')


@bot.message_handler(commands=['start'])
def start(message):
    bot.send_message(message.chat.id, 'Click', reply_markup=webAppKeyboard())

    username = message.from_user.username
    id=message.from_user.id
    user_name=message.from_user.first_name

    new_function(username, id, user_name)  # Вызвать другую функцию и передать ей эти переменные

Или возьмите какую-нибудь базу данных и сохраните туда эти данные, да даже в текстовый документ. А в другой функции, которую хотите для обработки этих данных использовать, просто возьмите данные из БД или файла.

→ Ссылка