«Ожидал, что значение будет объектом, но вместо этого получил строку» с косой чертой с использованием discord.js ⇐ Javascript
«Ожидал, что значение будет объектом, но вместо этого получил строку» с косой чертой с использованием discord.js
Я пытаюсь создать экономического бота на Discord. Я закончил с встраиванием и ActionRows для части передачи; однако, когда я пытаюсь запустить команду /transfer; Я получаю:
Ожидал, что значение будет объектом, но вместо этого получила строку
Это взято из файла .js interactionCrt.js, который я использую для создания взаимодействий;
const {События } = require("discord.js"); const ProfileModel = require("../models/profileSchema.js"); модуль.экспорт = { имя: Events.InteractionCreate, асинхронное выполнение (взаимодействие) { if (!interaction.isChatInputCommand()) return; пусть пользовательские данные; пытаться { userData = await ProfileModel.findOne({userId:action.user.id}); если(!userData) { userData = ждут ProfileModel.create({ идентификатор пользователя: взаимодействие.user.id, идентификатор сервера: взаимодействие.гильдия.ид }) } } поймать (ошибиться) { console.error(`[ERROR] Не удалось получить пользовательские данные. Подробности: ${err}`); } const cmd = взаимодействие.клиент.команды.get(interaction.commandName); если (!cmd) { console.error(`[ERROR] Команда с именем ${interaction.commandName} не найдена.`); возвращаться; } пытаться { ждут cmd.execute (взаимодействие, пользовательские данные); } поймать (ошибиться) { console.error(`[ERROR] Произошла ошибка при выполнении ${interaction.commandName}, подробности: ${err}`); } } } Я не получаю других ошибок в консоли, и это то, что у меня есть в скрипте transfer.js;
const { SlashCommandBuilder, EmbedBuilder, ButtonBuilder, ActionRowBuilder } = require("discord.js"); модуль.экспорт = { данные: новый SlashCommandBuilder() .setName("перенос") .setDescription("Отправить валюту другому пользователю") .setDescriptionLocalizations({ tr: "Başka bir kullanıcıya bakiye gönder" }) .addUserOption(опция => option.setName("цель") .setDescription("Имя пользователя для отправки валюты") .setDescriptionLocalizations({ tr: "Bakiye gönderilecek kullanıcının adı" }) ) .addIntegerOption(опция => option.setName("сумма") .setDescription("Сумма для отправки") .setDescriptionLocalizations({ tr: "Гёндерилечек Миктар" }) ), асинхронное выполнение (взаимодействие, пользовательские данные) { //console.log(взаимодействие); const target =action.options.getMember("цель"); константная сумма = взаимодействие.опции.getInteger("сумма"); const {баланс} = userData; if (баланс >= сумма) { const ENembed = новый EmbedBuilder() .setColor(0x015a32) .setTitle("Валюта перевода") .setDescription(":предупреждение: Это действие **НЕОБОЗРИТЕЛЬНО**. Вы не сможете вернуть свою валюту после ее перевода каким-либо способом.") .addFields( {имя: "Отправитель", значение: (`
Я пытаюсь создать экономического бота на Discord. Я закончил с встраиванием и ActionRows для части передачи; однако, когда я пытаюсь запустить команду /transfer; Я получаю:
Ожидал, что значение будет объектом, но вместо этого получила строку
Это взято из файла .js interactionCrt.js, который я использую для создания взаимодействий;
const {События } = require("discord.js"); const ProfileModel = require("../models/profileSchema.js"); модуль.экспорт = { имя: Events.InteractionCreate, асинхронное выполнение (взаимодействие) { if (!interaction.isChatInputCommand()) return; пусть пользовательские данные; пытаться { userData = await ProfileModel.findOne({userId:action.user.id}); если(!userData) { userData = ждут ProfileModel.create({ идентификатор пользователя: взаимодействие.user.id, идентификатор сервера: взаимодействие.гильдия.ид }) } } поймать (ошибиться) { console.error(`[ERROR] Не удалось получить пользовательские данные. Подробности: ${err}`); } const cmd = взаимодействие.клиент.команды.get(interaction.commandName); если (!cmd) { console.error(`[ERROR] Команда с именем ${interaction.commandName} не найдена.`); возвращаться; } пытаться { ждут cmd.execute (взаимодействие, пользовательские данные); } поймать (ошибиться) { console.error(`[ERROR] Произошла ошибка при выполнении ${interaction.commandName}, подробности: ${err}`); } } } Я не получаю других ошибок в консоли, и это то, что у меня есть в скрипте transfer.js;
const { SlashCommandBuilder, EmbedBuilder, ButtonBuilder, ActionRowBuilder } = require("discord.js"); модуль.экспорт = { данные: новый SlashCommandBuilder() .setName("перенос") .setDescription("Отправить валюту другому пользователю") .setDescriptionLocalizations({ tr: "Başka bir kullanıcıya bakiye gönder" }) .addUserOption(опция => option.setName("цель") .setDescription("Имя пользователя для отправки валюты") .setDescriptionLocalizations({ tr: "Bakiye gönderilecek kullanıcının adı" }) ) .addIntegerOption(опция => option.setName("сумма") .setDescription("Сумма для отправки") .setDescriptionLocalizations({ tr: "Гёндерилечек Миктар" }) ), асинхронное выполнение (взаимодействие, пользовательские данные) { //console.log(взаимодействие); const target =action.options.getMember("цель"); константная сумма = взаимодействие.опции.getInteger("сумма"); const {баланс} = userData; if (баланс >= сумма) { const ENembed = новый EmbedBuilder() .setColor(0x015a32) .setTitle("Валюта перевода") .setDescription(":предупреждение: Это действие **НЕОБОЗРИТЕЛЬНО**. Вы не сможете вернуть свою валюту после ее перевода каким-либо способом.") .addFields( {имя: "Отправитель", значение: (`
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение