mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-18 13:56:25 +02:00
Cleverbot
This commit is contained in:
-18
@@ -76,24 +76,6 @@ client.on('message', async (msg) => {
|
|||||||
if (msg.channel.permissionsFor(client.user).has('MANAGE_MESSAGES')) msg.delete();
|
if (msg.channel.permissionsFor(client.user).has('MANAGE_MESSAGES')) msg.delete();
|
||||||
else msg.channel.send('Message could not be deleted, missing the `Manage Messages` permission.');
|
else msg.channel.send('Message could not be deleted, missing the `Manage Messages` permission.');
|
||||||
return msg.reply('Invites are prohibited from being posted here.');
|
return msg.reply('Invites are prohibited from being posted here.');
|
||||||
} else
|
|
||||||
if (msg.isMentioned(client.user)) {
|
|
||||||
if (msg.author.bot) return;
|
|
||||||
if (msg.channel.type !== 'dm') {
|
|
||||||
if (!msg.channel.permissionsFor(client.user).has('SEND_MESSAGES')) return;
|
|
||||||
const role = msg.guild.settings.get('singleRole');
|
|
||||||
if (role && !msg.member.roles.has(role)) return;
|
|
||||||
}
|
|
||||||
msg.channel.startTyping();
|
|
||||||
const message = msg.content.replace(client.mentionRegex, '');
|
|
||||||
try {
|
|
||||||
const { response } = await client.cleverbot.ask(message);
|
|
||||||
return msg.reply(response)
|
|
||||||
.then(() => msg.channel.stopTyping());
|
|
||||||
} catch (err) {
|
|
||||||
return msg.reply(`${err.name}: ${err.message}`)
|
|
||||||
.then(() => msg.channel.stopTyping());
|
|
||||||
}
|
|
||||||
} else return;
|
} else return;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
const { Command } = require('discord.js-commando');
|
||||||
|
const Cleverbot = require('cleverio');
|
||||||
|
const { CLEVS_KEY, CLEVS_USER, CLEVS_NICK } = process.env;
|
||||||
|
|
||||||
|
module.exports = class CleverbotCommand extends Command {
|
||||||
|
constructor(client) {
|
||||||
|
super(client, {
|
||||||
|
name: 'cleverbot',
|
||||||
|
aliases: ['clevs', 'chat'],
|
||||||
|
group: 'random',
|
||||||
|
memberName: 'cleverbot',
|
||||||
|
description: 'Talk to Cleverbot!',
|
||||||
|
args: [
|
||||||
|
{
|
||||||
|
key: 'text',
|
||||||
|
prompt: 'What do you want to say to Cleverbot?',
|
||||||
|
type: 'string'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
|
||||||
|
this.clevs = new Cleverbot({
|
||||||
|
key: CLEVS_KEY,
|
||||||
|
user: CLEVS_USER,
|
||||||
|
nick: CLEVS_NICK
|
||||||
|
});
|
||||||
|
this.clevs.create().then(res => console.log(res));
|
||||||
|
}
|
||||||
|
|
||||||
|
async run(msg, args) {
|
||||||
|
const { text } = args;
|
||||||
|
msg.channel.startTyping();
|
||||||
|
try {
|
||||||
|
const { response } = await this.clevs.ask(text);
|
||||||
|
return msg.reply(response)
|
||||||
|
.then(() => msg.channel.stopTyping());
|
||||||
|
} catch (err) {
|
||||||
|
return msg.say(`${err.name}: ${err.message}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -1,24 +1,12 @@
|
|||||||
const { Client } = require('discord.js-commando');
|
const { Client } = require('discord.js-commando');
|
||||||
const Database = require('./PostgreSQL');
|
const Database = require('./PostgreSQL');
|
||||||
const Cleverbot = require('cleverio');
|
|
||||||
const { CLEVS_KEY, CLEVS_USER, CLEVS_NICK } = process.env;
|
|
||||||
|
|
||||||
class CommandoClient extends Client {
|
class CommandoClient extends Client {
|
||||||
constructor(options) {
|
constructor(options) {
|
||||||
super(options);
|
super(options);
|
||||||
this.database = Database.db;
|
this.database = Database.db;
|
||||||
this.cleverbot = new Cleverbot({
|
|
||||||
key: CLEVS_KEY,
|
|
||||||
user: CLEVS_USER,
|
|
||||||
nick: CLEVS_NICK
|
|
||||||
});
|
|
||||||
|
|
||||||
Database.start();
|
Database.start();
|
||||||
this.cleverbot.create();
|
|
||||||
}
|
|
||||||
|
|
||||||
get mentionRegex() {
|
|
||||||
return new RegExp(`<!?@${this.user.id}>`, 'g');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user