728x90
반응형
outgoing 웹훅으로 Slack에서 메세지 입력시 우리 서버로 알림을 받을 수 있다.
그러나 우리 서버가 방화벽이나 보안 문제로 외부에서 접근하지 못할때가 문제다
그럴때 Socket을 이용해서 Slack과 연결 할 수 잇다.
1. Create New App
2. From an app manifest ( From scratch를 통해 직접 권한 설정을 할 수 있지만 이번에는 manifest로)
display_information:
name: SocketApp
features:
bot_user:
display_name: SocketApp
always_online: false
oauth_config:
scopes:
bot:
- app_mentions:read
- channels:history
- groups:history
- im:history
- mpim:history
- chat:write
settings:
event_subscriptions:
bot_events:
- app_mention
- message.channels
- message.groups
- message.im
- message.mpim
interactivity:
is_enabled: true
org_deploy_enabled: false
socket_mode_enabled: true
token_rotation_enabled: false
3. 위의 내용 붙여 넣기하면 권한등이 다 설정 된다.
4. App Token 발급 ( Basic Information -> App-Level Tokens -> Generate Token and Scopes )
5. 코드 구현
const config = require("./config");
//npm install @slack/bolt
const { App } = require('@slack/bolt');
const app = new App({
token: config.botToken, //OAuth & Permission에서 install to workspace하면 나옴)
signingSecret: config.signingSecret, // Basic information -> Signing Secret
socketMode: true,
appToken: config.appToken, //(앱토큰)
port:3000
});
app.message('hello', async ({ message, say }) => {
await say(`Hellow^^ , <@${message.user}>`);
});
(async () => {
// Start your app
await app.start();
console.log('⚡️ Bolt app is running!');
})();
5. 채널 생성하고 채널에 앱추가하고 Test
참고 - https://slack.dev/bolt-js/concepts
참고 - https://api.slack.com/apis/connections/socket
반응형
'Dev > slack' 카테고리의 다른 글
Slack API로 메세지 보내기 (1) | 2022.10.15 |
---|---|
Slack 웹훅으로 메세지 보내기 (1) | 2022.10.15 |