Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require('discord.js');
- const client = new Discord.Client();
- const logger = require('winston');
- var adminOnlyChannel = "null";
- var gNames = new Array();
- var activeGiveaway = false;
- var silentGame = false;
- var silentGameChannel = 'null';
- client.on('ready', () => {
- logger.info('Connected.');
- logger.info('Logged in as ' + client.user.username + ' (' + client.user.id + ')');
- client.user.setActivity('!help for commands', { type: 'LISTENING' });
- logger.info("Set activity to LISTENING '!help for commands'");
- });
- client.on('message', message => {
- if (message.author.bot) return;
- if (!(message.member.roles.find('name', 'Botless'))) {
- var msgArray = message.content.toLowerCase().split(' ');
- var msg = msgArray[0];
- // Admin only
- if (msg == '!help') {
- var id = message.member.id;
- message.channel.send('<@' + id + '> -> I will DM you the list of commands and triggers.');
- message.author.send('List of commands: \n' +
- '!help - Displays this list of commands. \n' +
- '!goodnight - Tells everyone good night. \n' +
- '!goodmorning - Tells everyone good morning. \n' +
- '!remind - Sends you a given message after a given time period. \n' +
- '!adminsonly - Temporarily makes current channel admin-only / Switches admin-only channel. \n' +
- '!adminsoff - Makes the current channel no longer admin-only. \n' +
- '!joingiveaway - Enters an ongoing giveaway. \n' +
- '!giveawaywin - Picks a winner for an ongoing giveaway. \n' +
- '!cleargiveaway - Clears entries in an ongoing giveaway. \n' +
- '!giveawayon - Enables a giveaway and announces so. \n' +
- '!giveawayoff - Disables an ongoing giveaway and announces so. \n' +
- '!silentgame - Starts a silent game. \n' +
- "!5050 - Chooses either 'yes' or 'no' randomly. \n" +
- "TRIGGERS: 'no u', 'gay', 'oof', 'fuck you', '<:unoreverse:419925837240860679>'");
- return;
- }
- if (msg == '!goodnight') {
- if (message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner')) {
- message.channel.send('Good night, @everyone!');
- return;
- }
- }
- if (msg == '!goodmorning') {
- if (message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner')) {
- message.channel.send('Good morning, @everyone!');
- return
- }
- }
- if (msg == '!remind') {
- var id = message.member.id;
- var time = parseInt(msgArray[1]);
- if (isNaN(time)) {
- message.channel.send('<@' + id + '> -> Invalid arguments. Usage: !remind [time in minutes] [message]');
- return;
- }
- Array.prototype.myJoin = function(seperator,start,end){
- if(!start) start = 0;
- if(!end) end = this.length - 1;
- end++;
- return this.slice(start,end).join(seperator);
- };
- var reminder = msgArray.myJoin(' ', 2);
- message.channel.send('<@' + id + '> -> I will remind you in ' + msgArray[1] + ' minute(s).');
- var minutes = time * 1000 * 60;
- var myInterval = setInterval(remindTime, minutes);
- function remindTime() {
- message.channel.send('<@' + id + '> -> ' + reminder);
- clearInterval(myInterval);
- }
- return;
- }
- if (msg == '!adminsonly') {
- if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner'))) return;
- var prevChannel = client.channels.get(adminOnlyChannel);
- if (!(adminOnlyChannel == 'null')) {
- prevChannel.send('@everyone -> This channel is no longer admin-only chat.');
- }
- adminOnlyChannel = message.channel.id;
- message.channel.send('@everyone -> This channel is now temporarily admin-only chat.');
- return;
- }
- if (msg == '!adminsoff') {
- if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner'))) return;
- if (adminOnlyChannel == 'null') {
- var id = message.member.id;
- message.channel.send('<@' + id + '> -> No channels are currently admin-only.')
- return
- }
- var prevChannel = client.channels.get(adminOnlyChannel);
- prevChannel.send('@everyone -> This channel is no longer admin-only chat.');
- adminOnlyChannel = null;
- return;
- }
- if (msg == '!joingiveaway') {
- var id = message.member.id;
- if (gNames.indexOf(id) > -1) {
- message.channel.send('<@' + id + '> -> You are already entered in this giveaway.');
- return;
- }
- gNames.push(id);
- message.channel.send('<@' + id + '> -> You have been entered for the giveaway!');
- return;
- }
- if (msg == '!giveawaywin') {
- if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner'))) {
- return;
- }
- if (gNames.length == 0) {
- var id = message.member.id;
- message.channel.send('<@' + id + '> -> There are no entries in the giveaway.');
- return;
- }
- if (activeGiveaway == false) {
- var id = message.member.id;
- message.channel.send('<@' + id + '> -> There are currently no active giveaways.')
- }
- var random = Math.floor(Math.random()*gNames.length);
- message.channel.send('<@' + gNames[random] + '> has won the giveaway!');
- gNames = [];
- activeGiveaway = false;
- return;
- }
- if (msg == '!cleargiveaway') {
- if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner'))) {
- return;
- }
- gNames = [];
- var id = message.member.id;
- message.channel.send('<@' + id + '> -> Giveaway has been cleared.');
- return;
- }
- if (msg == '!giveawayon') {
- if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner'))) {
- return;
- }
- if (activeGiveaway == true) {
- var id = message.member.id;
- message.channel.send('<@' + id + '> -> A giveaway is already active.');
- return;
- }
- if (msgArray.length > 1) {
- Array.prototype.myJoin = function(seperator,start,end){
- if(!start) start = 0;
- if(!end) end = this.length - 1;
- end++;
- return this.slice(start,end).join(seperator);
- };
- var announcement = msgArray.myJoin(' ', 1);
- message.channel.send("@everyone -> A new giveaway is now underway! The item given away will be '" + announcement + "' \n" +
- "Say '!joingiveaway' to enter the giveaway!");
- activeGiveaway = true;
- } else {
- message.channel.send('@everyone -> A new giveaway is now underway! The item given away is undefined. \n' +
- "Say '!joingiveaway' to enter the giveaway!");
- activeGiveaway = true;
- }
- return;
- }
- if (msg == '!giveawayoff') {
- if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner'))) {
- return;
- }
- if (activeGiveaway == false) {
- var id = message.member.id;
- message.channel.send('<@' + id + '> -> There are no giveaways active.');
- return;
- }
- activeGiveaway = false;
- message.channel.send('@everyone -> The current giveaway has been canceled.');
- return;
- }
- if (msg == '!silentgame') {
- if (silentGame == true) return;
- message.channel.send('@everyone -> Silent game! next person to send a message loses.');
- silentGame = true;
- silentGameChannel = message.channel.id;
- return;
- }
- if (msg == '!5050') {
- var id = message.member.id;
- var random = Math.floor(Math.random() * 2) + 1;
- if (random == 1) {
- message.channel.send('<@' + id + '> -> Yes.');
- }
- if (random == 2) {
- message.channel.send('<@' + id + '> -> No.');
- }
- return;
- }
- // Triggers
- if (msgArray.indexOf('no') > -1 && msgArray.indexOf('u') > -1) {
- if (msgArray.indexOf('u') - msgArray.indexOf('no') == 1) {
- var id = message.member.id;
- message.channel.send('Shut the fuck up <@' + id + '>');
- return;
- }
- }
- if (msgArray.indexOf('gay') > -1) {
- var id = message.member.id;
- message.channel.send('Fak off <@' + id + '> u homophobe');
- return;
- }
- if (msgArray.indexOf('oof') > -1) {
- var id = message.member.id;
- message.channel.send('<@' + id + '> minecraft is better lUl xd');
- return;
- }
- if ((msgArray.indexOf('fuck') > -1 && msgArray.indexOf('you') > -1) || (msgArray.indexOf('fak') > -1 && msgArray.indexOf('u') > -1)) {
- if ((msgArray.indexOf('you') - msgArray.indexOf('fuck') == 1) || (msgArray.indexOf('u') - msgArray.indexOf('fak') == 1)) {
- var id = message.member.id;
- message.channel.send('<@' + id + '> well fuck you too.');
- return;
- }
- }
- if (msgArray.indexOf('<:unoreverse:419925837240860679>') > -1) {
- var id = message.member.id;
- var emoji = client.emojis.find('name', 'unoreverse');
- message.channel.send(emoji + ' my ass. Go back to where you came from <@' + id + '>, you uno geek');
- return;
- }
- // Admin-Only
- if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner') || message.member.roles.find('name', ':D Bots'))) {
- if (adminOnlyChannel == message.channel.id) {
- message.delete();
- return;
- }
- }
- // Silent game
- if (silentGame == true && silentGameChannel == message.channel.id) {
- var id = message.member.id;
- silentGame = false;
- if (message.member.nickname != null) {
- message.channel.send('<@' + id + '> has sent the losing message! ' + message.member.nickname + ' lost!');
- } else {
- message.channel.send('<@' + id + '> has sent the losing message! ' + message.member.user.username + ' lost!');
- }
- return;
- }
- }
- })
- client.login('NDQ5NzUyMTYxNzAyNzcyNzM2.DepP5w.yIk-CKPTSeogtDmLnO1q-RUanZA');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement