def run(self) -> None:
discord_client = discord.Client()
weather_service = WeatherService(self._settings.integration_settings.open_weather_map_api_key,
self._settings.integration_settings.weather_underground_api_key)
message_factory = MessageFactory(self._settings)
command_handler = CommandHandler(self._settings,
weather_service,
discord_client,
message_factory)
weather_discord_service = WeatherDiscordService(self._settings.measurement_system,
self._settings.home_settings,
weather_service,
discord_client)
@discord_client.event
async def on_message(message) -> None:
await command_handler.handle(message)
discord_client.loop.create_task(weather_discord_service.send_home_forecast())
discord_client.loop.create_task(weather_discord_service.update_profile())
discord_client.loop.create_task(weather_discord_service.update_presence())
discord_client.run(self._settings.integration_settings.discord_bot_token)
评论列表
文章目录