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())