Отзывы
Отслеживание новых отзывов, ответ на них, написание автору в чат.
Хендлер
@fp.router.on_new_review(stars=None)
Ловит новые отзывы. Если stars не указан — ловит все.
@fp.router.on_new_review(stars=5)
async def five_stars(review: CurReview):
await review.answer('Спасибо за отзыв!')
@fp.router.on_new_review(stars=1)
@fp.router.on_new_review(stars=2)
@fp.router.on_new_review(stars=3)
async def bad_review(review: CurReview):
await review.message_author('Извини, давай решим проблему')
Объект CurReview
| Поле | Тип | Описание |
|---|---|---|
text |
str |
Текст отзыва |
stars |
int |
Звёзды (1-5) |
author |
str |
Ник автора |
order_id |
str |
ID заказа |
order |
Order |
Объект заказа (подтягивается автоматически) |
Методы
await review.answer(answer_text: str) — ответить на отзыв на странице профиля. Поддерживает форматирование:
- {author} — автор отзыва
- {order_id} — ID заказа
- {order_name} — название товара
- {order_time} — время заказа
- {stars} — количество звёзд
await review.message_author(message_text: str) — написать автору отзыва в чат заказа. Форматирование то же самое.
await review.answer('Спасибо, {author}!')
await review.message_author('{author}, спасибо за {stars} звёзд!')
ReviewManager (через account.review)
await fp.account.review.get_review(order_id)
Получить отзыв к конкретному заказу.
review = await fp.account.review.get_review('ABC123')
print(review.text)
print(review.stars)
print(review.answer) # твой ответ (если есть)
Возвращает объект Review с полями: text, stars, answer.
await fp.account.review.review_answer(order_id, text)
Ответить на отзыв вручную.
Возвращает True при успехе.