From 06819f6799b1fa78e7525f3887dc46be93253b95 Mon Sep 17 00:00:00 2001 From: tetsuya-ki <64536338+tetsuya-ki@users.noreply.github.com> Date: Sun, 3 Mar 2024 12:01:36 +0900 Subject: [PATCH] fix: #135 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - read:admin:emoji権限がない場合その旨ポストするよう変更 - メンション起動の場合は、カスタム絵文字追加がなかったとき、なにも追加されてないことを返答するよう変更 --- src/modules/check-custom-emojis/index.ts | 29 ++++++++++++++++++++---- src/serifs.ts | 3 ++- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/modules/check-custom-emojis/index.ts b/src/modules/check-custom-emojis/index.ts index 658a983..ab2508d 100644 --- a/src/modules/check-custom-emojis/index.ts +++ b/src/modules/check-custom-emojis/index.ts @@ -43,14 +43,35 @@ export default class extends Module { } @bindThis - private async post() { + private async post(byMentionHook:boolean = false) { this.log('Start to Check CustomEmojis.'); const lastEmoji = this.lastEmoji.find({}); const lastId = lastEmoji.length != 0 ? lastEmoji[0].id : null; - const emojisData = await this.checkCumstomEmojis(lastId); - if (emojisData.length == 0) { + let emojisData:any[] | null = null; + try { + emojisData = await this.checkCumstomEmojis(lastId); + } catch (err: unknown) { + this.log('Error By API(admin/emoji/list)'); + if (err instanceof Error) { + this.log(`${err.name}\n${err.message}`); + } + } + if (emojisData === null) { + const errMessage = 'read:admin:emoji権限がないため、エラーが発生しました。\nカスタム絵文字管理の権限が付与されているか見直しをお願いします。'; + this.log(errMessage); + await this.ai.post({ + text: errMessage + }); + return; + } + else if (emojisData.length == 0) { this.log('No CustomEmojis Added.'); + if (byMentionHook) { + await this.ai.post({ + text: serifs.checkCustomEmojis.nothing + }); + } return; } @@ -148,7 +169,7 @@ export default class extends Module { this.log('Check CustomEmojis requested'); } - await this.post(); + await this.post(true); return { reaction: 'like' diff --git a/src/serifs.ts b/src/serifs.ts index 49fc8d4..7a0e48a 100644 --- a/src/serifs.ts +++ b/src/serifs.ts @@ -385,7 +385,8 @@ export default { post: (server_name, num) => `${server_name}に${num}件の絵文字が追加されました!`, emojiPost: emoji => `:${emoji}:\n(\`${emoji}\`) #AddCustomEmojis`, postOnce: (server_name, num, text) => `${server_name}に${num}件の絵文字が追加されました!\n${text} #AddCustomEmojis`, - emojiOnce: emoji => `:${emoji}:(\`${emoji}\`)` + emojiOnce: emoji => `:${emoji}:(\`${emoji}\`)`, + nothing: '絵文字を確認しましたが、なにも追加されていないみたいです', }, sleepReport: {