Skip to content

animeshxd/pyromongo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Persistent Session Storage for Pyrogram (MongoDB) | It works

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published