Use maubot's send_markdown method instead of manually using commonmark

This commit is contained in:
Tulir Asokan 2018-11-28 15:29:23 +02:00
parent 778be0aa19
commit 1ea4f71862

View File

@ -20,13 +20,11 @@ from string import Template
import asyncio import asyncio
import aiohttp import aiohttp
import commonmark
import feedparser import feedparser
from maubot import Plugin, MessageEvent from maubot import Plugin, MessageEvent
from mautrix.util.config import BaseProxyConfig, ConfigUpdateHelper from mautrix.util.config import BaseProxyConfig, ConfigUpdateHelper
from mautrix.types import (EventType, MessageType, RoomID, EventID, PowerLevelStateEventContent, from mautrix.types import EventType, MessageType, RoomID, EventID, PowerLevelStateEventContent
TextMessageEventContent, Format)
from .db import Database, Feed, Entry, Subscription from .db import Database, Feed, Entry, Subscription
@ -67,19 +65,15 @@ class RSSBot(Plugin):
except Exception: except Exception:
self.log.exception("Fatal error while polling feeds") self.log.exception("Fatal error while polling feeds")
def _send(self, feed: Feed, entry: Entry, template: Template, room_id: RoomID) -> Awaitable[EventID]: def _send(self, feed: Feed, entry: Entry, template: Template, room_id: RoomID
message = template.safe_substitute({ ) -> Awaitable[EventID]:
return self.client.send_markdown(room_id, template.safe_substitute({
"feed_url": feed.url, "feed_url": feed.url,
"feed_title": feed.title, "feed_title": feed.title,
"feed_subtitle": feed.subtitle, "feed_subtitle": feed.subtitle,
"feed_link": feed.link, "feed_link": feed.link,
**entry._asdict(), **entry._asdict(),
}) }), msgtype=MessageType.NOTICE)
content = TextMessageEventContent(msgtype=MessageType.NOTICE,
body=message,
format=Format.HTML,
formatted_body=commonmark.commonmark(message))
return self.client.send_message(room_id, content)
async def _broadcast(self, feed: Feed, entry: Entry, subscriptions: List[Subscription]) -> None: async def _broadcast(self, feed: Feed, entry: Entry, subscriptions: List[Subscription]) -> None:
spam_sleep = self.config["spam_sleep"] spam_sleep = self.config["spam_sleep"]