Files
Arthonor-Neo/index.js
T
2024-08-03 12:33:15 +02:00

45 lines
1.5 KiB
JavaScript

const { Client, GatewayIntentBits, Collection, Partials } = require('discord.js')
const { MongoClient } = require('mongodb')
const { DisTube } = require('distube');
const { YtDlpPlugin } = require('@distube/yt-dlp')
require('dotenv').config()
const mClient = new MongoClient(process.env.M_URI)
exports.mClient = mClient;
const fs = require('node:fs')
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.GuildPresences,
GatewayIntentBits.GuildMessageReactions,
GatewayIntentBits.GuildVoiceStates,
GatewayIntentBits.DirectMessages,
GatewayIntentBits.MessageContent
],
partials: [Partials.Channel, Partials.Message, Partials.User, Partials.GuildMember, Partials.Reaction]
});
exports.client = client
client.commands = new Collection() // slash commands collection
client.legacyCommands = new Collection() // legacy commands collection
client.aliases = new Collection() // list of command aliases
client.buttons = new Collection() // list of buttons
client.selectMenus = new Collection() // list of selectMenus
// Initialize DisTube with YtDlpPlugin and request options
const distube = new DisTube(client, {
plugins: [
new YtDlpPlugin(),
],
});
client.distube = distube
fs.readdirSync('./handlers').forEach((handler) => {
require(`./handlers/${handler}`)(client)
});
distube.on('error', (channel, error) => {client.emit('DistubeError', (channel, error))})
client.login(process.env.D_Token)