[英]Send a message from slack user to another slack user with apache camel
[英]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.history
和conversations.history
channel.history
相同。
要获取其他信息,例如通道名称,用户名等,您将需要解析收到的消息(例如,对于通道的<C12345678>
),并调用其他API来检索和添加该信息。 例如, conversations.info
为频道名称或users.info
为用户名称。 请查阅Slack文档的这一部分 ,以获取有关如何解析Slack标记的详细信息。
附件和共享文件也是如此。 您只会在JSON数组中获得链接,然后需要自己下载文件。 请注意,您需要提供身份验证,才能将私有文件从Slack下载到您的应用程序。 (有关详细信息, 请参见此处 ):
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.