mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-06 22:44:32 +02:00
Add flag help stuff
This commit is contained in:
@@ -26,6 +26,6 @@ module.exports = class LevenshteinCommand extends Command {
|
||||
|
||||
run(msg, { text1, text2 }) {
|
||||
const distance = wuzzy.levenshtein(text1, text2);
|
||||
return msg.reply(distance);
|
||||
return msg.reply(distance.toString());
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
const Command = require('../../framework/Command');
|
||||
const request = require('node-superfetch');
|
||||
const { Message } = require('discord.js');
|
||||
const { GOOGLE_KEY } = process.env;
|
||||
|
||||
module.exports = class SevereToxicityCommand extends Command {
|
||||
constructor(client) {
|
||||
super(client, {
|
||||
name: 'severe-toxicity',
|
||||
aliases: ['severe-perspective', 'severe-comment-toxicity', 'severe-toxic'],
|
||||
group: 'analyze',
|
||||
memberName: 'severe-toxicity',
|
||||
description: 'Determines the toxicity of text, but less sensitive to milder language.',
|
||||
credit: [
|
||||
{
|
||||
name: 'Perspective API',
|
||||
url: 'https://www.perspectiveapi.com/#/',
|
||||
reason: 'API'
|
||||
}
|
||||
],
|
||||
args: [
|
||||
{
|
||||
key: 'text',
|
||||
prompt: 'What text do you want to test the toxicity of?',
|
||||
type: 'message|string'
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
async run(msg, { text }) {
|
||||
if (text instanceof Message) text = text.content;
|
||||
try {
|
||||
const { body } = await request
|
||||
.post('https://commentanalyzer.googleapis.com/v1alpha1/comments:analyze')
|
||||
.query({ key: GOOGLE_KEY })
|
||||
.send({
|
||||
comment: { text },
|
||||
languages: ['en'],
|
||||
requestedAttributes: { SEVERE_TOXICITY: {} }
|
||||
});
|
||||
const toxicity = Math.round(body.attributeScores.SEVERE_TOXICITY.summaryScore.value * 100);
|
||||
if (toxicity >= 70) return msg.reply(`Likely to be perceived as toxic. (${toxicity}%)`);
|
||||
if (toxicity >= 40) return msg.reply(`Unsure if this will be perceived as toxic. (${toxicity}%)`);
|
||||
return msg.reply(`Unlikely to be perceived as toxic. (${toxicity}%)`);
|
||||
} catch (err) {
|
||||
return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -11,6 +11,12 @@ module.exports = class ToxicityCommand extends Command {
|
||||
group: 'analyze',
|
||||
memberName: 'toxicity',
|
||||
description: 'Determines the toxicity of text.',
|
||||
flags: [
|
||||
{
|
||||
key: 'severe',
|
||||
description: 'Makes the check much less vulnerable to basic swearing.'
|
||||
}
|
||||
],
|
||||
credit: [
|
||||
{
|
||||
name: 'Perspective API',
|
||||
@@ -28,7 +34,7 @@ module.exports = class ToxicityCommand extends Command {
|
||||
});
|
||||
}
|
||||
|
||||
async run(msg, { text }) {
|
||||
async run(msg, { text, flags: { severe } }) {
|
||||
if (text instanceof Message) text = text.content;
|
||||
try {
|
||||
const { body } = await request
|
||||
@@ -37,9 +43,10 @@ module.exports = class ToxicityCommand extends Command {
|
||||
.send({
|
||||
comment: { text },
|
||||
languages: ['en'],
|
||||
requestedAttributes: { TOXICITY: {} }
|
||||
requestedAttributes: severe ? { SEVERE_TOXICITY: {} } : { TOXICITY: {} }
|
||||
});
|
||||
const toxicity = Math.round(body.attributeScores.TOXICITY.summaryScore.value * 100);
|
||||
const score = severe ? body.body.attributeScores.SEVERE_TOXICITY : body.attributeScores.TOXICITY;
|
||||
const toxicity = Math.round(score.summaryScore.value * 100);
|
||||
if (toxicity >= 70) return msg.reply(`Likely to be perceived as toxic. (${toxicity}%)`);
|
||||
if (toxicity >= 40) return msg.reply(`Unsure if this will be perceived as toxic. (${toxicity}%)`);
|
||||
return msg.reply(`Unlikely to be perceived as toxic. (${toxicity}%)`);
|
||||
|
||||
@@ -76,6 +76,9 @@ module.exports = class HelpCommand extends Command {
|
||||
__Command **${command.name}**__${command.guildOnly ? ' (Usable only in servers)' : ''}
|
||||
${command.description}${command.details ? `\n${command.details}` : ''}
|
||||
|
||||
**Flags:**
|
||||
${command.flags.length ? command.flags.map(flag => `--${flag.key} (${flag.description})`).join('\n') : 'None'}
|
||||
|
||||
**Format:** ${command.usage(command.format || '')}
|
||||
**Aliases:** ${command.aliases.join(', ') || 'None'}
|
||||
**Group:** ${command.group.name} (\`${command.groupID}:${command.memberName}\`)
|
||||
|
||||
@@ -10,6 +10,7 @@ module.exports = class Command {
|
||||
this.memberName = options.memberName.toLowerCase();
|
||||
this.description = options.description;
|
||||
this.details = options.details || null;
|
||||
this.flags = options.flags || [];
|
||||
this.args = options.args ? options.args.map(arg => new Argument(client, arg)) : [];
|
||||
this.clientPermissions = options.clientPermissions || [];
|
||||
this.userPermissions = options.userPermissions || [];
|
||||
|
||||
Reference in New Issue
Block a user