File size: 1,345 Bytes
7d4338a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
"""Start WhatsApp bridge immediately."""

from helpers.api import ApiHandler, Request
from helpers.errors import format_error
from helpers import plugins


PLUGIN_NAME = "_whatsapp_integration"


class Start(ApiHandler):

    async def process(self, input: dict, request: Request) -> dict:
        config = plugins.get_plugin_config(PLUGIN_NAME) or {}
        port = int(config.get("bridge_port", 3100))
        mode = config.get("mode", "self-chat")

        from plugins._whatsapp_integration.helpers.bridge_manager import (
            ensure_bridge_http_up,
            is_process_alive,
        )
        from plugins._whatsapp_integration.helpers.storage_paths import (
            get_bridge_media_dir,
            get_bridge_session_dir,
        )

        session_dir = get_bridge_session_dir()
        cache_dir = get_bridge_media_dir()

        if is_process_alive():
            return {"success": True, "message": "Bridge already running"}

        try:
            ok = await ensure_bridge_http_up(
                port, session_dir, cache_dir, mode=mode,
            )
            if ok:
                return {"success": True, "message": "Bridge started"}
            return {"success": False, "message": "Failed to start bridge"}
        except Exception as e:
            return {"success": False, "message": format_error(e)}