fix: use websockets backend, simplify subtype check, add Slack docs

This commit is contained in:
Re-bin
2026-02-09 11:39:13 +00:00
parent 74e3c411a1
commit f3ab8066a7
3 changed files with 45 additions and 6 deletions

View File

@@ -246,7 +246,7 @@ class AgentLoop:
channel=msg.channel,
chat_id=msg.chat_id,
content=final_content,
metadata=msg.metadata or {},
metadata=msg.metadata or {}, # Pass through for channel-specific needs (e.g. Slack thread_ts)
)
async def _process_system_message(self, msg: InboundMessage) -> OutboundMessage | None:

View File

@@ -5,7 +5,7 @@ import re
from typing import Any
from loguru import logger
from slack_sdk.socket_mode.aiohttp import SocketModeClient
from slack_sdk.socket_mode.websockets import SocketModeClient
from slack_sdk.socket_mode.request import SocketModeRequest
from slack_sdk.socket_mode.response import SocketModeResponse
from slack_sdk.web.async_client import AsyncWebClient
@@ -115,8 +115,8 @@ class SlackChannel(BaseChannel):
sender_id = event.get("user")
chat_id = event.get("channel")
# Ignore bot/system messages to prevent loops
if event.get("subtype") == "bot_message" or event.get("subtype"):
# Ignore bot/system messages (any subtype = not a normal user message)
if event.get("subtype"):
return
if self._bot_user_id and sender_id == self._bot_user_id:
return