Made [[opt-in available via DM only
This commit is contained in:
parent
f43cf0fa31
commit
7bb6018bdf
|
@ -1,4 +1,4 @@
|
||||||
# The Artificer - A Dice Rolling Discord Bot | V2.1.0 - 2022/07/10
|
# The Artificer - A Dice Rolling Discord Bot | V2.1.1 - 2022/07/10
|
||||||
[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-orange.svg)](https://sonarcloud.io/summary/new_code?id=TheArtificer)
|
[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-orange.svg)](https://sonarcloud.io/summary/new_code?id=TheArtificer)
|
||||||
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=TheArtificer&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=TheArtificer) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=TheArtificer&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=TheArtificer) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=TheArtificer&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=TheArtificer) [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=TheArtificer&metric=bugs)](https://sonarcloud.io/summary/new_code?id=TheArtificer) [![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=TheArtificer&metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=TheArtificer) [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=TheArtificer&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=TheArtificer)
|
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=TheArtificer&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=TheArtificer) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=TheArtificer&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=TheArtificer) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=TheArtificer&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=TheArtificer) [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=TheArtificer&metric=bugs)](https://sonarcloud.io/summary/new_code?id=TheArtificer) [![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=TheArtificer&metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=TheArtificer) [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=TheArtificer&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=TheArtificer)
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ The Artificer comes with a few supplemental commands to the main rolling command
|
||||||
* `[[report [[2+2]] returned 5 when I expected it to return 4` will send the entire message after `[[report` to the devs via Discord.
|
* `[[report [[2+2]] returned 5 when I expected it to return 4` will send the entire message after `[[report` to the devs via Discord.
|
||||||
* `[[opt-out` or `[[ignore-me`
|
* `[[opt-out` or `[[ignore-me`
|
||||||
* Adds you to an ignore list so the bot will never respond to you
|
* Adds you to an ignore list so the bot will never respond to you
|
||||||
* `[[opt-in`
|
* `[[opt-in` **Available only via DM**
|
||||||
* Removes you from the ignore list
|
* Removes you from the ignore list
|
||||||
* `[[xdydzracsq!]]`
|
* `[[xdydzracsq!]]`
|
||||||
* This is the command the bot was built specifically for.
|
* This is the command the bot was built specifically for.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
export const config = {
|
export const config = {
|
||||||
'name': 'The Artificer', // Name of the bot
|
'name': 'The Artificer', // Name of the bot
|
||||||
'version': '2.1.0', // Version of the bot
|
'version': '2.1.1', // Version of the bot
|
||||||
'token': 'the_bot_token', // Discord API Token for this bot
|
'token': 'the_bot_token', // Discord API Token for this bot
|
||||||
'localtoken': 'local_testing_token', // Discord API Token for a secondary OPTIONAL testing bot, THIS MUST BE DIFFERENT FROM "token"
|
'localtoken': 'local_testing_token', // Discord API Token for a secondary OPTIONAL testing bot, THIS MUST BE DIFFERENT FROM "token"
|
||||||
'prefix': '[[', // Prefix for all commands
|
'prefix': '[[', // Prefix for all commands
|
||||||
|
|
2
mod.ts
2
mod.ts
|
@ -174,7 +174,7 @@ startBot({
|
||||||
if (message.isBot) return;
|
if (message.isBot) return;
|
||||||
|
|
||||||
// Ignore users who requested to be ignored
|
// Ignore users who requested to be ignored
|
||||||
if (ignoreList.includes(message.authorId) && !message.content.startsWith(`${config.prefix}opt-in`)) return;
|
if (ignoreList.includes(message.authorId) && (!message.content.startsWith(`${config.prefix}opt-in`) || message.guildId !== 0n)) return;
|
||||||
|
|
||||||
// Ignore all messages that are not commands
|
// Ignore all messages that are not commands
|
||||||
if (message.content.indexOf(config.prefix) !== 0) {
|
if (message.content.indexOf(config.prefix) !== 0) {
|
||||||
|
|
|
@ -11,29 +11,29 @@ export const optIn = async (message: DiscordenoMessage) => {
|
||||||
// Light telemetry to see how many times a command is being run
|
// Light telemetry to see how many times a command is being run
|
||||||
dbClient.execute(queries.callIncCnt('opt-out')).catch((e) => utils.commonLoggers.dbError('optIn.ts:11', 'call sproc INC_CNT on', e));
|
dbClient.execute(queries.callIncCnt('opt-out')).catch((e) => utils.commonLoggers.dbError('optIn.ts:11', 'call sproc INC_CNT on', e));
|
||||||
|
|
||||||
try {
|
const idIdx = ignoreList.indexOf(message.authorId);
|
||||||
const idIdx = ignoreList.indexOf(message.authorId);
|
if (idIdx !== -1) {
|
||||||
if (idIdx !== -1) {
|
try {
|
||||||
ignoreList.splice(idIdx, 1);
|
ignoreList.splice(idIdx, 1);
|
||||||
await dbClient.execute('DELETE FROM ignore_list WHERE userid = ?', [message.authorId]);
|
await dbClient.execute('DELETE FROM ignore_list WHERE userid = ?', [message.authorId]);
|
||||||
|
|
||||||
|
message.reply({
|
||||||
|
embeds: [{
|
||||||
|
color: successColor,
|
||||||
|
title: `${config.name} will now respond to you again.`,
|
||||||
|
description: `If you want ${config.name} to ignore to you again, please run the following command:
|
||||||
|
|
||||||
|
\`${config.prefix}opt-out\``,
|
||||||
|
}],
|
||||||
|
}).catch((e: Error) => utils.commonLoggers.messageSendError('optIn.ts:27', message, e));
|
||||||
|
} catch (err) {
|
||||||
|
message.reply({
|
||||||
|
embeds: [{
|
||||||
|
color: failColor,
|
||||||
|
title: 'Opt-In failed',
|
||||||
|
description: 'Please try the command again. If the issue persists, please join the support server, linked in my About Me section.',
|
||||||
|
}],
|
||||||
|
}).catch((e: Error) => utils.commonLoggers.messageSendError('optIn.ts:27', message, e));
|
||||||
}
|
}
|
||||||
|
|
||||||
message.reply({
|
|
||||||
embeds: [{
|
|
||||||
color: successColor,
|
|
||||||
title: `${config.name} will now respond to you again.`,
|
|
||||||
description: `If you want ${config.name} to ignore to you again, please run the following command:
|
|
||||||
|
|
||||||
\`${config.prefix}opt-out\``,
|
|
||||||
}],
|
|
||||||
}).catch((e: Error) => utils.commonLoggers.messageSendError('optIn.ts:27', message, e));
|
|
||||||
} catch (err) {
|
|
||||||
message.reply({
|
|
||||||
embeds: [{
|
|
||||||
color: failColor,
|
|
||||||
title: 'Opt-In failed',
|
|
||||||
description: 'Please try the command again. If the issue persists, please join the support server, linked in my About Me section.',
|
|
||||||
}],
|
|
||||||
}).catch((e: Error) => utils.commonLoggers.messageSendError('optIn.ts:27', message, e));
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -19,7 +19,7 @@ export const optOut = async (message: DiscordenoMessage) => {
|
||||||
embeds: [{
|
embeds: [{
|
||||||
color: successColor,
|
color: successColor,
|
||||||
title: `${config.name} will no longer respond to you.`,
|
title: `${config.name} will no longer respond to you.`,
|
||||||
description: `If you want ${config.name} to respond to you again, please run the following command:
|
description: `If you want ${config.name} to respond to you again, please DM ${config.name} the following command:
|
||||||
|
|
||||||
\`${config.prefix}opt-in\``,
|
\`${config.prefix}opt-in\``,
|
||||||
}],
|
}],
|
||||||
|
|
Loading…
Reference in New Issue