Sharding is Required | Bot doesn't respond

I found out my bot stopped working and message content intents is enabled but greyed out on the Discord applications page. I updated discord.js then I'm having an error saying sharding is required. By setting the amount of shards to >= 2 the bot goes and connects however it doesn't respond.
112 Replies
d.js toolkit
d.js toolkit2y ago
• What's your exact discord.js npm list discord.js and node node -v version? • Post the full error stack trace, not just the top part! • Show your code! • Explain what exactly your issue is. • Not a discord.js issue? Check out #useful-servers.
Larsenv
LarsenvOP2y ago
[email protected]
Uncaught Exception: Error: Sharding is required
at WebSocketShard.onClose (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/@discordjs/ws/dist/index.js:1057:15)
at WebSocket.emit (node:events:527:28)
at WebSocket.emitClose (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/ws/lib/websocket.js:258:10)
at TLSSocket.socketOnClose (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/ws/lib/websocket.js:1264:15)
at TLSSocket.emit (node:events:539:35)
at node:net:709:12
at TCP.done (node:_tls_wrap:582:7)
Uncaught Exception: Error: Sharding is required
at WebSocketShard.onClose (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/@discordjs/ws/dist/index.js:1057:15)
at WebSocket.emit (node:events:527:28)
at WebSocket.emitClose (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/ws/lib/websocket.js:258:10)
at TLSSocket.socketOnClose (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/ws/lib/websocket.js:1264:15)
at TLSSocket.emit (node:events:539:35)
at node:net:709:12
at TCP.done (node:_tls_wrap:582:7)
Danial
Danial2y ago
How many guilds is your bot in?
Larsenv
LarsenvOP2y ago
@Danial 2510 that's probably my issue
Danial
Danial2y ago
Yes
Larsenv
LarsenvOP2y ago
I'm trying to implement shard.js but it's still not responding could you help?
d.js docs
d.js docs2y ago
guide Sharding: Getting started read more
Larsenv
LarsenvOP2y ago
I've read it still kind of confused
Danial
Danial2y ago
Show your code
Larsenv
LarsenvOP2y ago
@Danial oh and more than 2 shards gives an error
Danial
Danial2y ago
I don't know much about sharding so I'll let someone else help you
Larsenv
LarsenvOP2y ago
I have gone to implement sharding but it's not actually reading stuff @Danial how long will I have to wait in order to find someone which can help?
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
yes I can be patient was just making sure that I don't have just silence sorry
d4
d42y ago
notice that you try to listen to the shardCreate event only after actually creating the shards with spawn, the guide creates a listener first and then uses spawn
Larsenv
LarsenvOP2y ago
that gonna make some difference?
d4
d42y ago
well it seems to me like your current code won't log the Lauching shard ... message
Larsenv
LarsenvOP2y ago
it did
d4
d42y ago
i guess that's fine then also what do you mean by "the bot doesn't respond"? to what?
Larsenv
LarsenvOP2y ago
it's supposed to be reading server message it doesn't also there's a command to give a verification code it doesn't do anything rn all that's going on with index.js is that that starts bot
d4
d42y ago
can you send it?
Larsenv
LarsenvOP2y ago
process.on('uncaughtException', (err) => {
console.error('Uncaught Exception:', err);
});

const bot = require('./bot.js')

bot.startBot()
process.on('uncaughtException', (err) => {
console.error('Uncaught Exception:', err);
});

const bot = require('./bot.js')

bot.startBot()
d4
d42y ago
bot.js would be nice to see as well
Larsenv
LarsenvOP2y ago
const fs = require('fs')
const Discord = require('discord.js')
const auth = require('./authentication.js')
const connectionHandler = require('./connectionHandler.js')

const cachelength = 100 // Length of message history

const msghistory = {}
const client = new Discord.Client({ partials: ['MESSAGE'], totalShards: 'auto', shardList: 'auto', intents: [Discord.GatewayIntentBits.MessageContent,] }) // Allows me to recieve "uncached" (actually manually cached by me) message events

// setInterval(function () { // TODO: See if this is needed
// client.user.setActivity('for people at https://discross.rc24.xyz/', { type: 'WATCHING' })
// }, 20000)

// https://stackoverflow.com/questions/1967119/why-does-javascript-replace-only-first-instance-when-using-replace

client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`)
// console.log(client.channels.array());
})

client.on('message', async function (msg) {
if (msghistory[msg.channel.id] && !(msghistory[msg.channel.id].get(msg.id))) {
msghistory[msg.channel.id].set(msg.id, msg)

console.log(msghistory[msg.channel.id].length);

if (msghistory[msg.channel.id].length > cachelength) {
msghistory[msg.channel.id] = msghistory[msg.channel.id].slice(msghistory[msg.channel.id].length - (cachelength + 1), msghistory[msg.channel.id].length) // Limit the length of the cache to 50 messages
}
}

// console.log(msghistory[msg.channel.id.toString()].length);
if (msg.content === '^connect') {
if (msg.webhookID) {
msg.reply("you're already using Discross!")
} else {
msg.author.send('Verification code:\n`' + (await auth.createVerificationCode(msg.author.id)) + '`')
msg.reply('you have been sent a direct message with your verification code.')
}
}

// TODO: Do properly
connectionHandler.sendToAll(msg.content, msg.channel.id)
})

// client.on('messageDelete

exports.startBot = async function () {
client.login(fs.readFileSync('secrets/token.txt', 'utf-8').replace('\n', ''))
}

exports.addToCache = function (msg) {
if (msghistory[msg.channel.id]) {
msghistory[msg.channel.id].set(msg.id, msg)
}
}

exports.getHistoryCached = async function (chnl) {
if (!chnl.id) {
chnl = client.channels.get(chnl)
}
if (!msghistory[chnl.id]) {
const messagearray = await chnl.messages.fetch({ limit: cachelength })
msghistory[chnl.id] = messagearray.sort((messageA, messageB) => messageA.createdTimestamp - messageB.createdTimestamp)
}
return Array.from(msghistory[chnl.id].values())
}

exports.client = client
const fs = require('fs')
const Discord = require('discord.js')
const auth = require('./authentication.js')
const connectionHandler = require('./connectionHandler.js')

const cachelength = 100 // Length of message history

const msghistory = {}
const client = new Discord.Client({ partials: ['MESSAGE'], totalShards: 'auto', shardList: 'auto', intents: [Discord.GatewayIntentBits.MessageContent,] }) // Allows me to recieve "uncached" (actually manually cached by me) message events

// setInterval(function () { // TODO: See if this is needed
// client.user.setActivity('for people at https://discross.rc24.xyz/', { type: 'WATCHING' })
// }, 20000)

// https://stackoverflow.com/questions/1967119/why-does-javascript-replace-only-first-instance-when-using-replace

client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`)
// console.log(client.channels.array());
})

client.on('message', async function (msg) {
if (msghistory[msg.channel.id] && !(msghistory[msg.channel.id].get(msg.id))) {
msghistory[msg.channel.id].set(msg.id, msg)

console.log(msghistory[msg.channel.id].length);

if (msghistory[msg.channel.id].length > cachelength) {
msghistory[msg.channel.id] = msghistory[msg.channel.id].slice(msghistory[msg.channel.id].length - (cachelength + 1), msghistory[msg.channel.id].length) // Limit the length of the cache to 50 messages
}
}

// console.log(msghistory[msg.channel.id.toString()].length);
if (msg.content === '^connect') {
if (msg.webhookID) {
msg.reply("you're already using Discross!")
} else {
msg.author.send('Verification code:\n`' + (await auth.createVerificationCode(msg.author.id)) + '`')
msg.reply('you have been sent a direct message with your verification code.')
}
}

// TODO: Do properly
connectionHandler.sendToAll(msg.content, msg.channel.id)
})

// client.on('messageDelete

exports.startBot = async function () {
client.login(fs.readFileSync('secrets/token.txt', 'utf-8').replace('\n', ''))
}

exports.addToCache = function (msg) {
if (msghistory[msg.channel.id]) {
msghistory[msg.channel.id].set(msg.id, msg)
}
}

exports.getHistoryCached = async function (chnl) {
if (!chnl.id) {
chnl = client.channels.get(chnl)
}
if (!msghistory[chnl.id]) {
const messagearray = await chnl.messages.fetch({ limit: cachelength })
msghistory[chnl.id] = messagearray.sort((messageA, messageB) => messageA.createdTimestamp - messageB.createdTimestamp)
}
return Array.from(msghistory[chnl.id].values())
}

exports.client = client
@d4isdavid
d4
d42y ago
are you using v14? you should be using the messageCreate event
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
instead of what? @d4isdavid
d4
d42y ago
instead of message
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
I have that
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
what are partials doing?
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
yes
d.js docs
d.js docs2y ago
guide Popular Topics: Partial Structures read more
Larsenv
LarsenvOP2y ago
why do I have to parse intents to the program
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
d4
d42y ago
do you mean pass intents?
Larsenv
LarsenvOP2y ago
yes sorry
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
d.js docs
d.js docs2y ago
guide Popular Topics: Gateway Intents read more
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
I'm trying to go read intents with guild
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
sigh what I meant's that I'm trying to read message intents via guild not via dm I know why intents have to be used
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
d.js docs
d.js docs2y ago
If you aren't getting content, embeds or attachments of a message, make sure you have the MessageContent intent enabled in the Developer Portal and provide it to your client:
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({
intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent]
});
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({
intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent]
});
Larsenv
LarsenvOP2y ago
just don't know why you have to pass it into the code
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
yes I just passed those in still not reading
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
wait a second there's a command which I had ran it just sent 3 of them because there's 3 instances of the bot running
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
const client = new Discord.Client({ partials: [], shards: 'auto', shardCount: 5, intents: [Discord.GatewayIntentBits.Guilds, Discord.GatewayIntentBits.GuildMessages, Discord.GatewayIntentBits.MessageContent] }) // Allows me to recieve "uncached" (actually manually cached by me) message events
shards
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
should this client code be put somewhere else? shard.js is calling the index.js which is calling bot.js which contains the amount of shard am I doing it wrong
d.js docs
d.js docs2y ago
guide Sharding: How does sharding work? read more
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
I think that I'm calling it wrong
d4
d42y ago
i'm not sure that you should be using shards and shardCount here, the guide certainly doesn't
Larsenv
LarsenvOP2y ago
ok now it ran once the problem is that my servers aren't loading it doesn't look like it's reading
d4
d42y ago
you mean your http server?
Larsenv
LarsenvOP2y ago
yes the page loads but what the bot does is let you talk on discord with any client that support html
d4
d42y ago
not sure what that means but you're trying to use bot.js from there as well, i don't know exactly if that would actually work depending on how you use it
Larsenv
LarsenvOP2y ago
I'm dealing with too much right now that's probably why I can't correctlytalk
d4
d42y ago
it's fine
Larsenv
LarsenvOP2y ago
basically I don't think guild are correctly being loaded on the bot after shard had to be implemented because the alternate client lets you pick from list of guild currently it's empty
d4
d42y ago
how do you get the list?
Larsenv
LarsenvOP2y ago
bot didn't respond until changed intents
const discordID = await auth.checkAuth(req, res)
if (discordID) {
serverpage.processServer(bot, req, res, args, discordID)
}
const discordID = await auth.checkAuth(req, res)
if (discordID) {
serverpage.processServer(bot, req, res, args, discordID)
}
d4
d42y ago
right but this doesn't really tell me anything, i need the line of code inside of the serverpage.processServer function which gets the list of guilds
Larsenv
LarsenvOP2y ago
exports.checkAuth = async function (req, res, noRedirect) {
const cookies = req.headers.cookie

const cookiedict = {} // https://stackoverflow.com/questions/3393854/get-and-set-a-single-cookie-with-node-js-http-server

cookies && cookies.split(';').forEach(function (cookie) {
var parts = cookie.split('=')
cookiedict[parts.shift().trim()] = decodeURI(parts.join('='))
})

if (cookiedict.sessionID) {
if (cookiedict.sessionID === 'guest') {
return ['guest', cookiedict.guestUsername]
} else {
const session = await exports.checkSession(cookiedict.sessionID)
if (session) {
return session
} else {
if (!noRedirect) {
res.writeHead(303, { Location: '/login.html?redirect=' + encodeURIComponent(req.url) })
res.end()
}
return false
}
}
} else {
if (!noRedirect) {
res.writeHead(303, { Location: '/login.html?redirect=' + encodeURIComponent(req.url) })
res.end()
}
return false
}
}
exports.checkAuth = async function (req, res, noRedirect) {
const cookies = req.headers.cookie

const cookiedict = {} // https://stackoverflow.com/questions/3393854/get-and-set-a-single-cookie-with-node-js-http-server

cookies && cookies.split(';').forEach(function (cookie) {
var parts = cookie.split('=')
cookiedict[parts.shift().trim()] = decodeURI(parts.join('='))
})

if (cookiedict.sessionID) {
if (cookiedict.sessionID === 'guest') {
return ['guest', cookiedict.guestUsername]
} else {
const session = await exports.checkSession(cookiedict.sessionID)
if (session) {
return session
} else {
if (!noRedirect) {
res.writeHead(303, { Location: '/login.html?redirect=' + encodeURIComponent(req.url) })
res.end()
}
return false
}
}
} else {
if (!noRedirect) {
res.writeHead(303, { Location: '/login.html?redirect=' + encodeURIComponent(req.url) })
res.end()
}
return false
}
}
d4
d42y ago
this doesn't look like processServer to me
Larsenv
LarsenvOP2y ago
I believe that it's having problem loading guild it worked before now it doesn't before I had implemented shard the bot worked ok
d4
d42y ago
i don't see where you load guilds in this code
d4
d42y ago
you might need to start using the manager variable inside of this code from now on instead of importing bot.js
Larsenv
LarsenvOP2y ago
inside bot.js or index.js?
d4
d42y ago
i guess it's called shard.js
Larsenv
LarsenvOP2y ago
I don't know how to go start bot using that bot.js has stuff in it do I need to implement partials?
d4
d42y ago
no, this isn't related to partials
Larsenv
LarsenvOP2y ago
"Cannot read properties of null (reading 'setActivity')" I'm confused how I need to change thing
d4
d42y ago
you are trying to use bot.js from shard.js, but there the Client would not be started you should re-read this because it explains that separate processes are ran, and every process would have a different client your main process would have a different client too
Larsenv
LarsenvOP2y ago
I'm confused don't know what I have to change
d4
d42y ago
seems like you have to change a lot of things to implement sharding like this, mainly because you can't use bot.js from shard.js
Larsenv
LarsenvOP2y ago
should I put all the code in shard.js? namely the client?
d4
d42y ago
i don't think that's what i meant
Larsenv
LarsenvOP2y ago
you're telling me I can't call bot.js on shard.js?
d4
d42y ago
yes not like this at least without sharding it would've been fine but with sharding you can't unfortunately
Larsenv
LarsenvOP2y ago
the code on discord.js documentation says that you call bot.js there client's called
d4
d42y ago
when using ShardingManager, yes
Larsenv
LarsenvOP2y ago
I'm confused what I need to do sorry I didn't write this code I'm just maintaining what do I need to substitute with the call of bot.js?
d4
d42y ago
you have to change everything that uses the bot.js client inside of shard.js
Larsenv
LarsenvOP2y ago
change it to do?
d4
d42y ago
i'm not sure, it depends on what the code is doing, because currently your code assumes that there's a single instance of a client, when sharding creates multiple
Larsenv
LarsenvOP2y ago
const fs = require('fs')
const Discord = require('discord.js')
const auth = require('./authentication.js')
const connectionHandler = require('./connectionHandler.js')

const cachelength = 100 // Length of message history

const msghistory = {}
const client = new Discord.Client({ partials: [], intents: [Discord.GatewayIntentBits.Guilds, Discord.GatewayIntentBits.GuildMessages, Discord.GatewayIntentBits.MessageContent] }) // Allows me to recieve "uncached" (actually manually cached by me) message events

// setInterval(function () { // TODO: See if this is needed
// client.user.setActivity('for people at https://discross.rc24.xyz/', { type: 'WATCHING' })
// }, 20000)

// https://stackoverflow.com/questions/1967119/why-does-javascript-replace-only-first-instance-when-using-replace

client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`)
// console.log(client.channels.array());
})

client.on('messageCreate', async function (msg) {
if (msghistory[msg.channel.id] && !(msghistory[msg.channel.id].get(msg.id))) {
msghistory[msg.channel.id].set(msg.id, msg)

console.log(msghistory[msg.channel.id].length);

if (msghistory[msg.channel.id].length > cachelength) {
msghistory[msg.channel.id] = msghistory[msg.channel.id].slice(msghistory[msg.channel.id].length - (cachelength + 1), msghistory[msg.channel.id].length) // Limit the length of the cache to 50 messages
}
}

// console.log(msghistory[msg.channel.id.toString()].length);
if (msg.content === '^connect') {
if (msg.webhookID) {
msg.reply("you're already using Discross!")
} else {
msg.author.send('Verification code:\n`' + (await auth.createVerificationCode(msg.author.id)) + '`')
msg.reply('you have been sent a direct message with your verification code.')
}
}

// TODO: Do properly
connectionHandler.sendToAll(msg.content, msg.channel.id)
})

// client.on('messageDelete

exports.startBot = async function () {
client.login(fs.readFileSync('secrets/token.txt', 'utf-8').replace('\n', ''))
}

exports.addToCache = function (msg) {
if (msghistory[msg.channel.id]) {
msghistory[msg.channel.id].set(msg.id, msg)
}
}

exports.getHistoryCached = async function (chnl) {
if (!chnl.id) {
chnl = client.channels.get(chnl)
}
if (!msghistory[chnl.id]) {
const messagearray = await chnl.messages.fetch({ limit: cachelength })
msghistory[chnl.id] = messagearray.sort((messageA, messageB) => messageA.createdTimestamp - messageB.createdTimestamp)
}
return Array.from(msghistory[chnl.id].values())
}

exports.client = client
const fs = require('fs')
const Discord = require('discord.js')
const auth = require('./authentication.js')
const connectionHandler = require('./connectionHandler.js')

const cachelength = 100 // Length of message history

const msghistory = {}
const client = new Discord.Client({ partials: [], intents: [Discord.GatewayIntentBits.Guilds, Discord.GatewayIntentBits.GuildMessages, Discord.GatewayIntentBits.MessageContent] }) // Allows me to recieve "uncached" (actually manually cached by me) message events

// setInterval(function () { // TODO: See if this is needed
// client.user.setActivity('for people at https://discross.rc24.xyz/', { type: 'WATCHING' })
// }, 20000)

// https://stackoverflow.com/questions/1967119/why-does-javascript-replace-only-first-instance-when-using-replace

client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`)
// console.log(client.channels.array());
})

client.on('messageCreate', async function (msg) {
if (msghistory[msg.channel.id] && !(msghistory[msg.channel.id].get(msg.id))) {
msghistory[msg.channel.id].set(msg.id, msg)

console.log(msghistory[msg.channel.id].length);

if (msghistory[msg.channel.id].length > cachelength) {
msghistory[msg.channel.id] = msghistory[msg.channel.id].slice(msghistory[msg.channel.id].length - (cachelength + 1), msghistory[msg.channel.id].length) // Limit the length of the cache to 50 messages
}
}

// console.log(msghistory[msg.channel.id.toString()].length);
if (msg.content === '^connect') {
if (msg.webhookID) {
msg.reply("you're already using Discross!")
} else {
msg.author.send('Verification code:\n`' + (await auth.createVerificationCode(msg.author.id)) + '`')
msg.reply('you have been sent a direct message with your verification code.')
}
}

// TODO: Do properly
connectionHandler.sendToAll(msg.content, msg.channel.id)
})

// client.on('messageDelete

exports.startBot = async function () {
client.login(fs.readFileSync('secrets/token.txt', 'utf-8').replace('\n', ''))
}

exports.addToCache = function (msg) {
if (msghistory[msg.channel.id]) {
msghistory[msg.channel.id].set(msg.id, msg)
}
}

exports.getHistoryCached = async function (chnl) {
if (!chnl.id) {
chnl = client.channels.get(chnl)
}
if (!msghistory[chnl.id]) {
const messagearray = await chnl.messages.fetch({ limit: cachelength })
msghistory[chnl.id] = messagearray.sort((messageA, messageB) => messageA.createdTimestamp - messageB.createdTimestamp)
}
return Array.from(msghistory[chnl.id].values())
}

exports.client = client
d4
d42y ago
ah i guess any functions here can't really be used correctly
Larsenv
LarsenvOP2y ago
sorry I thought that I sent that you know what I can do to have it remedied?
d4
d42y ago
every single shard runs index.js, meaning every shard has a different Client instance and a different bot.js instance this means that every single variable inside of bot.js that you try to use inside of shard.js will be different from the shards
Larsenv
LarsenvOP2y ago
what confuses me's that looking into example code each has a client
d4
d42y ago
that doesn't change anything, each shard would still run that code on its own with a different Client instance
Larsenv
LarsenvOP2y ago
would moving the code over to be on shard.js help?
d4
d42y ago
you need to move the cache parts of bot.js to shard.js that's probably it? also every single part of code that uses bot.client inside of shard.js should be changed too
Larsenv
LarsenvOP2y ago
done
Uncaught Exception: TypeError: process.send is not a function
at Client.<anonymous> (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/discord.js/src/sharding/ShardClientUtil.js:43:19)
at Client.emit (node:events:527:28)
at WebSocketManager.<anonymous> (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/discord.js/src/client/websocket/WebSocketManager.js:270:19)
at WebSocketManager.emit (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/@vladfrangu/async_event_emitter/dist/index.js:282:31)
at WebSocketShard.<anonymous> (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/@discordjs/ws/dist/index.js:1103:51)
at WebSocketShard.emit (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/@vladfrangu/async_event_emitter/dist/index.js:290:37)
at WebSocketShard.onClose (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/@discordjs/ws/dist/index.js:1006:10)
at WebSocket.emit (node:events:527:28)
at WebSocket.emitClose (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/ws/lib/websocket.js:258:10)
at TLSSocket.socketOnClose (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/ws/lib/websocket.js:1264:15)
Uncaught Exception: TypeError: process.send is not a function
at Client.<anonymous> (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/discord.js/src/sharding/ShardClientUtil.js:43:19)
at Client.emit (node:events:527:28)
at WebSocketManager.<anonymous> (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/discord.js/src/client/websocket/WebSocketManager.js:270:19)
at WebSocketManager.emit (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/@vladfrangu/async_event_emitter/dist/index.js:282:31)
at WebSocketShard.<anonymous> (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/@discordjs/ws/dist/index.js:1103:51)
at WebSocketShard.emit (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/@vladfrangu/async_event_emitter/dist/index.js:290:37)
at WebSocketShard.onClose (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/@discordjs/ws/dist/index.js:1006:10)
at WebSocket.emit (node:events:527:28)
at WebSocket.emitClose (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/ws/lib/websocket.js:258:10)
at TLSSocket.socketOnClose (/var/www/rc24/discross.rc24.xyz/public_html/node_modules/ws/lib/websocket.js:1264:15)
🤔
d4
d42y ago
show the updated shard.js code please
Larsenv
LarsenvOP2y ago
thank you for helping thus far 🙂 not very fun when my bot's in over 2500 discord and it break
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
I didn't know really didn't see how many people had been adding the bot to their discord you know why it became popular ? michael mjd created a video on it
Unknown User
Unknown User2y ago
Message Not Public
Sign In & Join Server To View
Larsenv
LarsenvOP2y ago
then lots of people started testing it I know @d4isdavid sorry to bother but you there?
d4
d42y ago
sorry i gtg
Want results from more Discord servers?
Add your server