Команда Slack Slash YouTube для вставки - PullRequest
1 голос
/ 08 октября 2019

Я пишу собственную команду слэша на сервере Express. Я хотел бы, чтобы моя команда Slack вставила ссылку на последний отсчет Eurpoe вместе со ссылкой на медиа, как это:

Final Countdown

В настоящее время яотправляю мой ответ так:

  response.send({ "text": "<https://www.youtube.com/watch?v=9jK-NcRmVcw>" });

Это работает, но вставляет только ссылки без предварительного просмотра.

Final Countdown

Я попытался выполнить это предложение и добавить некоторые флаги разворачивания, но, похоже, это не помогло.

response.send({
  "text": "<https://www.youtube.com/watch?v=9jK-NcRmVcw>",
  "unfurl_links": true,
  "unfurl_media": true
});

1 Ответ

0 голосов
/ 10 октября 2019

Это на самом деле работает нормально, но, возможно, не так, как вы ожидаете.

Когда вы публикуете ссылку на канал в первый раз, она всегда развернет ссылку на YouTube (с настройками по умолчанию). Однако, если вы разместите одну и ту же ссылку на канале во второй раз, она покажет только ссылку, а не развернет ее. Это стандартное поведение Slack, и, насколько я знаю, вы не можете его изменить. (если вы не хотите добавить пользовательский метод развертывания, который вы можете сделать здесь ).

Но я могу предоставить вам небольшой взлом, чтобы смягчить эту функцию Slack.

Все, что вам нужно сделать, это предоставлять другую ссылку каждый раз, когда вы публикуете на тот же канал Slack. Таким образом, Slack будет думать, что это новая ссылка, и развернуть ее. Например, вы можете просто добавить &dummy={timestamp} - с {timestamp} текущим временем в эпоху UNIX - к вашей ссылке, и вы получите развернутый файл каждый раз.

Разумеется, здесь можно использовать любой параметр запроса, если он не конфликтует ни с одним из параметров, поддерживаемых Youtube.

Пример:

"text": "<https://www.youtube.com/watch?v=9jK-NcRmVcw&dummy=1570709500>",

...