Добавить поддержку Яндекс Маркета (goods-feedback API)

- app/services/ym.py: клиент Partner API — getGoodsFeedbacks с пагинацией и
  фильтром по дате, updateGoodsFeedbackComment (ответ), deleteGoodsFeedbackComment
  (удаление), обработка новых отзывов по аналогии с WB/Ozon
- воркер ym_worker, включается при заданных YM_API_KEY и YM_BUSINESS_ID
- кнопки отправки/удаления ответа, платформа в сообщении и в таблице,
  статистика /stat и /allstat
- переменные YM_API_KEY, YM_BUSINESS_ID, YM_CHECK_INTERVAL, PRODUCTS_YM_SHEET_LINK
- README и .env.example

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-09-04 20:13:38 +03:00
co-authored by Claude Fable 5.1
parent 1098ff4991
commit 4534ab2683
10 changed files with 481 additions and 24 deletions
+10 -1
View File
@@ -28,12 +28,21 @@ async def cmd_stats(message: Message) -> None:
if is_all_time
else await stats_service.get_daily_stats("wb")
)
ym_stats = (
await stats_service.get_all_time_stats("ym")
if is_all_time
else await stats_service.get_daily_stats("ym")
)
period_text = "за все время" if is_all_time else "за сегодня"
stats_text = f"📊 <b>Статистика {period_text}</b>\n\n"
for platform_name, stats in [("Ozon", ozon_stats), ("Wildberries", wb_stats)]:
for platform_name, stats in [
("Ozon", ozon_stats),
("Wildberries", wb_stats),
("Яндекс Маркет", ym_stats),
]:
stats_text += (
f"<b>{platform_name}:</b>\n"
f"Всего отзывов: {stats['total_reviews']}\n"