mirror of
https://github.com/SrIzan10/Recluse-Bot.git
synced 2026-05-01 10:55:24 +00:00
Create server.js
This commit is contained in:
247
server.js
Normal file
247
server.js
Normal file
@@ -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);
|
||||
Reference in New Issue
Block a user