Bug fix for Telegram bot integration: fix async_unload_entry error for polling bot (#146277)

* removed reload from update_listener

* removed reload from update_listener
This commit is contained in:
hanwg 2025-06-10 22:24:51 +08:00 committed by GitHub
parent 1fa55f96f8
commit 0f27d0bf4a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 5 deletions

View File

@ -447,7 +447,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: TelegramBotConfigEntry)
async def update_listener(hass: HomeAssistant, entry: TelegramBotConfigEntry) -> None: async def update_listener(hass: HomeAssistant, entry: TelegramBotConfigEntry) -> None:
"""Handle options update.""" """Handle options update."""
await hass.config_entries.async_reload(entry.entry_id) entry.runtime_data.parse_mode = entry.options[ATTR_PARSER]
async def async_unload_entry( async def async_unload_entry(

View File

@ -238,7 +238,7 @@ class TelegramNotificationService:
PARSER_MD2: ParseMode.MARKDOWN_V2, PARSER_MD2: ParseMode.MARKDOWN_V2,
PARSER_PLAIN_TEXT: None, PARSER_PLAIN_TEXT: None,
} }
self._parse_mode = self._parsers.get(parser) self.parse_mode = self._parsers.get(parser)
self.bot = bot self.bot = bot
self.hass = hass self.hass = hass
self._last_message_id: dict[int, int] = {} self._last_message_id: dict[int, int] = {}
@ -350,7 +350,7 @@ class TelegramNotificationService:
# Defaults # Defaults
params = { params = {
ATTR_PARSER: self._parse_mode, ATTR_PARSER: self.parse_mode,
ATTR_DISABLE_NOTIF: False, ATTR_DISABLE_NOTIF: False,
ATTR_DISABLE_WEB_PREV: None, ATTR_DISABLE_WEB_PREV: None,
ATTR_REPLY_TO_MSGID: None, ATTR_REPLY_TO_MSGID: None,
@ -362,7 +362,7 @@ class TelegramNotificationService:
if data is not None: if data is not None:
if ATTR_PARSER in data: if ATTR_PARSER in data:
params[ATTR_PARSER] = self._parsers.get( params[ATTR_PARSER] = self._parsers.get(
data[ATTR_PARSER], self._parse_mode data[ATTR_PARSER], self.parse_mode
) )
if ATTR_TIMEOUT in data: if ATTR_TIMEOUT in data:
params[ATTR_TIMEOUT] = data[ATTR_TIMEOUT] params[ATTR_TIMEOUT] = data[ATTR_TIMEOUT]

View File

@ -19,7 +19,7 @@ async def async_setup_platform(
"""Set up the Telegram polling platform.""" """Set up the Telegram polling platform."""
pollbot = PollBot(hass, bot, config) pollbot = PollBot(hass, bot, config)
config.async_create_task(hass, pollbot.start_polling(), "polling telegram bot") await pollbot.start_polling()
return pollbot return pollbot