n?dnd and user schema

master
Kit Kasune 4 years ago
parent e8ed30dd0e
commit e92ef55395
  1. 29
      commands/dnd.js
  2. 2
      commands/prefix.js
  3. 1
      commands/staffrole.js
  4. 17
      models/user.js

@ -0,0 +1,29 @@
const Discord = require('discord.js');
const mongoose = require('mongoose');
const UserData = require('../models/user');
module.exports = {
name: "dnd",
aliases: ['donotdisturb'],
help: new Discord.MessageEmbed()
.setTitle("Help -> Do Not Disturb")
.setDescription("Set your status within the bot as DnD and specify a reason. Then, when other people ping you, I can let them know that you don't want to be disturbed!")
.addField("Syntax", "`dnd [clearMode] <reason>`")
.addField("Notice","Your status clear mode can be set to either 'auto' or 'manual'. If not specified, it will clear when you use `n?clearstatus`."),
async execute(message, msg, args, cmd, prefix, mention, client) {
if (!args.length) {return message.channel.send(`Syntax: \`${prefix}dnd [clearMode] <reason>\``);}
let tu = await UserData.findOne({uid: message.author.id})
? await UserData.findOne({uid: message.author.id})
: new UserData({uid: message.author.id});
if (['m', 'manual', 'a', 'auto'].includes(args[0])) {
tu.statusclearmode = ['m', 'manual'].includes(args[0]) ? 'manual' : 'auto';
args.shift();
} else {tu.statusclearmode = 'manual';}
let reason = args.join(" ");
if (reason.length > 150) {return message.reply("That status a bit long; keep it under 150 characters.");}
tu.statustype = 'dnd';
tu.statusmsg = reason.trim();
tu.save();
return message.reply(`I set your Do not Disturb message to: ${reason.trim()}`);
}
};

@ -1,4 +1,5 @@
const Discord = require('discord.js'); const Discord = require('discord.js');
const mongoose = require('mongoose');
const GuildSettings = require('../models/guild'); const GuildSettings = require('../models/guild');
module.exports = { module.exports = {
@ -14,7 +15,6 @@ module.exports = {
let tguild = await GuildSettings.findOne({gid: message.guild.id}) let tguild = await GuildSettings.findOne({gid: message.guild.id})
? await GuildSettings.findOne({gid: message.guild.id}) ? await GuildSettings.findOne({gid: message.guild.id})
: new GuildSettings({gid: message.guild.id}); : new GuildSettings({gid: message.guild.id});
if (!tguild.prefix) {tguild.prefix = '';}
if (!message.member.permissions.has("ADMINISTRATOR") && (!tguild.staffrole.length || !message.guild.roles.cache.has(tguild.staffrole) || !message.member.roles.cache.has(tguild.staffrole))) {return message.reply("You don't have the permissions to use this command here.");} if (!message.member.permissions.has("ADMINISTRATOR") && (!tguild.staffrole.length || !message.guild.roles.cache.has(tguild.staffrole) || !message.member.roles.cache.has(tguild.staffrole))) {return message.reply("You don't have the permissions to use this command here.");}
if (!args.length) {return message.channel.send(`Syntax: \`${prefix} <newPrefix|clear>\`. My current prefix in this server is \`${tguild.prefix.length ? tguild.prefix : 'n?'}\``);} if (!args.length) {return message.channel.send(`Syntax: \`${prefix} <newPrefix|clear>\`. My current prefix in this server is \`${tguild.prefix.length ? tguild.prefix : 'n?'}\``);}
let np = args[0]; let np = args[0];

@ -1,4 +1,5 @@
const Discord = require('discord.js'); const Discord = require('discord.js');
const mongoose = require('mongoose');
const GuildSettings = require('../models/guild'); const GuildSettings = require('../models/guild');
module.exports = { module.exports = {

@ -0,0 +1,17 @@
const mongoose = require('mongoose');
const UserSchema = new mongoose.Schema({
uid: {type: String, unique: true},
commands: {type: Number, default: 0},
statusmsg: {type: String, default: ''},
statustype: {type: String, default: ''},
statusclearmode: {type: String, default: 'auto'},
support: {type: Boolean, default: false},
staff: {type: Boolean, default: false},
admin: {type: Boolean, default: false},
developer: {type: Boolean, default: false},
blacklisted: {type: Boolean, default: false},
donator: {type: Boolean, default: false}
});
module.exports = mongoose.model("user", UserSchema);
Loading…
Cancel
Save