问题标签 [botkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1288 浏览

regex - Botkit for Slack 在对话中使用正则表达式模式

我在 botkit 对话中使用正则表达式模式遇到了一个我无法完全解决的问题,虽然我确信其他人会快速回答,但我完全被难住了。

我正在构建一个将用户信息存储在 JSON 文件中的对话,但在存储条目之前我需要对条目进行少量验证。具体来说,输入必须是全名(任何数量大于 1 的单词,它们之间有空格)或格式为 domain\name 且没有空格的域用户名和正确的域。

使用 RegExr,我想出了以下 regEx 表达式,它们在该用户界面中匹配,但在放置在 botkit 对话节点的“模式”属性中时不匹配:

  • \w+( +\w+)+对于任意数量的单词,它们之间有空格。
  • domain+(\\+\w+)对于指定的域 + 用户名

但是当我在 botkit 对话中使用这些时,它们不匹配——所以我不太清楚我做错了什么。

这是使用这些的代码片段:

0 投票
1 回答
113 浏览

node.js - How to access logs on StdLib for my nodejs application

I have a node js application for a slack-bot deployed on StdLib for a slack-bot application that I created using the following tutorial: Build a serverless slack bot in 9 minutes with node js and stdlib

Now, everything is up and running, but I just want to see the logs of my application from StdLib.

I am already logged in as the authenticated user from my terminal and I am able to execute the command lib up dev successfully.

But, now when I try to view the logs using the command: lib logs dev, i get the following error:

Error: You must be signed in as a service's owner or be part of the service's team to to view logs for a service

Can anyone help me understand what i am doing wrong and how to access the dev logs from StdLib?

EDIT: I also tried logging in again by using lib login --email <my email> and then again tried lib logs dev, but it resulted in the same error as above.

Interestingly, even after logging in, if I do lib info dev, It gives me the error Error: Bad Request: "<my username>" does not have permission to access "dev"

0 投票
1 回答
2756 浏览

javascript - Slack Bot 不从直接消息中下载文件,但在上传到频道时正在下载

所以我写了一个代码来从一个松弛的机器人下载一个文件

代码是

但是,如果用户通过直接消息与机器人交谈,则下载的文件仅包含'https://files-origin.slack.com/files-pri/T7JRF8TCN-F7WDP24LV/analysis.r found'而不包含内容

但是,如果我们在频道上与机器人交谈并上传文件,它会正确下载文件并将所有内容存储到文件中。

为什么会出现这个问题?当我将范围设置为files:read和时,为什么它会重定向到 files-origin.slack.comfiles:write:user

发送私信时,机器人可以下载文件吗?

0 投票
1 回答
3004 浏览

slack - Slack:如何在没有 Slack 附加“已编辑”的情况下删除消息的操作按钮

我有一条带有操作按钮的 Slackbot 消息(请参见此处)。当用户单击按钮时,我们在服务器上执行一些工作,然后使用chat.update删除操作按钮并更新消息的页脚:

一切都很好,但 Slack 会在消息中附加一个“(已编辑)”。我看到很多其他应用程序也在这样做,但它们似乎避免了“(已编辑)”文本?他们在做什么不同?

我试过设置as_user和通话replace_originalchat.update但没有任何运气。

松弛截图

0 投票
0 回答
372 浏览

javascript - 使 botkit 适应 Discord

我一直在使用 Andrew Templeton 的“Bottie”代码 ( https://github.com/andrew-templeton/bottie ) 来制作 NLP 驱动的机器人。

原始代码是为与 Slack 一起工作而构建的,但我希望将其改为适用于 Discord 客户端。

我已经取得了一些进展,但卡在“ears.js”文件的“.hear”函数部分(如下面的代码片段所示,这是接受消息并将其发送到“NLP 引擎”的主文件')。如果向其发送“ping”,该机器人会做出响应,但不会发生其他任何事情(该机器人是用来讲笑话、进行对话等的)。这是我的代码:

下面是主程序“index.js”文件的代码:

不幸的是,“Bottie”的作者没有回复查询,因此我将问题在这里发布给社区的其他人。我对 JavaScript 相当陌生,希望能对此提供任何帮助。

0 投票
1 回答
306 浏览

image - 如何在 BotKit Facebook 中捕获音频消息接收或图像接收

我一直在使用 Botkit Facebook Messenger,我可以完美地接收来自 Facebook 的短信,但是我无法捕获音频消息、图像或附件。

有没有人能够捕获这些类型的消息?

0 投票
1 回答
637 浏览

javascript - Node-slack web api:chat.delete为所有频道返回channel_not_found,尽管channels.list返回所有频道

我一直在使用 slack-node web api 和 botkit 开发一个简单的聊天机器人,但在使用 chat.delete 功能时遇到了一些问题。我能够正确列出我的所有频道,查看他们的频道 ID 和名称,但是当我尝试使用 chat.delete 函数沿着消息频道发送时,它返回“channel_not_found”。

我还尝试发送频道名称,使用“general”和我所针对的实际频道名称进行测试,两者都返回相同的错误。

我的机器人正在使用管理员用户的令牌,它应该允许删除任何消息。我的 bot 也具有 chat:write:bot 和 chat:write:user 的范围访问权限。

下面是我的代码片段 - 我也在其他地方尝试过删除直接从机器人发送的消息并得到相同的错误,所以我认为它与权限无关。我查看了文档,并且对于我下面的内容,用法似乎是正确的,但我可能遗漏了一部分。

0 投票
1 回答
427 浏览

javascript - Slack API:channels.create 后跟 channels.invite/info 返回 channel_not_found 错误

我正在使用 botkit 和 nodejs slack 开发人员工具包构建一个 slack 机器人。我有一系列 api 调用,第一个是查找用户(globalMembers),第二个是根据频道数组创建一个频道,最后一个调用是将每个用户添加到每个新创建的频道。

为此,我有几个承诺,以便循环访问渠道和成员。频道创建成功,然后我将每个成员和频道 ( [[member1, channel1], [member1, channel2]....]) 的唯一数组发送到将邀请成员加入相应频道的承诺。

无论如何(我使用的是频道 ID),当我尝试获取频道信息或邀请成员加入该频道时,我都会收到“channel_not_found”错误。我是新的承诺,可能在某处有错误,感谢任何帮助。

下面是我的代码:

0 投票
1 回答
252 浏览

watson-conversation - Watson Conversation 和 Facebook Messenger 富文本

如何使用 facebook 消息模板来提供富文本,以在 Watson 中集成按钮、图像、列表和其他 facebook messenger 功能。我正在关注 Facebook Messenger Developer,但我不知道应该在哪里插入适当的代码?在 watson 对话的 JSON 编辑器中还是在 botkit 的 bot-facebook.js 中?

我在 watson 对话的 JSON 编辑器中尝试了这个,但它不起作用:

JSON 编辑器的屏幕截图

0 投票
1 回答
682 浏览

slack - Botkit - Slack 交互式消息

我正在尝试从所有操作中获取所有值。目前我有两个选择动作(选择一个游戏和选择一天)。在 interactive_messages_callback 中,我仅获取当前修改的选择的选定值。

有没有办法从 currentValues: [ os_type_selection: 'osx', day_selection: '2' ] 等所有操作中获取一组值?