繁体   English   中英

Slack Bot从历史记录返回消息

[英]Slack Bot returning message from history

在这里,我有一个机器人,当在松弛通道中发布带有附件的消息时,它应保存带有一些唯一ID的消息,而当我们在松弛通道中输入这些ID时,机器人应从聊天记录

(就像消息的公共URL的工作方式一样-https:// workspace_name / archives / channel_name / token )。

如果我在频道中附加了一个xml文件,则当我键入与该邮件相关联的ID时,漫游器应从频道的历史记录中返回该附件(添加附件的特定邮件)。

我正在使用此代码: https : //github.com/rampatra/jbot

目前的问题是:

我试图获取要共享给频道的文件的名称,我在SlackBot.java( https://github.com/rampatra/jbot/blob/master/jbot中使用event.getFile()。getName() -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)的名称。 但这是空值,但是文件ID(“ F ........”)正确出现了。

包含消息的JSON数组是Slack API将针对渠道历史记录返回的唯一格式。 channel.historyconversations.history channel.history相同。

要获取其他信息,例如通道名称,用户名等,您将需要解析收到的消息(例如,对于通道的<C12345678> ),并调用其他API来检索和添加该信息。 例如, conversations.info为频道名称或users.info为用户名称。 请查阅Slack文档的这一部分 ,以获取有关如何解析Slack标记的详细信息。

附件和共享文件也是如此。 您只会在JSON数组中获得链接,然后需要自己下载文件。 请注意,您需要提供身份验证,才能将私有文件从Slack下载到您的应用程序。 (有关详细信息, 请参见此处 ):

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM