Я недавно начал изучать библиотеку pytelegrambotapi. Решил попробовать написать бота, который принимает заказы.
Когда заказ написан, бот отправляет его на аккаунт с chat_id, который записан в переменной owner. Там появляется Inlain клавиатура с кнопкой принять. После нажатия этой кнопки пользователю, который сделал заказ, отправляется сообщение. Chat_id этого пользователя предварительно записывается в переменную user. Но когда ботом пользуется несколько человек одновременно, бот запоминает последний chat_id и не отправляет сообщение предыдущему пользователю. Помогите, пожалуйста, решить эту проблему.
import telebot
from telebot import types
owner=chat_id
bot=telebot.TeleBot('token')
@bot.message_handler(commands=['start'])
def start(message):
key=types.ReplyKeyboardMarkup()
button1=types.KeyboardButton('Меню')
button2=types.KeyboardButton('Сделать заказ')
key.add(button1,button2)
bot.send_message(message.chat.id,'Привет, здесь ты можешь сделать заказ.',reply_markup=key)
@bot.message_handler(content_types='text')
def work(message):
if message.text=='Меню':
p1=types.InputMediaPhoto(open(r'1.png','rb'))
p2=types.InputMediaPhoto(open(r'2.png','rb'))
bot.send_media_group(message.chat.id,[p1,p2])
elif message.text=='Сделать заказ':
msg=bot.send_message(message.chat.id,'Напишите что вы выбрали(Одним сообщением через запятую)')
bot.register_next_step_handler(msg,z)
else:
bot.send_message(message.chat.id,'Я вас не понял(')
def z(message):
global z
z=message.text
msg=bot.send_message(message.chat.id,'Напишите адрес')
bot.register_next_step_handler(msg,a)
def a(message):
global a
ikey=types.InlineKeyboardMarkup()
button_yes=types.InlineKeyboardButton(text='Принят',callback_data='yes')
ikey.row(button_yes)
a=message.text
e1='Заказ: '+z
e2='Адрес: '+a
e=e1+'\n'+e2
bot.send_message(owner,e,reply_markup=ikey)
bot.send_message(message.chat.id,'Я отправил ваш заказ.Пожалуйста, подождите.')
global user
user=message.chat.id
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
if call.data=='yes':
bot.send_message(user,'Принято')
bot.polling()