Ошибка client is not defined

I keep getting this error;

 ReferenceError: client is not defined
    at Object.<anonymous> (C:UsersaggieDownloadsBotbot.js:3:1)
←[90m    at Module._compile (internal/modules/cjs/loader.js:1085:14)←[39m
←[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)←[39m
←[90m    at Module.load (internal/modules/cjs/loader.js:950:32)←[39m
←[90m    at Function.Module._load (internal/modules/cjs/loader.js:790:12)←[39m
←[90m    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)←[39m
←[90m    at internal/main/run_main_module.js:17:47←[39m

My bot.js code is

let ratelimits = [];

client.on("message", (msg) => {
    // APPLYING RATELIMITS
    const appliedRatelimit = ratelimits.find(
        (value) => 
            value.user === msg.author.id && value.channel === msg.channel.id
    );
    if (appliedRatelimit) {
        // Can they post the message?
        const canPostMessage =
            msg.createdAt.getTime() - appliedRatelimit.ratelimit >=
            appliedRatelimit.lastMessage;

        // They can
        if (canPostMessage)
            return (ratelimits[
                ratelimits.indexOf(appliedRatelimit)
            ].lastMessage = msg.createdAt.getTime());

        // They can't
        msg.delete({ reason: "Enforcing ratelimit." });
    }

    // SET RATELIMIT
    if (msg.content === "!ratelimit") {
        // Checking it's you
        if (msg.author.id !== "705923685877415979") return msg.reply("ok.");

        // You can change these values in function of the received message
        const targetedUserId = "529395455109627925";
        const targetedChannelId = msg.channel.id;
        const msRateLimit = 25000; // 25 seconds

        // Delete existant ratelimit if any for this user on this channel
        ratelimits = ratelimits.filter(
            (value) =>
                !(
                    value.user === targetedUserId &&
                    value.channel === targetedChannelId
                )
        );

        // Add ratelimit
        ratelimits.push({
            user: targetedUserId,
            channel: targetedChannelId,
            ratelimit: msRateLimit,
            lastMessage: 0,
        });
    }

    // CLEAR RATELIMITS
    if (msg.content === "!clearRatelimits") {
        // Checking it's you
        if (msg.author.id !== "your id") return msg.reply("You can't do that.");
        // Clearing all ratelimits
        ratelimits = [];
    }
});

I wanted to put slow mode on certain users because they keep spamming the chat, what am I doing wrong? Sorry if I missed something obvious it’s my first time making a bot. I copied it from a post on here because I’m still a beginner in javascript.

Александр, const Discord = require(‘discord.js’)

module.exports.run = async (bot, message, args) => {
let member = message.guild.member(message.mentions.users.first() || message.guild.members.find(m => m.user.username == args[0] || m.id == args[0])) // участник
if (!message.member.hasPermission(«BAN_MEMBERS»)) return message.channel.send(‘Недостаточно прав для использования команды!’) // смотрим есть ли у участника права на бан

else if (!message.guild.me.hasPermission(«KICK_MEMBERS»)) return message.channel.send(‘У меня недостаточно прав!’) // если у него тоже такие права есть то не сможет бот забанить

let reason = args.slice(1).join(‘ ‘) || ‘Не указана’ // причина
await member.ban(reason) // баним

let embed = new Discord.RichEmbed()
.setTitle(‘Бан’, true)
.addField(‘Модератор’, `${message.author.tag}`, true)
.addField(‘Пользователь’, `${member.user.tag}`,true)
.addField(‘Причина’, `${reason}`,true)
.setTimestamp()
await message.channel.send(embed)

}

module.exports.help = {
name: «ban»
}
module.exports.run = async (bot, message, args) => {
if (!message.member.hasPermission(«MANAGA_MESSAGES»)) return message.reply(‘Вы не имеете нужные права’) // чекаем права
let del = args[0] // число
if (!del) return message.reply(‘Укажите пожалуйста кол-во сообщений, которые вы хотите удалить’)

if(del < 1) return send(‘Укажите пожалуйста кол-во сообщений больше 1’)

if(del > 100) return send(‘Укажите пожалуйста кол-во сообщений меньше 100’)

await message.channel.bulkDelete(del) // удаляем число сообщений
send(`Удалено __**${del}**__ сообщений`)

}

module.exports.help = {
name: ‘clear’
}
module.exports.run = async (bot, message, args) => {
let member = message.guild.member(message.mentions.users.first() || message.guild.members.find(m => m.user.username == args[0] || m.id == args[0])) // участник
if (!message.member.hasPermission(«KICK_MEMBERS»)) return message.channel.send(‘Недостаточно прав для использования команды!’) // чек прав
else if (!message.guild.me.hasPermission(«KICK_MEMBERS»)) return message.channel.send(‘У меня недостаточно прав!’) // чек прав у участника

let reason = args.slice(1).join(‘ ‘) || ‘Не указана’ // причина
await member.kick(reason) // кик

let embed = new Discord.RichEmbed()
.setTitle(‘Кик’, true)
.addField(‘Модератор’, `${message.author.tag}`)
.addField(‘Пользователь’, `${member.user.tag}`)
.addField(‘Причина’, `${reason}`)
.setTimestamp()
await message.channel.send(embed)

}

module.exports.help = {
name: ‘kick’
}
const { Client } = require(‘discord.js’);
const ms = require(‘ms’);

module.exports.run = async (bot, message, args) => {
if (!message.member.hasPermission(«MANAGE_ROLES»)) return message.channel.send(‘Недостаточно права для использования команды!’)

let member = message.guild.member(message.mentions.users.first() || message.guild.members.find(m => m.user.username == args[0] || m.id == args[0]))

if (!member) return message.channel.send(‘Укажите пожалуйста участника’)
if (member.hasPermission(«MANAGE_ROLES»)) return message.channel.send(‘Я не могу замутить этого пользователя’)

let muterole = message.guild.roles.find(r => r.name == ‘Muted’)
if (!muterole) muterole = await message.guild.createRole({
name: ‘Muted’,
color: 0x607d8d
})
let reason = args.slice(1).join(‘ ‘) || ‘Не указана’
if (!member.roles.has(muterole.id)) return message.channel.send(‘Пользователь уже замучен’)

await member.addRole(muterole.id)

let embed = new Discord.RichEmbed()
.setTitle(‘Мут’, true)
.addField(‘Модератор’, `${message.author.tag}`, true)
.addField(‘Пользователь’, `${member}`, true)
.addField(‘Причина’, `${reason}`, true)
message.channel.send(embed)

setTimeout(function(){
member.removeRole(muterole.id)
message.channel.send(`${member.user.tag}|${member.user.id} has been unmuted after being in mute for ${ms(ms(mutetime))}`)
}, ms(mutetime))
}

module.exports.help = {
name: ‘mute’
}


Go to Discordjs


r/Discordjs


r/Discordjs

The unofficial subreddit for the discord.js JavaScript/TypeScript library.




Members





Online



by

JustSomeTrash12



ReferenceError: client is not defined

Im making a bot and when I run it, I get this error

https://srcb.in/mBdKt7I0U1

heres my code

https://srcb.in/o3l5947wJ7

I posted this question on Stack Overflow and the recommendation I got was to switch to pg-promise. Does node-postgres work with asyncawait?

This error seems to be coming up on every http request I make. I’m not totally sure where it’s coming from?

(node:39390) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 22): ReferenceError: client is not defined

There is no line number in the error, but here is a sample of code that seems to be causing it:

    try {
        var client = await pool.connect();
        await client.query(queryStatement, queryArgumentsArray);
        res.sendStatus(200);
    } catch (e) {
        console.log('Error adding updating subvendor availability data, UPDATE SQL query task', err);
        res.sendStatus(500);
    } finally {
        client && client.release && client.release();
    }

It first I thought it must be coming from my finally block (maybe client was out of scope), but I added and if statement to explicitly prevent attempting to call client.release if it doesn’t exist:

    if (client) { client && client.release && client.release() };

I am still getting this error, so I feel like it must be coming from these lines.

    var client = await pool.connect();
    await client.query(queryStatement, queryArgumentsArray);
    res.sendStatus(200);

Am I misunderstanding how to use async? To be clear, the code is functioning well and the http requests are working (responding correctly to the requests), my terminal is just getting flooded with these warnings.

Here is a simplified version of the full route:

    var express = require('express');
    var router = express.Router();
    var pool = require('../modules/pg-pool'); // brings in pg-pool created in another module
    
    // This route updates the availability for a user
    router.put('/updateAvailability', async (req, res) => {
        var userId = req.decodedToken.userSQLId;
        var subvendorId = req.headers.subvendor_id;
        var availability = req.body;
    
        var queryStatement = 'UPDATE status SET status=$3 WHERE userId=$2';
        var queryArgumentsArray = [availability.status, userId ];
    
        try {
            var client = await pool.connect();
            await client.query(queryStatement, queryArgumentsArray);
            res.sendStatus(200);
        } catch (e) {
            console.log('Error updating subvendor availability data, UPDATE SQL query task', err);
            res.sendStatus(500);
        } finally {
            client && client.release && client.release();
        }
    });
    
    module.exports = router;

Skip to content

so I am trying to make a discord bot and I am running in to a problem

ReferenceError: Client is not defined
at Object.<anonymous> (C:UsersAryaDesktopAryaDiscordbot.js:3:16)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:17:47

the code is

require("dotenv").config();
const { Cient, Intents } = require("discord.js");
const client = new Client({
intent: [
    Intents.FLAGS.GUILDS,
    Intents.FLAGS.GUILD_MESSAGES
 ]
});

bot.login(process.env.TOKEN);

please help me

>Solution :

simple syntax error, happy to help
this should work

require("dotenv").config();
const { Cient, Intents } = require("discord.js");
const client = new Client({
intents: [
    Intents.FLAGS.GUILDS,
    Intents.FLAGS.GUILD_MESSAGES
]
});

client.login(process.env.TOKEN);

Your login at the bottom confuses me where the bot variable is but if my code does not work you can change it back. Otherwise you just needed to add a s to intent. Happy Coding 🙂

Понравилась статья? Поделить с друзьями:
  • Ошибка client does not support authentication protocol
  • Ошибка client core что это
  • Ошибка client application что это
  • Ошибка cli на частотнике шнайдер
  • Ошибка classpnp sys windows 10