问题标签 [lita]
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.
ruby - 如何将 gem 依赖项添加到我的 ruby gem
我认为我从根本上错过了一些东西。我正在学习 ruby,最近一直在和 Lita 一起玩,并且(我的第一个)写了一个简单的小宝石来获得与机器人的一些方向/距离。我遇到的问题是在我的 gem 中放置 gem 依赖项的位置。为了工作,我的 gem 需要 'rest-client' gem。我在哪里把它放在我的代码中,以便我的 Directions 类可以使用它?目前,为了让它运行,我需要我的机器人实际 gemfile 中的 gem。当我捆绑 exec lita 时,它显然可供我的 gem 使用......但如果我从那里删除它,我无法让它在我的 gem 中的任何地方工作......我错过了什么?如果有人想阅读代码并告诉我应该在哪里添加它,就在这里:
https://github.com/cashman04/lita-directions
编辑:我添加了像 spickermann 建议的依赖项。然后必须在我的directions.rb 中添加require 'rest-client'。不完全确定这是否是正确的方法,但它现在有效。感谢您的帮助
ruby - 从 ruby 中的非捕获组中捕获正则表达式
我正在尝试修复一些用于 lita 的chatops bot 的正则表达式。我有以下正则表达式:
这应该捕获'to'之前和之后的单词,前面的可选单词可以形成如下问题:我如何从x到y,从x到y有多远,从x到y有多远。
预期输出:
在大多数情况下,我的可选词按预期工作。但是当我拉出我的响应匹配时,我得到了导致第一个捕获组的单词。
所以,how far is it from sfo to lax
应该返回:
sfo
和lax
。
而是返回:
how far is it from sfo
和lax
ruby - Lita 中的条件路由和机器人名称
我正在尝试开发一个具有更灵活命令路由的简单 Lita 聊天机器人。
有几个问题我遇到了困难。
1.条件路由
如何在路由定义之前或内部使用配置值?
例如,代替需要“运行”前缀的这个定义:
我想使用这样的东西,带有一个灵活的、基于配置的前缀:
哪个失败了。所以我也尝试了这样的事情:
这也失败了一个不是很有帮助的错误。config :prefix
在这两种情况下,我都使用和定义了正确的配置键config :use_prefix
。
2.在帮助中显示机器人名称
我知道robot.name
在执行的命令中有一个可用的属性,但我无法在帮助字符串中使用它。我试图实现这样的目标:
但它只是打印了一些意想不到的东西。
任何帮助表示赞赏。
ruby - Lita.io Handler Plugin - 如何获取所有加入房间的列表
我正在为 lita.io 编写处理程序插件。我想做的是提供一个 HTTP POST 端点,当它被调用时,我想向 Lita 加入的所有房间发布一些聊天消息。
我已经成功发布到一个特定的房间,该房间在 HTTP 调用中被标识为参数,如下所示:
但这要求调用者已经提供要发布到哪个房间。有没有办法检索 Lita 加入的所有房间的列表,以便我可以在那里发布?
xmpp - hipchat bot“lita”和/或“hubot”会通过端口 443 工作吗?
我正在尝试连接hipchat
botlita
和/或hubot
.
- XMPP 库具有硬编码的端口,
5222
但我已将其更改为443
- 我现在遇到错误。 - 我可以发布我得到的错误,但在此之前我想检查端口 443 是否可以工作,因为它正在连接但立即断开连接并
broken pipe
显示消息。
ruby - 如何在 Lita 上注销路线?
我注册了一条路线来捕捉用户的答案,但是在要回答的问题之后,我想将其删除。
路线创建:
我怎么能摧毁它?
ruby - 如何在 Lita Handler 上设置配置以进行测试?
我的处理程序有 4 个配置输入
我在我的 lita_config 文件中设置了它们,但是为了测试我的处理程序,我还需要在我的规范中为他设置值。我怎样才能做到这一点?