首页 小组 话题 文章 相册 用户 唠叨 搜索 我的社区
全部 电报小程序

1.3 创建客户端

admin
发表于 2022-10-02 09:30:50

在使用 Telegram 的 API 之前,您需要获取自己的 API_ID 和 API_HASH:


1. 点击此链接并使用您的电话号码登录。

2. 点击 API 开发工具。

3. 将出现一个创建新应用程序窗口。填写您的申请详情。无需输入任何 URL,目前仅可更改前两个字段(应用程序标题和短名称)。

4.最后点击创建应用程序。请记住,您的 API_HASH是密钥,Telegram 不会让您撤销它。不要在任何地方发布!一旦准备就绪,下一步就是创建一个 TelegramClient。


这个类将是你使用 Telegram API 的主要接口,创建一个非常简单:


from telethon import TelegramClient, sync
# 使用自己的api配置
api_id = 12345
api_hash = '0123456789abcdef0123456789abcdef'

client = TelegramClient('some_name', api_id, api_hash)


请注意,“some_name”将用于将您的会话(持久信息,如访问密钥等)保存为磁盘中的“some_name.session”。默认情况下,这是一个使用 Python 的 sqlite3 的数据库文件。


注意:库始终访问同一个会话文件很重要,这样您就不需要一遍又一遍地重新发送登录代码。默认情况下,它会在您的工作目录中创建文件,但绝对路径也可以。


准备好客户端后,只需 .start() 即可:


client.start()

这条线连接到 Telegram,检查当前用户是否被授权,如果不是,则开始登录或注册过程。

完成代码后,您应该始终断开连接:


client = TelegramClient(...)
try:
    client.start()
    ... # your code here
finally:
    client.disconnect()

你也可以使用 with 块来达到同样的效果:


client = TelegramClient(...)
with client:
       ... # your code here
# or
with TelegramClient(...) as client:
      ... # your code here

将它们封装在一起:


from telethon import TelegramClient, sync
with TelegramClient('session_name', api_id, api_hash) as client:
      ... # your code

仅有两个需要设置;


警告。请注意,如果你登录失败5次左右(或改变TelegramClient的第一个参数,也就是会话名称),你将会收到一个大约22小时的 FloodWaitError,所以要小心,不要把它搞乱了!不过,如果你按照说明的方法操作,应该不会发生这种情况。不过,如果你按照解释来做,这种情况应该不会发生。


注意:如果要使用代理,则必须安装 PySocks(通过 pip 或手动),然后设置适当的参数:


import socks
client = TelegramClient('session_id',api_id=12345, api_hash='0123456789abcdef0123456789abcdef',
proxy=(socks.SOCKS5, 'localhost', 4444)
)

proxy= 参数应该是一个元组、一个列表或一个字典,下方链接描述的参数组成。

https://github.com/Anorov/PySocks#usage-1

2217 0

上一篇:1.2.1 自动安装
下一篇:1.3.1 手动登录
评论