Project/codestates-final-project

8일차 / slack 완료 및 프론트 태그 도움

fullfish 2022. 4. 28. 22:56

어제

const { WebClient, LogLevel } = require("@slack/web-api");
const client = new WebClient(process.env.SLACK_BOT_API, {
  logLevel: LogLevel.DEBUG,
});
const channelId = process.env.SLACK_CHANNEL;
exports.slack = async (message) => {
  try {
    const result = await client.chat.postMessage({
      channel: channelId,
      text: message,
    });
    console.log(result);
  } catch (error) {
    console.error(error);
  }
};

이렇게 모듈화 해놓고

await slack.slack("제목");
await slack.slack("내용");

이런식으로 사용했었는데 

두 줄로 써야하는 불편함과

await 때문에 렉이 좀 있길래

const { WebClient, LogLevel } = require("@slack/web-api");
const client = new WebClient(process.env.SLACK_BOT_API, {
  logLevel: LogLevel.DEBUG,
});
const channelId = process.env.SLACK_CHANNEL;
exports.slack = async (title, message) => {
  let text = "";
  message !== undefined
    ? (text = `${title}
${message}`)
    : (text = title);
  try {
    const result = await client.chat.postMessage({
      channel: channelId,
      text: text,
    });
    // console.log(result);
  } catch (error) {
    console.error(error);
  }
};
await slack.slack("Diary Delete 200", `id : ${id}`);

이런식으로 바꿔줬다 (await은 혹시 몰라 안빼줌....)

에러응답류는 데이터를 안보내므로 message가 비어있는데 

조건문을 안걸면 슬렉상에서 undefined가 걸려있다

 

그리고 프론트의 다이어리 태그추가하는 부분을 도왔다