gpt4 book ai didi

hubot - 在 HipChat 上匹配 Hubot 中的用户名和 @mention 名称

转载 作者:行者123 更新时间:2023-12-04 20:48:43 25 4
gpt4 key购买 nike

有没有办法为用户名(数字 xxxx_xxxxxx 或全名)找到 @mention 名称,反之亦然?

查看 msg.message 对象,有一个用户对象,其中包含消息来自的人的 id、jid 和姓名。我想找到那个人的@mention 姓名,以及他们在消息中@提及的任何人的用户名。

最佳答案

我也想要这个但由于它不在 xmpp 消息上,hubot 不会知道它。我认为您需要添加一个命令,将提及名称设置为用户的属性。就像是:

robot.respond /mentionname is @?(.+)$/i, (msg) ->
mentionname = msg.match[2]

user = robot.brain.userForId(msg.envelope.user.id)
user.mentionname = mentionname

然后,您可以在其他自定义命令中查找它。您将另一个方法添加到大脑 userForMentionName 中,它的作用与 userForName 大致相同。将此添加到您的脚本初始化中的大脑中。
userForMentionName = (name) ->
result = null
lowerName = name.toLowerCase()

for k of (robot.brain.data.users or { })
mentionName = robot.brain.data.users[k]['mention_name']
if mentionName? and mentionName.toLowerCase() is lowerName
result = robot.brain.data.users[k]
result

或者,您可以修改 userForName 以检查 userName 或mentionname 字段,但这可能会破坏其他内容。无论哪种方式,您都需要您的用户告诉hubot 他们的mentionname 是什么……或者如果hubot-hipchat 适配器有这些信息,它可能会查找它……我会看看。

- 编辑 -

忽略所有这些 :D hipchat 适配器向存储在大脑中的用户对象添加了一个“mention_name”字段。因此,您要做的就是遍历用户并找到具有匹配提及名称的用户

关于hubot - 在 HipChat 上匹配 Hubot 中的用户名和 @mention 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13092980/

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