Як відправити повідомлення в Slack через API
Ось приклад коду для відправки повідомлень в Slack через API
const axios = require('axios');
async function sendSlackMessage(webhookUrl, message) {
try {
const response = await axios.post(webhookUrl, {
text: message
});
if (response.status === 200) {
console.log('Повідомлення успішно відправлено в Slack');
return true;
}
} catch (error) {
console.error('Помилка при відправці повідомлення:', error.message);
return false;
}
}
// Розширена версія з додатковими опціями форматування
async function sendFormattedSlackMessage(webhookUrl, {
text,
username,
channel,
icon_emoji,
attachments
}) {
try {
const payload = {
text,
username,
channel,
icon_emoji,
attachments
};
const response = await axios.post(webhookUrl, payload);
if (response.status === 200) {
console.log('Форматоване повідомлення успішно відправлено в Slack');
return true;
}
} catch (error) {
console.error('Помилка при відправці форматованого повідомлення:', error.message);
return false;
}
}
// Приклад використання
const SLACK_WEBHOOK_URL = 'https://hooks.slack.com/services/YOUR/WEBHOOK/URL';
// Просте повідомлення
sendSlackMessage(SLACK_WEBHOOK_URL, 'Привіт! Це тестове повідомлення');
// Форматоване повідомлення
sendFormattedSlackMessage(SLACK_WEBHOOK_URL, {
text: 'Важливе повідомлення!',
username: 'Bot Name',
channel: '#general',
icon_emoji: ':robot_face:',
attachments: [{
color: '#36a64f',
title: 'Деталі',
text: 'Додаткова інформація тут',
fields: [
{
title: 'Пріоритет',
value: 'Високий',
short: true
}
]
}]
});Щоб використовувати цей код, вам потрібно:
- Отримати Webhook URL для вашого Slack workspace:
- Перейдіть в налаштування Slack
- Створіть новий app або використайте існуючий
- Активуйте Incoming Webhooks
- Скопіюйте згенерований URL
- Встановіть необхідний пакет:
npm install axios - Вставте ваш Webhook URL в константу SLACK_WEBHOOK_URL
Код надає два методи:
-
для простих текстових повідомлень
sendSlackMessagesendFormattedSlackMessage
для розширених повідомлень з форматуванням
Ви можете налаштувати повідомлення, додавши:
- Ім’я бота (username)
- Канал призначення (channel)
- Емодзі іконку (icon_emoji)
- Вкладення (attachments) з додатковим форматуванням
Як створити app в Slack?
- Перейдіть на сторінку створення Slack Apps:
- Відкрийте https://api.slack.com/apps
- Натисніть “Create New App”
- Виберіть спосіб створення:
- “From scratch” – створити з нуля
- “From an app manifest” – створити з готового шаблону
- Якщо обрали “From scratch”:
- Введіть назву вашого додатку
- Виберіть workspace, де буде використовуватись додаток
- Натисніть “Create App”
- Налаштуйте базові параметри:
- В розділі “Basic Information” ви можете:
- Додати опис
- Завантажити іконку
- Налаштувати кольори
- В розділі “Basic Information” ви можете:
- Додайте необхідні права (OAuth Scopes):
- Перейдіть в “OAuth & Permissions”
- В розділі “Scopes” додайте необхідні права, наприклад:
chat:writechannels:readincoming-webhook
– для відправки повідомлень
– для читання списку каналів
– для використання вебхуків
- Встановіть додаток у ваш workspace:
- Натисніть “Install to Workspace”
- Підтвердіть дозволи
- Збережіть “Bot User OAuth Token” – він буде потрібен для API запитів
- Налаштуйте Incoming Webhooks (якщо потрібно):
- Перейдіть в розділ “Incoming Webhooks”
- Активуйте їх перемикачем
- Натисніть “Add New Webhook to Workspace”
- Виберіть канал призначення
- Скопіюйте згенерований Webhook URL