UNPKG

@develable/rutapbot-d20

Version:

[KR] Rutap Bot will makes your discord life better!

54 lines (47 loc) 2.15 kB
import * as Discord from 'discord.js'; export enum ERR_CODE { UNK, NOTERROR, STRUNEXIST, STRCREATED, STRCREATEFAIL, STRDELETEFAIL, STRWRITEFAIL, } export const errDescription: Map<ERR_CODE, string> = new Map<ERR_CODE, string>(); errDescription.set(ERR_CODE.UNK, '알 수 없는 오류입니다!'); errDescription.set(ERR_CODE.NOTERROR, '에러가 아닙니다 (?) - 처리용'); errDescription.set(ERR_CODE.STRUNEXIST, '존재하지 않는 저장소입니다.'); errDescription.set(ERR_CODE.STRCREATED, '이미 생성된 저장소입니다.'); errDescription.set(ERR_CODE.STRCREATEFAIL, '저장소 생성에 실패했습니다.'); errDescription.set(ERR_CODE.STRDELETEFAIL, '저장소 삭제에 실패했습니다.'); errDescription.set(ERR_CODE.STRWRITEFAIL, '저장소 쓰기에 실패했습니다.'); const generateErrorID = function (): string { let date = new Date(); let dateString = date.getFullYear().toString(); // 년 if (date.getMonth() < 10) dateString += '0' + date.getMonth().toString(); // 월 else dateString += date.getMonth().toString(); if (date.getDate() < 10) dateString += '0' + date.getDate().toString(); // 일 else dateString += date.getDate().toString(); if (date.getHours() < 10) dateString += '0' + date.getHours().toString(); // 시 else dateString += date.getHours().toString(); let randomCode = Math.random().toString(36).substr(2,8); // 랜덤문자열 8글자 return dateString + '-' + randomCode; // YYYYMMDDHH-asdfqwer(랜덤 8글자) } export class Error { public errCode: ERR_CODE public errDescription: string public errID: string constructor(errCode: ERR_CODE) { this.errCode = errCode; this.errDescription = errDescription.get(errCode); this.errID = generateErrorID(); return; } public static NONE = new Error(ERR_CODE.NOTERROR); } export const errorHandler = function (error: Error): Error { console.log(`에러 발생! 에러코드 : ${error.errCode}, 에러ID : ${error.errID}`); // TODO : 로깅 return error; }