【问题标题】:Telegram API (not Bot!): How to get chat/channel ID by link to it?Telegram API(不是 Bot!):如何通过链接获取聊天/频道 ID?
【发布时间】:2018-01-28 18:17:36
【问题描述】:

我在 C# 上使用库 TLSharp 并编写 Telegram 客户端,但有时我卡住了。

我有一个聊天/频道链接,例如https://t.me/joinchat/some-string,我想获取有关聊天/频道的信息或加入它。但是你可以只使用 chat_id 来做到这一点,我不知道如何获得。

首先我想到了contacts.resolveUsername 并从链接中传递了“一些字符串”。但是不行,说用户名无效。

有没有办法获取组的ID?是否故意让获取有关群组的信息变得如此复杂?

谢谢

【问题讨论】:

    标签: c# api telegram


    【解决方案1】:

    嗯,我找到了解决方案(部分,见最后)。我正在使用this 架构,让您知道。

    1. 首先我们需要发送 RPC messages.checkChatInvite 参数 hash 设置为链接的最后一部分(在我的例子中是“some-string” )。

    2. TLChatInvite 类型的响应到达。它将包含有关该组的主要信息:它的类型(聊天还是频道?)、参与者数量,如果幸运的话,他们本身就是 Vector。

    (下面这点是我的问题)

    1. 使用相同的参数哈希调用 RPC messages.importChatInvite。它返回 TLUpdatesTLUpdatesCombined 对象,其中将包含 TLChat 对象的向量。我们需要使用第一个(不要忘记检查向量是否为空,以防万一)。

    然而,messages.importChatInvite 会让当前用户加入群组。如何在不加入的情况下获取组的 ID 我不知道。不过,这东西适合我的客户。

    坦率地说,我很失望它花费了这么多时间来做这样一件微不足道的事情。

    【讨论】:

      猜你喜欢
      • 2021-04-03
      • 2020-04-14
      • 2019-10-01
      • 2023-03-24
      • 2015-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      相关资源
      最近更新 更多