main
 1#!/usr/bin/env python
 2# -*- coding: utf-8 -*-
 3"""此脚本用于生成 pyrogram 的 session string.
 4
 5APP ID 和 APP HASH 请在此链接申请: https://my.telegram.org/apps
 6
 7如果是个人账号 (用户账号), 只需要提供 APP ID 和 APP HASH
 8如果是机器人账号, 还需要提供 BOT TOKEN. (BOT TOKEN可以在 @BotFather 那里获取)
 9"""
10
11import argparse
12from pathlib import Path
13
14from pyrogram.client import Client
15
16parser = argparse.ArgumentParser()
17parser.add_argument("--appid", type=str, required=True, help="APP ID")
18parser.add_argument("--apphash", type=str, required=True, help="APP HASH")
19parser.add_argument("--bot-token", type=str, required=False, help="BOT TOKEN (Optional, for bot account only)")
20args = parser.parse_args()
21
22proxy = {
23    "scheme": "socks5",  # "socks4", "socks5" or "http"
24    "hostname": "127.0.0.1",
25    "port": 7890,
26    # "username": "username",
27    # "password": "password",
28}
29session_path = Path(__file__).parent / "account.session_string"
30session_path.unlink(missing_ok=True)
31with Client("account", api_id=int(args.appid), api_hash=args.apphash, bot_token=args.bot_token, in_memory=True, proxy=proxy) as app:
32    session_str = app.export_session_string()  # type: ignore
33    session_path.write_text(session_str)
34
35print(session_path.read_text())