Удалить существующий элемент списка в боте Telegram python 3 - PullRequest
0 голосов
/ 29 апреля 2020

Я новичок в python, я создал бот-телеграмму с python 3., чтобы показать продукт из БД. Я пишу такой код,

  cart: Dict[List[db.Product, int]] = {}

    for product in products:

        if product.price is None:
            continue

        message = product.send_as_message(self.chat.id)

        cart[message['result']['message_id']] = [product, 0]
        inline_keyboard = telegram.InlineKeyboardMarkup([[telegram.InlineKeyboardButton(strings.menu_add_to_cart,
                                                                                        callback_data="cart_add")]])
        if product.image is None:
            self.bot.edit_message_text(chat_id=self.chat.id,
                                       message_id=message['result']['message_id'],
                                       text=product.text(),
                                       reply_markup=inline_keyboard)
        else:
            self.bot.edit_message_caption(chat_id=self.chat.id,
                                          message_id=message['result']['message_id'],
                                          caption=product.text(),
                                          reply_markup=inline_keyboard)

Проблема в том, когда я хочу удалить этот продукт, Я не могу удалить изображение продукта, я использовал cart.clear (), но он не работает?

1 Ответ

0 голосов
/ 29 апреля 2020

Я нашел решение, как удалить элемент из dict "del my_dict ['key']". В моем случае я удалил сообщение, которое показывает мой продукт

self.bot.delete_message(chat_id=self.chat.id,
                               message_id=temp_msg,
                                    caption=' ',
                                    reply_markup=None)
...