首页 > 解决方案 > Discord.js 如何让收集器把东西改成大写

问题描述

我正在尝试这样做,以便当您运行消息收集器并等待诸如“林肯”之类的单词时,它将其更改为大写。我试图在代码的开头let msg = message.content.toUpperCase();lincolnLincoln

module.exports = {
  name: 'verify',
  description: "help command",
  
  async execute(message,args, Discord, client) { 
    //Role IDs
    let Dixie = ['878755312159588462'];
    let Pacifica = ['878764278931410996']
    let Lincoln =['878764342462517298']
    let GOP = ['878722965972348938']
    let DEM = ['878722966660214844']
    let IND = ['878722965070544926']
    let PV = ['879068082772004864']
    
    let msg = message.content.toUpperCase();
    //First Embed
    var StateMenu = {
      color: 0x0099ff,
      title: 'Verification',
      author: {
        name: 'United States Mock Government',
        icon_url: 'https://cdn.discordapp.com/icons/875892431101517834/a2b34f1fd3ff52fdeb53fa4084ae058a.webp',
        url: 'https://discord.gg/HcWtndSVEP',
      },
      image: {
        url: 'https://cdn.discordapp.com/attachments/878723133559939153/879040081107763280/States_List.png',
      },
      fields: [
        {
          name: 'State Menu',
          value: 'Dixie, Pacifica, Lincoln, \nType the name of the state that you want to join!)',
        },
        
      ],
      timestamp: new Date(),
      
      footer: {
        text: `Type the name of the state that you want to join!\n If you would like to stop verification say **stop** or **cancel**`,
        icon_url: 'https://cdn.discordapp.com/icons/875892431101517834/a2b34f1fd3ff52fdeb53fa4084ae058a.webp',
      },
    };
    //Second embed menu after you answer the first
    var PartyMenu = {
      color: 0x0099ff,
      title: 'Verification',
      author: {
        name: 'United States Mock Government',
        icon_url: 'https://cdn.discordapp.com/icons/875892431101517834/a2b34f1fd3ff52fdeb53fa4084ae058a.webp',
        url: 'https://discord.gg/HcWtndSVEP',
      },
      fields: [
        {
          name: 'Party Menu',
          value: 'GOP (Republican Party)\nDEM (Democratic Party)\nIND (Independent/No Party)\n\ntype the abbreviation of the party you want to join, e.g. GOP',
        },
        
      ],
      timestamp: new Date(),
      
      footer: {
        text: 'To remove a party do r(party abbreviation)',
        icon_url: 'https://cdn.discordapp.com/icons/875892431101517834/a2b34f1fd3ff52fdeb53fa4084ae058a.webp',
      },
    };
    
    const filter = m => m.author.id === message.author.id; 
    const collector = message.channel.createMessageCollector(filter, { time: 105000 });
    
    //kollecter
    
    collector.on('collect', async msg=>{
      //roles u dixe if u type it
      if(msg.content === "Dixie" ){
        const arr = ['878755312159588462', '878764278931410996, 878764342462517298']
        if(message.member.roles.cache.some(r => arr.includes(r.id))) return message.channel.send('⚠️ You already have a state')
        if(msg.member.roles.cache.has(Dixie)) {
          message.channel.send(` Already have the state of ${msg.content}`)
        }  else {
          try{
            message.member.roles.add(Dixie)
            message.channel.send(`State of ${msg.content} Assigned✅`);
            message.channel.send({ embed: PartyMenu });
          } catch(error) {
            message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
            console.log(error)
          } 
        }
      }
      //removes role dixie if u type dixie
      if(msg.content === "rDixie"){
        if(msg.member.roles.cache.has(Dixie)) {
          message.channel.send(` Already have the state of ${msg.content}`)
        } else {
          try{
            message.member.roles.remove(Dixie)
            message.channel.send('State Removed✅');
          } catch(error) {
            message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
            console.log(error)
          } 
          
        }
      }
      //role u pacifica
      if(msg.content === "Pacifica" ){
        const arr = ['878755312159588462', '878764278931410996, 878764342462517298']
        if(message.member.roles.cache.some(r => arr.includes(r.id))) return message.channel.send('⚠️You already have a state')
        if(msg.member.roles.cache.has(Pacifica)) {
          message.channel.send(` Already have the state of ${msg.content}`)
        } else {
          try{
            message.member.roles.add(Pacifica)
            message.channel.send(`State of ${msg.content} Assigned✅`);
            message.channel.send({ embed: PartyMenu });
          } catch(error) {
            message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
            console.log(error)
          } 
        }
      }
      //remov pacifca if u say rPacifica
      if(msg.content === "rPacifica"){
        if(msg.member.roles.cache.has(Pacifica)) {
          message.channel.send(` Already have the state of ${msg.content}`)
        } else {
          try{
            message.member.roles.remove(Pacifica)
            message.channel.send('State Removed✅');
          } catch(error) {
            message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
            console.log(error)
          } 
          
        }
      }
      //add role lincoln
      if(msg.content === "Lincoln" ){
        const arr = ['878755312159588462', '878764278931410996, 878764342462517298']
        if(message.member.roles.cache.some(r => arr.includes(r.id))) return message.channel.send('⚠️You already have a state')
        if(msg.member.roles.cache.has(Lincoln)) {
          message.channel.send(` Already has a state`)
        }  else {
          try{
            message.member.roles.add(Lincoln)
            message.channel.send(`State of ${msg.content} Assigned✅`);
            message.channel.send({ embed: PartyMenu });
          } catch(error) {
            message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
            console.log(error)
          } 
        }
      }
      //removes it if u say rLincoln
      if(msg.content === "rLincoln"){
        if(msg.member.roles.cache.has(Lincoln)) {
          message.channel.send(` Already have the state of ${msg.content}`)
        } else {
          try{
            message.member.roles.remove(Lincoln)
            message.channel.send('State Removed✅');
          } catch(error) {
            message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
            console.log(error)
          } 
          
        }
      }
      //adds GOP role
      if(msg.content === "DEM" ){
        const arr = ['878722965972348938', '878722966660214844', '878722965070544926']
        if(message.member.roles.cache.some(r => arr.includes(r.id))) return message.channel.send('⚠️You already have a party')
        try{
          message.member.roles.add(DEM)
          message.channel.send(`${msg.content} Assigned✅`);
          message.channel.send(`Please type 'yes' to confirm changes`);
        } catch(error) {
          message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
          console.log(error)
        } 
      }
      //removes it if u say rGOP
      if(msg.content === "rGOP" ){
        try{
          message.member.roles.remove(GOP)
          message.channel.send(`Party Removed✅`);
        } catch(error) {
          message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
          console.log(error)
        } 
      }
      if(msg.content === "yes" ){
        try{
          message.member.roles.add(PV)
          message.channel.send(`Go to <#879068760374378566> to complete verification!`);
        } catch(error) {
          message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
          console.log(error)
        } 
      }
      //adds role dem
      if(msg.content === "GOP" ){
        const arr = ['878722965972348938', '878722966660214844', '878722965070544926']
        if(message.member.roles.cache.some(r => arr.includes(r.id))) return message.channel.send('⚠️You already have a party')
        try{
          message.member.roles.add(GOP)
          message.channel.send(`${msg.content} Assigned✅`);
          message.channel.send(`Please type 'yes' to confirm changes`);
        } catch(error) {
          message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
          console.log(error)
        } 
      }
      
      //removes it if u say rDEM
      if(msg.content === "rDEM" ){
        try{
          message.member.roles.remove(DEM)
          message.channel.send(`Party Removed✅`);
        } catch(error) {
          message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
          console.log(error)
        } 
      }
      
      
      //adds role IND
      if(msg.content === "IND" ){
        const arr = ['878722965972348938', '878722966660214844', '878722965070544926']
        if(message.member.roles.cache.some(r => arr.includes(r.id))) return message.channel.send('⚠️You already have a party')
        try{
          message.member.roles.add(IND)
          message.channel.send(`${msg.content} Assigned✅`);
          message.channel.send(`Please type 'yes' to confirm changes`);
        } catch(error) {
          message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
          console.log(error)
        } 
      }
      
      
      //removes it if u say rIND
      if(msg.content === "rIND" ){
        try{
          message.member.roles.remove(IND)
          message.channel.send(`Party Removed✅`);
        } catch(error) {
          message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
          console.log(error)
        } 
      }
      
      
      if(msg.content === "cancel" ){
        try{
          collector.stop()
          message.channel.send(`Verification Stopped✅`);
        } catch(error) {
          message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
          console.log(error)
        } 
      }
      if(msg.content === ".verify" ){
        try{
          collector.stop()
        } catch(error) {
          message.channel.send("⚠️Error has occurred, please contact server adminstrator.");
          console.log(error)
        } 
      }
    }); 
    message.channel.send({ embed: StateMenu });
  }
}

标签: discord.js

解决方案


如果您想让您的代码接受输入,不区分大小写,您可以将字符串设置为大写或小写。请注意,toUpperCase()andtoLowerCase()将使所有字符大写/小写。

const content = data.toUpperCase();

switch(content) {
  case "EXAMPLE1":
    break;
  case "SOMETHING ELSE":
    break;
}

您的代码中的示例:

collector.on("collect", async (msg) => {
  // make everything upper case!
  const content = msg.content.toUpperCase();
  switch (content) {
    case "DIXIE": {
      // code
      break;
    }
    case "RDIXIE": {
      // more code
      break;
    }
    // etc.
  }
});

执行此操作时,请注意确保您的 case 或 if 语句使用正确的大写/小写。


推荐阅读