суть: пользователь вводит в телеграм бота название товара и его цену. этот текст сохраняется в переменную. переменная с текстом из телеграма присваивается глобальной переменной, которая добавляется в базу данных
код:
import telebot
import sqlite3
import random
bot = telebot.TeleBot('token')
@bot.message_handler(commands=['start'])
def start(message):
user_name = message.from_user.first_name
bot.reply_to(message, 'привет, {0}!'.format(user_name) + '\nвведи название товара, цену и картинку, а я добавлю эти данные в базу данных!')
@bot.message_handler(commands=['text'])
def start_message(message):
bot.send_message(message.chat.id, 'Введите первый текст')
@bot.message_handler(func=lambda message: True)
def get_text_1(message):
global nazvanie
bot.send_message(message.chat.id, 'введите название товара: ')
nazvanie = message.text
return nazvanie
@bot.message_handler(func=lambda message: True)
def get_text_2(message):
global cost
bot.send_message(message.chat.id, 'введите цену товара: ')
cost = message.text
return cost
conn = sqlite3.connect('shop.db')
cursor = conn.cursor()
nazvanie_tovara = nazvanie
cost_tovara = cost
data = [nazvanie_tovara, cost_tovara]
cursor.execute("INSERT INTO tovary VALUES(?, ?);", data)
conn.commit()
bot.infinity_polling()
но у меня вылезает ошибка: name 'nazvanie' is not defined.
как я понял, потому что я пытаюсь присвоить глобальной переменной значение из функции.
но я объявил эту переменную как глобальную (global nazvanie, global cost)
как исправить?