Skip to content

This is a python library with class of telethon session that stored in mongodb.

License

Notifications You must be signed in to change notification settings

devtolmachev/telethon-mongo-session

Repository files navigation

Telethon MultiMongoDB Session

Summary

Test Coverage Python Versions License Style Linter

Codebase

Codelines Codesymbols

Other

Develop on Arch Linux Developers count

Table of Contents

Overwriew

This is a python library for store your telethon sessions in mongodb database. The main feature is that you can store several telethon sessions in one Mongodb database.

Tip

This is achieved due to the fact that each session is a single document that has a unique composite key (phone number, API ID, API Hash)

Installation

pip install git+https://github.com/devtolmachev/telethon-mongo-session

Examples

import pymongo
import telethon as th
from telethon_multimongo_session import MongoSession

session = MongoSession(
    api_id=API_ID,
    api_hash=API_HASH,
    phone=PHONE_NUMBER,
    database=MONGODB_TEST_DBNAME,
    coll=MONGODB_TEST_COLL,
    host=MONGODB_HOST,
    port=MONGODB_PORT,
)
client = th.TelegramClient(session, api_id=API_ID, api_hash=API_HASH)
# Set dc for test servers
dc_id = int(PHONE_NUMBER[5])
# Get dc ip
ip = TELEGRAM_DATA_CENTERS_IP[dc_id] 
# Set dc in session
client.session.set_dc(dc_id, ip, 80)

# Connect to telegram and write some data to session
await telethon.start(phone=PHONE_NUMBER, code_callback=lambda: CODE)
me = await telethon.get_me()
assert me

Testing

Tests stored in tests/ directory, you may also run all tests by typing in terminal make tests

About

This is a python library with class of telethon session that stored in mongodb.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published