gpt4 book ai didi

java - 私信 channel 中使用斜杠命令识别机器人

转载 作者:行者123 更新时间:2023-11-30 02:20:04 25 4
gpt4 key购买 nike

我有一个名为“rbot”的自定义 Slack 机器人。我还创建了一个自定义斜杠命令“/r-out”。每当从任何 channel 执行此命令时,都会使用包含“channel_id”和“channel_name”的参数调用我的java服务,我用它们来识别从哪个 channel 执行此命令。

现在,我想将此命令限制为仅适用于“rbot”。为此,我需要验证命令是否在带有“rbot”的直接消息 channel 中执行。我怎样才能实现这个目标?

最佳答案

要验证斜杠命令是否在您的应用的私信 channel 中发送,您只需检查斜杠请求中的 channel_id 是否引用了您应用的有效私信 channel 。

更详细:

当用户在您的应用程序的直接消息 channel 中执行斜杠命令时,您的应用程序将收到如下斜杠请求:(PHP 数组)

array (
'token' => 'XXX',
'team_id' => 'T12345678',
'team_domain' => 'mydomain',
'channel_id' => 'D12345678',
'channel_name' => 'directmessage',
'user_id' => 'U12345678',
'user_name' => 'erik.kalkoken',
'command' => '/evestatus',
'text' => '',
'response_url' => 'https://hooks.slack.com/commands/Txxx',
'trigger_id' => '123',
)

channel_id 将以“D”开头,表示它来自直接消息 channel 。

接下来使用 im.list 提取您的应用的直接消息 channel 列表。请务必使用您的应用 token ,以便您获得应用程序的直接消息 channel 。

如果 channel_id 位于该列表中,则表示在您的应用的直接消息 channel 中使用了斜杠命令。

关于java - 私信 channel 中使用斜杠命令识别机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47133776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com