Update discord.js dependency to version 14 (#116)

* Update discord.js in package.json to v14.16.3 & update package-lock.json

* Update all embeds to work with v14

* Do not show discriminator if it is 0
This commit is contained in:
SileNce5k 2024-10-22 07:36:10 +02:00
parent c751a5aec2
commit 062e6d43dc
Signed by: SileNce
GPG key ID: B0A142BB4291B204
14 changed files with 1306 additions and 2437 deletions

View file

@ -19,13 +19,22 @@ module.exports = {
switch (presenceType) { switch (presenceType) {
case "PLAY": case "PLAY":
presenceType = "PLAYING"; presenceType = 0;
break; break;
case "LISTEN": case "LISTEN":
presenceType = "LISTENING"; presenceType = 2;
break; break;
case "WATCH": case "WATCH":
presenceType = "WATCHING"; presenceType = 3;
break;
case "CUSTOM":
presenceType = 4;
break;
case "COMPETING":
presenceType = 5;
break;
case "STREAM":
presenceType = 1;
break; break;
default: default:
presenceType = "INVALID"; presenceType = "INVALID";

View file

@ -1,4 +1,4 @@
const Discord = require('discord.js'); const {EmbedBuilder} = require('discord.js');
const getCreationDate = require('../../util/getCreationDate'); const getCreationDate = require('../../util/getCreationDate');
const getGuildCount = require('../../util/getGuildCount'); const getGuildCount = require('../../util/getGuildCount');
@ -9,11 +9,11 @@ module.exports = {
description: 'Shows information about the bot', description: 'Shows information about the bot',
execute({message, client, prefix}) { execute({message, client, prefix}) {
let guildCount = getGuildCount(client) let guildCount = getGuildCount(client)
const embed = new Discord.MessageEmbed() const embed = new EmbedBuilder()
.setColor(15780145) .setColor(15780145)
.setTitle("Information about bot") .setTitle("Information about bot")
.setTimestamp() .setTimestamp()
.setAuthor(client.user.username, client.user.avatarURL({ dynamic: true, size: 4096 })) .setAuthor({name: client.user.username, iconURL: client.user.avatarURL({ format: 'png', dynamic: true, size: 2048 })})
.addFields({ .addFields({
name: "General info", value: `Name: ${client.user.username}\nPrefix: ${prefix}\nTotal Servers: ${guildCount}\nTotal Commands: ${client.commands.size}\nCreation Date: ${getCreationDate(client)}\nSource: [Click Here](https://github.com/SileNce5k/discord_bot)`, name: "General info", value: `Name: ${client.user.username}\nPrefix: ${prefix}\nTotal Servers: ${guildCount}\nTotal Commands: ${client.commands.size}\nCreation Date: ${getCreationDate(client)}\nSource: [Click Here](https://github.com/SileNce5k/discord_bot)`,
},) },)

View file

@ -1,5 +1,5 @@
const fs = require('fs'); const fs = require('fs');
const Discord = require('discord.js'); const {EmbedBuilder} = require('discord.js');
const getSubdirFiles = require('../../util/getSubdirFiles'); const getSubdirFiles = require('../../util/getSubdirFiles');
@ -40,11 +40,11 @@ module.exports = {
if (x) return; if (x) return;
const embed = new Discord.MessageEmbed() const embed = new EmbedBuilder()
.setColor(15780145) .setColor(15780145)
.setTitle("Commands") .setTitle("Commands")
.setTimestamp() .setTimestamp()
.setAuthor(client.user.username, client.user.avatarURL({ dynamic: true, size: 4096 })) .setAuthor({name: client.user.username, iconURL: client.user.avatarURL({ format: 'png', dynamic: true, size: 2048 })})
let start = 0; let start = 0;
for (const file of commandFiles) { for (const file of commandFiles) {
if(iteration >= max_commands) break; if(iteration >= max_commands) break;
@ -88,7 +88,7 @@ module.exports = {
embed.addFields( embed.addFields(
{ name: fieldName, value: commands }, { name: fieldName, value: commands },
) )
if(embed.fields[0].value.length > 1023){ if(embed.data.fields[0].value.length > 1023){
message.channel.send(`There are more than 1023 characters`) message.channel.send(`There are more than 1023 characters`)
}else { }else {
message.channel.send({embeds :[embed]}); message.channel.send({embeds :[embed]});

View file

@ -1,19 +1,23 @@
const Discord = require('discord.js'); const {EmbedBuilder} = require('discord.js');
const convertDateToISOString = require('../../util/convertDateToISOString'); const convertDateToISOString = require('../../util/convertDateToISOString');
module.exports = { module.exports = {
name: 'serverinfo', name: 'serverinfo',
description: 'Displays information about the server', description: 'Displays information about the server',
execute({message}) { execute({message}) {
const embed = new Discord.MessageEmbed() const embed = new EmbedBuilder()
.setThumbnail(message.guild.iconURL({ format: 'png', dynamic: true, size: 4096 })) .setThumbnail(message.guild.iconURL({ format: 'png', dynamic: true, size: 4096 }))
.setColor("#ee7939") .setColor("#ee7939")
.setTimestamp() .setTimestamp()
.addField("Server Owner: ", `<@${message.guild.ownerId}>`) .addFields([
.addField("Server Name: ", message.guild.name) {name: "Server Owner", value: `<@${message.guild.ownerId}>`, inline: false},
.addField("Created", convertDateToISOString(message.guild.createdAt)) {name: "Server Name", value: message.guild.name, inline: false},
.addField("Members: ", message.guild.memberCount.toString()) {name: "Created", value: convertDateToISOString(message.guild.createdAt), inline: false},
{name: "Members", value: message.guild.memberCount.toString(), inline: false},
])
//.addField("Emojis: ", message.guild.emojis.cache.array().length) //.addField("Emojis: ", message.guild.emojis.cache.array().length)
message.channel.send({embeds :[embed]}); message.channel.send({embeds :[embed]});

View file

@ -1,4 +1,4 @@
const Discord = require('discord.js'); const {EmbedBuilder} = require('discord.js');
const getCreationDate = require('../../util/getCreationDate.js'); const getCreationDate = require('../../util/getCreationDate.js');
const getJoinDate = require('../../util/getJoinDate.js'); const getJoinDate = require('../../util/getJoinDate.js');
const getNickname = require('../../util/getNickname.js'); const getNickname = require('../../util/getNickname.js');
@ -40,6 +40,7 @@ module.exports = {
status = user.presence.status.charAt(0).toUpperCase()+user.presence.status.slice(1) status = user.presence.status.charAt(0).toUpperCase()+user.presence.status.slice(1)
} }
if(status === "Dnd") status = "Do Not Disturb";
let roles = ""; let roles = "";
user.roles.cache.each(role => { user.roles.cache.each(role => {
if (role.name != "@everyone") if (role.name != "@everyone")
@ -48,23 +49,32 @@ module.exports = {
let discriminator = user.user.discriminator; let discriminator = user.user.discriminator;
if(discriminator === "0") if(discriminator === "0")
discriminator = ""; discriminator = "";
let username = `**${user.user.username}#${user.user.discriminator}**${nickname}` else
const embed = new Discord.MessageEmbed() discriminator = `#${discriminator}`;
let username = `**${user.user.username}${discriminator}**${nickname}`;
const embed = new EmbedBuilder()
.setThumbnail(user.user.avatarURL({ format: 'png', dynamic: true, size: 2048 })) .setThumbnail(user.user.avatarURL({ format: 'png', dynamic: true, size: 2048 }))
.setColor(roleColor) .setColor(roleColor)
.setTimestamp() .setTimestamp()
.setAuthor(user.user.username, user.user.avatarURL({ format: 'png', dynamic: true, size: 2048 })) .setAuthor({name: user.user.username, iconURL: user.user.avatarURL({ format: 'png', dynamic: true, size: 2048 })})
.addField("Username", username) .addFields([
.addField("Status", status, false) { name: "Username", value: username, inline: false },
if(isPresence) ]);
embed.addField("Presence", user.presence.activities[0].name, false) if (isPresence)
if(presenceDetails != 0) embed.addFields([{name: "Presence", value: user.presence.activities[0].name, inline: false}])
embed.addField("Details", presenceDetails.toString(), false) if (presenceDetails != 0){
embed.addField("Creation date", getCreationDate(user), true) embed.addFields([{name: "Details", value: presenceDetails.toString(), inline: false}])
embed.addField("Join date", getJoinDate(user, message.guild), true) embed.addFields([{name: "Status", value: status, inline: true }])
if(roles != ""){ }
embed.addField("Roles", roles) else
} embed.addFields([{ name: "Status", value: status, inline: false }])
embed.addFields([
{ name: "Creation date", value: getCreationDate(user), inline: true },
{ name: "Join date", value: getJoinDate(user, message.guild), inline: true }
])
if (roles != "") {
embed.addFields({name: "Roles", value: roles, inline: false})
}
message.channel.send({embeds :[embed]}); message.channel.send({embeds :[embed]});
} }

View file

@ -3,7 +3,7 @@ const deleteCustomCommand = require("../../util/custom_commands/deleteCustomComm
const getAllCustomCommands = require("../../util/custom_commands/getAllCustomCommands"); const getAllCustomCommands = require("../../util/custom_commands/getAllCustomCommands");
const getOwnerOfCustomCommand = require("../../util/custom_commands/getOwnerOfCustomCommand"); const getOwnerOfCustomCommand = require("../../util/custom_commands/getOwnerOfCustomCommand");
const renameCustomCommand = require("../../util/custom_commands/renameCustomCommand"); const renameCustomCommand = require("../../util/custom_commands/renameCustomCommand");
const Discord = require('discord.js'); const {EmbedBuilder} = require('discord.js');
const fs = require('fs'); const fs = require('fs');
const editCustomCommand = require("../../util/custom_commands/editCustomCommand"); const editCustomCommand = require("../../util/custom_commands/editCustomCommand");
@ -56,7 +56,7 @@ module.exports = {
break; break;
case "list": case "list":
const embed = new Discord.MessageEmbed(); const embed = new EmbedBuilder();
sendText = getAllCustomCommands(); sendText = getAllCustomCommands();
if(sendText != ""){ if(sendText != ""){
embed.setColor(15780145) embed.setColor(15780145)

3166
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -5,7 +5,7 @@
"main": "server.js", "main": "server.js",
"dependencies": { "dependencies": {
"@zuzak/owo": "^1.14.1", "@zuzak/owo": "^1.14.1",
"discord.js": "^13.6.0", "discord.js": "^14.16.3",
"dotenv": "^16.4.5", "dotenv": "^16.4.5",
"express": "^4.21.1", "express": "^4.21.1",
"mysql": "^2.18.1", "mysql": "^2.18.1",

View file

@ -20,8 +20,13 @@ const createDatabaseTables = require('./server/createDatabaseTables');
const createLastfmTable = require('./server/createLastfmTable'); const createLastfmTable = require('./server/createLastfmTable');
createLastfmTable(); createLastfmTable();
checkAndConvertJSONToSQL(); checkAndConvertJSONToSQL();
const Discord = require('discord.js'); const { Collection, Client, GatewayIntentBits, Partials } = require('discord.js');
const client = new Discord.Client({ intents: [Discord.Intents.FLAGS.GUILDS, Discord.Intents.FLAGS.GUILD_MESSAGES, Discord.Intents.FLAGS.GUILD_PRESENCES] }); const client = new Client({ intents: [GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
GatewayIntentBits.GuildMembers,
GatewayIntentBits.GuildPresences
], partials: [Partials.Channel] });
const { const {
globalPrefix, globalPrefix,
token, token,
@ -33,10 +38,10 @@ const {
presenceText presenceText
} = require('./data/config.json'); } = require('./data/config.json');
client.settings = new Discord.Collection(); client.settings = new Collection();
client.commands = new Discord.Collection(); client.commands = new Collection();
client.serverPrefixes = new Discord.Collection(); client.serverPrefixes = new Collection();
client.netmodules = new Discord.Collection(); client.netmodules = new Collection();
client.settings.set("presenceType", presenceType); client.settings.set("presenceType", presenceType);

View file

@ -1,7 +1,7 @@
const getNickname = require("../getNickname"); const getNickname = require("../getNickname");
const parseMention = require("../parseMention"); const parseMention = require("../parseMention");
const getFmUsername = require("./getFmUsername"); const getFmUsername = require("./getFmUsername");
const Discord = require('discord.js'); const {EmbedBuilder} = require('discord.js');
require("dotenv").config(); require("dotenv").config();
module.exports = async function(userID, guild) { module.exports = async function(userID, guild) {
@ -50,7 +50,7 @@ module.exports = async function(userID, guild) {
sendText.text = scrobble.errorMsg; sendText.text = scrobble.errorMsg;
return sendText; return sendText;
} }
const embed = new Discord.MessageEmbed() const embed = new EmbedBuilder()
.setTitle(`${scrobble.artist} - **${scrobble.album}**`) .setTitle(`${scrobble.artist} - **${scrobble.album}**`)
.setImage(scrobble.cover) .setImage(scrobble.cover)
sendText.embed = embed; sendText.embed = embed;

View file

@ -1,7 +1,7 @@
const getNickname = require("../getNickname"); const getNickname = require("../getNickname");
const parseMention = require("../parseMention"); const parseMention = require("../parseMention");
const getFmUsername = require("./getFmUsername"); const getFmUsername = require("./getFmUsername");
const Discord = require('discord.js'); const {EmbedBuilder} = require('discord.js');
require("dotenv").config(); require("dotenv").config();
module.exports = async function (userID, guild) { module.exports = async function (userID, guild) {
@ -57,8 +57,8 @@ module.exports = async function (userID, guild) {
sendText.text = tracks.errorMsg; sendText.text = tracks.errorMsg;
return sendText; return sendText;
} }
const embed = new Discord.MessageEmbed() const embed = new EmbedBuilder()
.setAuthor(`Now playing - ${nickname}`, user.user.avatarURL({ dynamic: true, size: 4096 })) .setAuthor({name: `Now playing - ${nickname}`, iconURL: user.user.avatarURL({ dynamic: true, size: 4096 })})
.setThumbnail(tracks[0].cover) .setThumbnail(tracks[0].cover)
.setColor(15780145) .setColor(15780145)
.addFields({ .addFields({

View file

@ -1,7 +1,7 @@
// http://ws.audioscrobbler.com/2.0/?method=user.gettoptracks&user=username&api_key=YOUR_API_KEY&format=json // http://ws.audioscrobbler.com/2.0/?method=user.gettoptracks&user=username&api_key=YOUR_API_KEY&format=json
const getFmUsername = require("./getFmUsername"); const getFmUsername = require("./getFmUsername");
const Discord = require('discord.js'); const {EmbedBuilder} = require('discord.js');
const getNickname = require('../getNickname') const getNickname = require('../getNickname')
const parseMention = require('../parseMention') const parseMention = require('../parseMention')
@ -94,8 +94,8 @@ module.exports = async function (userID, option, guild, compatibility=false) {
}); });
}); });
} }
const embed = new Discord.MessageEmbed() const embed = new EmbedBuilder()
.setAuthor(`Top ${duration} tracks for ${nickname}`, user.user.avatarURL({ dynamic: true, size: 4096 })) .setAuthor({name: `Top ${duration} tracks for ${nickname}`, iconURL: user.user.avatarURL({ dynamic: true, size: 4096 })})
.setThumbnail(tracks[0].cover) .setThumbnail(tracks[0].cover)
.setColor(15780145) .setColor(15780145)
let tracksInfo = ""; let tracksInfo = "";

View file

@ -14,7 +14,10 @@ module.exports = function (user) {
details = `Artist: ${user.presence.activities[0].state}\nAlbum: ${user.presence.activities[0].details}\nSong: ${user.presence.activities[0].assets.largeText}\n` details = `Artist: ${user.presence.activities[0].state}\nAlbum: ${user.presence.activities[0].details}\nSong: ${user.presence.activities[0].assets.largeText}\n`
break; break;
case "Custom Status": case "Custom Status":
details = `"${user.presence.activities[0].state}"\n` if(user.presence.activities[0].state !== null)
details = `"${user.presence.activities[0].state}"\n`
else
details = "";
break; break;
case "Code": case "Code":
if(user.presence.activities[0].details != null) if(user.presence.activities[0].details != null)

View file

@ -25,7 +25,7 @@ module.exports = function ({presenceText, presenceType, client}) {
} }
try { try {
client.user.setActivity(presenceText, { type: presenceType }); client.user.setPresence({ activities: [{ name: presenceText, type: presenceType }]});
}catch(e){ }catch(e){
console.error(`${convertDateToISOString(new Date)}\n${e}`); console.error(`${convertDateToISOString(new Date)}\n${e}`);
} }