1 """The discord integration."""
3 from aiohttp.client_exceptions
import ClientConnectorError
13 from .const
import DATA_HASS_CONFIG, DOMAIN
15 PLATFORMS = [Platform.NOTIFY]
17 CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)
20 async
def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
21 """Set up the Discord component."""
23 hass.data[DATA_HASS_CONFIG] = config
28 """Set up Discord from a config entry."""
29 nextcord.VoiceClient.warn_nacl =
False
30 discord_bot = nextcord.Client()
32 await discord_bot.login(entry.data[CONF_API_TOKEN])
33 except nextcord.LoginFailure
as ex:
35 except (ClientConnectorError, nextcord.HTTPException, nextcord.NotFound)
as ex:
38 await discord_bot.close()
40 hass.data.setdefault(DOMAIN, {})[entry.entry_id] = entry.data
42 hass.async_create_task(
43 discovery.async_load_platform(
44 hass, Platform.NOTIFY, DOMAIN,
dict(entry.data), hass.data[DATA_HASS_CONFIG]
bool async_setup(HomeAssistant hass, ConfigType config)
bool async_setup_entry(HomeAssistant hass, ConfigEntry entry)