pyromongo

Mongo Session Storage for pyrogram


Keywords
async, mongo, session, storage, pyrogram, mongodb
License
MIT
Install
pip install pyromongo==0.0.4

Documentation

pyromongo

INTRODUCTION

Persistent Session Storage for Pyrogram with MongoDB

from pyrogram.client import Client
from pyromongo import MongoStorage
from motor.motor_asyncio import AsyncIOMotorClient

client = Client(..)
mongo = AsyncIOMotorClient("mongodb+srv://..")
client.storage = MongoStorage(mongo["pyrogram"], remove_peers=False) # use remove_peers=True to remove all peers on logout


client.run()

Note:

❌ It will not work with the pyrogram context manager.

async def main():
    async with Client(..) as client:
        client.storage = MongoStorage(..)

# It will only store peers

INSTALLATION:

pip install pyromongo

# Install from git
pip install git+https://github.com/animeshxd/pyromongo

Install dnspython for mongo+srv://.. URIs

pip install dnspython
# or pip install -U pyromongo[srv]
 
# for Termux use dnspython fork
apt install resolv-conf
pip install git+https://github.com/animeshxd/dnspython

Install with all extra dependencies

pip install "pyromongo[gssapi,aws,ocsp,snappy,srv,zstd,encryption]"

Check other required dependencies for motor https://motor.readthedocs.io/en/stable/installation.html#dependencies