From edd9c5eaeae09a4aeba475c9c065291bebde639a Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Wed, 13 May 2026 22:14:39 +0600 Subject: [PATCH] =?UTF-8?q?[2026-05-13]=20zulip-migration:=20pitfall=20bot?= =?UTF-8?q?-self-reaction=20=D1=83=D0=B6=D0=B5=20=D0=B7=D0=B0=D1=84=D0=B8?= =?UTF-8?q?=D0=BA=D1=81=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- work/projects/zulip-migration.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/work/projects/zulip-migration.md b/work/projects/zulip-migration.md index 8d5930d1..8d806f1e 100644 --- a/work/projects/zulip-migration.md +++ b/work/projects/zulip-migration.md @@ -66,3 +66,7 @@ Zulip развёрнут и работает. Идёт миграция тред **Решение**: после отправки approval-сообщения бот сам добавляет эти 4 реакции через `POST /api/v1/messages/{id}/reactions`. Тогда web/mobile показывают их прямо на сообщении — один клик для ответа, без поиска в picker. + +**Pitfall**: `POST /messages/{id}/reactions` генерирует событие `reaction` — бот получит его +и может принять как голос пользователя. Фикс: проверять `user_id != bot_user_id`. +✅ Уже реализовано в `gateway/platforms/zulip.py` (`_handle_reaction_event`, строки 658–660).