gaber-elsayed

blacklist Mongodb

Apr 19th, 2021
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.83 KB | None | 0 0
  1. /*
  2. blacklist command!
  3. the mongoose model:
  4. const { Schema, model } = require('mongoose')
  5. const data = Schema({
  6. UserID: String,
  7. Reason: String
  8. })
  9. module.exports = model("blacklist", data)
  10.  
  11. add in your message event
  12. const blDb = require(`path to the db`)
  13. const blData = blDb.findOne({ UserID: message.author.id })
  14. if(blData) {
  15. return //you can add a message if you want
  16. }
  17.  
  18. */
  19. const db = require(`path to the mongoose model`)
  20.  
  21. if (!args[0]) return message.channel.send(`please provide args UwU`)
  22.  
  23. switch (args[0].toLowerCase()) {
  24. case "add":
  25. var user = bot.users.cache.get(args[1]) || message.mentions.users.first()
  26. if (!user || !args[0]) return message.channel.send(`provide a user idiot`)
  27. await db.findOne({ UserID: user.id }, async (err, data) => {
  28. if (err) throw err
  29. if (data) {
  30. return message.channel.send(`**${bot.users.cache.get(data.UserID).tag}** is already blacklisted for the reason of\n\`\`\`\n${data.Reason}\n\`\`\``)
  31. } else if (!data) {
  32. const reason = args.slice(2).join(" ") || "No reason provided."
  33. new db({
  34. UserID: user.id,
  35. Reason: reason
  36. }).save()
  37. return message.channel.send(`Blacklisted **${user.tag}** for\n\`\`\`\n${reason}\n\`\`\``)
  38. }
  39. })
  40. break;
  41. case "remove":
  42. var user = bot.users.cache.get(args[1]) || message.mentions.users.first()
  43. if (!user || !args[0]) return message.channel.send(`provide a user idiot`)
  44. await db.findOne({ UserID: user.id }, async (err, data) => {
  45. if (err) throw err
  46. if (!data) {
  47. return message.channel.send(`That user is not blacklisted.`)
  48. } else if (data) {
  49. await db.deleteOne({ UserID: user.id })
  50. return message.channel.send(`Un-blacklisted **${user.tag}**`)
  51. }
  52. })
  53. break;
  54. case "edit":
  55. var user = bot.users.cache.get(args[1]) || message.mentions.users.first()
  56. if (!user || !args[0]) return message.channel.send(`provide a user idiot`)
  57. await db.findOne({ UserID: user.id }, async (err, data) => {
  58. if (err) throw err
  59. if (!data) {
  60. return message.channel.send(`That user is not blacklisted.`)
  61. } else if (data) {
  62. const newReason = args.slice(2).join(" ")
  63. if (!newReason) return message.channel.send(`:fp: provide a new reason`)
  64.  
  65. await db.
  66. ({ Reason: newReason })
  67. return message.channel.send(`Updated **${user.tag}'s** blacklist reason to\n\`\`\`\n${newReason}\n\`\`\``)
  68. }
  69. })
  70. break;
  71. case "check":
  72. var user = bot.users.cache.get(args[1]) || message.mentions.users.first()
  73. if (!user || !args[0]) return message.channel.send(`provide a user idiot`)
  74. await db.findOne({ UserID: user.id }, async (err, data) => {
  75. if (err) throw err
  76. if (!data) {
  77. return message.channel.send(`**${user.tag}** is __not__ blacklisted`)
  78. } else if (data) {
  79. return message.channel.send(`**${user.tag}** __is__ blacklisted for\n\`\`\`${data.Reason}\n\`\`\``)
  80. }
  81. })
  82. break;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment