Достать переменную из функции 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) # Вызвать другую функцию и передать ей эти переменные
Или возьмите какую-нибудь базу данных и сохраните туда эти данные, да даже в текстовый документ. А в другой функции, которую хотите для обработки этих данных использовать, просто возьмите данные из БД или файла.