SkillAgentSearch skills...

Pyromongo

Persistent Session Storage for Pyrogram (MongoDB) | It works

Install / Use

/learn @animeshxd/Pyromongo
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

pyromongo

INTRODUCTION

Persistent Session Storage for Pyrogram and its forks 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()

Custom Collection Names

# Use custom collection names for peers and session data
client.storage = MongoStorage(
    mongo["pyrogram"], 
    remove_peers=False,
    peers_collection_name="my_peers",
    session_collection_name="my_session"
)

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

Related Skills

View on GitHub
GitHub Stars6
CategoryDevelopment
Updated10mo ago
Forks2

Languages

Python

Security Score

82/100

Audited on May 29, 2025

No findings