Как изменить несколько глобальных переменных и присвоить им разные значения в python & telebot
dudka_amount_malina = 'none'
dudka_amount_yablokopersik = 'none'
dudka_amount_persik = 'none'
@bot.message_handler(func=lambda msg: msg.text == '!change ass')
def echo_all(message):
markup = types.InlineKeyboardMarkup(row_width=2).add(
types.InlineKeyboardButton("dudka_amount_malina на false", callback_data='z1'),
types.InlineKeyboardButton("dudka_amount_malina на true", callback_data='q1'),
types.InlineKeyboardButton("dudka_amount_persik на false", callback_data='c1'),
types.InlineKeyboardButton("dudka_amount_yablokopersik на false", callback_data='x1'))
bot.reply_to(message, 'Нажмите на нужный вам вариант:', reply_markup=markup)
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
bot.answer_callback_query(callback_query_id=call.id, show_alert=False, text="Changed succsefully")
if call.data == 'q1':
global dudka_amount_malina
dudka_amount_malina = 'В наличии'
elif call.data == 'z1':
global dudka_amount_malina
dudka_amount_malina = 'Нет в наличии'
elif call.data == 'x1':
global dudka_amount_yablokopersik
dudka_amount_yablokopersik = 'Нет в наличии'
elif call.data == 'c1':
global dudka_amount_persik
dudka_amount_persik = 'Нет в наличии'
Тут код должен изменять одну переменную на значение "Есть в наличии" и "Нет в наличии", однако выдает синтаксическую ошибку
Ответы (1 шт):
Автор решения: oleksandrigo
→ Ссылка
Попробуй так
@bot.message_handler(func=lambda msg: msg.text == '!change ass')
def echo_all(message):
markup = types.InlineKeyboardMarkup(row_width=1).add(
types.InlineKeyboardButton("Изменить dudka_amount_malina", callback_data='z1'),
types.InlineKeyboardButton("Изменить dudka_amount_yablokopersik", callback_data='x1'))
bot.reply_to(message, 'Нажмите на нужный вам вариант:', reply_markup=markup)
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
bot.answer_callback_query(callback_query_id=call.id, show_alert=False, text="Changed succsefully")
if call.data == 'z1':
global dudka_amount_malina
dudka_amount_malina = 'Нет в наличии'
elif call.data == 'x1':
global dudka_amount_yablokopersik
dudka_amount_yablokopersik = 'Нет в наличии'
UPD.
global dudka_amount_malina
if call.data == 'q1':
dudka_amount_malina = 'В наличии'
elif call.data == 'z1':
dudka_amount_malina = 'Нет в наличии'