Telethon:通过 Telegram ID 添加联系人

3

我可以通过使用GetContactsRequestget_entity等方式获取用户的唯一telegram ID。有时候,我不知道用户的唯一telegram用户名或电话号码,只知道该ID。

我该如何使用该ID将用户添加到从未与相关用户通信过的另一个帐户的联系人中?

当我在不同的帐户上尝试使用以前获取的ID进行get_entityAddContactsRequest操作时,总是会出现找不到实体的错误。

1个回答

0

不,你不能仅仅使用他们的ID将某人添加到你的联系人列表中。你还需要一个user_access_hash。

根据Telethon的文档:

实体的ID对于所有用户和机器人帐户都是相同的,但是访问哈希对于每个帐户都是不同的,因此尝试在另一个帐户中重用一个帐户的访问哈希将不起作用。
有时,Telegram只需要指示实体的类型以及它们的ID。为此,实体的Peer版本也存在,它们只有ID。您不能从中获取哈希,因为您不应该需要它。库可能已经缓存了它。
对于识别实体来说,Peers已经足够了,但是它们不足以使用它们进行请求。在“使用它们”之前,您需要知道它们的哈希,并且要知道哈希,您需要在对话、参与者、消息转发等方面“遇到”它们。
一旦库“看到”实体,您就可以使用它们的整数ID。您无法使用库未见过的ID的实体。您必须使库至少看到它们一次并正确断开连接。您知道实体在哪里,您必须告诉库。它不会为您猜测。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接