Я создал Discord бота на JS, но мне выдает ошибку
По идее при написании !add название фильма бот должен добавлять название в массив, но проблема в том, что при делении подстроки !add возникает ошибка
function ran(){
let num = Math.random() * 3
let num1 = num.toFixed()
console.log(num1)
}
//functions
const Discord = require('discord.js');
const bot = new Discord.Client();
let films = []
bot.on('ready', () => {
console.log('Запустился бот ' + bot.user.tag);
})
bot.on('message', message => {
if(message.content == '!help'){
message.channel.send('Вот список команд:' + '!add название фильма - добавляет фильм в список желаемого');}
else if(message.content.indexOf('!add') == 0){
let msg = message.content
function add (msg){
let message = msg.substring(0, 4)
message.channel.send = message
}
add()
}
})
bot.login('токен бота');
Ответы (1 шт):
Автор решения: A_Br2H
→ Ссылка
Я проверил ваш код, и я понял в чём проблема. Когда вы вызываете функцию add, вы не указываете значение аргумента. Попробуйте add(msg) и ваш код по сути должен работать. Либо же, вы можете убрать аргумент msg из вашей функции и ваш код тоже заработает.
Когда вы указываете в функции параметр msg, то внутри функции код выполняется только с тем значением, который вы указали.
Пример:
let message = {
content: "!add Sponge Bob: In escape."
}
let msg = message.content
function Foo(msg) {
message.channel.send(msg) // Выведет "Other string.", а не "!add Sponge Bob: In escape."
}
Foo("Other string.")
Можно даже:
let message = {
content: "!add Sponge Bob: In escape."
}
let msg = message.content
function Foo() {
message.channel.send(msg) // Выведет "!add Sponge Bob: In escape."
Foo()