Получить конкретную ссылку на разговор из комнаты в Google Hangouts - PullRequest
5 голосов
/ 02 октября 2019

Наша организация говорит о своих «инцидентах» в чате Hangouts (новом), и как часть этого мы должны записать этот разговор в другую систему.

Пока что я ищувведите ключевые слова и найдите их в результатах поиска, а затем нажмите «Перейти к обсуждению», чтобы получить URL-адрес беседы.

Я использую следующий код, который я нашел в разделе руководств по Чат HangoutsAPI , но он по-прежнему не дает мне 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);
}

Я планирую создать бота, который вместо этого будет выдавать ссылку на конкретную беседу напрямую при вызове,Может кто-нибудь, пожалуйста, помогите мне получить URL беседы?

1 Ответ

4 голосов
/ 02 октября 2019

Итак, я разместил ответ на webapps.stackexchange.com * тоже 1002 * об этом и вот что я построил -

/**
 * 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 };
}

Более подробный пост об этом доступен здесь но я предполагаю, что вы уже знаете, как разместить и развернуть бот чата Hangouts с помощью скрипта Apps.

...