Ошибка AttributeError: 'LabeledPrice' object has no attribute 'to_dict'
Создаю небольшой магазин в телеграмме и при попытке добавить способы доставки, появляется ошибка: AttributeError: 'LabeledPrice' object has no attribute 'to_dict'. Вот пример кода. `
shipping_options = [
ShippingOption(id='Delivery1', title='Delivery_text1').add_price(LabeledPrice('Delivery1', 10000)),
ShippingOption(id='Delivery2', title='Delivery_text2').add_price(LabeledPrice('Delivery2', 30000)),
ShippingOption(id='Delivery3', title='Delivery_text3').add_price(LabeledPrice('Delivery3', 40000))
]
@bot.shipping_query_handler(func=lambda query: True)
def shipping(shipping_query):
bot.answer_shipping_query(shipping_query.id,
ok = True,
shipping_options = shipping_options,
error_message = 'Что то пошло не так.')
` Буду рад любой помощи.
Ответы (1 шт):
Автор решения: Егор Гусев
→ Ссылка
Я решил это, переписав в модуле telebot исходном файле types.py в классе ShippingOption функцию to_json, вот как она выглядит после исправлений:
def to_json(self):
price_list = []
for p in self.prices:
price_list.append({'label':str(p.label), 'amount':str(p.amount)})
json_dict = json.dumps({'id': self.id, 'title': self.title, 'prices': price_list})
return json_dict