Bad Request: can't parse entities: Character '!' is reserved and must be escaped with the preceding '\'
Closed this issue · 4 comments
5G7K commented
Describe the bug
ioBroker crashed. Notification Manager tried to send notification via telegram.
2023-12-11 21:02:07.314 - info: notification-manager.0 (2837234) New notification on "iobroker" detected
--
2023-12-11 21:02:07.315 - info: notification-manager.0 (2837234) New notification on "iobroker" detected
2023-12-11 21:02:07.316 - info: notification-manager.0 (2837234) Send notification "news.info" to "telegram.0"
2023-12-11 21:02:07.317 - info: notification-manager.0 (2837234) Send notification "news.info" to "telegram.0"
2023-12-11 21:02:07.321 - info: telegram.0 (2837292) New notification received from system.adapter.notification-manager.0
2023-12-11 21:02:07.360 - info: telegram.0 (2837292) New notification received from system.adapter.notification-manager.0
2023-12-11 21:02:07.413 - error: telegram.0 (2837292) Failed sending [chatId - 854189606]: Error: ETELEGRAM: 400 Bad Request: can't parse entities: Character '!' is reserved and must be escaped with the preceding '\'
2023-12-11 21:02:07.417 - info: notification-manager.0 (2837234) Instance telegram.0 successfully handled the notification for "news.info"
2023-12-11 21:02:07.424 - error: telegram.0 (2837292) Failed sending [chatId - 854189606]: Error: ETELEGRAM: 400 Bad Request: can't parse entities: Character '!' is reserved and must be escaped with the preceding '\'
2023-12-11 21:02:07.426 - info: notification-manager.0 (2837234) Instance telegram.0 successfully handled the notification for "news.info"
2023-12-11 21:02:07.518 - error: host.iobroker uncaught exception: Cannot convert undefined or null to object
2023-12-11 21:02:07.519 - error: host.iobroker TypeError: Cannot convert undefined or null to object
at Function.keys ()
at NotificationHandler.clearNotifications (/opt/iobroker/node_modules/@iobroker/js-controller-common-db/src/lib/common/notificationHandler.ts:538:43)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at processMessage (/opt/iobroker/node_modules/iobroker.js-controller/src/main.ts:3303:13)
2023-12-11 21:02:07.519 - info: host.iobroker stopInstance system.adapter.admin.0 (force=false, process=true)
To Reproduce
ioBroker Christmas notification received...
Cloud / Vis Offline Weihnachtsangebot 2023
Auf die Cloud-Pakete gibt es wieder einen Rabatt von rund 33%! Allerdings müssen wir die Verfügbarkeit der Cloud- bzw. Fernzugriffslizenzen wieder einschränken, um die Stabilität und Verfügbarkeit der Server zu gewährleisten. Für diese Lizenzen gilt: Solange der Vorrat reicht :). Die Assistentenlizenzen sind unbegrenzt! Der reguläre Preis einiger Produkte wird erhöht, sodass Sie die letzte Chance haben, eine Fernzugriffs- oder Assistentenlizenz zum alten Preis zu kaufen.
Versions:
- Adapter version: 3.0.1
- JS-Controller version: 5.0.17
- Node version: v18.19.0
- Operating system: Debian 12
ipod86 commented
Hab das selbe Problem, nur mit "(" anstatt dem "!".
notification-manager.0
2024-06-15 09:39:25.089 info Instance telegram.0 successfully handled the notification for "shelly.deviceUpdates"
telegram.0
2024-06-15 09:39:25.086 error Failed sending [chatId - 353434894]: Error: ETELEGRAM: 400 Bad Request: can't parse entities: Character '(' is reserved and must be escaped with the preceding '\'
telegram.0
2024-06-15 09:39:25.020 info New notification received from system.adapter.notification-manager.0
notification-manager.0
2024-06-15 09:39:25.019 info Send notification "shelly.deviceUpdates" to "telegram.0"
foxriver76 commented
fixed with 3.5.2
Black-Thunder commented
@foxriver76 Just had a very similar error when a notification for pending system package updates was handled:
2024-06-17 14:39:53.888 - info: notification-manager.0 (1296615) Send notification "system.packageUpdates" to "telegram.0"
2024-06-17 14:39:53.946 - info: telegram.0 (1304177) New notification received from system.adapter.notification-manager.0
2024-06-17 14:39:54.202 - error: telegram.0 (1304177) Failed sending [chatId - 845349339]: Error: ETELEGRAM: 400 Bad Request: can't parse entities: Character '+' is reserved and must be escaped with the preceding '\'
2024-06-17 14:39:54.207 - info: notification-manager.0 (1296615) Instance telegram.0 successfully handled the notification for "system.packageUpdates"
I'm already on v3.5.2. So probably "+" needs to be added too?
foxriver76 commented
I have now added the full list from telegraf/telegraf#1242 (comment)