【问题标题】:How to forward message responses with ruby Lita?如何使用 ruby​​ Lita 转发消息响应?
【发布时间】:2019-02-28 20:04:22
【问题描述】:

我正在使用一个使用 lita-hipchat 在lita ruby gem 上运行的聊天机器人。使用 hipchat 对 lita 做出响应后,lita 将能够向通过the reply method 创建响应的用户返回消息。我想改变这种模式并能够将 hipchat 发送给次要用户,基本上能够将相同的响应抄送或转发给多个用户。这是否可能仅使用 Lita gem?

我知道通过 http 或 hipchat gem 发送消息是向次要用户发送消息的另一种选择,但我更愿意通过 lita 进行。

【问题讨论】:

  • 你如何确定第二个用户是谁?
  • 我不太确定,但看起来您应该能够在回复中提及您想要的任何人。所以我在你的回复前加上提到的名字@someonelse Here is my response。类似于他们在源代码中所做的事情here
  • @lacostenycoder 可以使用帐户详细信息(例如附加到用户的电子邮件、lita redis 数据库和 Lita::User 对象rubydoc.info/gems/lita/Lita/User)找到辅助用户,找到这将提供所需的所有详细信息匹配那些在用于发送回复的响应对象中找到的对象
  • @AntarrByrd 如果这些消息被发送到可供多个用户查看的房间,这是一个很好的建议。但是,我正在寻找一种向两个不同用户发送私人消息的方法。

标签: ruby hipchat lita


【解决方案1】:

您可以使用Robot#send_messages 执行此操作。例如:

def my_handler_route(response)
  user2 = Lita::User.find_by_id("user2")
  target = Lita::Source(user: user2)
  robot.send_message(target, "This message will go to User2!")
end

这本质上就是 Response#reply 正在做的事情——但方便自动定位原始来源。

【讨论】:

猜你喜欢
  • 2022-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 2020-03-26
  • 1970-01-01
相关资源
最近更新 更多