From aada39361e6301b49e7b4769095cb321fa4bece5 Mon Sep 17 00:00:00 2001 From: Daniel Odendahl Jr Date: Mon, 5 Mar 2018 17:59:58 +0000 Subject: [PATCH] Severe Toxicity --- commands/other/severe-toxicity.js | 41 +++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 commands/other/severe-toxicity.js diff --git a/commands/other/severe-toxicity.js b/commands/other/severe-toxicity.js new file mode 100644 index 00000000..ed018486 --- /dev/null +++ b/commands/other/severe-toxicity.js @@ -0,0 +1,41 @@ +const { Command } = require('discord.js-commando'); +const snekfetch = require('snekfetch'); +const { GOOGLE_KEY } = process.env; + +module.exports = class SevereToxicityCommand extends Command { + constructor(client) { + super(client, { + name: 'severe-toxicity', + aliases: ['severe-perspective', 'severe-comment-toxicity'], + group: 'other', + memberName: 'severe-toxicity', + description: 'Determines the toxicity of text, but less sensitive to milder language.', + args: [ + { + key: 'text', + prompt: 'What text do you want to test the toxicity of?', + type: 'string' + } + ] + }); + } + + async run(msg, { text }) { + try { + const { body } = await snekfetch + .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.say(`Likely to be perceived as toxic. (${toxicity}%)`); + if (toxicity >= 40) return msg.say(`Unsure if this will be perceived as toxic. (${toxicity}%)`); + return msg.say(`Unlikely to be perceived as toxic. (${toxicity}%)`); + } catch (err) { + return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`); + } + } +}; diff --git a/package.json b/package.json index 441c229c..97072025 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xiao", - "version": "66.6.1", + "version": "66.7.0", "description": "Your personal server companion.", "main": "Xiao.js", "scripts": {