mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-10-22 08:25:21 +08:00
fix(onebot): validate WebSocket protocol with independent mock peer (#2653)
* feat(onebot): support main-port reverse and forward WebSocket connections * fix(onebot): keep protocol metadata out of business events * test(onebot): validate WS events and APIs against independent protocol peer --------- Co-authored-by: Hyu <[email protected]>
This commit is contained in:
@@ -111,11 +111,17 @@ class AiocqhttpEventConverter(abstract_platform_adapter.AbstractEventConverter):
|
||||
type='message.deleted',
|
||||
adapter_name='onebot-v11',
|
||||
message_id=getattr(event, 'message_id', ''),
|
||||
operator=AiocqhttpEventConverter.user(getattr(event, 'operator_id', None)),
|
||||
operator=AiocqhttpEventConverter.user(
|
||||
getattr(event, 'user_id', None)
|
||||
if notice_type == 'friend_recall'
|
||||
else getattr(event, 'operator_id', None)
|
||||
),
|
||||
chat_type=platform_entities.ChatType.GROUP
|
||||
if notice_type == 'group_recall'
|
||||
else platform_entities.ChatType.PRIVATE,
|
||||
chat_id=getattr(event, 'group_id', getattr(event, 'user_id', '')),
|
||||
chat_id=getattr(event, 'group_id', '')
|
||||
if notice_type == 'group_recall'
|
||||
else getattr(event, 'user_id', ''),
|
||||
group=AiocqhttpEventConverter.group_from_event(event) if notice_type == 'group_recall' else None,
|
||||
timestamp=float(getattr(event, 'time', 0) or 0),
|
||||
source_platform_object=event,
|
||||
|
||||
@@ -39,7 +39,7 @@ class OneBotConnection:
|
||||
await self.validate()
|
||||
await self.send(json.dumps({'action': action, 'params': params, 'echo': echo}))
|
||||
result = await future
|
||||
if result.get('status') not in ('ok', 'async') or result.get('retcode') not in (0, 1):
|
||||
if (result.get('status'), result.get('retcode')) not in (('ok', 0), ('async', 1)):
|
||||
raise ActionFailed(result)
|
||||
return result.get('data')
|
||||
finally:
|
||||
|
||||
Reference in New Issue
Block a user