Skip to content
Snippets Groups Projects
Commit 3bb12ded authored by David Mehren's avatar David Mehren
Browse files

Merge branch 'fix_catch-error-on-failed-broadcast' into 'fsi'

Fix catch error on failed broadcast

See merge request tudo-fsinfo/oeffentlichkeit/rss!1
parents a8e714cc 146174dc
No related branches found
No related tags found
No related merge requests found
......@@ -26,6 +26,7 @@ import feedparser
from mautrix.util.config import BaseProxyConfig, ConfigUpdateHelper
from mautrix.types import (StateEvent, EventType, MessageType, RoomID, EventID,
PowerLevelStateEventContent)
from mautrix.errors.request import MForbidden
from maubot import Plugin, MessageEvent
from maubot.handlers import command, event
......@@ -118,12 +119,14 @@ class RSSBot(Plugin):
async def _broadcast(self, feed: Feed, entry: Entry, subscriptions: List[Subscription]) -> None:
spam_sleep = self.config["spam_sleep"]
tasks = [self._send(feed, entry, sub) for sub in subscriptions]
if spam_sleep >= 0:
for task in tasks:
try:
await task
if spam_sleep >= 0:
await asyncio.sleep(spam_sleep, loop=self.loop)
else:
await asyncio.gather(*tasks)
except MForbidden as e:
self.log.warning(f"Failed to broadcast: {e}")
continue
async def _poll_once(self) -> None:
subs = self.db.get_feeds()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment