From 47448009c6808900a5a61fbdf0b6b0d6d00da6ce Mon Sep 17 00:00:00 2001 From: Sokolas Date: Mon, 12 Jul 2021 12:07:40 +0300 Subject: [PATCH 1/3] role check --- index.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/index.ts b/index.ts index f02a3e4..e6e9e92 100644 --- a/index.ts +++ b/index.ts @@ -34,6 +34,7 @@ interface MarkbotConfig { prefix?: string; game?: string; token?: string; + role?: string; } const version: string = JSON.parse(fs.readFileSync('./package.json', 'utf8')).version || '0.0.0'; @@ -46,6 +47,7 @@ const PAGE_SIZE = 100; // let guilds = []; // let connected = -1; let GAME = '!mark help'; +let ROLE: string | null; let PREFIX = '!mark'; let STATE_SIZE = 2; // Value of 1 to 3, based on corpus quality let MAX_TRIES = 1000; @@ -147,6 +149,7 @@ function loadConfig(): void { STATE_SIZE = cfg.stateSize || STATE_SIZE; MIN_SCORE = cfg.minScore || MIN_SCORE; MAX_TRIES = cfg.maxTries || MAX_TRIES; + ROLE = cfg.role || null; } catch (e) { console.warn('Failed to read config.json.'); token = process.env.TOKEN || token; @@ -388,7 +391,13 @@ client.on('message', message => { dbObj.attachment = message.attachments.values().next().value.url; } messageCache.push(dbObj); - if (client.user && message.mentions.has(client.user)) { + let send = true; + if (ROLE) { + let roles = message.member?.roles.cache.map(role => role.name); + send = roles?.includes(ROLE) || false; + } + + if (send && client.user && message.mentions.has(client.user)) { generateResponse(message); } } From 004e374fdff85e65975584d66e8f19cbe292c9e1 Mon Sep 17 00:00:00 2001 From: Sokolas Date: Mon, 12 Jul 2021 17:42:08 +0300 Subject: [PATCH 2/3] fix roles --- index.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/index.ts b/index.ts index e6e9e92..c74a539 100644 --- a/index.ts +++ b/index.ts @@ -369,7 +369,15 @@ client.on('message', message => { } } if (command === 'respond') { - generateResponse(message); + let send = true; + if (ROLE != null) { + let roles = message.member?.roles.cache.map(role => role.name); + send = roles?.includes(ROLE) || false; + } + + if (send) { + generateResponse(message); + } } if (command === 'tts') { generateResponse(message, false, true); @@ -391,13 +399,7 @@ client.on('message', message => { dbObj.attachment = message.attachments.values().next().value.url; } messageCache.push(dbObj); - let send = true; - if (ROLE) { - let roles = message.member?.roles.cache.map(role => role.name); - send = roles?.includes(ROLE) || false; - } - - if (send && client.user && message.mentions.has(client.user)) { + if (client.user && message.mentions.has(client.user)) { generateResponse(message); } } From f96c1e199620a8e1d304a7ef448ea9fee506265e Mon Sep 17 00:00:00 2001 From: Andrew Sokolov Date: Mon, 12 Jul 2021 19:00:23 +0300 Subject: [PATCH 3/3] Update README.md with role changes --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d797166..803d60b 100644 --- a/README.md +++ b/README.md @@ -84,11 +84,12 @@ Create a file called `config.json` in the project directory with the contents: { "prefix":"!mark", "game":"\"!mark help\" for help", - "token":"k5NzE2NDg1MTIwMjc0ODQ0Nj.DSnXwg.ttNotARealToken5p3WfDoUxhiH" + "token":"k5NzE2NDg1MTIwMjc0ODQ0Nj.DSnXwg.ttNotARealToken5p3WfDoUxhiH", + "role": "Bot users" } ``` -Feel free to change the command prefix, game display. Add your bot token. +Feel free to change the command prefix, game display. Add your bot token. Role is optional, if it is set, only the users who have that role can use text generation. #### Install and Run