Вопрос:
Я пытаюсь использовать библиотеку телеграмм для java (tdlib или tdapi), но когда я получаю chatId канала SearchPublicChat и пытаюсь получить сообщения или просматривать сообщения, я получаю ошибка.
Error{code=6 message= Chat not found}
Я не могу понять, почему chatId я получает выше, почему, когда я передаю его другому методу, я получаю эту ошибку
Пожалуйста, помогите мне в этой проблеме и в этой библиотеке.
Спасибо.
Ответ №1
Прежде чем запрашивать чат по id, TdLib должен знать об этом чате в текущем сеансе. Вам нужно найти этот чат на @mention_link, если он открыт, или получить весь список чатов. Кроме того, библиотека будет знать о чате, если некоторые действия происходят с этим чатом (например, новое сообщение из чата, обновление чата…)
И это относится также к сообщениям, пользователям и т.д. Вы можете запросить его по id, только когда TdLib узнает об этом объекте.
Ответ №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; } }); } });