v4 startin now

This commit is contained in:
ry 2020-02-16 20:30:02 +01:00
parent ce774e0f09
commit 26236cf8a5
57 changed files with 161 additions and 8045 deletions

View file

@ -1,22 +0,0 @@
const Command = require('../../src/structures/Command');
module.exports = class Crime extends Command {
constructor() {
super({
name: 'crime',
description: 'Commit crimes',
aliases: [],
module: 'Economy',
cooldown: 15,
guildOnly: true,
developerOnly: true,
nsfw: false
});
}
async command(ctx) {
ctx.utils.eco.quick('crime', ctx.author.id).then(r => {
ctx.send(r.text)
}).catch(error => ctx.send(`Error ${error.message}`))
}
}

View file

@ -1,22 +0,0 @@
const Command = require('../../src/structures/Command');
module.exports = class Daily extends Command {
constructor() {
super({
name: 'daily',
description: 'Get your Dailies',
aliases: ['d'],
module: 'Economy',
cooldown: 5,
guildOnly: true,
developerOnly: true,
nsfw: false
});
}
async command(ctx) {
ctx.utils.eco.Dailies().then(r => {
ctx.send(`**${r.amount}**<:coin:574116462260912138> has been added to your bank.`)
}).catch(error => ctx.send(`You can get your dailies in ${error.message}`))
}
}

View file

@ -1,22 +0,0 @@
const Command = require('../../src/structures/Command');
module.exports = class Weekly extends Command {
constructor() {
super({
name: 'weekly',
description: 'Get your Dailies',
aliases: ['w'],
module: 'Economy',
cooldown: 5,
guildOnly: true,
developerOnly: true,
nsfw: false
});
}
async command(ctx) {
ctx.utils.eco.weekly().then(r => {
ctx.send(`**${r.amount}**<:coin:574116462260912138> has been added to your bank.`)
}).catch(error => ctx.send(`You can get your weeklies in ${error.message}`))
}
}

View file

@ -1,22 +0,0 @@
const Command = require('../../src/structures/Command');
module.exports = class Work extends Command {
constructor() {
super({
name: 'work',
description: 'Work for your money',
aliases: [],
module: 'Economy',
cooldown: 15,
guildOnly: true,
developerOnly: true,
nsfw: false
});
}
async command(ctx) {
ctx.utils.eco.quick('work', ctx.author.id).then(r => {
ctx.send(r.text)
}).catch(error => ctx.send(`Error ${error.message}`))
}
}

View file

@ -1,48 +0,0 @@
const Command = require('../../src/structures/Command');
const D = require('discord.js');
module.exports = class Bug extends Command {
constructor() {
super({
name: 'bug',
description: 'Report a Bug in the bot',
aliases: [ 'report', 'bugreport' ],
module: 'General',
cooldown: 10,
guildOnly: false,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
/* throw new Error('Testing'); */
let abuse = new D.MessageEmbed()
.setTitle('Misuse of Command')
.setDescription(
`Please make sure to make your Suggestion as Detailed as possible.\n\nAbuse of this command will lead to complete denial of command usage.`
);
if (ctx.args.length < 1) {
return ctx.send(abuse);
}
ctx.trello
.addCard(
ctx.args.join(' '),
`
Author: ${ctx.author.tag} (${ctx.author.id})
Server: ${ctx.guild.name} (${ctx.guild.id})`,
ctx.config.trello.boards.bugs
)
.then((r) => {
ctx.trello.addLabelToCard(r.id, ctx.config.trello.labels.bugs).catch(console.error);
let reply = new D.MessageEmbed()
.setTitle('Report Received')
.setColor(ctx.config.color)
.setDescription(ctx.args.join(' '))
.addField('URL', r.url, true)
.setThumbnail(ctx.client.user.avatarURL());
ctx.send(reply);
});
}
};

View file

@ -1,48 +0,0 @@
const Command = require('../../src/structures/Command');
module.exports = class Changelog extends Command {
constructor() {
super({
name: 'changelog',
description: 'View the latest changes of the bot',
aliases: ['chl', 'c'],
module: 'Developers',
cooldown: 5,
guildOnly: false,
developerOnly: true,
nsfw: false
});
}
async command(ctx) {
let isDev;
if (ctx.vars.developers.find((dev) => ctx.author.id == dev.id)) isDev = true
const ValidActions = /(set|view)/g
let action = ctx.args[0]
ctx.args.shift()
if (!action.match(ValidActions)) return ctx.send(`You can only ${isDev ? ctx.utils.format.code('view/set'): ctx.utils.format.code('view')} a Changelog`)
// ctx.db.backend.get()
let Changelog = ctx.args.join(' ').split('|')
let version = Changelog[0].replace(/\./g, '_')
let text = Changelog[1]
// console.log(action, version, text)
if (action === 'set') {
if (!isDev) return;
await ctx.db.backend.set(version.trim(), text)
ctx.send('Changelog set, posting...')
ctx.client.channels.find(c => c.id == '572515873156235307').send(`**__Version ${version.replace(/\_/g, '.')}__**\n\n${text.trim()}`)
return ctx.send('Sent.')
} else if (action === 'view') {
let Change = ctx.db.backend.get(version)
if (Change === null) return ctx.send(`That is not a valid Version (or it's not in my Database).\nMy latest version is ${ctx.utils.format.bold(ctx.vars.version)}.`)
ctx.send(`**__Version ${version.replace(/\_/g, '.')}__**\n\n${Change}`)
}
}
}

View file

@ -1,159 +0,0 @@
const Command = require("../../src/structures/Command");
const {
MessageEmbed
} = require("discord.js");
function CapFirstLetter(string) {
if (typeof string == undefined) return;
var firstLetter = string[0] || string.charAt(0);
return firstLetter ? firstLetter.toUpperCase() + string.slice(1) : "";
}
module.exports = class nHelp extends Command {
constructor() {
super({
name: "help",
description: "View a list of available commands or information on a specific command.",
aliases: ['h', '?'],
module: "General",
cooldown: 0,
guildOnly: false,
developerOnly: false
});
}
async command(ctx) {
let Help = new MessageEmbed();
const commands = {
General: {
cs: ctx.client.commands
.filter(command => command.module == "General")
.map(c => c),
name: "General"
},
Settings: {
cs: ctx.client.commands
.filter(command => command.module == "Settings")
.map(c => c),
name: "Settings"
},
Images: {
cs: ctx.client.commands
.filter(command => command.module == "Images")
.map(c => c),
name: "Images"
},
Roleplay: {
cs: ctx.client.commands
.filter(command => command.module == "Roleplay")
.map(c => c),
name: "Roleplay"
}
};
let lengths = [];
let names = ["General", "Settings", "Images", "Roleplay"];
for (const i in commands) {
if (commands.hasOwnProperty(i)) {
const c = commands[i];
lengths.push(c.cs.length);
}
}
let start = 0;
Help.setAuthor(ctx.author.tag, ctx.author.avatarURL())
.setTitle("Command Help")
.setTimestamp(new Date())
.setColor(ctx.vars.color)
.setFooter(`${ctx.client.user.username}`, ctx.client.user.avatarURL());
if (ctx.args.length === 0) {
lengths.forEach(c => {
Help.addField(
`${names[start]} (${c})`,
`${ctx.utils.format.code(`'help --${names[start].toLowerCase()}`)}`,
true
);
start++;
});
return ctx.send(Help);
}
let category, cmd;
if (ctx.args.length > 0) {
category = ctx.args[0].slice(2);
cmd = ctx.args[1];
}
if (commands.hasOwnProperty(CapFirstLetter(category))) {
let short = [];
let long = [];
commands[`${CapFirstLetter(category)}`].cs.forEach(c => {
short.push(`${ctx.utils.format.code(c.name)} - ${c.description}`);
long.push(c);
});
if (ctx.args.length === 2) {
let c = long.filter(
c =>
c.name === cmd.toLowerCase() ||
(c.aliases && c.aliases.includes(cmd.toLowerCase()))
);
let Text;
if (c.length === 0) {
Text = "There is no command with that name in this category.";
Help.setDescription(Text);
return ctx.send(Help);
} else {
let fields = [{
name: "Module",
value: c[0].module,
inline: true
},
{
name: "Aliases",
value: c[0].aliases.length == 0 ?
"No aliases" : c[0].aliases.join(", "),
inline: true
},
{
name: "Cooldown",
value: c[0].cooldown == 0 ? "No cooldown" : `${c[0].cooldown}s`,
inline: true
},
{
name: "Server only?",
value: c[0].guildOnly ? "Yes" : "No",
inline: true
},
{
name: "Permissions needed",
value: c[0].AuthorPermissions ? c[0].AuthorPermissions : "None",
inline: true
},
{
name: "Developers only?",
value: c[0].developerOnly ? "Yes" : "No",
inline: true
}
];
fields.forEach(i => {
Help.addField(i.name, i.value, i.inline);
});
return ctx.send(Help);
}
} else {
Help.setDescription(
`Use \n${ctx.utils.format.code(
`'help --<cagegory> <command or alias> to get help on a specific command`
)}\n\n${short.join("\n")}`
);
return ctx.send(Help);
}
} else {
Help.setDescription("This Category does not exist");
return ctx.send(Help);
}
}
};

View file

@ -1,65 +0,0 @@
const Command = require('../../src/structures/Command');
const {
MessageEmbed,
version: DiscordVersion
} = require('discord.js');
const db = require('quick.db');
const Backend = new db.table('backend');
module.exports = class Info extends Command {
constructor() {
super({
name: 'info',
description: 'Show the Makers and Contributors of the Bot',
aliases: ['about'],
module: 'General',
cooldown: 0,
guildOnly: false,
developerOnly: false
});
}
async command(ctx) {
let result;
const {
developers,
contributors,
source,
color
} = ctx.vars
const contribs = [];
for (const {
id,
nick,
reason
} of contributors) {
const user = await ctx.client.users.fetch(id);
contribs.push(`${user} (${nick}) - ${reason}`);
}
const Contributors = contribs.join('\n');
let CreditEmbed = new MessageEmbed()
.setTitle(`${ctx.client.user.username}, a Random Image and Utility Bot`)
.setColor(color)
.setDescription(
`Made by ${ctx.utils.format.bold(
ctx.client.users.find((user) => user.id === '318044130796109825').tag
)}`
)
/* .addField('Language', 'Javascript', true)
.addField('Library', `d.js - v${DiscordVersion}`, true)
.addField('Node', `${process.version}`, true)
.addField('Servers', ctx.client.guilds.size, true)
.addField('Users', ctx.client.users.size, true) */
.addField('Contributors', Contributors)
.addField('Source', `[gd/r/thaldrin](${source})`, true)
.addField(
'Support Server',
`[${ctx.client.guilds.get('438316852347666432').name}](https://discord.gg/${ctx.db.backend.get(
'Info.invite'
)})`,
true
)
.addField('Website', `[thaldr.in](https://thaldr.in)`, true);
ctx.send(CreditEmbed);
}
};

View file

@ -1,22 +0,0 @@
const Command = require('../../src/structures/Command');
const D = require('discord.js');
module.exports = class Invite extends Command {
constructor() {
super({
name: 'invite',
description: 'Get the Bot Invite.',
module: 'General',
cooldown: 0,
guildOnly: false,
developerOnly: false
});
}
async command(ctx) {
const Embed = new D.MessageEmbed()
.setDescription(`**[Invite Me!](https://thaldr.in/invite)**`)
.setColor(ctx.config.color)
.setFooter(`${ctx.client.user.username}`, ctx.client.user.avatarURL());
return ctx.send(Embed);
}
};

View file

@ -1,27 +0,0 @@
const Command = require('../../src/structures/Command');
module.exports = class Ping extends Command {
constructor() {
super({
name: 'ping',
description: 'Pings Discord to check the API and gateway latency.',
aliases: [],
module: 'General',
cooldown: 0,
guildOnly: false,
developerOnly: false
});
}
async command(ctx) {
const m = await ctx.send(`Pinging..`);
const rest = Math.round(m.createdTimestamp - ctx.msg.createdTimestamp);
const ws = Math.round(ctx.client.ws.ping);
const shard = Math.round(ctx.guild.shard.ping);
return m.edit(`REST ${rest / 1000}s (${rest}ms)\nWS ${ws / 1000}s (${ws}ms)`);
}
}
// \nShard Avg. ${shard / 1000}s (${shard}ms) [${ctx.guild.shard.pings.join(', ')}]

View file

@ -1,70 +0,0 @@
const Command = require('../../src/structures/Command');
module.exports = class ServerInfo extends Command {
constructor() {
super({
name: 'serverinfo',
description: 'Shows Information about your Server!',
aliases: [ 'server', 'sinfo', 'si' ],
module: 'General',
cooldown: 0,
guildOnly: true,
developerOnly: false
});
}
async command(ctx) {
const total = ctx.guild.members.size;
const users = ctx.guild.members.filter((m) => !m.user.bot).size;
const bots = ctx.guild.members.filter((m) => m.user.bot).size;
const Features = ctx.guild.features;
let OnlineUsers =
ctx.utils.emotes.MemberStatus['online'] +
ctx.guild.members.filter((m) => m.presence.status === 'online').size;
let DNDUsers =
ctx.utils.emotes.MemberStatus['dnd'] + ctx.guild.members.filter((m) => m.presence.status === 'dnd').size;
let IdleUsers =
ctx.utils.emotes.MemberStatus['idle'] + ctx.guild.members.filter((m) => m.presence.status === 'idle').size;
let OfflineUsers =
ctx.utils.emotes.MemberStatus['offline'] +
ctx.guild.members.filter((m) => m.presence.status === 'offline').size;
let features = [];
Features.forEach((f) => features.push(ctx.utils.emotes.features[f.toLowerCase()] || f));
let Embed = new ctx.utils.discord.MessageEmbed();
Embed.setTitle(ctx.guild.name)
.setColor(ctx.config.color)
.setThumbnail(ctx.guild.iconURL())
.addField(
'Members',
`${ctx.utils.format.bold(`Total:`)} ${ctx.utils.format.code(total)}\n${ctx.utils.format.bold(
`Users:`
)} ${ctx.utils.format.code(users)}\n${ctx.utils.format.bold(`Bots:`)} ${ctx.utils.format.code(bots)}
${OnlineUsers}
${DNDUsers}
${IdleUsers}
${OfflineUsers}`
)
.addField('Owner', ctx.guild.owner, true)
.addField('Large?', ctx.guild.large ? ctx.utils.emotes.settings.on : ctx.utils.emotes.settings.off, true)
.addField(
'Boost Level / Boosters',
`${ctx.guild.premiumTier} / ${ctx.guild.premiumSubscriptionCount}`,
true
)
.addField('Region', ctx.utils.emotes.regions[ctx.guild.region] || ctx.guild.region, true)
.addField('Features', features.join(' **|** ') || 'None');
if (ctx.guild.vanityURLCode) {
Embed.addField(
'Vanity URL',
`[discord.gg/${ctx.guild.vanityURLCode}](https://discord.gg/${ctx.guild.vanityURLCode})`
);
}
/* .addField('Large?')
.addField('Large?'); */
ctx.send(Embed);
}
};

View file

@ -1,63 +0,0 @@
const Command = require('../../src/structures/Command');
const {
MessageEmbed: Embed
} = require('discord.js')
module.exports = class Statistics extends Command {
constructor() {
super({
name: 'statistics',
description: 'Get in-depth bot Stats',
aliases: ['stats'],
module: 'General',
cooldown: 5,
guildOnly: false,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
let StatisticsEmbed = new Embed().setTitle(`${ctx.vars.name} v${ctx.vars.version} Statistics`).setColor(ctx.vars.color)
var SortUsage = [];
var SortSL = [];
var SortSF = [];
let usage = ctx.db.backend.get('usage')
let Shortlink = ctx.db.backend.get('Shortlink')
let SourceFynnder = ctx.db.backend.get('SourceFynnder')
// change data value to the one you showed in pic
for (var type in usage) {
SortUsage.push([type, usage[type]]);
}
for (var type in Shortlink) {
SortSL.push([type, Shortlink[type]]);
}
for (var type in SourceFynnder) {
SortSF.push([type, SourceFynnder[type]]);
}
let usages = SortUsage.sort((a, b) => b[1] - a[1])
let SLs = SortSL.sort((a, b) => b[1] - a[1])
let SFs = SortSF.sort((a, b) => b[1] - a[1])
let UsageStats = ''
let SLStats = ''
let SFStats = ''
usages.forEach(use => {
UsageStats += `${ctx.utils.format.bold(use[0])} - \`${use[1]}\`\n`
})
SLs.forEach(SL => {
SLStats += `${ctx.utils.format.bold(SL[0])} - \`${SL[1]}\`\n`
})
SFs.forEach(SF => {
SFStats += `${ctx.utils.format.bold(SF[0]).replace(/found/g,'Found w/')} - \`${SF[1]}\`\n`
})
StatisticsEmbed.addField("Uptime", `${ctx.utils.format.uptime(process.uptime())}`, true)
.addField("Servers", ctx.client.guilds.size, true)
.addField("Users", ctx.client.users.size, true)
.addField('Command Usage', UsageStats, true)
.addField('Shortlink Usage', SLStats, true)
.addField('SourceFynnder Usage', SFStats.replace(/Found w\//, 'Total'), true)
ctx.send(StatisticsEmbed)
}
}

View file

@ -1,57 +0,0 @@
const Command = require('../../src/structures/Command');
const D = require('discord.js');
module.exports = class Suggest extends Command {
constructor() {
super({
name: 'suggest',
description: 'Suggest something for the Bot',
aliases: [ 'sug', 'suggestion' ],
module: 'General',
cooldown: 10,
guildOnly: false,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
/* throw new Error('Testing'); */
let Misuse = new D.MessageEmbed()
.setTitle('Misuse of Command')
.setDescription(
`There was
Please make sure to make your Suggestion as Detailed as possible.\n\nAbuse of this command will lead to complete denial of command usage.`
);
if (ctx.args.length < 1) {
return ctx.send(abuse);
}
let Suggestion = ctx.args.join(' ').split('|')
if (Suggestion.length < 2) return ctx.send(`Only the Title doesn't help, please add Text after the \`|\` to send me your Suggestion`)
if (Suggestion[1] === '') return ctx.send(`Only the Title doesn't help, please add Text after the \`|\` to send me your Suggestion`)
ctx.trello
.addCard(
Suggestion[0],
`
${Suggestion[1]}
Author: ${ctx.author.tag} (${ctx.author.id})
Server: ${ctx.guild.name} (${ctx.guild.id})`,
ctx.config.trello.boards.suggestions
)
.then((r) => {
ctx.trello.addLabelToCard(r.id, ctx.config.trello.labels.suggestions).catch(console.error);
let reply = new D.MessageEmbed()
.setTitle('Suggestion Received')
.setColor(ctx.config.color)
.setDescription(ctx.args.join(' '))
.addField('URL', r.url, true)
.setThumbnail(ctx.client.user.avatarURL());
ctx.send(reply);
});
}
};

View file

@ -1,54 +0,0 @@
const Command = require("../../src/structures/Command");
const { MessageEmbed, version: DiscordVersion } = require("discord.js");
const { developers, contributors, source, color } = require("../../config");
const os = require("os");
const db = require("quick.db");
const Backend = new db.table("backend");
function format(seconds) {
function pad(s) {
return (s < 10 ? "0" : "") + s;
}
var hours = Math.floor(seconds / (60 * 60));
var minutes = Math.floor((seconds % (60 * 60)) / 60);
var seconds = Math.floor(seconds % 60);
return pad(hours) + "h " + pad(minutes) + "m " + pad(seconds) + "s";
}
module.exports = class Info extends Command {
constructor() {
super({
name: "system",
description: "Show System Info",
aliases: ["sys", "sysinfo"],
module: "General",
cooldown: 0,
guildOnly: false,
developerOnly: false
});
}
async command(ctx) {
let SystemEmbed = new MessageEmbed()
.setTitle(`${ctx.client.user.username} | v${ctx.vars.version}`)
.setColor(color)
.setDescription(
`Made by ${ctx.utils.format.bold(
ctx.client.users.find(user => user.id === "318044130796109825").tag
)}`
)
.addField("Language", "Javascript", true)
.addField("Library", `d.js - v${DiscordVersion}`, true)
.addField("Uptime", `${format(process.uptime())}`, true)
.addField("Node", `${process.version}`, true)
.addField("Servers", ctx.client.guilds.size, true)
.addField("Users", ctx.client.users.size, true)
.addField(
"Total sauce found",
ctx.db.backend.get("SourceFynnder.found"),
true
);
ctx.send(SystemEmbed);
}
};

View file

@ -1,59 +0,0 @@
const Command = require('../../src/structures/Command');
module.exports = class Userinfo extends Command {
constructor() {
super({
name: 'userinfo',
description: 'Shows User Information',
aliases: [ 'user', 'ui', 'uinfo' ],
module: 'General',
cooldown: 2,
guildOnly: true,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
let User;
let Game;
let Embed = new ctx.utils.discord.MessageEmbed();
User = ctx.msg.mentions.members.first() || /* ctx.args[0] || */ ctx.member;
if (User.presence.activity === null) {
Game = 'Playing Nothing';
} else {
if (User.presence.activity.name === 'Custom Status') {
Game = `${User.presence.activity.state || 'Error'}`;
} else {
if (User.presence.activity.details === null) {
User.presence.activity.details = '*_ _*';
User.presence.activity.state = '*_ _*';
} else {
Game = `
${User.presence.activity.name}
${User.presence.activity.details}
${User.presence.activity.state}`;
}
}
}
let Roles = [];
let x = 0;
for (const role of User.roles) {
Roles.push(`<@&${role[0]}>`);
}
Embed.setTitle(`Info on ${User.nickname || User.user.username}`)
.setColor(ctx.config.color)
.addField('Username', User.user.tag, true)
.addField('ID', User.user.id, true)
.addField(`Status | ${ctx.utils.emotes.status[User.presence.status]}`, Game);
if (Roles.length > 15) {
Embed.addField(`Roles [${Roles.length}]`, 'Too many to list' || 'Error');
} else {
Embed.addField(`Roles [${Roles.length}]`, Roles.join(' **|** '));
}
Embed.setThumbnail(User.user.avatarURL());
ctx.send(Embed).catch((err) => ctx.send('```js\n' + err + '```'));
}
};

View file

@ -1,41 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class Birb extends Command {
constructor() {
super({
name: 'bird',
description: 'Get a random birb',
aliases: [ 'birb' ],
module: 'Images',
cooldown: 2,
guildOnly: false,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
const Server = await ctx.db.servers.get(ctx.guild.id);
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
let req;
let Message;
await yiff.shibe.birds().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by shibe.online`, ctx.client.user.avatarURL());
} else {
Message = `${req}`;
}
ctx.send(Message);
}
};

View file

@ -1,41 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class Cat extends Command {
constructor() {
super({
name: 'cat',
description: 'Get a random cat',
aliases: [ 'meow' ],
module: 'Images',
cooldown: 2,
guildOnly: false,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
const Server = await ctx.db.servers.get(ctx.guild.id);
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
let req;
let Message;
await yiff.shibe.cats().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by shibe.online`, ctx.client.user.avatarURL());
} else {
Message = `${req}`;
}
ctx.send(Message);
}
};

View file

@ -1,46 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
let Icon = 'https://werewoof.tech/e621.png';
module.exports = class E621 extends Command {
constructor() {
super({
name: 'e621',
description: 'Get Images from e621',
aliases: [ 'e6' ],
module: 'Images',
cooldown: 5,
guildOnly: false,
developerOnly: false,
nsfw: true
});
}
async command(ctx) {
let Embed = new MessageEmbed().setColor('RED');
if (ctx.args < 1) {
Embed.setTitle('Search Terms').setDescription('I need more tags than that to search for an Image.');
return ctx.send(Embed);
}
const Server = await ctx.db.servers.get(ctx.guild.id);
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
let req;
let Message;
await yiff.e621.CubFilter(ctx.args.join(' ')).then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setImage(req.image)
.setColor(ctx.config.color)
.setAuthor('e621.net', Icon, `https://e621.net/post/show/${req.postID}`)
.setFooter(`${ctx.client.user.username} - e621.net`, ctx.client.user.avatarURL());
} else {
Message = `<https://e621.net/post/show/${req.postID}>\n${req.image}`;
}
ctx.send(Message);
}
};

View file

@ -1,46 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
let Icon = 'https://werewoof.tech/e621.png';
module.exports = class E621 extends Command {
constructor() {
super({
name: 'e926',
description: 'Get Images from e621',
aliases: [ 'e9' ],
module: 'Images',
cooldown: 5,
guildOnly: false,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
let Embed = new MessageEmbed().setColor('RED');
if (ctx.args < 1) {
Embed.setTitle('Search Terms').setDescription('I need more tags than that to search for an Image.');
return ctx.send(Embed);
}
const Server = await ctx.db.servers.get(ctx.guild.id);
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
let req;
let Message;
await yiff.e926.request(ctx.args.join(' ')).then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setImage(req.image)
.setColor(ctx.config.color)
.setAuthor('e621.net', Icon, `https://e926.net/post/show/${req.postID}`)
.setFooter(`${ctx.client.user.username} - e926.net`, ctx.client.user.avatarURL());
} else {
Message = `<https://e926.net/post/show/${req.postID}>\n${req.image}`;
}
ctx.send(Message);
}
};

View file

@ -1,41 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class Fox extends Command {
constructor() {
super({
name: 'fox',
description: 'Get a random fox',
aliases: [ 'yip' ],
module: 'Images',
cooldown: 2,
guildOnly: false,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
const Server = await ctx.db.servers.get(ctx.guild.id);
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
let req;
let Message;
await yiff.sheri.animals.fox().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req.url)
.setFooter(`${ctx.client.user.username} - Provided by sheri.bot`, ctx.client.user.avatarURL());
} else {
Message = `${req}`;
}
ctx.send(Message);
}
};

View file

@ -1,41 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class Shibe extends Command {
constructor() {
super({
name: 'shiba',
description: 'Get a random shibe',
aliases: [ 'shib', 'shibe' ],
module: 'Images',
cooldown: 2,
guildOnly: false,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
const Server = await ctx.db.servers.get(ctx.guild.id);
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
let req;
let Message;
await yiff.shibe.shibes().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by shibe.online`, ctx.client.user.avatarURL());
} else {
Message = `${req}`;
}
ctx.send(Message);
}
};

View file

@ -1,41 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class Wolf extends Command {
constructor() {
super({
name: 'wolf',
description: 'Get a random wolf',
aliases: [ 'woof', 'wolves', 'awoo' ],
module: 'Images',
cooldown: 2,
guildOnly: false,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
const Server = await ctx.db.servers.get(ctx.guild.id);
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
let req;
let Message;
await yiff.sheri.animals.wolf().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setImage(req.url)
.setColor(ctx.config.color)
.setFooter(`${ctx.client.user.username} - Provided by sheri.bot`, ctx.client.user.avatarURL());
} else {
Message = `${req}`;
}
ctx.send(Message);
}
};

View file

@ -1,65 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class Bang extends Command {
constructor() {
super({
name: 'bang',
description: 'Bang a user',
aliases: [ 'fuck' ],
module: 'Roleplay',
cooldown: 2,
guildOnly: true,
developerOnly: false,
nsfw: true
});
}
async command(ctx) {
if (ctx.msg.mentions.members.size === 0) return ctx.send('please mention a user ;w;');
if (ctx.msg.mentions.members.first().id === ctx.client.user.id)
return ctx.send("Don't bang me! Bang someone else!");
if (ctx.msg.mentions.members.first().id === ctx.author.id)
return ctx.send(`Don't you want to bang someone other than yourself?`);
const Server = await ctx.db.servers.get(ctx.guild.id);
let Line;
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
if (Settings.rp_text) {
const LineFromUtils = ctx.utils.int.bang[parseInt(Math.random() * ctx.utils.int.bang.length)];
Line = LineFromUtils.replace(/0/g, ctx.utils.format.bold(ctx.author.username)).replace(
/1/g,
ctx.utils.format.bold(ctx.msg.mentions.members.first().user.username)
);
} else {
Line = undefined;
}
let req;
let Message;
await yiff.furrybot.nsfw.bang().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by furry.bot`, ctx.client.user.avatarURL());
if (Line) {
Message.setDescription(Line);
}
} else {
if (Line) {
Message = `${Line}\n${req}`;
} else {
Message = `${req}`;
}
}
ctx.send(Message);
}
};

View file

@ -1,64 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class Boop extends Command {
constructor() {
super({
name: 'boop',
description: 'Boop a user',
aliases: [],
module: 'Roleplay',
cooldown: 2,
guildOnly: true,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
if (ctx.msg.mentions.members.size === 0) return ctx.send('please mention a user ;w;');
if (ctx.msg.mentions.members.first().id === ctx.client.user.id)
return ctx.send("Don't boop me! boop someone else!");
if (ctx.msg.mentions.members.first().id === ctx.author.id)
return ctx.send(`Don't you want to boop someone other than yourself?`);
const Server = await ctx.db.servers.get(ctx.guild.id);
let Line;
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
if (Settings.rp_text) {
const LineFromUtils = ctx.utils.int.boop[parseInt(Math.random() * ctx.utils.int.boop.length)];
Line = LineFromUtils.replace(/0/g, ctx.utils.format.bold(ctx.author.username)).replace(
/1/g,
ctx.utils.format.bold(ctx.msg.mentions.members.first().user.username)
);
} else {
Line = undefined;
}
let req;
let Message;
await yiff.furrybot.sfw.boop().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by furry.bot`, ctx.client.user.avatarURL());
if (Line) {
Message.setDescription(Line);
}
} else {
if (Line) {
Message = `${Line}\n${req}`;
} else {
Message = `${req}`;
}
}
ctx.send(Message);
}
};

View file

@ -1,59 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class Bulge extends Command {
constructor() {
super({
name: 'bulge',
description: `Look at a User's Bulge`,
aliases: [],
module: 'Roleplay',
cooldown: 2,
guildOnly: false,
developerOnly: false,
nsfw: true
});
}
async command(ctx) {
let Line;
const Server = await ctx.db.servers.get(ctx.guild.id);
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
if (ctx.msg.mentions.members.size > 0 && Settings.rp_text) {
const LineFromUtils = ctx.utils.int.bulge[parseInt(Math.random() * ctx.utils.int.bulge.length)];
Line = LineFromUtils.replace(/0/g, ctx.utils.format.bold(ctx.author.username)).replace(
/1/g,
ctx.utils.format.bold(ctx.msg.mentions.members.first().user.username)
);
} else {
Line = undefined;
}
let req;
let Message;
await yiff.furrybot.nsfw.bulge().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by furry.bot`, ctx.client.user.avatarURL());
if (Line) {
Message.setDescription(Line);
}
} else {
if (Line) {
Message = `${Line}\n${req}`;
} else {
Message = `${req}`;
}
}
ctx.send(Message);
}
};

View file

@ -1,64 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class Cuddle extends Command {
constructor() {
super({
name: 'cuddle',
description: 'Cuddle a user',
aliases: [ 'snug', 'snuggle' ],
module: 'Roleplay',
cooldown: 2,
guildOnly: true,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
if (ctx.msg.mentions.members.size === 0) return ctx.send('please mention a user ;w;');
if (ctx.msg.mentions.members.first().id === ctx.client.user.id)
return ctx.send("Don't cuddle me! Cuddle someone else!");
if (ctx.msg.mentions.members.first().id === ctx.author.id)
return ctx.send(`Don't you want to cuddle someone other than yourself?`);
const Server = await ctx.db.servers.get(ctx.guild.id);
let Line;
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
if (Settings.rp_text) {
const LineFromUtils = ctx.utils.int.cuddle[parseInt(Math.random() * ctx.utils.int.cuddle.length)];
Line = LineFromUtils.replace(/0/g, ctx.utils.format.bold(ctx.author.username)).replace(
/1/g,
ctx.utils.format.bold(ctx.msg.mentions.members.first().user.username)
);
} else {
Line = undefined;
}
let req;
let Message;
await yiff.furrybot.sfw.cuddle().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by furry.bot`, ctx.client.user.avatarURL());
if (Line) {
Message.setDescription(Line);
}
} else {
if (Line) {
Message = `${Line}\n${req}`;
} else {
Message = `${req}`;
}
}
ctx.send(Message);
}
};

View file

@ -1,65 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class Hold extends Command {
constructor() {
super({
name: 'hold',
description: 'Hold a user',
aliases: [],
module: 'Roleplay',
cooldown: 2,
guildOnly: true,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
if (ctx.msg.mentions.members.size === 0) return ctx.send('please mention a user ;w;');
if (ctx.msg.mentions.members.first().id === ctx.client.user.id)
return ctx.send("Don't hold me! Hold someone else!");
if (ctx.msg.mentions.members.first().id === ctx.author.id)
return ctx.send(`Don't you want to hold someone other than yourself?`);
const Server = await ctx.db.servers.get(ctx.guild.id);
let Line;
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
if (Settings.rp_text) {
const LineFromUtils = ctx.utils.int.hold[parseInt(Math.random() * ctx.utils.int.hold.length)];
Line = LineFromUtils.replace(/0/g, ctx.utils.format.bold(ctx.author.username)).replace(
/1/g,
ctx.utils.format.bold(ctx.msg.mentions.members.first().user.username)
);
} else {
Line = undefined;
}
let req;
let Message;
await yiff.furrybot.sfw.hold().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by furry.bot`, ctx.client.user.avatarURL());
if (Line) {
Message.setDescription(Line);
}
} else {
if (Line) {
Message = `${Line}\n${req}`;
} else {
Message = `${req}`;
}
}
ctx.send(Message);
}
};

View file

@ -1,65 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class Hug extends Command {
constructor() {
super({
name: 'hug',
description: 'Hug a user',
aliases: [],
module: 'Roleplay',
cooldown: 2,
guildOnly: true,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
if (ctx.msg.mentions.members.size === 0) return ctx.send('please mention a user ;w;');
if (ctx.msg.mentions.members.first().id === ctx.client.user.id)
return ctx.send("Don't hug me! Hug someone else!");
if (ctx.msg.mentions.members.first().id === ctx.author.id)
return ctx.send(`Don't you want to hug someone other than yourself?`);
const Server = await ctx.db.servers.get(ctx.guild.id);
let Line;
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
if (Settings.rp_text) {
const LineFromUtils = ctx.utils.int.hug[parseInt(Math.random() * ctx.utils.int.hug.length)];
Line = LineFromUtils.replace(/0/g, ctx.utils.format.bold(ctx.author.username)).replace(
/1/g,
ctx.utils.format.bold(ctx.msg.mentions.members.first().user.username)
);
} else {
Line = undefined;
}
let req;
let Message;
await yiff.furrybot.sfw.hug().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by furry.bot`, ctx.client.user.avatarURL());
if (Line) {
Message.setDescription(Line);
}
} else {
if (Line) {
Message = `${Line}\n${req}`;
} else {
Message = `${req}`;
}
}
ctx.send(Message);
}
};

View file

@ -1,65 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class Kiss extends Command {
constructor() {
super({
name: 'kiss',
description: 'Kiss a user',
aliases: [ 'smooch' ],
module: 'Roleplay',
cooldown: 2,
guildOnly: true,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
if (ctx.msg.mentions.members.size === 0) return ctx.send('please mention a user ;w;');
if (ctx.msg.mentions.members.first().id === ctx.client.user.id)
return ctx.send("Don't kiss me! Kiss someone else!");
if (ctx.msg.mentions.members.first().id === ctx.author.id)
return ctx.send(`Don't you want to kiss someone other than yourself?`);
const Server = await ctx.db.servers.get(ctx.guild.id);
let Line;
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
if (Settings.rp_text) {
const LineFromUtils = ctx.utils.int.kiss[parseInt(Math.random() * ctx.utils.int.kiss.length)];
Line = LineFromUtils.replace(/0/g, ctx.utils.format.bold(ctx.author.username)).replace(
/1/g,
ctx.utils.format.bold(ctx.msg.mentions.members.first().user.username)
);
} else {
Line = undefined;
}
let req;
let Message;
await yiff.furrybot.sfw.kiss().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by furry.bot`, ctx.client.user.avatarURL());
if (Line) {
Message.setDescription(Line);
}
} else {
if (Line) {
Message = `${Line}\n${req}`;
} else {
Message = `${req}`;
}
}
ctx.send(Message);
}
};

View file

@ -1,65 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class Lick extends Command {
constructor() {
super({
name: 'lick',
description: 'lick a user',
aliases: [ 'mlem' ],
module: 'Roleplay',
cooldown: 2,
guildOnly: true,
developerOnly: false,
nsfw: false
});
}
async command(ctx) {
if (ctx.msg.mentions.members.size === 0) return ctx.send('please mention a user ;w;');
if (ctx.msg.mentions.members.first().id === ctx.client.user.id)
return ctx.send("Don't lick me! Lick someone else!");
if (ctx.msg.mentions.members.first().id === ctx.author.id)
return ctx.send(`Don't you want to Lick someone other than yourself?`);
const Server = await ctx.db.servers.get(ctx.guild.id);
let Line;
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
if (Settings.rp_text) {
const LineFromUtils = ctx.utils.int.lick[parseInt(Math.random() * ctx.utils.int.lick.length)];
Line = LineFromUtils.replace(/0/g, ctx.utils.format.bold(ctx.author.username)).replace(
/1/g,
ctx.utils.format.bold(ctx.msg.mentions.members.first().user.username)
);
} else {
Line = undefined;
}
let req;
let Message;
await yiff.furrybot.sfw.lick().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by furry.bot`, ctx.client.user.avatarURL());
if (Line) {
Message.setDescription(Line);
}
} else {
if (Line) {
Message = `${Line}\n${req}`;
} else {
Message = `${req}`;
}
}
ctx.send(Message);
}
};

View file

@ -1,65 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class nCuddle extends Command {
constructor() {
super({
name: 'ncuddle',
description: 'Cuddle a user',
aliases: [ 'nsnug', 'nsnuggle' ],
module: 'Roleplay',
cooldown: 2,
guildOnly: true,
developerOnly: false,
nsfw: true
});
}
async command(ctx) {
if (ctx.msg.mentions.members.size === 0) return ctx.send('please mention a user ;w;');
if (ctx.msg.mentions.members.first().id === ctx.client.user.id)
return ctx.send("Don't cuddle me! Cuddle someone else!");
if (ctx.msg.mentions.members.first().id === ctx.author.id)
return ctx.send(`Don't you want to cuddle someone other than yourself?`);
const Server = await ctx.db.servers.get(ctx.guild.id);
let Line;
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
if (Settings.rp_text) {
const LineFromUtils = ctx.utils.int.cuddle[parseInt(Math.random() * ctx.utils.int.cuddle.length)];
Line = LineFromUtils.replace(/0/g, ctx.utils.format.bold(ctx.author.username)).replace(
/1/g,
ctx.utils.format.bold(ctx.msg.mentions.members.first().user.username)
);
} else {
Line = undefined;
}
let req;
let Message;
await yiff.furrybot.nsfw.cuddle().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by furry.bot`, ctx.client.user.avatarURL());
if (Line) {
Message.setDescription(Line);
}
} else {
if (Line) {
Message = `${Line}\n${req}`;
} else {
Message = `${req}`;
}
}
ctx.send(Message);
}
};

View file

@ -1,65 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class nHold extends Command {
constructor() {
super({
name: 'nhold',
description: 'Hold a user',
aliases: [],
module: 'Roleplay',
cooldown: 2,
guildOnly: true,
developerOnly: false,
nsfw: true
});
}
async command(ctx) {
if (ctx.msg.mentions.members.size === 0) return ctx.send('please mention a user ;w;');
if (ctx.msg.mentions.members.first().id === ctx.client.user.id)
return ctx.send("Don't hold me! Hold someone else!");
if (ctx.msg.mentions.members.first().id === ctx.author.id)
return ctx.send(`Don't you want to hold someone other than yourself?`);
const Server = await ctx.db.servers.get(ctx.guild.id);
let Line;
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
if (Settings.rp_text) {
const LineFromUtils = ctx.utils.int.hold[parseInt(Math.random() * ctx.utils.int.hold.length)];
Line = LineFromUtils.replace(/0/g, ctx.utils.format.bold(ctx.author.username)).replace(
/1/g,
ctx.utils.format.bold(ctx.msg.mentions.members.first().user.username)
);
} else {
Line = undefined;
}
let req;
let Message;
await yiff.sheri.nsfw.hold().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req.url)
.setFooter(`${ctx.client.user.username} - Provided by sheri.bot`, ctx.client.user.avatarURL());
if (Line) {
Message.setDescription(Line);
}
} else {
if (Line) {
Message = `${Line}\n${req}`;
} else {
Message = `${req}`;
}
}
ctx.send(Message);
}
};

View file

@ -1,64 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class nHug extends Command {
constructor() {
super({
name: 'nhug',
description: 'Hug a user',
aliases: [],
module: 'Roleplay',
cooldown: 2,
guildOnly: true,
developerOnly: false,
nsfw: true
});
}
async command(ctx) {
if (ctx.msg.mentions.members.size === 0) return ctx.send('please mention a user ;w;');
if (ctx.msg.mentions.members.first().id === ctx.client.user.id)
return ctx.send("Don't hug me! Hug someone else!");
if (ctx.msg.mentions.members.first().id === ctx.author.id)
return ctx.send(`Don't you want to hug someone other than yourself?`);
let Line;
const Server = await ctx.db.servers.get(ctx.guild.id);
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
if (Settings.rp_text) {
const LineFromUtils = ctx.utils.int.hug[parseInt(Math.random() * ctx.utils.int.hug.length)];
Line = LineFromUtils.replace(/0/g, ctx.utils.format.bold(ctx.author.username)).replace(
/1/g,
ctx.utils.format.bold(ctx.msg.mentions.members.first().user.username)
);
} else {
Line = undefined;
}
let req;
let Message;
await yiff.furrybot.nsfw.hug().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by furry.bot`, ctx.client.user.avatarURL());
if (Line) {
Message.setDescription(Line);
}
} else {
if (Line) {
Message = `${Line}\n${req}`;
} else {
Message = `${req}`;
}
}
ctx.send(Message);
}
};

View file

@ -1,64 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class nKiss extends Command {
constructor() {
super({
name: 'nkiss',
description: 'Kiss a user',
aliases: [ 'nsmooch' ],
module: 'Roleplay',
cooldown: 2,
guildOnly: true,
developerOnly: false,
nsfw: true
});
}
async command(ctx) {
if (ctx.msg.mentions.members.size === 0) return ctx.send('please mention a user ;w;');
if (ctx.msg.mentions.members.first().id === ctx.client.user.id)
return ctx.send("Don't kiss me! Kiss someone else!");
if (ctx.msg.mentions.members.first().id === ctx.author.id)
return ctx.send(`Don't you want to kiss someone other than yourself?`);
const Server = await ctx.db.servers.get(ctx.guild.id);
let Line;
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
if (Settings.rp_text) {
const LineFromUtils = ctx.utils.int.kiss[parseInt(Math.random() * ctx.utils.int.kiss.length)];
Line = LineFromUtils.replace(/0/g, ctx.utils.format.bold(ctx.author.username)).replace(
/1/g,
ctx.utils.format.bold(ctx.msg.mentions.members.first().user.username)
);
} else {
Line = undefined;
}
let req;
let Message;
await yiff.furrybot.nsfw.kiss().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by furry.bot`, ctx.client.user.avatarURL());
if (Line) {
Message.setDescription(Line);
}
} else {
if (Line) {
Message = `${Line}\n${req}`;
} else {
Message = `${req}`;
}
}
ctx.send(Message);
}
};

View file

@ -1,64 +0,0 @@
const Command = require('../../src/structures/Command');
const yiff = require('yiff');
const { MessageEmbed } = require('discord.js');
module.exports = class nLick extends Command {
constructor() {
super({
name: 'nlick',
description: 'lick a user',
aliases: [ 'nmlem' ],
module: 'Roleplay',
cooldown: 2,
guildOnly: true,
developerOnly: false,
nsfw: true
});
}
async command(ctx) {
if (ctx.msg.mentions.members.size === 0) return ctx.send('please mention a user ;w;');
if (ctx.msg.mentions.members.first().id === ctx.client.user.id)
return ctx.send("Don't lick me! Lick someone else!");
if (ctx.msg.mentions.members.first().id === ctx.author.id)
return ctx.send(`Don't you want to Lick someone other than yourself?`);
const Server = await ctx.db.servers.get(ctx.guild.id);
let Line;
let Settings;
if (Server === null) {
Settings = ctx.utils.db.defaults.server;
} else {
Settings = Server;
}
if (Settings.rp_text) {
const LineFromUtils = ctx.utils.int.lick[parseInt(Math.random() * ctx.utils.int.lick.length)];
Line = LineFromUtils.replace(/0/g, ctx.utils.format.bold(ctx.author.username)).replace(
/1/g,
ctx.utils.format.bold(ctx.msg.mentions.members.first().user.username)
);
} else {
Line = undefined;
}
let req;
let Message;
await yiff.furrybot.nsfw.lick().then((E) => (req = E));
if (Settings.embeds) {
Message = new MessageEmbed()
.setColor(ctx.config.color)
.setImage(req)
.setFooter(`${ctx.client.user.username} - Provided by furry.bot`, ctx.client.user.avatarURL());
if (Line) {
Message.setDescription(Line);
}
} else {
if (Line) {
Message = `${Line}\n${req}`;
} else {
Message = `${req}`;
}
}
ctx.send(Message);
}
};

View file

@ -1,71 +0,0 @@
const Command = require('../../src/structures/Command');
module.exports = class Prefix extends Command {
constructor() {
super({
name: 'prefix',
description: 'Add or Remove a prefix',
aliases: [],
module: 'Settings',
cooldown: 10,
guildOnly: true,
developerOnly: false,
AuthorPermissions: [ 'MANAGE_GUILD' ]
});
}
async command(ctx) {
let ARG = ctx.args[0];
ctx.args.shift();
let Prefix = ctx.args.join(' ');
let Server = await ctx.db.servers.get(ctx.guild.id);
Server.prefix.shift();
Server.prefix.shift();
Server.prefix.shift();
switch (ARG) {
case 'a':
case 'add':
if (ctx.args === [] || ctx.args.join(' ').trim() === '') return ctx.send('No Prefix was given');
ctx.utils.db.prefix
.add(ctx, Prefix)
.then(async () => {
let aPrefixEmbed = new ctx.utils.discord.MessageEmbed();
aPrefixEmbed.setColor(ctx.config.color);
let NServer = await ctx.db.servers.get(ctx.guild.id);
aPrefixEmbed.setTitle(`Prefixes for ${ctx.guild.name}`);
aPrefixEmbed.setDescription(`${NServer.prefix.join(' | ') || ctx.config.prefixes}`);
ctx.send(aPrefixEmbed);
})
.catch((err) => ctx.send(err));
break;
case 'r':
case 'remove':
if (ctx.args === [] || ctx.args.join(' ').trim() === '') return ctx.send('No Prefix was given');
ctx.utils.db.prefix
.remove(ctx, Prefix)
.then(async () => {
let NServer = await ctx.db.servers.get(ctx.guild.id);
let rPrefixEmbed = new ctx.utils.discord.MessageEmbed();
rPrefixEmbed.setColor(ctx.config.color);
rPrefixEmbed.setTitle(`Prefixes for ${ctx.guild.name}`);
if (NServer.prefix === []) {
rPrefixEmbed.setDescription(ctx.config.prefixes.join(' **|**'));
} else {
rPrefixEmbed.setDescription(
`${NServer.prefix.join(' | ') || ctx.config.prefixes.join(' **|** ')}`
);
}
ctx.send(rPrefixEmbed);
})
.catch((err) => console.log(err));
break;
default:
let dPrefixEmbed = new ctx.utils.discord.MessageEmbed();
dPrefixEmbed.setTitle('Help');
dPrefixEmbed.addField('a / add <prefix>', 'Add a Prefix', true);
dPrefixEmbed.addField('r / remove <prefix>', 'Remove a Prefix', true);
ctx.send(dPrefixEmbed);
break;
}
}
};

View file

@ -1,55 +0,0 @@
const Command = require('../../src/structures/Command');
function Toggle(bool, ctx) {
return bool ? `${ctx.utils.emotes.settings.on}*_ _*` : `${ctx.utils.emotes.settings.off}*_ _*`
}
module.exports = class Settings extends Command {
constructor() {
super({
name: 'settings',
description: 'Show the Settings of this Server',
aliases: ['config'],
module: 'Settings',
cooldown: 5,
guildOnly: true,
developerOnly: false
});
}
async command(ctx) {
const SettingsEmbed = new ctx.utils.discord.MessageEmbed();
SettingsEmbed.setColor(ctx.config.color);
const Server = await ctx.db.servers.get(ctx.guild.id);
// console.log(Server);
if (Server !== null) {
SettingsEmbed.setTitle(`Settings for ${ctx.guild.name}`)
.addField('Prefixes', Server.prefix.join(', ') || `<@${ctx.client.user.id}> or \`'\``, false)
.addField(
'SourceFynnder',
Toggle(Server.SourceFynnder, ctx), true
)
.addField(
'Shortlinks',
Toggle(Server.Shortlinks, ctx), true)
.addBlankField(true)
.addField(
'Image Embeds',
Toggle(Server.embeds, ctx), true
)
.addField(
'Image Text',
Toggle(Server.rp_text, ctx), true
);
// .addField('Default Yiff', Server.default_yiff, true);
ctx.send(SettingsEmbed);
} else {
SettingsEmbed.setTitle(`No Settings for ${ctx.guild.name}`).setDescription(
`You shouldn't see this.\n Your Server might not have been set up Properly when you invited me.\n\nPlease [join my support server](https://discord.gg/xNAcF8m) and notify my Developer`
);
ctx.send(SettingsEmbed);
}
}
};

View file

@ -1,75 +0,0 @@
const Command = require('../../src/structures/Command');
module.exports = class Toggle extends Command {
constructor() {
super({
name: 'toggle',
description: 'Toggle various Settings',
aliases: [ 't' ],
module: 'Settings',
cooldown: 5,
guildOnly: true,
developerOnly: false,
AuthorPermissions: [ 'MANAGE_GUILD' ]
});
}
async command(ctx) {
const Embed = new ctx.utils.discord.MessageEmbed().setColor(ctx.config.color);
let ARG = ctx.args[0];
switch (ARG) {
case 'source':
case 'sauce':
case 'sf':
case 'sourcefynnder':
await ctx.utils.db.toggle.SourceFynnder(ctx);
Embed.setTitle(`Changed SourceFynnder Setting`).setDescription(
`Now set to ${ctx.db.servers.get(ctx.guild.id).SourceFynnder
? ctx.utils.emotes.settings.on
: ctx.utils.emotes.settings.off}`
);
ctx.send(Embed);
break;
case 'shortlinks':
case 'shortlink':
case 'sl':
await ctx.utils.db.toggle.Shortlinks(ctx);
Embed.setTitle(`Changed Shortlink Setting`).setDescription(
`Now set to ${ctx.db.servers.get(ctx.guild.id).Shortlinks
? ctx.utils.emotes.settings.on
: ctx.utils.emotes.settings.off}`
);
ctx.send(Embed);
break;
case 'embed':
case 'embeds':
await ctx.utils.db.toggle.Embeds(ctx);
Embed.setTitle(`Changed Image Embed Setting`).setDescription(
`Now set to ${ctx.db.servers.get(ctx.guild.id).embeds
? ctx.utils.emotes.settings.on
: ctx.utils.emotes.settings.off}`
);
ctx.send(Embed);
break;
case 'text':
case 'rp_text':
await ctx.utils.db.toggle.Text(ctx);
Embed.setTitle(`Changed Image Text Setting`).setDescription(
`Now set to ${ctx.db.servers.get(ctx.guild.id).rp_text
? ctx.utils.emotes.settings.on
: ctx.utils.emotes.settings.off}`
);
ctx.send(Embed);
break;
default:
Embed.setTitle('Help')
.setDescription(`All settings have their own Toggles, see the list below to know which one's which`)
.addField('SourceFynnder', 'sf sauce source sourcefynnder', true)
.addField('Shortlinks', 'sl shortlink shortlinks', true)
.addField('Image Embeds', 'embed embeds', true)
.addField('Image Text', 'text rp_text', true);
ctx.send(Embed);
break;
}
}
};