Javascript 如何使消息减半以避免消息长度错误?
当我的服务器中有超过25个机器人时,根据消息发送长度的能力,机器人无法发送消息,那么如果长度为2000的机器人可以发送另一条消息吗Javascript 如何使消息减半以避免消息长度错误?,javascript,bots,discord,discord.js,Javascript,Bots,Discord,Discord.js,当我的服务器中有超过25个机器人时,根据消息发送长度的能力,机器人无法发送消息,那么如果长度为2000的机器人可以发送另一条消息吗 client.on('message', message => { if(message.content === "-allbots") { if(!message.channel.guild) return; let addone = 1; const botcounts = message.guild.members.filter(m
client.on('message', message => {
if(message.content === "-allbots") {
if(!message.channel.guild) return;
let addone = 1;
const botcounts = message.guild.members.filter(m=>m.user.bot).map(m=>`\`\`${addone++}\`\` - <@${m.id}>`);
message.channel.send(`**I Found ${message.guild.members.filter(m=>m.user.bot).size} bots ${botcounts.join('\n')}**`)
.catch(err => {
message.reply('message is more than 2000 charachter');
console.error(err);
})
}
})
client.on('message',message=>{
如果(message.content==“-allbots”){
如果(!message.channel.guild)返回;
设addone=1;
const botcounts=message.guild.members.filter(m=>m.user.bot).map(m=>```${addone++}`-`);
message.channel.send(`**I发现${message.guild.members.filter(m=>m.user.bot).size}bots${botcounts.join('\n')}**)
.catch(错误=>{
message.reply('消息超过2000个字符');
控制台错误(err);
})
}
})
好吧,你可以这样做
messagesArray = []
if (message.length >= 2000) {
let cutMessages = []
// Here you have cut your messages
//if they can pass 4k chars, you'll need a loop, if not, just use substr
messagesArray.push(cutMessages)
}
if (messagesArray.length)
messagesArray.forEach( message => { console.log(message) })
else console.log(message)
Discord.js可以自动为您执行此操作。使用
split
属性传入对象
message.channel.send('超过2000个字符的文本…'{
拆分:{
前置词:“…”,
附加:“…”
}
);
这些消息将如下所示:
编辑: 将其合并到现有代码中类似于:
message.channel.send(
`**我发现${botcounts.length}bot${botcounts.length!==1?'s':''}**
${botcounts.join('\n')}`,
{split:true}//No添加了“…”。有关该用法,请参见上文。
)
.catch(控制台错误);
你能再多加几行解释你的问题吗?你能把这个添加到我的代码中吗?或者你的建议更明显一些
first part...
...second part