标签: botkit

如何添加 Slack 消息按钮以打开与用户的直接聊天?

我有一个 Slack 机器人,它需要返回一条消息,其中包括 Slack 用户列表和一个按钮来向每个用户发送消息。

我希望用户的参与体验保持一致。如果用户通过桌面 Slack 应用程序与机器人交互,那么我希望用户留在应用程序中(不要被带到网络客户端——他们可能没有经过身份验证)。

就像是:

Results:

User A - click link to view User A's profile in Slack
[Message] - click button to open direct message with user A

User B - click link to view User B's profile in Slack
[Message] - click button to open direct message with user B
Run Code Online (Sandbox Code Playgroud)

我被困在几个问题上:

  1. 如何链接到用户的个人资料,因为我不知道他们使用的是 Slack 应用程序还是 Slack 网络(因此如何在显示slack://user?team=&id=..domain.slack.com/team/{id}接近之间做出决定?这是假设我使用title_linkauthor_link属性。

  2. 如何创建一个消息按钮来向用户打开直接消息(甚至更好地打开它并预填充消息)?我目前一直在玩链接动作,但没有任何运气。

我想我可以通过让机器人发送 DM 然后 @mention 原始用户来解决它。从用户体验的角度来看不是很好。

更新

感谢 Adil 和 …

slack-api slack botkit

8
推荐指数
1
解决办法
3144
查看次数

iOS Facebook Messenger,在打开并完成任务后自动关闭链接

在我的iPad上使用iOS Facebook Messenger应用程序,我正在构建一个机器人,它将向用户发送媒体播放器链接.

用户点击链接后,它会在Facebook Messenger App内打开内联链接(至少这是iPad的行为).在媒体播放结束时,我想自动关闭内联浏览器窗口并将用户返回到当前对话.

当我尝试这样做window.close()并没有关闭在iPad Facebook Messenger中打开的内联浏览器窗口时.有没有其他方法可以关闭Facebook浏览器窗口?

bots ipad ios facebook-messenger botkit

7
推荐指数
1
解决办法
638
查看次数

将Microsoft Bot Framework与Howdy Botkit进行比较

我希望创建一个机器人,并且遇到了Microsoft Bot Framework(使用LUIS或可以使用API​​.AI提供的C#SDK)和Howdy.ai Botkit(中间件支持LUIS和API.AI).

有人可以帮助我比较这两者吗?

我在我的机器人中寻找以下内容 -

  • 支持多种渠道,包括Email.
  • 让机器人同时处于被动状态(回复某些用户消息)和主动(每天向用户发送一条关于对他们重要的事情或后续事件)的方式.
  • 保存并稍后检索用户提供的数据(管理状态).
  • 丰富的消息支持.
  • 回应延迟.
  • 管理对话历史记录

有没有可以在一个而不是在另一个中的东西?

botframework botkit

7
推荐指数
1
解决办法
914
查看次数

Ignore Slack在一个房间里编辑,但不是直接编辑到机器人

我有一个使用botkit运行的机器人.我想发出一条警告信息,当你直接与机器人交谈时,编辑的消息会被忽略,所以我正在做:

controller.on('message_changed', function(bot, message) {
    bot.reply(message, ":warning: Your edit was ignored.");
});
Run Code Online (Sandbox Code Playgroud)

机器人在一个有许多人的房间里,这样那些人就可以私下"访问"机器人.

问题:当有人在房间内编辑消息时,机器人会发出警告.避免这种情况的最佳方法是什么?

我希望避免将房间ID硬编码到机器人不应该回复的房间,因为我们可能在其他房间有机器人.

javascript node.js slack botkit

6
推荐指数
1
解决办法
87
查看次数

Slack API和自定义松弛的应用程序总是使用botkit框架得到无效的oauth

我遇到了一个无聊的问题.从几天开始,我总是invalid_oauth从松弛的API中获取......我正在使用Botkit框架,node.js服务器这是我的调试:

info: ** Starting webserver on port 3000 info: ** Serving webhook endpoints for Slash commands and outgoing webhooks at: http://MY_HOST:3000/slack/receive info: ** Serving login URL: http://MY_HOST:3000/login info: ** Serving oauth return endpoint: http://MY_HOST:3000/oauth info: ** API CALL: https://slack.com/api/rtm.start debug: rtm.start { no_unreads: true, simple_latest: true, token: 'xoxb-81934967667-UOJKkxYnIf0xZJ9cJspwoAOC' } debug: Got response null {"ok":false,"error":"invalid_auth"} Error connecting bot to Slack: invalid_auth

我正在推出应用程序: clientId=xxx.xxx clientSecret=xxx port=3000 node bot.js

我的自定义松弛应用程序配置了botkit调试控制台返回的oauth端点,localtunnel转发到我的本地机器,在应用程序中配置了一个机器人.

有任何想法吗 ?我确信我离解决方案不远......

非常感谢任何帮助.

slack-api slack botkit

6
推荐指数
0
解决办法
785
查看次数

为什么 docker 容器以代码 0 退出?

我目前正在尝试使用 Botkit 框架创建一个 Messenger Bot!

由于我在不同的计算机上工作,我想使用 docker 来防止任何本地配置问题。

不幸的是,我是 botkit 和 docker 的新手。

文件结构

bot
??? README.md
??? docker
?   ??? botkit
?   ?   ??? Dockerfile
?   ??? node
?       ??? Dockerfile
??? docker-compose.yml
??? node_modules
??? package.json

4 directories, 5 files
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: "2"
services:
    node:
        build: ./docker/node
        volumes_from:
            - "app"
    botkit:
        build: ./docker/botkit
        links:
            - "node"
        volumes_from:
            - "app"
    app:
        image: "node:8"
        working_dir: /home/nook_bot
        environment:
            - NODE_ENV=production
        volumes:
            - .:/home/nook_bot
            - /home/nook_bot/node_modules
        command: "npm init --yes && npm …
Run Code Online (Sandbox Code Playgroud)

npm docker docker-compose botkit

6
推荐指数
2
解决办法
8915
查看次数

如何使用BotKit从Slack API获取用户列表?

我试图创建一个发送私信给随机松弛用户一个机器人。我试图完成的第一步是console.logging用户列表。

这是我到目前为止的内容:

controller.hears('marco', 'direct_message', function(bot, message) {
  bot.api.users.list({user: message.user}, function(err, list){
    bot.reply(message, "polo");
    console.log(bot.api.users.list);
  })
});
Run Code Online (Sandbox Code Playgroud)

当我直接向机器人发送消息时marco,它会回复polo[Function]记录下来。我如何可以登录一些真实的数据?我试过bot.api.users.list.members,但它作为记录undefined。谢谢。

javascript bots slack-api slack botkit

5
推荐指数
1
解决办法
1137
查看次数

Botkit和Aws Lambda

如何部署在Aws Lambda中使用Botkit构建的slack bot.如果是斜杠命令,我们可以使用下面的代码响应事件.

exports.handler = function(event, context) {
    //Echo back the text the user typed in
    context.succeed('You sent: ' + event.text);
};
Run Code Online (Sandbox Code Playgroud)

但不知道如何为Bots做同样的事情.使用Botkit(Howdy)的Bots的示例代码是

Controller.hears(['help'], 'direct_message,direct_mention,mention', (bot, message) => {
    bot.reply(message, {
        text: `You can ask me things like:
    "Search Contact"
    "Search Account"`
    });
});
Run Code Online (Sandbox Code Playgroud)

aws-lambda botkit

4
推荐指数
1
解决办法
1267
查看次数

使用 botkit 作为 Slack 机器人,有没有办法在对话时更新消息?

这是关于使用 Botkit 开发 Slack 机器人。

Slack 允许您就地更新消息 - 例如,如果您从用户那里获取输入(无论是通过文本还是按钮),您可以根据该信息更新消息。(有关此内容的更多信息,请参见“替换原始消息”: https: //api.slack.com/docs/message-buttons)。

Botkit 通过replyInteractive() 支持此功能,如下所示: https: //github.com/howdyai/botkit/blob/master/readme-slack.md#message-buttons

然而,Botkit 的一个关键功能是对对话线程的支持。虽然这些允许您提出问题并允许按钮作为答案,但我没有看到在对话中进行交互式回复(即更新消息)的方法。

知道如何做到这一点吗?当前不支持它的结论性答案也会有所帮助。谢谢你!

bots slack botkit

4
推荐指数
1
解决办法
1748
查看次数

将botkit连接到我的服务restful api

我在本地安装了botkit,并且工作正常.现在,我想将机器人与外部的restful api连接起来,例如:

人:你有多少客户连接?Bot:机器人在我的服务的其余api内部执行查询然后,回答Bot:连接了21个客户端.

有什么建议吗?

javascript rest botkit

3
推荐指数
1
解决办法
1293
查看次数