Fix bug in !tg create. Fixes #736

This commit is contained in:
Tulir Asokan
2022-01-12 21:52:25 +02:00
parent feac31e841
commit 8003b9aa1c
3 changed files with 10 additions and 5 deletions

View File

@@ -1,3 +1,9 @@
# unreleased
* Added simple fallback message for live location and venue messages from Telegram.
* Added support for `t.me/+code` style invite links in `!tg join`.
* Fixed bug in v0.11.0 that broke `!tg create`.
# v0.11.1 (2021-01-10)
* Added support for message reactions.

View File

@@ -65,7 +65,7 @@ async def create(evt: CommandEvent) -> EventID:
about=about,
encrypted=encrypted,
)
invites, errors = await portal.get_telegram_users_in_matrix_room(evt.sender)
invites, errors = await portal.get_telegram_users_in_matrix_room(evt.sender, pre_create=True)
if len(errors) > 0:
error_list = "\n".join(f"* [{mxid}](https://matrix.to/#/{mxid})" for mxid in errors)
await evt.reply(

View File

@@ -436,12 +436,11 @@ class Portal(DBPortal, BasePortal):
# region Matrix -> Telegram metadata
async def get_telegram_users_in_matrix_room(
self, source: u.User
self, source: u.User, pre_create: bool = False
) -> tuple[list[InputPeerUser], list[UserID]]:
user_tgids = {}
user_mxids = await self.main_intent.get_room_members(
self.mxid, (Membership.JOIN, Membership.INVITE)
)
intent = self.az.intent if pre_create else self.main_intent
user_mxids = await intent.get_room_members(self.mxid, (Membership.JOIN, Membership.INVITE))
for mxid in user_mxids:
if mxid == self.az.bot_mxid:
continue