This commit is contained in:
Jan 2021-02-13 15:35:24 +01:00
parent a4e568dec6
commit befc5dc8e6
4 changed files with 4618 additions and 5 deletions

View file

@ -1,6 +1,9 @@
const Discord = require('discord.js'); const Discord = require('discord.js');
const fs = require('fs').promises; const fs = require('fs').promises;
const events = require('events');
const shutEmitter = new events.EventEmitter();
module.exports.meta = { module.exports.meta = {
name: 'copypasta', name: 'copypasta',
aliases: ['pasta'], aliases: ['pasta'],
@ -24,9 +27,35 @@ module.exports.run = async (message, args) => {
let lines = (await fs.readFile(__dirname + '/copypastas/' + pasta)) let lines = (await fs.readFile(__dirname + '/copypastas/' + pasta))
.toString('utf-8') .toString('utf-8')
.split('\n'); .split('\n')
.filter(line => line.trim() != '');
lines.forEach(async line => { this.copypastaing[message.channel.id] = true;
await message.channel.send(line, { tts: true });
}); sendLine();
const interval = setInterval(sendLine, 1250);
const listener = shutEmitter.once('shut', cid => {
if (cid == message.channel.id) {
clearInterval(interval);
this.copypastaing[message.channel.id] = false;
} }
});
async function sendLine() {
if (lines.length == 0) {
this.copypastaing[message.channel.id] = false;
clearTimeout(interval);
shutEmitter.removeListener('shut', listener);
return;
}
const line = lines.shift();
await message.channel.send(line, { tts: true });
}
}
module.exports.shut = (channelID) => {
shutEmitter.emit('shut', channelID);
}
module.exports.copypastaing = {}

4565
commands/copypastas/beemovie Normal file

File diff suppressed because it is too large Load diff

16
commands/stop.js Normal file
View file

@ -0,0 +1,16 @@
const Discord = require('discord.js');
module.exports.meta = {
name: 'stop',
aliases: ['stfu', 'shut'],
staffOnly: false
}
/**
*
* @param {Discord.Message} message
* @param {Array<string>} args
*/
module.exports.run = async (message, args) => {
require('./copypasta').shut(message.channel.id);
}

View file

@ -33,6 +33,9 @@ client.on('message', message => {
logger.info(`[CMD] ${message.author.id} ${message.author.tag} => ${cmdName} ${args.join(' ')}`); logger.info(`[CMD] ${message.author.id} ${message.author.tag} => ${cmdName} ${args.join(' ')}`);
if (cmd.meta?.name != 'stop' && require('../commands/copypasta').copypastaing[message.channel?.id])
return message.react('810153990733561876').catch(console.warn);
if (cmd.meta?.staffOnly && !message.member.permissions.has('ADMINISTRATOR')) { if (cmd.meta?.staffOnly && !message.member.permissions.has('ADMINISTRATOR')) {
logger.warn(`${message.author.tag} => Refusing to run staff command`); logger.warn(`${message.author.tag} => Refusing to run staff command`);
message.channel.send( message.channel.send(