Головна » Інтернет » Як відправляти індивідуальні повідомлення для слаби з вашої програми

    Як відправляти індивідуальні повідомлення для слаби з вашої програми

    Slack - популярне додаток для обміну повідомленнями, який використовується багатьма командами. Він поставляється з великою кількістю сервісів і API для розробників, щоб інтегрувати його з їх додатками. У сьогоднішньому повідомленні ми побачимо, як використовувати одну зі своїх сервісів під назвою Incoming Webhooks, щоб відправити дані, щоб відмовитися від зовнішньої програми.

    Таким чином ми можемо легко надсилати повідомлення Slack з будь-якої програми, яку ми вже маємо; ми можемо надсилати звіти, оновлення, новини, сповіщення та багато іншого. Для цього посту я використав JavaScript у прикладі. Для початку увійдіть до облікового запису Slack вашої команди.

    1. Налаштування інтеграції

    Спочатку потрібно налаштувати вхідну інтеграцію веб-кнопок. Йти до yourteam.slack.com/apps/build/custom-integration і натисніть Вхідні веб-куки, потім виберіть канал або користувача, до якого потрібно надіслати повідомлення (цей вибір можна перевизначити пізніше в коді).

    Після цього ви побачите сторінку налаштування вхідної веб-інтеграції.

    Прокрутіть вниз, і в форматі з'явиться URL-адреса Webhook https://hooks.slack.com/services/TXXXXXXXX/BXXXXXXXX/token. Зберегти цю URL-адресу де-небудь, нам знадобиться пізніше. Можна також змінити піктограму та назву інтеграції на цій сторінці, але ми зробимо це у коді.

    2. Створіть повідомлення

    Уявімо, що ви вже створили веб-додаток, який шукає продаж Дня святого Валентина на популярних сайтах, а також коди пропозицій для використання під час продажу, і з певних причин ви хочете поділитися цим результатом з членами команди Slack.

    Зараз потрібно лише використати URL-адресу веб-квитка, створену на попередньому кроці, і опублікувати запит до неї з вашої програми за допомогою даних JSON, які скомпонують повідомлення про пропозицію про продаж.

    Давайте спочатку зібрати рядок JSON, який буде перетворений у повідомлення Slack. Параметр з даними JSON називається корисним навантаженням, тому рядок JSON має виглядати так:

    var myJSONStr = 'payload = "username": "SALE BOT", "icon_url": "example.com/img/icon.jpg", "channel": "#general"' 

    icon_url є URL-адресою зображення, яке відображатиметься як зображення профілю, також можна використовувати icon_emoji для відображення смайликів як зображення профілю, наприклад "icon_emoji": ": подарунок:". "канал" вказує канал або ім’я користувача, яке побачить ваше повідомлення. Для імені користувача використовуйте синтаксис "@username", для каналу "#channelname".

    Тепер для фактичного повідомлення; можна або додати "текст" властивість і записувати ваше повідомлення як його значення і робити з ним, або використовувати властивість, що викликається "вкладення" щоб додати багатоформатний текст, який ми будемо робити зараз.

    The "вкладення" майно корисне навантаження виглядає так:

    "attachments": ["fallback": "Пристрій не підтримується.", "title": "ПРОДОВЖЕННЯ ДЕНЬ ВАЛЕНТІНА", "color": "# 9C1A22", "pretext": "Список вибраних пропозицій для вас "," author_name ":" Preethi "," author_link ":" https://www.hongkiat.com/blog/author/preethi/ "," author_icon ":" https://assets.hongkiat.com/ uploads / author / preethi.jpg "," mrkdwn_in ": [" текст "," поля "]," текст ":" Просто клацніть назви сайтів і почніть купувати. Отримайте * додаткове скорочення з кодом пропозиції *, якщо це передбачено. "," thumb_url ":" http://example.com/thumbnail.jpg "]

    "відступати" альтернативний текст, який буде показано, коли повідомлення Slack переглядається в програмі, яка не підтримує вкладення повідомлень (наприклад, у сповіщеннях для мобільних пристроїв).

    "колір" - колір лівої межі повідомлення.

    "привід" - це текст, який відображається перед основним вмістом.

    "author_link" це URL-адреса, яка має гіперпосилання в імені автора (якщо вона надана).

    "mrkdwn_in" - це масив назв властивостей, значення яких відформатовані в повідомленні - на основі синтаксису зменшення (*) для жирного шрифту і (_) для курсиву. Три можливі значення для "mrkdwn_in" "текст", "привід" і "поля"

    "thumb_url" URL-адреса мініатюрного зображення.

    Ось як виглядатиме повідомлення до цих пір.

    Тепер давайте додамо поля до масиву вкладень, який відображатиме сайти та коди пропозицій у двох стовпцях.

    "fields": ["title": "Сайти", "значення": "___ "," short ": true, " title ":" Код пропозиції "," значення ":" UI90O22 n- "," short ": true], 

    Використовуйте n щоб додати розрив рядків і синтаксис щоб додати гіперпосилання.

    Підкреслення використовується для форматування тексту курсивом.

    короткий встановлено на вірно якщо значення відображатимуться поруч (наприклад, якщо вони короткі). Складається разом, JSONString буде виглядати наступним чином (зберегти рядок в одному рядку в фактичному робочому коді)

    var myJSONStr = 'payload = "username": "SALE BOT", "icon_url": "example.com/img/icon.jpg", "attachments": ["" "" "," title ":" ПРОДОВЖЕННЯ ДЕНЬ ВАЛЕНТІНА "," колір ":" # 9C1A22 "," претекст ":" Сьогоднішній список чудових пропозицій, вибраних для вас "," author_name ":" Preethi "," author_link ":" https : //www.hongkiat.com/blog/author/preethi/ "," author_icon ":" https://assets.hongkiat.com/uploads/author/preethi.jpg "," fields ": [" title " : "Сайти", "значення": "___ "," короткий ": true, " title ":" Код пропозиції "," значення ":" UI90O22 n-"," short ": true]," mrkdwn_in ": [" text "," fields " "]," text ":" Просто клацніть назви сайтів і почніть купувати. Отримати * додаткове скорочення з кодом пропозиції *, якщо це передбачено. "," Thumb_url ":" http://example.com/thumbnail.jpg "] '; 

    3. Надішліть запит

    Тепер, щоб зробити запит на публікацію в JavaScript, використовуйте функцію нижче:

    function postMessageToSlack () var xmlhttp = new XMLHttpRequest (), webhook_url = url-you-saved-from-before, myJSONStr = json-string-з-зверху; xmlhttp.open ('POST', webhook_url, false); xmlhttp.setRequestHeader ('Content-Type', 'application / x-www-form-urlencoded'); xmlhttp.send (myJSONStr);  

    Додайте цю функцію до клацання або завантаження сторінки бачити, як він працює.

    Остаточний вихід виглядатиме приблизно так: