1
0
mirror of https://github.com/toast-ts/Daggerbot-TS.git synced 2024-11-17 00:10:58 -05:00

Optimizations and update packages

This commit is contained in:
toast-ts 2023-08-13 02:40:18 +10:00
parent 21ea97d3c6
commit 85a40cfb06
6 changed files with 104 additions and 59 deletions

39
.pnp.cjs generated
View File

@ -33,17 +33,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@octokit/auth-token", "npm:4.0.0"],\ ["@octokit/auth-token", "npm:4.0.0"],\
["@octokit/rest", "npm:20.0.1"],\ ["@octokit/rest", "npm:20.0.1"],\
["@types/ms", "npm:0.7.31"],\ ["@types/ms", "npm:0.7.31"],\
["@types/node", "npm:20.4.8"],\ ["@types/node", "npm:20.4.10"],\
["axios", "npm:1.4.0"],\ ["axios", "npm:1.4.0"],\
["canvas", "npm:2.11.2"],\ ["canvas", "npm:2.11.2"],\
["discord-player", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.6.2"],\ ["discord-player", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.6.2"],\
["discord.js", "npm:14.12.1"],\ ["discord.js", "npm:14.12.1"],\
["libsodium-wrappers", "npm:0.7.11"],\ ["libsodium-wrappers", "npm:0.7.11"],\
["moment", "npm:2.29.4"],\ ["moment", "npm:2.29.4"],\
["mongoose", "npm:7.4.2"],\ ["mongoose", "npm:7.4.3"],\
["ms", "npm:2.1.3"],\ ["ms", "npm:2.1.3"],\
["prism-media", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:1.3.5"],\ ["prism-media", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:1.3.5"],\
["systeminformation", "npm:5.18.12"],\ ["systeminformation", "npm:5.18.15"],\
["typescript", "patch:typescript@npm%3A5.1.6#~builtin<compat/typescript>::version=5.1.6&hash=5da071"],\ ["typescript", "patch:typescript@npm%3A5.1.6#~builtin<compat/typescript>::version=5.1.6&hash=5da071"],\
["xml-js", "npm:1.6.11"],\ ["xml-js", "npm:1.6.11"],\
["youtube-sr", "npm:4.3.4"],\ ["youtube-sr", "npm:4.3.4"],\
@ -513,6 +513,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\ }]\
]],\ ]],\
["@types/node", [\ ["@types/node", [\
["npm:20.4.10", {\
"packageLocation": "./.yarn/cache/@types-node-npm-20.4.10-a66bd58ee3-02a1ca415d.zip/node_modules/@types/node/",\
"packageDependencies": [\
["@types/node", "npm:20.4.10"]\
],\
"linkType": "HARD"\
}],\
["npm:20.4.8", {\ ["npm:20.4.8", {\
"packageLocation": "./.yarn/cache/@types-node-npm-20.4.8-f8f2d8d349-86a3963c0c.zip/node_modules/@types/node/",\ "packageLocation": "./.yarn/cache/@types-node-npm-20.4.8-f8f2d8d349-86a3963c0c.zip/node_modules/@types/node/",\
"packageDependencies": [\ "packageDependencies": [\
@ -934,17 +941,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@octokit/auth-token", "npm:4.0.0"],\ ["@octokit/auth-token", "npm:4.0.0"],\
["@octokit/rest", "npm:20.0.1"],\ ["@octokit/rest", "npm:20.0.1"],\
["@types/ms", "npm:0.7.31"],\ ["@types/ms", "npm:0.7.31"],\
["@types/node", "npm:20.4.8"],\ ["@types/node", "npm:20.4.10"],\
["axios", "npm:1.4.0"],\ ["axios", "npm:1.4.0"],\
["canvas", "npm:2.11.2"],\ ["canvas", "npm:2.11.2"],\
["discord-player", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.6.2"],\ ["discord-player", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.6.2"],\
["discord.js", "npm:14.12.1"],\ ["discord.js", "npm:14.12.1"],\
["libsodium-wrappers", "npm:0.7.11"],\ ["libsodium-wrappers", "npm:0.7.11"],\
["moment", "npm:2.29.4"],\ ["moment", "npm:2.29.4"],\
["mongoose", "npm:7.4.2"],\ ["mongoose", "npm:7.4.3"],\
["ms", "npm:2.1.3"],\ ["ms", "npm:2.1.3"],\
["prism-media", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:1.3.5"],\ ["prism-media", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:1.3.5"],\
["systeminformation", "npm:5.18.12"],\ ["systeminformation", "npm:5.18.15"],\
["typescript", "patch:typescript@npm%3A5.1.6#~builtin<compat/typescript>::version=5.1.6&hash=5da071"],\ ["typescript", "patch:typescript@npm%3A5.1.6#~builtin<compat/typescript>::version=5.1.6&hash=5da071"],\
["xml-js", "npm:1.6.11"],\ ["xml-js", "npm:1.6.11"],\
["youtube-sr", "npm:4.3.4"],\ ["youtube-sr", "npm:4.3.4"],\
@ -1923,10 +1930,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],\ ],\
"linkType": "SOFT"\ "linkType": "SOFT"\
}],\ }],\
["virtual:d0cf582de895e62953c81ce7ab1a408175da60784650b2939a6701a3e2b010f4c727d233f3f39d449e394e9ee90a709f72fd9dc5e400cff7ac78e132b6b47f51#npm:5.7.0", {\ ["virtual:de9b2a4bee48b47472569f051556d00472ad2cae24f303eab2885fcb163b9304e49630ec473487f25346e199b727589de8b538c4c4621c9a5e46486fe0dda3c9#npm:5.7.0", {\
"packageLocation": "./.yarn/__virtual__/mongodb-virtual-7d609f886f/0/cache/mongodb-npm-5.7.0-c5e415a2e7-16357b6229.zip/node_modules/mongodb/",\ "packageLocation": "./.yarn/__virtual__/mongodb-virtual-3d9fb5213a/0/cache/mongodb-npm-5.7.0-c5e415a2e7-16357b6229.zip/node_modules/mongodb/",\
"packageDependencies": [\ "packageDependencies": [\
["mongodb", "virtual:d0cf582de895e62953c81ce7ab1a408175da60784650b2939a6701a3e2b010f4c727d233f3f39d449e394e9ee90a709f72fd9dc5e400cff7ac78e132b6b47f51#npm:5.7.0"],\ ["mongodb", "virtual:de9b2a4bee48b47472569f051556d00472ad2cae24f303eab2885fcb163b9304e49630ec473487f25346e199b727589de8b538c4c4621c9a5e46486fe0dda3c9#npm:5.7.0"],\
["@aws-sdk/credential-providers", null],\ ["@aws-sdk/credential-providers", null],\
["@mongodb-js/zstd", null],\ ["@mongodb-js/zstd", null],\
["@types/aws-sdk__credential-providers", null],\ ["@types/aws-sdk__credential-providers", null],\
@ -1969,13 +1976,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\ }]\
]],\ ]],\
["mongoose", [\ ["mongoose", [\
["npm:7.4.2", {\ ["npm:7.4.3", {\
"packageLocation": "./.yarn/cache/mongoose-npm-7.4.2-d0cf582de8-2bf73cea4b.zip/node_modules/mongoose/",\ "packageLocation": "./.yarn/cache/mongoose-npm-7.4.3-de9b2a4bee-e92feec9e7.zip/node_modules/mongoose/",\
"packageDependencies": [\ "packageDependencies": [\
["mongoose", "npm:7.4.2"],\ ["mongoose", "npm:7.4.3"],\
["bson", "npm:5.4.0"],\ ["bson", "npm:5.4.0"],\
["kareem", "npm:2.5.1"],\ ["kareem", "npm:2.5.1"],\
["mongodb", "virtual:d0cf582de895e62953c81ce7ab1a408175da60784650b2939a6701a3e2b010f4c727d233f3f39d449e394e9ee90a709f72fd9dc5e400cff7ac78e132b6b47f51#npm:5.7.0"],\ ["mongodb", "virtual:de9b2a4bee48b47472569f051556d00472ad2cae24f303eab2885fcb163b9304e49630ec473487f25346e199b727589de8b538c4c4621c9a5e46486fe0dda3c9#npm:5.7.0"],\
["mpath", "npm:0.9.0"],\ ["mpath", "npm:0.9.0"],\
["mquery", "npm:5.0.0"],\ ["mquery", "npm:5.0.0"],\
["ms", "npm:2.1.3"],\ ["ms", "npm:2.1.3"],\
@ -2681,10 +2688,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\ }]\
]],\ ]],\
["systeminformation", [\ ["systeminformation", [\
["npm:5.18.12", {\ ["npm:5.18.15", {\
"packageLocation": "./.yarn/unplugged/systeminformation-npm-5.18.12-2a4b019257/node_modules/systeminformation/",\ "packageLocation": "./.yarn/unplugged/systeminformation-npm-5.18.15-6e7be558fc/node_modules/systeminformation/",\
"packageDependencies": [\ "packageDependencies": [\
["systeminformation", "npm:5.18.12"]\ ["systeminformation", "npm:5.18.15"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\

View File

@ -37,10 +37,10 @@
"discord.js": "14.12.1", "discord.js": "14.12.1",
"libsodium-wrappers": "0.7.11", "libsodium-wrappers": "0.7.11",
"moment": "2.29.4", "moment": "2.29.4",
"mongoose": "7.4.2", "mongoose": "7.4.3",
"ms": "2.1.3", "ms": "2.1.3",
"prism-media": "1.3.5", "prism-media": "1.3.5",
"systeminformation": "5.18.12", "systeminformation": "5.18.15",
"typescript": "5.1.6", "typescript": "5.1.6",
"xml-js": "1.6.11", "xml-js": "1.6.11",
"youtube-sr": "4.3.4", "youtube-sr": "4.3.4",
@ -48,6 +48,6 @@
}, },
"devDependencies": { "devDependencies": {
"@types/ms": "0.7.31", "@types/ms": "0.7.31",
"@types/node": "20.4.8" "@types/node": "20.4.10"
} }
} }

View File

@ -193,7 +193,7 @@ export default {
.addStringOption(x=>x .addStringOption(x=>x
.setName('status') .setName('status')
.setDescription('Set a status indicator for the bot') .setDescription('Set a status indicator for the bot')
.setChoices( .addChoices(
{name: 'Online', value: Discord.PresenceUpdateStatus.Online}, {name: 'Online', value: Discord.PresenceUpdateStatus.Online},
{name: 'Idle', value: Discord.PresenceUpdateStatus.Idle}, {name: 'Idle', value: Discord.PresenceUpdateStatus.Idle},
{name: 'Do Not Distrub', value: Discord.PresenceUpdateStatus.DoNotDisturb}, {name: 'Do Not Distrub', value: Discord.PresenceUpdateStatus.DoNotDisturb},

View File

@ -5,12 +5,9 @@ import {SpotifyExtractor} from '@discord-player/extractor';
export default { export default {
async run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>){ async run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>){
if (!client.config.botSwitches.music && !client.config.whitelist.includes(interaction.user.id)) return interaction.reply({content:'Music module is currently disabled.',ephemeral:true}); if (!client.config.botSwitches.music && !client.config.whitelist.includes(interaction.user.id)) return interaction.reply({content:'Music module is currently disabled.',ephemeral:true});
if (!client.isStaff(interaction.member) && !client.config.whitelist.includes(interaction.member.id)) return interaction.reply('This command is in early stages of development, some parts may be missing or broken.\nIt has been restricted to staff for time-being.'); if (!client.isStaff(interaction.member) && !client.config.whitelist.includes(interaction.member.id)) return interaction.reply('Music module is close to being completed, some parts may be incomplete or broken, so it has been restricted to staff for time-being.');
const player = Player.singleton(client); const player = Player.singleton(client);
await player.extractors.register(SpotifyExtractor, { await player.extractors.register(SpotifyExtractor,{clientId: client.tokens.dontlookatme.client, clientSecret: client.tokens.dontlookatme.secret});
clientId: client.tokens.dontlookatme.client,
clientSecret: client.tokens.dontlookatme.secret
});
if (!interaction.member.voice.channel) return interaction.reply('Please join a voice channel first to use the command.'); if (!interaction.member.voice.channel) return interaction.reply('Please join a voice channel first to use the command.');
player.nodes.create(interaction.guildId, { player.nodes.create(interaction.guildId, {
metadata: { metadata: {
@ -27,53 +24,67 @@ export default {
connectionTimeout: 25000, connectionTimeout: 25000,
strategy: 'FIFO' strategy: 'FIFO'
}); });
const queue = useQueue(interaction.guildId);
({ ({
play: async()=>{ play: async()=>{
const url = interaction.options.getString('url'); const url = interaction.options.getString('url');
if (!url.includes('https://open.spotify.com/')) return interaction.reply('Sorry, I can\'t play that. I can only accept Spotify links that contains `https://open.spotify.com/`'); // Yes, I made it clear that it's intended typo. if (!url.includes('https://open.spotify.com/')) return interaction.reply('Sorry, I can\'t play that. I can only accept Spotify links that contains `https://open.spotify.com/`'); // Yes, I made it clear that it's intended typo.
if (!(await player.search(url,{requestedBy:interaction.user})).hasTracks()) return interaction.reply(`No results found for \`${url}\`\nIt is either private, unavailable or you made a *tpyo* in your query.`) if (!(await player.search(url,{requestedBy:interaction.user})).hasTracks()) return interaction.reply(`No results found for \`${url}\`\nIt is either private, unavailable or you made a *tpyo* in your query.`)
player.play(interaction.member.voice.channel, url); player.play(interaction.member.voice.channel, url);
await interaction.reply(`Added the ${url.includes('playlist/') ? 'playlist' : 'song'} to the queue.`); await interaction.reply(`Added the ${url.includes('playlist/') ? 'playlist' : url.includes('album/') ? 'album' : 'song'} to the queue.`);
}, },
stop: async()=>{ stop: async()=>{
player.destroy(); player.destroy();
await interaction.reply('Player destroyed.') await interaction.reply('Player destroyed.')
}, },
pause: ()=>{ pause: ()=>{
const queue = useQueue(interaction.guildId);
queue.node.setPaused(!queue.node.isPaused()); queue.node.setPaused(!queue.node.isPaused());
if (!queue.node.isPaused) interaction.reply('Music has been paused.'); if (queue.node.isPaused()) interaction.reply('Music has been paused.');
else if (queue.node.isPaused) interaction.reply('Music has been unpaused.') else interaction.reply('Music has been resumed.')
}, },
now_playing: ()=>{ now_playing: ()=>{
const {volume,timestamp,track} = useTimeline(interaction.guildId); const {volume,timestamp,track} = useTimeline(interaction.guildId);
interaction.reply({embeds:[ if (!track) return interaction.reply('There\'s nothing playing, why are you checking?');
new client.embed().setColor(client.config.embedColor).setTitle(`${track.title} - ${track.author}`).setThumbnail(track.thumbnail).addFields( else {
{name: 'Timestamp', value: `**${timestamp.current.label}**/**${timestamp.total.label}**`, inline: true}, function convertNumberToText(input:number){
{name: 'Volume', value: `${volume}%`, inline: true} switch(input){
) case 0: return 'Off';
]}) case 1: return 'Track';
}, case 2: return 'Queue';
queue: async()=>{ case 3: return 'Autoplay DJ';
const queue = useQueue(interaction.guildId); }
interaction.reply({embeds:[new client.embed().setColor(client.config.embedColor).setTitle(`Songs currently in the queue: ${queue.tracks.size}`).setDescription(queue.tracks.size > 0 ? `\`\`\`${queue.tracks.map(i=>`${i.title} - ${i.author}\`\`\``).join('```\n')}`.slice(0,1017) : '*No songs currently queued.*')]}) }
interaction.reply({embeds:[
new client.embed().setColor(client.config.embedColor).setTitle(`${track.title} - ${track.author}`).setThumbnail(track.thumbnail).addFields(
{name: 'Timestamp', value: `**${timestamp.current.label}**/**${timestamp.total.label}**`, inline: true},
{name: 'Volume', value: `${volume}%`, inline: true},
{name: 'Loop mode', value: `${convertNumberToText(queue.repeatMode)}`, inline: true}
)
]})
}
}, },
queue: async()=>interaction.reply({embeds:[new client.embed().setColor(client.config.embedColor).setTitle(`Songs currently in the queue: ${queue.tracks.size}`).setDescription(queue.tracks.size > 0 ? `\`\`\`${queue.tracks.map(i=>`${i.title} - ${i.author}\`\`\``).join('```\n')}`.slice(0,1017) : '*No songs currently queued.*')]}),
volume: ()=>{ volume: ()=>{
const vol = interaction.options.getNumber('percentage'); const vol = interaction.options.getNumber('percentage');
useQueue(interaction.guildId).node.setVolume(vol); queue.node.setVolume(vol);
interaction.reply(`Successfully adjusted the player's volume to ${vol}%`) interaction.reply(`Successfully adjusted the player's volume to ${vol}%`)
}, },
shuffle: ()=>{ shuffle: ()=>{
useQueue(interaction.guildId).tracks.shuffle(); queue.tracks.shuffle();
interaction.reply('Songs in the queue has been shuffled.') interaction.reply('Songs in the queue has been shuffled.')
}, },
remove: ()=>{ remove: ()=>{
useQueue(interaction.guildId).removeTrack(interaction.options.getNumber('id',true)); queue.removeTrack(interaction.options.getNumber('id',true));
interaction.reply('Song has been removed from the queue.') interaction.reply('Song has been removed from the queue.')
}, },
skip: ()=>{ skip: ()=>{
useQueue(interaction.guildId).node.skip(); queue.node.skip();
interaction.reply('Skipped the current song, now playing the next one in queue.') interaction.reply('Skipped the current song, now playing the next one in queue.')
},
loop: ()=>{
const loopMode = interaction.options.getNumber('mode',true);
queue.setRepeatMode(loopMode);
interaction.reply(`Loop mode is now ${loopMode === 0 ? 'disabled.' : loopMode === 1 ? 'set to loop current track.': loopMode === 2 ? 'looping through current queue.' : 'activating Autoplay DJ.'}`)
} }
} as any)[interaction.options.getSubcommand()](); } as any)[interaction.options.getSubcommand()]();
}, },
@ -114,6 +125,19 @@ export default {
.addSubcommand(x=>x .addSubcommand(x=>x
.setName('shuffle') .setName('shuffle')
.setDescription('Shuffle the songs in a queue')) .setDescription('Shuffle the songs in a queue'))
.addSubcommand(x=>x
.setName('loop')
.setDescription('Loop through queue or current track or enable Autoplay DJ')
.addNumberOption(x=>x
.setName('mode')
.setDescription('Select the available modes to use')
.addChoices(
{name: 'Off', value: 0},
{name: 'Current track', value: 1},
{name: 'Queue', value: 2},
{name: 'Autoplay DJ (Play related songs based on queue)', value: 3}
)
.setRequired(true)))
.addSubcommand(x=>x .addSubcommand(x=>x
.setName('remove') .setName('remove')
.setDescription('Remove a specific song from the queue') .setDescription('Remove a specific song from the queue')

View File

@ -30,13 +30,18 @@ client.on('ready', async()=>{
// Error handler // Error handler
function DZ(error:Error, type:string){// Yes, I may have shiternet but I don't need to wake up to like a hundred messages or so. function DZ(error:Error, type:string){// Yes, I may have shiternet but I don't need to wake up to like a hundred messages or so.
if (['getaddrinfo ENOTFOUND discord.com', 'getaddrinfo EAI_AGAIN discord.com', '[Error: 30130000:error:0A000410:SSL', '[Error: F8200000:error:0A000410:SSL'].includes(error.message)) return; if ([
'getaddrinfo ENOTFOUND discord.com', 'getaddrinfo EAI_AGAIN discord.com',
'[Error: 30130000:error:0A000410:SSL', '[Error: F8200000:error:0A000410:SSL',
'HTTPError: Internal Server Error'
].includes(error.message)) return;
console.error(error); console.error(error);
(client.channels.resolve(client.config.mainServer.channels.errors) as Discord.TextChannel | null)?.send({embeds: [new client.embed().setColor('#560000').setTitle('Error caught!').setFooter({text: 'Error type: ' + type}).setDescription(`**Error:**\n\`\`\`${error.message}\`\`\`**Stack:**\n\`\`\`${`${error.stack}`.slice(0, 2500)}\`\`\``)]}) (client.channels.resolve(client.config.mainServer.channels.errors) as Discord.TextChannel | null)?.send({embeds: [new client.embed().setColor('#560000').setTitle('Error caught!').setFooter({text: 'Error type: ' + type}).setDescription(`**Error:**\n\`\`\`${error.message}\`\`\`**Stack:**\n\`\`\`${`${error.stack}`.slice(0, 2500)}\`\`\``)]})
} }
process.on('unhandledRejection', (error: Error)=>DZ(error, 'unhandledRejection')); process.on('unhandledRejection', (error: Error)=>DZ(error, 'unhandledRejection'));
process.on('uncaughtException', (error: Error)=>DZ(error, 'uncaughtException')); process.on('uncaughtException', (error: Error)=>DZ(error, 'uncaughtException'));
process.on('error', (error: Error)=>DZ(error, 'process-error')); process.on('error', (error: Error)=>DZ(error, 'nodeError'));
process.on('warning', (warn: Error)=>DZ(warn, 'nodeWarning'));
client.on('error', (error: Error)=>DZ(error, 'client-error')); client.on('error', (error: Error)=>DZ(error, 'client-error'));
// Audio Player event handling // Audio Player event handling
@ -87,7 +92,9 @@ setInterval(async()=>{
dailyMsgs.push([formattedDate, total]); dailyMsgs.push([formattedDate, total]);
writeFileSync('./src/database/dailyMsgs.json', JSON.stringify(dailyMsgs)) writeFileSync('./src/database/dailyMsgs.json', JSON.stringify(dailyMsgs))
console.log(client.logTime(), `Pushed [${formattedDate}, ${total}] to dailyMsgs`); console.log(client.logTime(), `Pushed [${formattedDate}, ${total}] to dailyMsgs`);
client.guilds.cache.get(client.config.mainServer.id).commands.fetch().then(commands=>(client.channels.resolve(client.config.mainServer.channels.logs) as Discord.TextChannel).send(`:pencil: Pushed \`[${formattedDate}, ${total}]\` to </rank leaderboard:${commands.find(x=>x.name === 'rank').id}>`)); if (client.token != client.tokens.main){
(client.channels.resolve(client.config.mainServer.channels.thismeanswar) as Discord.TextChannel).send({files:['./src/database/dailyMsgs.json']}).catch(fileErr=>console.log(fileErr)) client.guilds.cache.get(client.config.mainServer.id).commands.fetch().then(commands=>(client.channels.resolve(client.config.mainServer.channels.logs) as Discord.TextChannel).send(`:pencil: Pushed \`[${formattedDate}, ${total}]\` to </rank leaderboard:${commands.find(x=>x.name === 'rank').id}>`));
(client.channels.resolve(client.config.mainServer.channels.thismeanswar) as Discord.TextChannel).send({files:['./src/database/dailyMsgs.json']}).catch(fileErr=>console.log(fileErr))
} else console.log(client.logTime(), 'Development bot\'s token is in use, not uploading dailyMsgs.json to channel.')
} }
}, 5000) }, 5000)

View File

@ -379,13 +379,20 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@types/node@npm:*, @types/node@npm:20.4.8": "@types/node@npm:*":
version: 20.4.8 version: 20.4.8
resolution: "@types/node@npm:20.4.8" resolution: "@types/node@npm:20.4.8"
checksum: 86a3963c0c7af3410553d1dfa4b018a20b3cb3ab4d8e8ffe27408b6338c5de0374b0bf379bc705da2205b466daa751ccfe062f453ba9bde34fdb0e5163ca6a68 checksum: 86a3963c0c7af3410553d1dfa4b018a20b3cb3ab4d8e8ffe27408b6338c5de0374b0bf379bc705da2205b466daa751ccfe062f453ba9bde34fdb0e5163ca6a68
languageName: node languageName: node
linkType: hard linkType: hard
"@types/node@npm:20.4.10":
version: 20.4.10
resolution: "@types/node@npm:20.4.10"
checksum: 02a1ca415d9cc91144c4250383aa0ef1e48241bd36067ed7d1b239d8bacc2a11139dd90e223e11ac289345eeae624cc5dcf73359e684bd2e5a6c31bdfbab4811
languageName: node
linkType: hard
"@types/webidl-conversions@npm:*": "@types/webidl-conversions@npm:*":
version: 7.0.0 version: 7.0.0
resolution: "@types/webidl-conversions@npm:7.0.0" resolution: "@types/webidl-conversions@npm:7.0.0"
@ -750,17 +757,17 @@ __metadata:
"@octokit/auth-token": 4.0.0 "@octokit/auth-token": 4.0.0
"@octokit/rest": 20.0.1 "@octokit/rest": 20.0.1
"@types/ms": 0.7.31 "@types/ms": 0.7.31
"@types/node": 20.4.8 "@types/node": 20.4.10
axios: 1.4.0 axios: 1.4.0
canvas: 2.11.2 canvas: 2.11.2
discord-player: 6.6.2 discord-player: 6.6.2
discord.js: 14.12.1 discord.js: 14.12.1
libsodium-wrappers: 0.7.11 libsodium-wrappers: 0.7.11
moment: 2.29.4 moment: 2.29.4
mongoose: 7.4.2 mongoose: 7.4.3
ms: 2.1.3 ms: 2.1.3
prism-media: 1.3.5 prism-media: 1.3.5
systeminformation: 5.18.12 systeminformation: 5.18.15
typescript: 5.1.6 typescript: 5.1.6
xml-js: 1.6.11 xml-js: 1.6.11
youtube-sr: 4.3.4 youtube-sr: 4.3.4
@ -1628,9 +1635,9 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"mongoose@npm:7.4.2": "mongoose@npm:7.4.3":
version: 7.4.2 version: 7.4.3
resolution: "mongoose@npm:7.4.2" resolution: "mongoose@npm:7.4.3"
dependencies: dependencies:
bson: ^5.4.0 bson: ^5.4.0
kareem: 2.5.1 kareem: 2.5.1
@ -1639,7 +1646,7 @@ __metadata:
mquery: 5.0.0 mquery: 5.0.0
ms: 2.1.3 ms: 2.1.3
sift: 16.0.1 sift: 16.0.1
checksum: 2bf73cea4bf72ffa553a7d024b827e50fcb4aba9a17111ece764e1644c97313d678e84e0fb63c101061e70966b19ba720524f46deedcfbc631f583da45533eb0 checksum: e92feec9e739fd429726b6b17ad0d5c05503d2786aa9605548e2b7e999f990a59bdf950e5cd44aa10e3936277410b4880e760e9e503627fae6c16b4901bf9c49
languageName: node languageName: node
linkType: hard linkType: hard
@ -2233,12 +2240,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"systeminformation@npm:5.18.12": "systeminformation@npm:5.18.15":
version: 5.18.12 version: 5.18.15
resolution: "systeminformation@npm:5.18.12" resolution: "systeminformation@npm:5.18.15"
bin: bin:
systeminformation: lib/cli.js systeminformation: lib/cli.js
checksum: 0893f61fecb0cae181c6cb37b544395263e8be1f7c53a06868c139e4fb9dfe605426850c339afe905d25427addf33e9f754c4c05ec71b0e73dbbf93c2da2247c checksum: 15555c2c0fac29ca8146153c5b9ad146f5fe5ffe109f0cbc20d2d2b902f8b4d2cc57a1add233edc4914c13f984b96250a51ce351bd570a1ac6ba369ed3caa974
conditions: (os=darwin | os=linux | os=win32 | os=freebsd | os=openbsd | os=netbsd | os=sunos | os=android) conditions: (os=darwin | os=linux | os=win32 | os=freebsd | os=openbsd | os=netbsd | os=sunos | os=android)
languageName: node languageName: node
linkType: hard linkType: hard