Slack Bot возвращает сообщение из истории - PullRequest
0 голосов
/ 25 сентября 2018

ВОПРОС

Здесь у меня есть бот, когда сообщение с вложением публикуется в свободном канале, оно должно сохранять сообщения с некоторыми уникальными идентификаторами, и когда мы вводим ихИдентификатор находится в свободном канале, бот должен вернуть это сообщение с вложением из истории чата

(так же, как работает общедоступный URL-адрес сообщения - https://workspace_name/archives/channel_name/token).

Если я прикрепляю xml-файл к своему каналу, бот должен вернуть это вложение (конкретное сообщение, в которое я добавил свое вложение) из истории моего канала, когда я набираю какой-то идентификатор, связанный с этим сообщением.

Я использую этот код: https://github.com/rampatra/jbot

В настоящее время проблема заключается в следующем: -

Я пытался получить имяфайл, которым я делюсь с каналом, я использовал event.getFile (). getName () в SlackBot.java (https://github.com/rampatra/jbot/blob/master/jbot-example/src/main/java/example/jbot/slack/SlackBot.java).и попытался его отобразить.

 @Controller(events = EventType.FILE_SHARED)
    public void onFileShared(WebSocketSession session, Event event) {
        logger.info("File shared: {}", event);
        System.out.println("file id : "+event.getFileId());
        System.out.println("file name :"+ event.getFile().getName());
    }

Бот должен вернуть имя файла (1234.xml), которым я поделился.Но оно имеет нулевое значение, а идентификатор файла ("F ........") отображается правильно.

1 Ответ

0 голосов
/ 25 сентября 2018

Массив JSON, содержащий сообщения, является единственным форматом, который Slack API возвращает для истории канала.То же самое для channel.history и conversations.history.

. Чтобы получить дополнительную информацию, такую ​​как названия каналов, имена пользователей и т. Д., Вам нужно будет проанализировать полученные сообщения (например, для <C12345678> для канала).и вызвать дополнительные API для получения и добавления этой информации.например, conversations.info для названия канала или users.info для имени пользователя.Ознакомьтесь с этой частью документации Slack для получения подробных сведений о том, как анализировать разметку Slack.

То же самое относится к прикрепленным и общим файлам.Вы получите только ссылку в массиве JSON, а затем вам нужно будет загрузить файл самостоятельно.Обратите внимание, что вам необходимо обеспечить аутентификацию для загрузки личных файлов из Slack в ваше приложение.( подробности см. Здесь ):

...