UNPKG

@naturalcycles/nodejs-lib

Version:
79 lines (78 loc) 1.94 kB
import { StringMap } from '@naturalcycles/js-lib'; import { DebugLogLevel } from '..'; export interface SlackMessage { /** * @default bot */ username?: string; channel?: string; icon_url?: string; /** * @default :spider_web: */ icon_emoji?: string; /** * You can throw anything at it, it'll handle it appropriately: * String - as is * Object - pass via util.inspect() * Error - print the stack nicely */ text: any; level?: DebugLogLevel; attachments?: SlackMessageAttachment[]; /** * Keys-values will be rendered as MessageAttachment with Fields */ kv?: StringMap<any>; /** * If specified - adds @name1, @name2 in the end of the message */ mentions?: string[]; /** * @default false * By default it ignores possible errors from slack */ throwOnError?: boolean; /** * @default false * Skips logging message */ noLog?: boolean; } export interface SlackAttachmentField { title: string; value: string; short?: boolean; } export interface SlackMessageAttachment { fallback?: string; color?: 'good' | 'warning' | 'danger' | string; pretext?: string; author_name?: string; author_link?: string; author_icon?: string; title?: string; title_link?: string; text?: string; fields?: SlackAttachmentField[]; image_url?: string; thumb_url?: string; footer?: string; footer_icon?: string; ts?: number; callback_id?: string; mrkdwn_in?: ('pretext' | 'text' | 'fields')[]; } export interface SlackSharedServiceCfg { /** * Undefined means slack is disabled. */ webhookUrl?: string; defaults?: Partial<SlackMessage>; /** * Override channel when msg.level is set. * key: DebugLogLevel * value: channel name to send message to */ channelByLevel?: StringMap; }