created: 2022-09-24T08:36:29.583Z

雑にSlackにエラーを通知するためのスニペット

雑に書いたら動いたのでメモしておく。

export const LogHandler: EventFunction = async (data: any) => {
  try {
    await run(data);
  } catch (e: any) {
    const slack = DI.SlackWebClient();
    const dataStr = "```" + JSON.stringify(data || {}, null, 2) + "```";
    const stackTrace = "```" + (e.stack ?? e.message) + "```";
    slack.chat.postMessage({
      channel: "#test",
      mrkdwn: true,
      text: `<@U0xxxxxxxx> Error occured. ${dataStr} ${stackTrace}`,
    });
  }
};

SlackのAPIはどうにも憶えにくくて、凝っても際限ないのでこれくらいがいいのかもしれない。

参考

アレ何? 大事典
[ad] アレ何? 大事典
佐々木 正孝, 篠崎 晃一 (単行本)