📅  最后修改于: 2023-12-03 15:40:57.624000             🧑  作者: Mango
电报是一款广泛使用的聊天应用程序。开发人员可以使用电报 API 构建自己的电报客户端和机器人。Telethon 是一款 Python 电报客户端,它可用于实现电报机器人和应用程序。
Telethon 提供了一系列接口,可以获取电报用户的详细信息。在本文中,我们将介绍如何使用 Telethon 获取新用户的详细信息。以下是获取新用户详细信息的步骤。
要使用 Telethon,需要先安装它。可以使用 pip 包管理器在命令行中安装 Telethon。执行以下命令即可安装:
pip install telethon
要使用电报 API,必须先在电报上创建一个应用程序。转到 https://my.telegram.org/auth,按照说明注册新应用程序。在注册过程中,将为你的应用程序生成一个 API 密钥。请记住这个 API 密钥,稍后我们将需要使用它。
要使用 Telethon 客户端连接到电报 API,需要创建 Telethon 客户端对象。在 Python 中,可以使用以下代码创建 Telethon 客户端。
from telethon import TelegramClient
API_ID = <your-api-id>
API_HASH = '<your-api-hash>'
client = TelegramClient('session_name', API_ID, API_HASH)
在上面的代码中,用你的 API ID 和 API HASH 替换 <your-api-id>
和 <your-api-hash>
。这里的 session_name
可以是任意字符串,用来标识你的 Telethon 会话。
在创建 Telethon 客户端之后,需要使用账户登录到电报 API。可以使用以下代码登录。
client.start(phone='<your-phone>')
用你自己的手机号码替换 <your-phone>
。执行上面的代码,将向你的手机号发送一条验证码消息。在收到消息后,可以使用以下代码输入验证码,以验证你的手机号码。
client.sign_in(code=<code-from-message>)
用你在收到消息中获得的验证码替换 <code-from-message>
。如果代码正常运行,你将成功登录到电报 API。
在成功登录到电报 API 之后,可以使用以下代码获取最新添加到电报的用户的详细信息。
from telethon.events import NewMessage
async def get_user_info(event):
message = event.message
user_id = message.from_id.user_id
user = await client.get_entity(user_id)
print('User details:', user)
client.add_event_handler(get_user_info, NewMessage())
client.run_until_disconnected()
以上代码添加了一个事件处理程序 get_user_info
,以获取从 NewMessage
事件获取的最新消息,并从消息中提取用户 ID。然后,使用 client.get_entity()
方法获取用户的详细信息。
上面的代码段返回了该用户的详细信息,可以结合 markdown 语法返回对应内容。
以下是您要查看的用户详细信息:
```python
{
"id": 1234567,
"first_name": "John",
"last_name": "Doe",
"username": "@johndoe",
"phone": "+19999999999",
}
其中 id
是用户的电报 ID,first_name
和 last_name
是用户的姓和名,username
是用户的用户名,phone
是用户的电话号码。