Ответы пользователя по тегу Node.js
  • Как вывести данные сервера в бот discord через embed?

    Idaspin
    @Idaspin
    Android developer. Создаю обучающий контент.
    .then(()=>{})
    .catch(()=>{})

    Это структуры промиса - системы возвращающей результат выполнения той или иной асинхронной команды. То есть у тебя в коде Gamedig.query({... вызывается раньше создания и отправки embed, но на практике может получить ответ от сервера с задержкой т.е. уже после отправки сообщения.
    Так в твоём случае тебе нужно (например) готовить Embed лишь После получения ответа от библиотеки. Тогда твой вариант:
    // Создание запроса к библиотеке
    Gamedig.query({
        type: 'arkse',
        host: '85.190.155.194',
        port: '27015'
    })
    // Код который вызовется при успешном запросе т.е. ответ, данные получены
    .then((state) => {
    
    const embed = new Discord.RichEmbed() 
    .setTitle(state.name)
    .addField(state.map, true)
    .addField(state.players.length/state.maxplayers, true)
    .addField(state.connect:, true) 
    .setTimestamp();
    message.channel.send(embed);
    
    })
    // Произошла ошибка 
    .catch((e)=>{/*ну а тут обработчик ошибки*/})
    Ответ написан
    1 комментарий