mirror of
https://github.com/Mayuri-Chan/pyrofork.git
synced 2025-12-29 12:04:51 +00:00
pyrofork: Remove state when leaving chat
Signed-off-by: wulan17 <wulan17@nusantararom.org>
This commit is contained in:
parent
6ba25aa4f5
commit
4bbbd5c460
3 changed files with 11 additions and 0 deletions
|
|
@ -53,6 +53,8 @@ class LeaveChat:
|
|||
await app.leave_chat(chat_id, delete=True)
|
||||
"""
|
||||
peer = await self.resolve_peer(chat_id)
|
||||
if not self.skip_updates:
|
||||
await self.storage.remove_state(chat_id)
|
||||
|
||||
if isinstance(peer, raw.types.InputPeerChannel):
|
||||
return await self.invoke(
|
||||
|
|
|
|||
|
|
@ -178,6 +178,9 @@ class MongoStorage(Storage):
|
|||
else:
|
||||
await self._states.update_one({'_id': value[0]}, {'$set': {'pts': value[1], 'qts': value[2], 'date': value[3], 'seq': value[4]}}, upsert=True)
|
||||
|
||||
async def remove_state(self, chat_id):
|
||||
await self._states.delete_one({'_id': chat_id})
|
||||
|
||||
async def get_peer_by_id(self, peer_id: int):
|
||||
# id, access_hash, type
|
||||
r = await self._peer.find_one({'_id': peer_id}, {'_id': 1, 'access_hash': 1, 'type': 1})
|
||||
|
|
|
|||
|
|
@ -194,6 +194,12 @@ class SQLiteStorage(Storage):
|
|||
value
|
||||
)
|
||||
|
||||
async def remove_state(self, chat_id):
|
||||
self.conn.execute(
|
||||
"DELETE FROM update_state WHERE id = ?",
|
||||
(chat_id,)
|
||||
)
|
||||
|
||||
async def get_peer_by_id(self, peer_id: int):
|
||||
r = self.conn.execute(
|
||||
"SELECT id, access_hash, type FROM peers WHERE id = ?",
|
||||
|
|
|
|||
Loading…
Reference in a new issue