从Google环聊的某个房间中获取特定的会话链接

问题描述 投票:1回答:1

我们的组织在Google Hangouts聊天(新聊天)上谈论了它的“事件”,作为其一部分,我们要将该对话记录到另一个系统中。>

目前,我要做的是搜索特定的关键字,然后通过搜索结果找到那些对话,然后单击“转到主题”以获取对话URL。

我使用的是在Hangouts Chat API的“指南”部分下找到的以下代码,但它仍然没有提供对话的URL-

/**
 * Responds to a MESSAGE event in Hangouts Chat.
 *
 * @param {Object} event the event object from Hangouts Chat
 */
function onMessage(event) {
  var name = "";

  if (event.space.type == "DM") {
    name = "You";
  } else {
    name = event.user.displayName;
  }
  var message = name + " said \"" + event.message.text + "\"";

  return { "text": message };
}

/**
 * Responds to an ADDED_TO_SPACE event in Hangouts Chat.
 *
 * @param {Object} event the event object from Hangouts Chat
 */
function onAddToSpace(event) {
  var message = "";

  if (event.space.type == "DM") {
    message = "Thank you for adding me to a DM, " + event.user.displayName + "!";
  } else {
    message = "Thank you for adding me to " + event.space.displayName;
  }

  if (event.message) {
    // Bot added through @mention.
    message = message + " and you said: \"" + event.message.text + "\"";
  }

  return { "text": message };
}

/**
 * Responds to a REMOVED_FROM_SPACE event in Hangouts Chat.
 *
 * @param {Object} event the event object from Hangouts Chat
 */
function onRemoveFromSpace(event) {
  console.info("Bot removed from ", event.space.name);
}

我计划创建一个机器人,当调用该机器人时,它会直接吐出指向特定对话的链接。有人可以帮我获取对话的网址吗?

我们的组织在Google Hangouts聊天(新聊天)上讨论了它的“事件”,作为其中一部分,我们要将对话记录到另一个系统中,现在,我要做的是搜索特定的......>] >

所以,我也为此在webapps.stackexchange.com上发布了答案,这是我构建的-

/**
 * Responds to a MESSAGE event in Hangouts Chat.
 *
 * @param {Object} event the event object from Hangouts Chat
 */
function onMessage(event) {
  var thread = event.message.thread.name;
  var threadRegex = /(spaces\/)(.*)(\/threads\/)(.*)/;
  var spaceID = threadRegex.exec(thread)[2]
  var threadID = threadRegex.exec(thread)[4]
  var message = "Thread ID: " + threadID + "\nThread URL: https://chat.google.com/room/" + spaceID + "/" + threadID;
  return { "text": message };
}

/**
 * Responds to an ADDED_TO_SPACE event in Hangouts Chat.
 *
 * @param {Object} event the event object from Hangouts Chat
 */
function onAddToSpace(event) {
  var message = "";
  message = "Thank you for adding me to *" + event.space.displayName + "*. \nYou can now use `@getThreadID` command to get the URL of a specific conversation.";
  if (event.message) {
    var thread = event.message.thread.name;
    var threadRegex = /(spaces\/)(.*)(\/threads\/)(.*)/;
    var spaceID = threadRegex.exec(thread)[2]
    var threadID = threadRegex.exec(thread)[4]  
    message = "Thank you for adding me to " + event.space.displayName + "\n" + "Thread ID: " + threadID + "\nThread URL: https://chat.google.com/room/" + spaceID + "/" + threadID;
  }
  return { "text": message };
}

[这方面的详细信息,here可用,但我假设您已经了解如何使用Apps Script托管和部署环聊聊天机器人。

hangouts-chat
1个回答
0
投票

所以,我也为此在webapps.stackexchange.com上发布了答案,这是我构建的-

© www.soinside.com 2019 - 2024. All rights reserved.