discord.js - Discord.js 如何让收集器把东西改成大写
问题描述
我正在尝试这样做,以便当您运行消息收集器并等待诸如“林肯”之类的单词时,它将其更改为大写。我试图在代码的开头let msg = message.content.toUpperCase();
(lincoln
Lincoln
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 });
}
}
解决方案
如果您想让您的代码接受输入,不区分大小写,您可以将字符串设置为大写或小写。请注意,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 语句使用正确的大写/小写。
推荐阅读
- r - 以编程方式在构面中设置单个轴限制
- python - Python计算元组列表中元组的共现
- selenium-webdriver - 我收到编译错误为“类型不匹配:无法从 FirefoxDriver 转换为 WebDriver”
- python - 当我运行获取请求时,我不断收到 AttributeError: 'set' object has no attribute 'items'?
- css - 网格区域之间的间距
- mysql - 根据第三张表计算 2 张表的结果
- javascript - Webpacker 不适用于 jquery 库
- polygon - 使用 pyvips 绘制多条折线
- flutter - 如何显示导航栏并仅显示在 Flutter 中的特定页面上?
- kotlin - 从 kotlin 多平台项目创建 fat jar