This commit is contained in:
loicbersier 2019-12-06 16:54:44 +01:00
commit 2d8c062dce
5 changed files with 113 additions and 34 deletions

View file

@ -8,7 +8,7 @@ class fakebotCommand extends Command {
clientPermissions: ['MANAGE_WEBHOOKS'], clientPermissions: ['MANAGE_WEBHOOKS'],
args: [ args: [
{ {
id: 'member', id: 'user',
type: 'user', type: 'user',
prompt: { prompt: {
start: 'Who should i fake?', start: 'Who should i fake?',
@ -35,20 +35,28 @@ class fakebotCommand extends Command {
async exec(message, args) { async exec(message, args) {
let Attachment = (message.attachments).array(); let Attachment = (message.attachments).array();
let url; let url;
let username = args.user.username;
let member = message.guild.members.get(args.user.id);
// Get attachment link // Get attachment link
if (Attachment[0]) { if (Attachment[0]) {
url = Attachment[0].url; url = Attachment[0].url;
} }
// Show nickname if user is in guild
if (member) {
if (member.nickname) {
username = member.nickname;
}
}
message.channel.createWebhook(args.member.username, { message.channel.createWebhook(username, {
avatar: args.member.displayAvatarURL(), avatar: args.user.displayAvatarURL(),
reason: `Fakebot/user command triggered by: ${message.author.username}` reason: `Fakebot/user command triggered by: ${message.author.username}`
}) })
.then(webhook => { .then(webhook => {
// Have to edit after creation otherwise the picture doesn't get applied // Have to edit after creation otherwise the picture doesn't get applied
webhook.edit({ webhook.edit({
name: args.member.username, name: username,
avatar: args.member.displayAvatarURL(), avatar: args.user.displayAvatarURL(),
reason: `Fakebot/user command triggered by: ${message.author.username}` reason: `Fakebot/user command triggered by: ${message.author.username}`
}); });
this.client.fetchWebhook(webhook.id, webhook.token) this.client.fetchWebhook(webhook.id, webhook.token)
@ -61,7 +69,9 @@ class fakebotCommand extends Command {
webhook.send(args.message); webhook.send(args.message);
setTimeout(() => { setTimeout(() => {
webhook.delete(); webhook.delete({
reason: `Fakebot/user command triggered by: ${message.author.username}`
});
}, 3000); }, 3000);
}); });
}); });

View file

@ -7,7 +7,7 @@ class SayCommand extends Command {
super('say', { super('say', {
aliases: ['say', 'sayd'], aliases: ['say', 'sayd'],
category: 'general', category: 'general',
clientPermissions: ['SEND_MESSAGES', 'MANAGE_MESSAGES'], clientPermissions: ['SEND_MESSAGES'],
args: [ args: [
{ {
id: 'text', id: 'text',
@ -148,11 +148,18 @@ class SayCommand extends Command {
// Send the final text // Send the final text
if (attach) { if (attach) {
if (message.util.parsed.alias == 'sayd') if (message.util.parsed.alias == 'sayd')
message.delete(); if (message.channel.permissionsFor(this.client.user).has('MANAGE_MESSAGES'))
message.delete();
else
message.channel.send('Im missing he `MANAGE_MESSAGES` perm to delete your message!');
return message.channel.send(text, {files: [attach]}); return message.channel.send(text, {files: [attach]});
} else { } else {
if (message.util.parsed.alias == 'sayd') if (message.util.parsed.alias == 'sayd')
message.delete(); if (message.channel.permissionsFor(this.client.user).has('MANAGE_MESSAGES'))
message.delete();
else
message.channel.send('Im missing he `MANAGE_MESSAGES` perm to delete your message!');
return message.channel.send(text); return message.channel.send(text);
} }
} }

View file

@ -33,27 +33,8 @@ class tweetCommand extends Command {
} }
async exec(message, args) { async exec(message, args) {
const client = this.client;
let date = new Date(); let date = new Date();
let Attachment = (message.attachments).array(); let Attachment = (message.attachments).array();
if (!Attachment[0] && !args.text) return message.channel.send('You need to input something for me to tweet!');
let T = new Twit({
consumer_key: twiConsumer,
consumer_secret: twiConsumerSecret,
access_token: twiToken,
access_token_secret: twiTokenSecret
});
/*
// Censor words
let censor = reload('../../json/censor.json');
let uncensor = reload('../../json/uncensor.json');
filter.addWords(...censor);
filter.removeWords(...uncensor);
*/
// see if user is not banned // see if user is not banned
const blacklist = await TwitterBlacklist.findOne({where: {userID:message.author.id}}); const blacklist = await TwitterBlacklist.findOne({where: {userID:message.author.id}});
if (blacklist) { if (blacklist) {
@ -70,6 +51,25 @@ class tweetCommand extends Command {
return message.channel.send('Your account is too new to be able to use this command!'); return message.channel.send('Your account is too new to be able to use this command!');
} }
if (!Attachment[0] && !args.text) return message.channel.send('You need to input something for me to tweet!');
const client = this.client;
let T = new Twit({
consumer_key: twiConsumer,
consumer_secret: twiConsumerSecret,
access_token: twiToken,
access_token_secret: twiTokenSecret
});
/*
// Censor words
let censor = reload('../../json/censor.json');
let uncensor = reload('../../json/uncensor.json');
filter.addWords(...censor);
filter.removeWords(...uncensor);
*/
// remove zero width space // remove zero width space
let text = ''; let text = '';
if (args.text) { if (args.text) {
@ -83,12 +83,6 @@ class tweetCommand extends Command {
text = rand.random(text, message); text = rand.random(text, message);
} }
if (text.length > 280) {
return message.channel.send('Your message is more than the 280 characters limit!');
}
try { try {
// Make sure there is an attachment and if its an image // Make sure there is an attachment and if its an image
if (Attachment[0]) { if (Attachment[0]) {
@ -148,6 +142,10 @@ class tweetCommand extends Command {
T.post('statuses/update', options, function (err, response) { T.post('statuses/update', options, function (err, response) {
if (err) { if (err) {
if (err.code == 88) return message.channel.send(err.message); // Rate limit exceeded
if (err.code == 186) return message.channel.send(err.message); // Tweet needs to be a bit shorter.
if (err.code == 187) return message.channel.send(err.message); // Status is a duplicate.
if (err.code == 326) return message.channel.send(err.message); // To protect our users from spam and other malicious activity, this account is temporarily locked.
console.error('OH NO!!!!'); console.error('OH NO!!!!');
console.error(err); console.error(err);
return message.channel.send('OH NO!!! AN ERROR HAS OCCURED!!! please hold on while i find what\'s causing this issue! '); return message.channel.send('OH NO!!! AN ERROR HAS OCCURED!!! please hold on while i find what\'s causing this issue! ');
@ -179,7 +177,6 @@ class tweetCommand extends Command {
channel = client.channels.get(twiChannel); channel = client.channels.get(twiChannel);
channel.send({embed: Embed}); channel.send({embed: Embed});
return message.channel.send(`Go see ur epic tweet https://twitter.com/i/status/${tweetid}`); return message.channel.send(`Go see ur epic tweet https://twitter.com/i/status/${tweetid}`);
}); });
} }

65
commands/minigame/rps.js Normal file
View file

@ -0,0 +1,65 @@
const { Command } = require('discord-akairo');
class rpsCommand extends Command {
constructor() {
super('rps', {
aliases: ['rps', 'rockpapersci'],
category: 'minigame',
clientPermissions: ['SEND_MESSAGES'],
args: [
{
id: 'selection',
type: 'string',
match: 'rest',
},
],
description: {
content: 'Simply rock paper scissors\nCredit to: druid#0425 (276882603158798336)',
usage: '[rock/paper/scissors]',
examples: ['rock']
}
});
}
async exec(message, args) {
let pcHand = Math.floor((Math.random()*3)+1);
let playerHand = args.selection;
switch (playerHand) {
case 'rock':
if (pcHand==1) {
message.channel.send('You both chose rock!');
} else if (pcHand==2) {
message.channel.send('The bot chose paper, you lose!');
} else {
message.channel.send('The bot chose scissors, you win!');
}
break;
case 'paper':
if (pcHand==1) {
message.channel.send('You both chose paper!');
} else if (pcHand==2) {
message.channel.send('The bot chose scissors, you lose!');
} else {
message.channel.send('The bot chose rock, you win!');
}
break;
case 'scissors':
if (pcHand==1) {
message.channel.send('You both chose scissors!');
} else if (pcHand==2) {
message.channel.send('The bot chose rock, you lose!');
} else {
message.channel.send('The bot chose paper, you win!');
}
break;
default:
message.channel.send(`You entered ${playerHand} which is an incorrect choice.`);
break;
}
}
}
module.exports = rpsCommand;

View file

@ -12,7 +12,7 @@ class missingPermissionsListener extends Listener {
switch(type) { switch(type) {
case 'client': case 'client':
if (missing == 'SEND_MESSAGES') { if (missing == 'SEND_MESSAGES') {
return message.author.send(`Im missing the required permissions for this command!, \`${missing}\``); return;
} else { } else {
message.reply(`Im missing the required permissions for this command!, \`${missing}\``); message.reply(`Im missing the required permissions for this command!, \`${missing}\``);
} }