회사 메신저로 Mattermost(매터모스트)를 사용 중이다.

얼마 전 사원들 생일파티(...) 담당을 맡게되었는데 메신저에 생일파티 알람을 주면 어떨까 싶어서 찾아봤다.

 

github.com/jonathanwiesel/node-mattermost

 

jonathanwiesel/node-mattermost

a nodejs module for sending and receiving messages from Mattermost - jonathanwiesel/node-mattermost

github.com

위의 프로젝트를 이용했다.

일단 테스트를 위해 채널을 하나 새로 만들었다.

 

1. Hook URL 구하기

 

test channel 생성

 

Menu -> intergrations

작성 후 제일 아래에 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'
    // ...
}

 

+ Recent posts