summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author8cy <[email protected]>2020-04-26 12:05:39 -0700
committer8cy <[email protected]>2020-04-26 12:05:39 -0700
commit49c72d78f709d6d56ebb7c76383069181a7f0a08 (patch)
treeedcd906401aa794d565cbe991e41a932ed332f7c /src
parentconsolelog on join guild, v7.7.1 (diff)
downloaddep-core-49c72d78f709d6d56ebb7c76383069181a7f0a08.tar.xz
dep-core-49c72d78f709d6d56ebb7c76383069181a7f0a08.zip
add welcome command, v7.8.0
Diffstat (limited to 'src')
-rw-r--r--src/bot.ts21
-rw-r--r--src/commands/server/welcome.ts69
-rw-r--r--src/config.json2
-rw-r--r--src/models/welcome.ts13
4 files changed, 103 insertions, 2 deletions
diff --git a/src/bot.ts b/src/bot.ts
index 35c91cb..3431048 100644
--- a/src/bot.ts
+++ b/src/bot.ts
@@ -1,13 +1,17 @@
import config from './config.json';
import { CommandoClient } from 'discord.js-commando';
//import WS from './ws/ws';
+import Welcome from './models/welcome.js';
+import mongo from 'mongoose';
+mongo.connect('mongodb://sin:[email protected]:47107/heroku_4qrjvmb9')
import path from 'path';
import emoji from 'emoji-random';
require('./models/MusicGuild.js')
const client = new CommandoClient({
commandPrefix: 'uwu!',
- owner: '217348698294714370'
+ owner: '217348698294714370',
+ invite: 'https://discord.gg/DVwXUwx',
});
//var ws = new WS('123456', process.env.PORT, client)
@@ -61,6 +65,21 @@ client.on('error', console.error);
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 <prefix>`. If you want to contact the lead developer for possible suggestions or to report a bug please join the support server: https://discord.gg/DVwXUwx. ' + emoji.random())
+})
+
+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) {
+ member.guild.channels.cache.get(guild.channelID).send(`<@${member.id}> has joined **${member.guild.name}**! ` + emoji.random())
+ } else {
+ return
+ }
+ })
})
client.on('message', async msg => {
diff --git a/src/commands/server/welcome.ts b/src/commands/server/welcome.ts
new file mode 100644
index 0000000..9b92268
--- /dev/null
+++ b/src/commands/server/welcome.ts
@@ -0,0 +1,69 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+import Welcome from '../../models/welcome.js';
+import mongo from 'mongoose';
+mongo.connect('mongodb://sin:[email protected]:47107/heroku_4qrjvmb9')
+
+module.exports = class WelcomeServer extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'welcome',
+ group: 'server',
+ memberName: 'welcome',
+ description: 'Allows you to set, change or delete a server welcome message.',
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ examples: [
+ 'uwu!welcome',
+ 'uwu!welcome set',
+ 'uwu!welcome remove'
+ ],
+ args: [
+ {
+ key: 'wType',
+ prompt: 'Would you like to set, remove or change the current welcome channel?',
+ type: 'string',
+ default: ''
+ }
+ ]
+ });
+ }
+ async run(msg: CommandoMessage, { wType }) {
+ const welcome = new Welcome({
+ _id: mongo.Types.ObjectId(),
+ username: msg.author.username,
+ userID: msg.author.id,
+ guildname: msg.guild.name,
+ guildID: msg.guild.id,
+ channelname: msg.channel,
+ channelID: msg.channel.id,
+ time: msg.createdAt
+ })
+ const guildExist = await Welcome.findOne({ guildID: msg.guild.id })
+
+ if (msg.member.hasPermission('MANAGE_GUILD')) {
+ Welcome.findOne({ guildID: msg.guild.id }, async (error, guild) => {
+ if (error) {
+ console.log(error)
+ } else if (guild && wType == 'remove') {
+ await Welcome.findOneAndDelete({ guildID: msg.guild.id })
+ msg.say('The current welcome channel has been unset! ' + emoji.random())
+ } else if (!guild && wType == 'remove') {
+ msg.reply('There is no current welcome channel set for this guild! ' + emoji.random())
+ } else if (wType == 'set') {
+ await welcome.save()
+ .then(result => console.log(result))
+ .catch(err => console.log(err))
+
+ msg.reply(`The welcome channel has been set to ${msg.channel}! ` + emoji.random())
+ } else if (!guild) {
+ msg.reply('There is no current welcome channel set for this guild! To set one, do `uwu!welcome set` in the channel you want to set it in. ' + emoji.random())
+ } else if (guild) {
+ msg.reply(`The current welcome channel is ${guild.channelname}. ` + emoji.random())
+ }
+ })
+ } else {
+ msg.reply('Insufficent permissions! ' + emoji.random())
+ }
+ }
+}; \ No newline at end of file
diff --git a/src/config.json b/src/config.json
index 8534377..6246952 100644
--- a/src/config.json
+++ b/src/config.json
@@ -1,5 +1,5 @@
{
"secret":"Njk5NDczMjYzOTk4MjcxNDg5.XpU5oQ.btZuxVudhNllSQY6CxrXXtMJm9A",
"yt-api-key":"AIzaSyCeG1lQAeInv4vjFv_eTL9IFAFNdQC9Nk8",
- "version":"7.7.1"
+ "version":"7.8.0"
} \ No newline at end of file
diff --git a/src/models/welcome.ts b/src/models/welcome.ts
new file mode 100644
index 0000000..29700fc
--- /dev/null
+++ b/src/models/welcome.ts
@@ -0,0 +1,13 @@
+import mongo from 'mongoose';
+const welcomeSchema = new mongo.Schema({
+ _id: mongo.Schema.Types.ObjectId,
+ username: String,
+ userID: String,
+ guildname: String,
+ guildID: String,
+ channelname: String,
+ channelID: String,
+ time: String
+});
+
+export = mongo.model('Welcome', welcomeSchema) \ No newline at end of file