diff options
Diffstat (limited to 'src/bot.ts')
| -rw-r--r-- | src/bot.ts | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/bot.ts b/src/bot.ts new file mode 100644 index 0000000..cf90dfc --- /dev/null +++ b/src/bot.ts @@ -0,0 +1,71 @@ +import config from './config.json'; +import { CommandoClient } from 'discord.js-commando'; +import path from 'path'; +import { Structures } from 'discord.js'; +import emoji from 'emoji-random'; +Structures.extend('Guild', Guild => { + class MusicGuild extends Guild { + musicData: { queue: never[]; isPlaying: boolean; volume: number; songDispatcher: null; }; + constructor(client, data) { + super(client, data); + this.musicData = { + queue: [], + isPlaying: false, + volume: 1, + songDispatcher: null + }; + } + } + return MusicGuild; +}); + +const client = new CommandoClient({ + commandPrefix: 'uwu!', + owner: '217348698294714370' +}); + +client.registry + .registerDefaultTypes() + .registerGroups([ + ['fun', 'Fun Command Group'], + ['moderation', 'Moderation Command Group'], + ['utility', 'Utility Command Group'], + ['voice', 'Voice Command Group'] + ]) + .registerDefaultGroups() + .registerDefaultCommands({ + help: true + }) + .registerCommandsIn(path.join(__dirname, 'commands')); + +client.once('ready', () => { + console.log(`Started bot: ${client.user.tag} (ID: ${client.user.id})\nCurrently running on ${client.guilds.cache.size} server(s).`); + client.user.setActivity('uwu!help | v5.0.0', { + type: 'WATCHING' + }); +}); + +client.on('error', console.error); +//client.on('debug', console.debug); + +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); + } + } + + if (msg.mentions.everyone) { + msg.react(emoji.random()); + } +}); + +client.login(config['secret']);
\ No newline at end of file |