Для этого нужно посылать кал-бек информацию, допустим изначально знаем кому мы будем отвечать, то бишь айди пользователя, а после принимаем и в зависимости от нажатой кнопки понимаем кому отправлять сообщение
user_id = 123456 # айди пользователя кому будем отправлять
chat_id = -123456 # айди чата куда будем писать
# отправляем сообщение в чат
message_markup = InlineKeyboardMarkup()
message_markup.row_width = 1
message_markup.add(
InlineKeyboardButton(
"Принять",
callback_data="success_" + str(user_id)
),
InlineKeyboardButton(
"Отклонить",
callback_data="unsuccess_" + str(user_id)
))
bot.send_message(
chat_id=chat_id,
text="Новая заявка",
reply_markup=message_markup,
parse_mode="Html"
)
# принимаем кал-бек информацию от кнопки
def clb_handler(x):
bot.answer_callback_query(x.id)
if x.message.chat.id == x.from_user.id:
cb_data = x.data.split("_")
if len(cb_data) == 2:
user_id = cb_data[1]
msg = "спасибо, ваша заявка обработана" if cb_data[0] == "success" else "спасибо, но, ваша заявка была отклонена."
bot.send_message(
chat_id=user_id,
text=msg,
parse_mode="Html"
)
# запускаем бота
def start_polling():
while True:
try:
# ставим что прослушивать ответы на кнопки будет функция clb_handler()
@bot.callback_query_handler(func=lambda call: True)
def callback_query(x):
clb_handler(x)
bot.polling(
none_stop=True,
interval=0,
timeout=60
)
except Exception as e:
print(e)
time.sleep(5)
tb = threading.Thread(
target = start_polling,
args = ()
)
tb.start()