From 453996c488b1e10bbef1c77b123acaf5022a1115 Mon Sep 17 00:00:00 2001 From: Diwas Atreya <74746579+diwasatreya@users.noreply.github.com> Date: Sun, 25 Apr 2021 12:46:26 +0545 Subject: [PATCH] Create server.js --- server.js | 247 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 247 insertions(+) create mode 100644 server.js diff --git a/server.js b/server.js new file mode 100644 index 0000000..0b9215b --- /dev/null +++ b/server.js @@ -0,0 +1,247 @@ +const { default_prefix } = require("./config.json"); +const { config } = require("dotenv"); + const { keep_alive } = require("./keep_alive"); + +const fetch = require("node-fetch"); +const db =require("quick.db"); +const moment = require("moment"); +const { CanvasSenpai } = require("canvas-senpai") +const canva = new CanvasSenpai(); +const discord = require("discord.js"); +const client = new discord.Client({ + disableEveryone: false +}); +const yts = require('yt-search') + +client.queue = new Map(); +client.vote = new Map(); +const { ready } = require("./handlers/ready.js") +//Made by Atreya YT dont remove credit + + +client.commands = new discord.Collection(); +client.aliases = new discord.Collection(); + +["command"].forEach(handler => { + require(`./handlers/${handler}`)(client); +}); + +client.on("message", async message => { + const prefixMention = new RegExp(`^<@!?${client.user.id}>( |)$`); + if (message.content.match(prefixMention)) { + return message.reply(`My prefix is \`${default_prefix}\``); + } + + if (message.author.bot) return; + if (!message.guild) return; + if (!message.content.startsWith(default_prefix)) return; + + if (!message.member) + message.member = await message.guild.fetchMember(message); + + const args = message.content + .slice(default_prefix.length) + .trim() + .split(/ +/g); + const cmd = args.shift().toLowerCase(); + + if (cmd.length === 0) return; + + let command = client.commands.get(cmd); + + if (!command) command = client.commands.get(client.aliases.get(cmd)); + + if (command) command.run(client, message, args); +}); + +client.on("guildMemberAdd", async member => { + + let chx = db.get(`welchannel_${member.guild.id}`); + + if (chx === null) { + + return; + + } + + + + let data = await canva.welcome(member, { link: "https://i.pinimg.com/originals/f3/1c/39/f31c39d56512dc8fbf30f9d0fb3ee9d3.jpg" }) + + + + const attachment = new discord.MessageAttachment( + + data, + + "welcome-image.png" + + ); + + + + + + client.channels.cache.get(chx).send("Welcome to our Server " + member.user.username, attachment); + +}); + +//ctabot + + + +client.on("message", async message => { +if (message.channel.name == "chatbot") { +if (message.author.bot) return; +message.content = message.content.replace(/@(everyone)/gi, "everyone").replace(/@(here)/gi, "here"); +if (message.content.includes(`@`)) { +return message.channel.send(`**:x: Please dont mention anyone**`); + } + message.channel.startTyping(); +if (!message.content) return message.channel.send("Please say something."); +fetch(`https://api.affiliateplus.xyz/api/chatbot?message=${encodeURIComponent(message.content)}&botname=${client.user.username}&ownername=Atreya#0513`) + .then(res => res.json()) + .then(data => { + message.channel.send(`> ${message.content} \n <@${message.author.id}> ${data.message}`); + }); + message.channel.stopTyping(); +} +}); + +//LEVEL + +const { addexp } = require("./handlers/xp.js") + +//LEVEL +client.on("message", async message => { +if(message.author.bot) return; + if(!message.guild) return; + +return addexp(message) +}) + +client.snipes = new Map() +client.on('messageDelete', function(message, channel){ + + client.snipes.set(message.channel.id, { + content:message.content, + author:message.author.tag, + image:message.attachments.first() ? message.attachments.first().proxyURL : null + }) + +}) + + +const { GiveawaysManager } = require("discord-giveaways"); +// Starts updating currents giveaways +const manager = new GiveawaysManager(client, { + storage: "./handlers/giveaways.json", + updateCountdownEvery: 10000, + default: { + botsCanWin: false, + exemptPermissions: [ "MANAGE_MESSAGES", "ADMINISTRATOR" ], + embedColor: "#FF0000", + reaction: "🎉" + } +}); +// We now have a giveawaysManager property to access the manager everywhere! +client.giveawaysManager = manager; + +client.on("message", async message => { +if(!message.guild) return; + let prefix = db.get(`default_prefix${message.guild.id}`) + if(prefix === null) prefix =default_prefix; + + if(!message.content.startsWith(default_prefix)) return; + +}) + +client.on("guildCreate", guild => { + + const { MessageEmbed } = require("discord.js"); + +//Subscribe to Atreya YT + const ID = "826469181129359380"; +//Subscribe to Atreya YT + + const channel = client.channels.cache.get(ID); + + const sowner = guild.owner.user; + + if (!channel) return; + + const embed = new MessageEmbed() + + .setTitle("**I Joined a Server!**") + + .addField(`**SERVER NAME**`, `\`\`\`${guild.name}\`\`\``) + + .addField(`**SERVER ID**`, `\`\`\`${guild.id}\`\`\``) + + .addField(`**SERVER OWNER**`, `\`\`\`${sowner.tag}\`\`\``) + + .addField(`**OWNER ID**`, `\`\`\`${sowner.id}\`\`\``) + + .addField(`**CREATED ON**`, `\`\`\`${guild.createdAt}\`\`\``) + + .addField(`**MEMBERS**`, `\`\`\`${guild.memberCount}\`\`\``) + + .setTimestamp() + + .setColor("32CD32") + + .setFooter(`Servers Count - ${client.guilds.cache.size}`); + + channel.send(embed); + +}); + + +// Set the bot's online/idle/dnd/invisible status +client.on("ready", () => { + client.user.setStatus("dnd"); + console.log("recluse is ready ") +}); +//Made by Atreya YT +//Subscribe to Atreya YT + + + +client.on("message", async message => { +if(!message.guild) return; + let prefix = db.get(`prefix_${message.guild.id}`) + if(prefix === null) prefix = default_prefix; + + if(!message.content.startsWith(prefix)) return; + +}) + + + + + +client.on('voiceStateUpdate', (old, New) => { + if(old.id !== client.user.id) return + if(old.channelID && !New.channelID) client.queue.delete(old.guild.id) +}) + +client.on('ready', () => { +var channel = client.channels.cache.get('826469181129359380'); + if (channel) channel.join(); +}); + + + + +client.on +client.on("ready", () => { + client.user.setActivity(`?help |Servers ${client.guilds.cache.size}`, { type: "WATCHING"}) +}) + + + + +//Subscribe to Atreya YT + + +client.login(process.env.TOKEN);