회사 메신저로 Mattermost(매터모스트)를 사용 중이다.
얼마 전 사원들 생일파티(...) 담당을 맡게되었는데 메신저에 생일파티 알람을 주면 어떨까 싶어서 찾아봤다.
github.com/jonathanwiesel/node-mattermost
위의 프로젝트를 이용했다.
일단 테스트를 위해 채널을 하나 새로 만들었다.
1. Hook URL 구하기
작성 후 제일 아래에 Save 를 눌러준다.
3번째의 Channel 은 메세지 수신을 위해 사용하는 듯 한데.. 나중에 더 자세히 찾아봐야겠다.
해당 URL 이 hook url 이다. 다시 들어와서 보는것도 가능하니 막 어디 적어둘 필요는 없을 듯 하다.
2. NodeJS js 파일 작성하기
일단 npm 으로 상단의 git 프로젝트를 인스톨하자
npm install node-mattermost
//app.js
const Mattermost = require('node-mattermost');
const hookurl = json.hookurl; // 상단에서 구한 hook url
const mattermost = new Mattermost(hookurl);
// 프사 설정을 위해
function base64_encode(file) {
var bitmap = fs.readFileSync(file);
return bitmap.toString('base64');
}
mattermost.send({
text: "생일 축하합니다",
// 채널명을 입력해준다. 채널명이 한글이면 좀 다른데 아래에서 설명..
channel: '#test',
username: '생일축하 봇',
// 프로필 사진을 지정해준다. 나는 같은 폴더에 있는 케이크 사진을 base64 형태로 추가했다
icon_url: 'data:image/png;base64,' + base64_encode('./public/img/cake.png'),
})
실행해보자
node app.js
3. 채널명이 한글일 때
{
// ...
channel : 'testz'
// ...
}
'Backend > Nodejs' 카테고리의 다른 글
node-gyp 에 의한 ModuleNotFoundError: No module named 'distutils' 에러 (269) | 2024.03.14 |
---|---|
Package.json dependencies 최신 버전으로 업그레이드 하기 (24) | 2022.12.02 |
Day.js Timezone 현지 시간 구하기 (38) | 2021.04.13 |
[npm] npm publish : 403 Forbidden (26) | 2021.01.06 |
[Nodejs] pm2 사용 중 보안 오류 발생 (8) | 2020.10.14 |