Fix kicking Telegram puppets and fix error message when bridging chats you've left
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
|
|
||||||
from telethon.errors import *
|
from telethon.errors import *
|
||||||
|
from telethon.tl.types import ChatForbidden, ChannelForbidden
|
||||||
from mautrix_appservice import MatrixRequestError
|
from mautrix_appservice import MatrixRequestError
|
||||||
|
|
||||||
from .. import portal as po
|
from .. import portal as po
|
||||||
@@ -258,6 +259,12 @@ async def confirm_bridge(evt: CommandEvent):
|
|||||||
else:
|
else:
|
||||||
return await evt.reply("Failed to get info of telegram chat. "
|
return await evt.reply("Failed to get info of telegram chat. "
|
||||||
"You're not logged in, is the relay bot in the chat?")
|
"You're not logged in, is the relay bot in the chat?")
|
||||||
|
if isinstance(entity, (ChatForbidden, ChannelForbidden)):
|
||||||
|
if evt.sender.logged_in:
|
||||||
|
return await evt.reply("You don't seem to be in that chat.")
|
||||||
|
else:
|
||||||
|
return await evt.reply("The bot doesn't seem to be in that chat.")
|
||||||
|
|
||||||
direct = False
|
direct = False
|
||||||
|
|
||||||
portal.mxid = bridge_to_mxid
|
portal.mxid = bridge_to_mxid
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ class MatrixHandler:
|
|||||||
|
|
||||||
puppet = Puppet.get_by_mxid(user)
|
puppet = Puppet.get_by_mxid(user)
|
||||||
if sender and puppet:
|
if sender and puppet:
|
||||||
await portal.leave_matrix(puppet, sender)
|
await portal.leave_matrix(puppet, sender, event_id)
|
||||||
|
|
||||||
user = User.get_by_mxid(user, create=False)
|
user = User.get_by_mxid(user, create=False)
|
||||||
if not user:
|
if not user:
|
||||||
|
|||||||
Reference in New Issue
Block a user