import config from './config.json'; import { CommandoClient } from 'discord.js-commando'; import WS from './server'; import Welcome from './models/welcome.js'; import Goodbye from './models/goodbye.js'; import mongoose from 'mongoose'; mongoose.connect('mongodb://sin:cSDZEygGZz232eJ5bS@ds047107.mlab.com:47107/heroku_4qrjvmb9', { useNewUrlParser: true, useUnifiedTopology: true }) import path from 'path'; // @ts-ignore emoji-random doesnt have types import emoji from 'emoji-random'; require('./models/MusicGuild.js') const client = new CommandoClient({ commandPrefix: 'uwu!', owner: '217348698294714370', invite: 'https://discord.gg/DVwXUwx' }); const ws = new WS(process.env.PORT, client) client.registry .registerDefaultTypes() .registerGroups([ ['fun', 'Fun Command Group'], ['moderation', 'Moderation Command Group'], ['server', 'Server Command Group'], ['voice', 'Voice Command Group'], ['nsfw', 'NSFW Command Group'], ['anime', 'Anime Command Group'], ['crypto', 'Crypto Command Group'], ['zerotwo', 'Zero Two Command Group'], ['bot', 'Bot Command Group'], ['user', 'User Command Group'], ['utility', 'Utility Command Group'], ['minecraft', 'Minecraft Command Group'], ['animals', 'Animal Command Group'], ['roleplay', 'Roleplay Command Group'] ]) .registerDefaultGroups() .registerDefaultCommands({ help: true, //eval: false }) .registerCommandsIn(path.join(__dirname, 'commands')); client.once('ready', async () => { //console.log(`Started bot: ${client.user.tag} (ID: ${client.user.id})\nCurrently running on ${client.guilds.cache.size} server(s).`); console.log('\x1b[0m' + 'Bot online!') console.log('\x1b[31m' + ` _ _ __ _ | | | | / _(_) | | | |_ ___ _| |_ _ ___ _ __ | | | \\ \\ /\\ / / | | | _| |/ _ \\ '__| | |_| |\\ V V /| |_| | | | | __/ | \\___/ \\_/\\_/ \\__,_|_| |_|\\___|_| `) console.log('\x1b[0m' + 'discord.js Version: ' + '\x1b[36m' + '2.11') console.log('\x1b[0m' + 'Node.js Version: ' + '\x1b[36m' + process.version) console.log('\x1b[0m' + 'OS Version: ' + '\x1b[36m' + process.platform) console.log('\x1b[0m' + 'Name: ' + '\x1b[36m' + `${client.user?.tag}`) console.log('\x1b[0m' + 'ID: ' + '\x1b[36m' + `${client.user?.id}`) console.log('\x1b[0m' + 'Servers: ' + '\x1b[36m' + `${client.guilds.cache.size}` + '\x1b[0m') console.log() // i would use a set interval in the main msg body but this is better for now because during maintenance you tend to refresh refresh a lot // kinda crap if you forget to change uppity's status off of maintainence... 2020/05/05, 17:29 if ((await client.users.fetch('705537104339402815')).presence.activities[0].name == 'maintenance') { client.user?.setActivity('uwu!help | Maintenance', { type: 'WATCHING' }); } else { client.user?.setActivity('uwu!help | v' + config['version'], { type: 'WATCHING' }); } }); client.on('error', console.error); //client.on('debug', console.debug); client.on('warn', console.warn) client.on('guildCreate', guild => { console.log(`Joined server: ${guild.name}`) guild.owner?.send('Hi! Thank you for inviting my bot to your server! To view the complete list of commands, do `uwu!help`. If you\'d like, you can also change the prefix using `uwu!prefix change `. If you want to contact the lead developer for possible suggestions or to report a bug, please join the support server: https://crack.cf/uwufier-support. ' + emoji.random()) }) client.on('guildDelete', guild => { console.log(`Left server: ${guild.name}`) }) client.on('guildMemberAdd', member => { Welcome.findOne({ guildID: member.guild.id }, async (error, guild) => { if (error) { console.log(error) } else if (!guild) { return } else if (guild) { // @ts-ignore linting error shows that channelID doesnt exist when it does member.guild.channels.cache.get(guild.channelID)?.send(`<@${member.id}> has joined **${member.guild.name}** the server! ` + emoji.random()) } else { return } }) }) client.on('guildMemberRemove', member => { Goodbye.findOne({ guildID: member.guild.id }, async (error, guild) => { if (error) { console.log(error) } else if (!guild) { return } else if (guild) { // @ts-ignore linting error shows that channelID doesnt exist when it does member.guild.channels.cache.get(guild.channelID)?.send(`<@${member.id}> has left **${member.guild.name}** the server! ` + emoji.random()) } else { return } }) }) client.on('message', async msg => { var msgContent = msg.content.toLowerCase(); function prefixCheck() { if (msgContent.startsWith('uwu!')) { return true; } } if (prefixCheck()) { if (msg.channel.type == 'dm') { console.log(msg.author.tag, 'says', msgContent, 'in a DM'); } else { console.log(msg.member?.user.tag, 'says', msgContent, 'in #' + msg.channel.name + ' in ' + msg.guild?.name); } } if (msg.mentions.everyone) { msg.react(emoji.random()); } }); client.login(config['secret']);