Advertisement
Guest User

main.js

a guest
May 10th, 2021
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. const { CommandoClient } = require("discord.js-commando");
  2. const path = require("path");
  3. const mongo = require("./mongo");
  4. const { token, mongoPath } = require("./config.json");
  5. const cache = {};
  6. const welcomeSchema = require('./models/welcomeSchema')
  7.  
  8. const client = new CommandoClient({
  9. commandPrefix: ";",
  10. owner: ["769231300472995840", "701561771529470074"],
  11. invite: "https://discord.gg/GJRC4cnU4j",
  12. });
  13.  
  14. client.registry
  15. .registerDefaultTypes()
  16. .registerGroups([
  17. ["moderation", "Moderation Commands"],
  18. ["general", "General Commands"],
  19. ["misc", "Misc Commands"],
  20. ["server-config", "Server Config Commands"],
  21. ["economy", "Economy Commands"],
  22. ["testing", "Testing Commands"],
  23. ])
  24. .registerDefaultGroups()
  25. .registerDefaultCommands()
  26. .registerCommandsIn(path.join(__dirname, "commands"));
  27.  
  28. client.once("ready", async () => {
  29. console.log(`Logged in as ${client.user.tag}! (${client.user.id})`);
  30. const delay = (msec) => new Promise((resolve) => setTimeout(resolve, msec));
  31. while (0 == 0) {
  32. await delay(10000);
  33. client.user
  34. .setActivity(`${client.guilds.cache.size} servers`, { type: "WATCHING" })
  35. .catch(console.error);
  36. await delay(10000);
  37. client.user.setActivity(`;help`, { type: "WATCHING" }).catch(console.error);
  38. }
  39. });
  40.  
  41. const onJoin = async (member) => {
  42. const { guild } = member;
  43.  
  44. let data = cache[guild.id];
  45.  
  46. if (!data) {
  47. console.log("FETCHING FROM DATABASE");
  48.  
  49. await mongo().then(async (mongoose) => {
  50. try {
  51. const result = await welcomeSchema.findOne({ _id: guild.id });
  52.  
  53. cache[guild.id] = data = [result.channelId, result.text];
  54. } finally {
  55. mongoose.connection.close();
  56. }
  57. });
  58. }
  59.  
  60. const channelId = data[0];
  61. const text = data[1];
  62.  
  63. const channel = guild.channels.cache.get(channelId);
  64. channel.send(text.replace(/<@>/g, `<@${member.id}>`));
  65. };
  66.  
  67. client.on('guildMemberAdd', (member) => {
  68. onJoin(member)
  69. })
  70.  
  71. client.on("error", console.error);
  72.  
  73. client.login(token);
  74.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement