有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓我在tdlib中获得chatId,但我无法获得消息(tdAPI或java电报数据库库)

我试图使用java(tdlib或tdapi)的电报数据库库,但当我通过SearchPublicChat获取通道的chatId并尝试获取消息或查看消息时,我收到一个错误

Error{code=6 message= Chat not found}

我不明白为什么我收到上面的chatId为什么当我把它传递给另一个方法时我会得到这个错误 请帮我解决那个问题和那个图书馆。 多谢各位


共 (2) 个答案

  1. # 1 楼答案

    在请求通过id聊天之前,TdLib必须知道当前会话中的此聊天。如果该聊天是公开的,你需要通过@title_链接搜索该聊天,或者获取整个聊天列表。此外,如果此聊天发生了一些操作(如聊天室的新消息、聊天室更新…),则库将了解聊天室
    这也适用于消息、用户等。只有当TdLib知道这个实体时,您才能通过id请求它

  2. # 2 楼答案

    从聊天室获取最后15条消息的示例

    String username = "any_chat_public_link";
    TdApi.SearchPublicChat searchPublicChat=new TdApi.SearchPublicChat(username);
        TG.getClientInstance().send(searchPublicChat, new Client.ResultHandler() {
            @Override
            public void onResult(TdApi.TLObject object) {                
                TdApi.Chat chat = (TdApi.Chat) object;
                TdApi.Message topMessage = chat.topMessage;
    
                long chatId = chat.id;
    
                TdApi.GetChatHistory getChatHistory = new TdApi.GetChatHistory(chatId, topMessage.id, 0, 15);
                TG.getClientInstance().send(getChatHistory, new Client.ResultHandler() {
                    @Override
                    public void onResult(TdApi.TLObject object) {
                        TdApi.Messages messages = (TdApi.Messages) object;
                    }
                });
            }
        });