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) {
case "PLAY":
presenceType = "PLAYING";
presenceType = 0;
break;
case "LISTEN":
presenceType = "LISTENING";
presenceType = 2;
break;
case "WATCH":
presenceType = "WATCHING";
presenceType = 3;
break;
case "CUSTOM":
presenceType = 4;
break;
case "COMPETING":
presenceType = 5;
break;
case "STREAM":
presenceType = 1;
break;
default:
presenceType = "INVALID";

View file

@ -1,4 +1,4 @@
const Discord = require('discord.js');
const {EmbedBuilder} = require('discord.js');
const getCreationDate = require('../../util/getCreationDate');
const getGuildCount = require('../../util/getGuildCount');
@ -9,11 +9,11 @@ module.exports = {
description: 'Shows information about the bot',
execute({message, client, prefix}) {
let guildCount = getGuildCount(client)
const embed = new Discord.MessageEmbed()
const embed = new EmbedBuilder()
.setColor(15780145)
.setTitle("Information about bot")
.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({
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 Discord = require('discord.js');
const {EmbedBuilder} = require('discord.js');
const getSubdirFiles = require('../../util/getSubdirFiles');
@ -40,11 +40,11 @@ module.exports = {
if (x) return;
const embed = new Discord.MessageEmbed()
const embed = new EmbedBuilder()
.setColor(15780145)
.setTitle("Commands")
.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;
for (const file of commandFiles) {
if(iteration >= max_commands) break;
@ -88,7 +88,7 @@ module.exports = {
embed.addFields(
{ 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`)
}else {
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');
module.exports = {
name: 'serverinfo',
description: 'Displays information about the server',
execute({message}) {
const embed = new Discord.MessageEmbed()
const embed = new EmbedBuilder()
.setThumbnail(message.guild.iconURL({ format: 'png', dynamic: true, size: 4096 }))
.setColor("#ee7939")
.setTimestamp()
.addField("Server Owner: ", `<@${message.guild.ownerId}>`)
.addField("Server Name: ", message.guild.name)
.addField("Created", convertDateToISOString(message.guild.createdAt))
.addField("Members: ", message.guild.memberCount.toString())
.addFields([
{name: "Server Owner", value: `<@${message.guild.ownerId}>`, inline: false},
{name: "Server Name", value: message.guild.name, inline: false},
{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)
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 getJoinDate = require('../../util/getJoinDate.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)
}
if(status === "Dnd") status = "Do Not Disturb";
let roles = "";
user.roles.cache.each(role => {
if (role.name != "@everyone")
@ -48,23 +49,32 @@ module.exports = {
let discriminator = user.user.discriminator;
if(discriminator === "0")
discriminator = "";
let username = `**${user.user.username}#${user.user.discriminator}**${nickname}`
const embed = new Discord.MessageEmbed()
else
discriminator = `#${discriminator}`;
let username = `**${user.user.username}${discriminator}**${nickname}`;
const embed = new EmbedBuilder()
.setThumbnail(user.user.avatarURL({ format: 'png', dynamic: true, size: 2048 }))
.setColor(roleColor)
.setTimestamp()
.setAuthor(user.user.username, user.user.avatarURL({ format: 'png', dynamic: true, size: 2048 }))
.addField("Username", username)
.addField("Status", status, false)
if(isPresence)
embed.addField("Presence", user.presence.activities[0].name, false)
if(presenceDetails != 0)
embed.addField("Details", presenceDetails.toString(), false)
embed.addField("Creation date", getCreationDate(user), true)
embed.addField("Join date", getJoinDate(user, message.guild), true)
if(roles != ""){
embed.addField("Roles", roles)
}
.setAuthor({name: user.user.username, iconURL: user.user.avatarURL({ format: 'png', dynamic: true, size: 2048 })})
.addFields([
{ name: "Username", value: username, inline: false },
]);
if (isPresence)
embed.addFields([{name: "Presence", value: user.presence.activities[0].name, inline: false}])
if (presenceDetails != 0){
embed.addFields([{name: "Details", value: presenceDetails.toString(), inline: false}])
embed.addFields([{name: "Status", value: status, inline: true }])
}
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]});
}

View file

@ -3,7 +3,7 @@ const deleteCustomCommand = require("../../util/custom_commands/deleteCustomComm
const getAllCustomCommands = require("../../util/custom_commands/getAllCustomCommands");
const getOwnerOfCustomCommand = require("../../util/custom_commands/getOwnerOfCustomCommand");
const renameCustomCommand = require("../../util/custom_commands/renameCustomCommand");
const Discord = require('discord.js');
const {EmbedBuilder} = require('discord.js');
const fs = require('fs');
const editCustomCommand = require("../../util/custom_commands/editCustomCommand");
@ -56,7 +56,7 @@ module.exports = {
break;
case "list":
const embed = new Discord.MessageEmbed();
const embed = new EmbedBuilder();
sendText = getAllCustomCommands();
if(sendText != ""){
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",
"dependencies": {
"@zuzak/owo": "^1.14.1",
"discord.js": "^13.6.0",
"discord.js": "^14.16.3",
"dotenv": "^16.4.5",
"express": "^4.21.1",
"mysql": "^2.18.1",

View file

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

View file

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

View file

@ -1,7 +1,7 @@
const getNickname = require("../getNickname");
const parseMention = require("../parseMention");
const getFmUsername = require("./getFmUsername");
const Discord = require('discord.js');
const {EmbedBuilder} = require('discord.js');
require("dotenv").config();
module.exports = async function (userID, guild) {
@ -57,8 +57,8 @@ module.exports = async function (userID, guild) {
sendText.text = tracks.errorMsg;
return sendText;
}
const embed = new Discord.MessageEmbed()
.setAuthor(`Now playing - ${nickname}`, user.user.avatarURL({ dynamic: true, size: 4096 }))
const embed = new EmbedBuilder()
.setAuthor({name: `Now playing - ${nickname}`, iconURL: user.user.avatarURL({ dynamic: true, size: 4096 })})
.setThumbnail(tracks[0].cover)
.setColor(15780145)
.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
const getFmUsername = require("./getFmUsername");
const Discord = require('discord.js');
const {EmbedBuilder} = require('discord.js');
const getNickname = require('../getNickname')
const parseMention = require('../parseMention')
@ -94,8 +94,8 @@ module.exports = async function (userID, option, guild, compatibility=false) {
});
});
}
const embed = new Discord.MessageEmbed()
.setAuthor(`Top ${duration} tracks for ${nickname}`, user.user.avatarURL({ dynamic: true, size: 4096 }))
const embed = new EmbedBuilder()
.setAuthor({name: `Top ${duration} tracks for ${nickname}`, iconURL: user.user.avatarURL({ dynamic: true, size: 4096 })})
.setThumbnail(tracks[0].cover)
.setColor(15780145)
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`
break;
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;
case "Code":
if(user.presence.activities[0].details != null)

View file

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