将像伊朗这样的国家的联系人添加到加拿大的电报帐户中,会导致错误:
不幸的是--名字--还没有加入电报。但你可以给他们发邀请函。
我认为这是因为来自两个不同服务器的两个不同的帐户没有很好的同步。
有时,伊朗帐户可以添加加拿大帐户,然后加拿大人也可以添加伊朗帐户,即使伊朗从联系人中删除加拿大人。或者,如果第三人分享他们的联系人或将信息从一个人转发到另一个人,他们可以彼此相加。我认为这些迹象表明电报服务器没有很好的同步。
由于我正在使用TLsharp来完成这个任务,我可以添加两个电报帐户,其中一个充当第三人称角色,并与加拿大人共享伊朗联系人,然后他可以保存该联系人。我一步一步的计划是:
我的问题是:
我不能转发消息,因为还没有任何消息。我们应该开始发短信了。
我还尝试通过伊朗帐户检索UserId和AccessHash,并在此方法中使用加拿大帐户:
await client.SendMessageAsync(new TLInputPeerUser() { UserId = xxx, AccessHash= yyyy}, "Hello");但是它有PEER_ID_INVALID错误。(这不是真的,我只是从电报中抄来了UserId!)
发布于 2019-08-24 15:32:36
问题是有多少人接触!电报只支持大约1000个联系人(我发现它是实验性的,没有任何官方来源来证明这一点),当您想要添加更多联系人时,它会显示错误。尝试删除一些联系人并将数量减少到900,允许我添加新的联系人。因此,问题不在于电报服务器,而在于联系人数量的限制。也许他们有这样的代码行:
Contact[] contacts = new Contact[1000]; //LOL 至于其他两个问题:
TLSharp.Core.TelegramClient clientAlt = new TLSharp.Core.TelegramClient(api_id, api_hash, sessionUserId: "sessionAlt");TLSharp没有任何好的文档,但是通过使用sessionUserId作为可选参数解决了这个问题。
TLInputMediaContact contact = new TLInputMediaContact()
{
FirstName = FirstName,
LastName = LastName,
PhoneNumber = PhoneNumber
};
TLRequestSendMedia req = new TLRequestSendMedia()
{
Media = contact,
Peer = new TLInputPeerUser() { UserId = AnotherTelegramAccountUserID.Id },
RandomId = UniqueNumber_ToPreventDuplicateMessages,
};
await clientAlt.SendRequestAsync<TLUpdates>(req);https://stackoverflow.com/questions/57344968
复制相似问题