授权¶
本节教程将会教会您如何使用 Telethon 登录 Bot 或者 User 。
API key¶
在 快速开始 中需要您申请属于您自己的 Telegram API key 。
访问 https://my.telegram.org/apps 并且使用您的 Telegram 账户登录。
填写表格以注册新的 Telegram 应用程序。
完成! API key 由这两个值组成: api_id 和 api_hash.
注解
API key 对每个用户是唯一的,并且仅一个值就可以授权多个 User (和 bot) 通过 MTProto API 访问 Telegram 数据库。
登录¶
为了使用这个 API, Telegram 要求用户通过电话号码授权。
Telethon 将会自动处理此过程,您需要做的只是创建一个实例 Client
类并且定义一个 session_name
(e.g.: “my_account”)
并且调用 start()
方法:
from telethon import TelegramClient
client = TelegramClient('my_account', api_id, api_hash)
# 使用 Bot token 登录
await client.start(bot_token='bot_token')
# 使用 User 账户登录
await client.start()
# Enter phone number: +86**********
# Please enter the code you received: 12345
# Please enter your password: *******
# (You are now logged in)
# 使用一个 context manager 来登录 (这相当于直接调用 start()):
with client:
pass
这会创建一个交互 Shell 要求您输入 电话号码 (包括您的 国家代码) 和 验证码:
成功登录后,将创建一个名为 my_account.session
的新文件,允许 Telethon 使用您的登录的账户信息执行 API。
重新启动应用程序时,将自动加载此文件,只要您的账户登录文件还是可用的,Telethon 将不会要求您重新登录。
重要
您的 *.session
文件是私密的并且必须保证安全。