@Sadons

Как обновлять message.text относительно каждого пользователя?

Идея бота: пользователь бота направляет ссылку на ютуб видео - далее бот направляет эту ссылку в группу где я могу "принять" или "отказать" заявку.
Далее, если я отклоняю заявку, бот возвращает деньги за заявку пользователю который направил эту заявку путём поиска в бд ссылки которая была отправлена и извлекает оттуда userID
Вот сам коллбэк, когда я отклоняю заявку
if call.data == 'callback.no':
            bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
                                  text='{0}\n Статус: Отказано \nЗаявку отказал: @{1} ❌'.format(
                            call.message.text,call.from_user.username))
            user_id_sender = sql.execute("SELECT linkSender FROM links WHERE linkYoutube=(?)", (message.text,))
            res_userID = user_id_sender.fetchall()
            useridsender = res_userID[0][0]
            print(message.text)
            sql.execute("UPDATE users SET cash = (cash + 150) WHERE id = {0}".format(useridsender,))
            db.commit()
            bot.send_message(useridsender, '<b>Ваша заявка была отклонена! Деньги возвращены на баланс</b>', parse_mode="html")

Проблема в строке кода
user_id_sender = sql.execute("SELECT linkSender FROM links WHERE linkYoutube=(?)", (message.text,))

message.text всегда держит в себе одну ссылку первого пользователя который направил заявку и не обновляется, и поэтому если отказываю другим людям в заявке, все средства возвращаются первому пользователю который направил заявку.
Пример как бот работает сейчас, я направил две заявки с разными ссылками
633a93dc66d16606574505.png
Что выводит print(message.text)
633a93f025506201880044.png
Были размышления по поводу использовать call.message.text и уже оттуда извлекать ссылку, но возможно ли такое вообще, так как там ещё и содержится текст, в интернете информации по этому поводу не нашёл.
Возможно не совсем ясно написал, но если нужна дополнительная информация, я предоставлю её..
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы