const Discord = require("discord.js"); const Statcord = require("statcord.js"); const config = require('./config.json'); const db = require("quick.db"); const { Campaign } = require('patreon-discord'); const sourcebin = require("sourcebin_js"); /*---------------------------------------------------------CLIENT--------------------------------------------------------*/ const client = new Discord.Client({ presence: { status: "online", activities: [{ name: "bots, botss, botsss... | s!help", type: "WATCHING" }] }, restRequestTimeout: 20000, retryLimit: 3, intents: [ Discord.Intents.FLAGS.GUILDS, Discord.Intents.FLAGS.GUILD_PRESENCES, Discord.Intents.FLAGS.GUILD_MESSAGES, Discord.Intents.FLAGS.GUILD_MEMBERS ] }); const statcord = new Statcord.Client({ client, key: config.statcord, postCpuStatistics: true, postMemStatistics: true, postNetworkStatistics: true, }); setInterval(() => { client.user.setPresence({ type: "WATCHING", name: "bots, botss, botsss... | s!help", }); client.user.setStatus("online"); }, 5400000); const myCampaign = new Campaign({ patreonToken: config.patreon.token, campaignId: config.patreon.camp }); statcord.on("autopost-start", () => { console.log("[STATCORD] Started autopost."); }); /*---------------------------------------------------------MODULES--------------------------------------------------------*/ client.commands = new Discord.Collection(); client.slash = new Discord.Collection(); client.aliases = new Discord.Collection(); client.db = db; client.config = config; client.patr = myCampaign; client.statcord = statcord; client.sourcebin = sourcebin; /*---------------------------------------------------------HANDLERS--------------------------------------------------------*/ ["events", "slash"].forEach(handler => { require(`./handlers/${handler}`)(client); }); /*----------------------------------------------------RECONNECT, ERROR, WARN-------------------------------------------------*/ client.on("rateLimit", (info) => console.log(`[RATELIMIT] Rate limit hit ${info.timeDifference ? info.timeDifference : info.timeout ? info.timeout: 'Unknown timeout '}`)) .on("disconnect", () => console.log("Bot is disconnecting...")) .on("reconnect", () => console.log("Bot reconnecting...")) .on("error", e => console.log(e)) .on("warn", info => console.log(info));