Здравствуйте! Столкнулся с следующей проблемой:
Я делаю бота в телеграмме, который оставляет коментарии на сайте.
Используя этот код:
def desc(message):
username = message.from_user.username
idd = message.from_user.id
msg = message.text
c.execute("INSERT INTO ads (worker,wid,title) VALUES (%s,%s,%s)",(username,idd,msg))
link.commit()
c.execute("SELECT id FROM ads WHERE worker = %s AND wid = %s AND title = %s",(username,idd,msg))
global ad_id
ad_id = c.fetchall()[0]['id'];
msg = bot.send_message(message.chat.id,"Коментарий:")
bot.register_next_step_handler(msg,price)
def price(message):
username = message.from_user.username
idd = message.from_user.id
msg = message.text
c.execute("UPDATE ads SET description = %s WHERE id = %s",(msg,ad_id))
link.commit()
msg = bot.send_message(message.chat.id,"Теперь цена с копейками (Пример: 7000.00)")
bot.register_next_step_handler(msg,comision)
def comision(message):
username = message.from_user.username
idd = message.from_user.id
msg = message.text
c.execute("UPDATE ads SET price = %s WHERE id = %s",(msg,ad_id))
link.commit()
msg = bot.send_message(message.chat.id,"На последок комиссию укажи (Пример: 70.00)")
bot.register_next_step_handler(msg,succes)
Проблема в том, что надо куда то запоминать кто вообще пишет этот коментарий, использовать бд как по мне глупо в данной ситуации, локальные переменные видны только в области функции. Выход один - фигачить в глобальную, но тут опять проблемма, глобальная переменная создается для всех, тоесть если второй пользователь начнет писать коммент - он напишет его не под своим ником. Вообщем все у меня как то плёхо( Помогите пожалуйста!