|
12 | 12 | from bs4 import BeautifulSoup, Tag |
13 | 13 | from croniter import croniter |
14 | 14 | from csp import Outputs, ts |
15 | | -from csp_adapter_discord import DiscordAdapterManager, DiscordMessage as RawDiscordMessage |
16 | | -from csp_adapter_slack import SlackAdapterManager, SlackMessage as RawSlackMessage |
17 | | -from csp_adapter_symphony import SymphonyAdapter, SymphonyMessage as RawSymphonyMessage |
18 | | -from csp_adapter_symphony.adapter import Presence |
19 | 15 | from pydantic import PrivateAttr |
20 | 16 |
|
| 17 | +from .backends import ( |
| 18 | + DiscordAdapterManager, |
| 19 | + DiscordMessage as RawDiscordMessage, |
| 20 | + Presence, |
| 21 | + SlackAdapterManager, |
| 22 | + SlackMessage as RawSlackMessage, |
| 23 | + SymphonyAdapter, |
| 24 | + SymphonyMessage as RawSymphonyMessage, |
| 25 | +) |
21 | 26 | from .bot_config import BotConfig |
22 | 27 | from .commands import ( |
23 | 28 | BaseCommand, |
@@ -59,12 +64,18 @@ class Bot(GatewayModule): |
59 | 64 |
|
60 | 65 | def connect(self, channels: GatewayChannels) -> None: |
61 | 66 | if self.config.discord_config: |
| 67 | + if DiscordAdapterManager is None: |
| 68 | + raise ImportError("Discord adapter not installed. Please install csp-adapter-discord.") |
62 | 69 | self._configs["discord"] = self.config.discord_config |
63 | 70 | self._adapters["discord"] = DiscordAdapterManager(self.config.discord_config.adapter_config) |
64 | 71 | if self.config.slack_config: |
| 72 | + if SlackAdapterManager is None: |
| 73 | + raise ImportError("Slack adapter not installed. Please install csp-adapter-slack.") |
65 | 74 | self._configs["slack"] = self.config.slack_config |
66 | 75 | self._adapters["slack"] = SlackAdapterManager(self.config.slack_config.adapter_config) |
67 | 76 | if self.config.symphony_config: |
| 77 | + if SymphonyAdapter is None: |
| 78 | + raise ImportError("Symphony adapter not installed. Please install csp-adapter-symphony.") |
68 | 79 | self._configs["symphony"] = self.config.symphony_config |
69 | 80 | self._adapters["symphony"] = SymphonyAdapter(self.config.symphony_config.adapter_config) |
70 | 81 |
|
|
0 commit comments