| 29 | |
| 30 | |
| 31 | class SocketModeClient(AsyncBaseSocketModeClient): |
| 32 | logger: Logger |
| 33 | web_client: AsyncWebClient |
| 34 | app_token: str |
| 35 | wss_uri: Optional[str] # type: ignore[assignment] |
| 36 | auto_reconnect_enabled: bool |
| 37 | message_queue: Queue |
| 38 | message_listeners: List[ |
| 39 | Union[ |
| 40 | AsyncWebSocketMessageListener, |
| 41 | Callable[["AsyncBaseSocketModeClient", dict, Optional[str]], Awaitable[None]], |
| 42 | ] |
| 43 | ] |
| 44 | socket_mode_request_listeners: List[ |
| 45 | Union[ |
| 46 | AsyncSocketModeRequestListener, |
| 47 | Callable[["AsyncBaseSocketModeClient", SocketModeRequest], Awaitable[None]], |
| 48 | ] |
| 49 | ] |
| 50 | |
| 51 | message_receiver: Optional[Future] |
| 52 | message_processor: Future |
| 53 | |
| 54 | proxy: Optional[str] |
| 55 | ping_interval: float |
| 56 | trace_enabled: bool |
| 57 | |
| 58 | last_ping_pong_time: Optional[float] |
| 59 | current_session: Optional[ClientWebSocketResponse] |
| 60 | current_session_monitor: Optional[Future] |
| 61 | |
| 62 | default_auto_reconnect_enabled: bool |
| 63 | closed: bool |
| 64 | stale: bool |
| 65 | connect_operation_lock: Lock |
| 66 | |
| 67 | on_message_listeners: List[Callable[[WSMessage], Awaitable[None]]] |
| 68 | on_error_listeners: List[Callable[[WSMessage], Awaitable[None]]] |
| 69 | on_close_listeners: List[Callable[[WSMessage], Awaitable[None]]] |
| 70 | |
| 71 | def __init__( |
| 72 | self, |
| 73 | app_token: str, |
| 74 | logger: Optional[Logger] = None, |
| 75 | web_client: Optional[AsyncWebClient] = None, |
| 76 | proxy: Optional[str] = None, |
| 77 | auto_reconnect_enabled: bool = True, |
| 78 | ping_interval: float = 5, |
| 79 | trace_enabled: bool = False, |
| 80 | on_message_listeners: Optional[List[Callable[[WSMessage], Awaitable[None]]]] = None, |
| 81 | on_error_listeners: Optional[List[Callable[[WSMessage], Awaitable[None]]]] = None, |
| 82 | on_close_listeners: Optional[List[Callable[[WSMessage], Awaitable[None]]]] = None, |
| 83 | loop: Optional[AbstractEventLoop] = None, |
| 84 | ): |
| 85 | """Socket Mode client |
| 86 | |
| 87 | Args: |
| 88 | app_token: App-level token |
no outgoing calls