mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-04-02 09:22:36 +00:00
fix(feishu): only stream visible cards
This commit is contained in:
parent
0ba71298e6
commit
e464a81545
@ -973,11 +973,14 @@ class FeishuChannel(BaseChannel):
|
||||
return None
|
||||
card_id = getattr(response.data, "card_id", None)
|
||||
if card_id:
|
||||
self._send_message_sync(
|
||||
message_id = self._send_message_sync(
|
||||
receive_id_type, chat_id, "interactive",
|
||||
json.dumps({"type": "card", "data": {"card_id": card_id}}),
|
||||
)
|
||||
return card_id
|
||||
if message_id:
|
||||
return card_id
|
||||
logger.warning("Created streaming card {} but failed to send it to {}", card_id, chat_id)
|
||||
return None
|
||||
except Exception as e:
|
||||
logger.warning("Error creating streaming card: {}", e)
|
||||
return None
|
||||
|
||||
@ -82,6 +82,17 @@ class TestCreateStreamingCard:
|
||||
ch._client.cardkit.v1.card.create.side_effect = RuntimeError("network")
|
||||
assert ch._create_streaming_card_sync("chat_id", "oc_chat1") is None
|
||||
|
||||
def test_returns_none_when_card_send_fails(self):
|
||||
ch = _make_channel()
|
||||
ch._client.cardkit.v1.card.create.return_value = _mock_create_card_response("card_123")
|
||||
resp = MagicMock()
|
||||
resp.success.return_value = False
|
||||
resp.code = 99999
|
||||
resp.msg = "error"
|
||||
resp.get_log_id.return_value = "log1"
|
||||
ch._client.im.v1.message.create.return_value = resp
|
||||
assert ch._create_streaming_card_sync("chat_id", "oc_chat1") is None
|
||||
|
||||
|
||||
class TestCloseStreamingMode:
|
||||
def test_returns_true_on_success(self):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user