第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 sqlite 在 javascript 中創(chuàng)建 if 語句

如何使用 sqlite 在 javascript 中創(chuàng)建 if 語句

交互式愛情 2022-12-22 13:04:29
所以我最近在 discord js 中使用 warn 命令制作了這段代碼,但是有一個問題,我的 if 語句不能像我想要的那樣工作,如果值不存在,我希望它是 return message.channel.send("該用戶沒有記錄!"); 因為我從未嘗試過在 javascript 上使用 sqlite,而且我只知道在 c# 上使用 sqliteconst con = require("../../sql.js");con.all(`SELECT * FROM warnings WHERE username = ? AND userID = ?`, User.tag, User.id, (err, rows) => {    rows.forEach(r => {        if (!rows) {            message.channel.send("NO U");        }        else {            let moderator = (r.moderator);            let modID = (r.modID);            let reason = (r.reason);            let time = (r.time);            let Avatar = User.displayAvatarURL();            let Embed = new MessageEmbed()                .setTitle(`User warnings!`)                .setDescription(                    `These is all the warnings which have been issued to ${User.tag}!`)                .setColor(`RED`)                .setThumbnail(Avatar)                .addFields({                    name: "Moderator",                    value: `${moderator}`,                    inline: true                }, {                    name: "Username",                    value: `${User.tag}`,                    inline: true                }, {                    name: "Reason",                    value: `${reason}`,                    inline: true                }, {                    name: "When was warned",                    value: `${time}`,                    inline: true,                });            message.channel.send(Embed).then(msg => {                msg.delete({                    timeout: 15000                });                message.delete({                    timeout: 3000                });            })        }    })})
查看完整描述

2 回答

?
慕標琳琳

TA貢獻1830條經(jīng)驗 獲得超9個贊

將if語句移出forEach循環(huán)。


前:


rows.forEach(r => {

  if (!rows) {

      message.channel.send("NO U");

  }

后:


if (rows.length === 0) {

    return message.channel.send("NO U");

}

rows.forEach(r => {

                   

正如其他評論中指出的那樣,更改!rows為,rows.length === 0因為當找不到任何行時庫返回一個空數(shù)組。


查看完整回答
反對 回復(fù) 2022-12-22
?
白豬掌柜的

TA貢獻1893條經(jīng)驗 獲得超10個贊

我會重構(gòu)一些東西,所以有一個單獨的函數(shù)可以將用戶和數(shù)據(jù)庫中的行轉(zhuǎn)換為 MessageEmbed。


這樣就很容易首先嘗試將任何警告映射到消息,然后查看是否生成了任何警告,如果沒有生成,則發(fā)送其他消息。


請注意,即使是空數(shù)組在 JavaScript 中也是真實的,因此您需要檢查.length.


const con = require("../../sql.js");


function warningRowToMessage(User, row) {

  const { moderator, reason, time } = row;

  return new MessageEmbed()

    .setTitle(`User warnings!`)

    .setDescription(`These is all the warnings which have been issued to ${User.tag}!`)

    .setColor(`RED`)

    .setThumbnail(User.displayAvatarURL())

    .addFields(

      {

        name: "Moderator",

        value: `${moderator}`,

        inline: true,

      },

      {

        name: "Username",

        value: `${User.tag}`,

        inline: true,

      },

      {

        name: "Reason",

        value: `${reason}`,

        inline: true,

      },

      {

        name: "When was warned",

        value: `${time}`,

        inline: true,

      },

    );

}


con.all(`SELECT * FROM warnings WHERE username = ? AND userID = ?`, User.tag, User.id, (err, rows) => {

  const replyMessages = rows.map((r) => warningRowToMessage(User, r));

  if (!replyMessages.length) {

    message.channel.send("NO U");

    return;

  }

  message.delete({

    timeout: 3000,

  });

  replyMessages.forEach(async (replyMessage) => {

    const msg = await message.channel.send(replyMessage);

    msg.delete({

      timeout: 15000,

    });

  });

});


查看完整回答
反對 回復(fù) 2022-12-22
  • 2 回答
  • 0 關(guān)注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號