如果消息超过 2000 个字符,则发送 2 条不同的消息
Sending 2 different messages if message exceeds 2000 characters
基本上我是在做这个歌词命令,很多时候,大多数歌曲的歌词字符数超过 2000 个字符,这已经超过了 Discord 的限制。我想知道如何让它一次发送 2 条不同的消息。
我想知道如何让它在一条消息中发送前 2000 个字符,然后立即在第二条消息中发送其余字符。
这是我的代码:
if (message.content.startsWith(config.prefix + `lyrics`)) {
var artistTitle = getArtistTitle(serverQueue.songs[0].title)
console.log(artistTitle)
lyrics.get(artistTitle[0], artistTitle[1], function(err, res){
if(err){
return message.channel.send({embed: {
title: `:x: | Oops! I have encountered an error!`,
description: err,
color: 0xDE2E43
}})
console.log(err);
}
else{
return message.channel.send({embed: {
title: `Lyrics for ${serverQueue.songs[0].title}. Requested by ${message.author.username}`,
description: res,
footer: {
icon_url: serverQueue.songs[0].thumbnail,
text: `Powered by lyrics.wikia.com`
}
}})
}
});
}
您可以使用子字符串来分割消息:
for(let i = 0; i < str.length; i += 2000) {
const toSend = str.substring(i, Math.min(str.length, i + 2000));
sendMessage(toSend);
}
基本上我是在做这个歌词命令,很多时候,大多数歌曲的歌词字符数超过 2000 个字符,这已经超过了 Discord 的限制。我想知道如何让它一次发送 2 条不同的消息。
我想知道如何让它在一条消息中发送前 2000 个字符,然后立即在第二条消息中发送其余字符。
这是我的代码:
if (message.content.startsWith(config.prefix + `lyrics`)) {
var artistTitle = getArtistTitle(serverQueue.songs[0].title)
console.log(artistTitle)
lyrics.get(artistTitle[0], artistTitle[1], function(err, res){
if(err){
return message.channel.send({embed: {
title: `:x: | Oops! I have encountered an error!`,
description: err,
color: 0xDE2E43
}})
console.log(err);
}
else{
return message.channel.send({embed: {
title: `Lyrics for ${serverQueue.songs[0].title}. Requested by ${message.author.username}`,
description: res,
footer: {
icon_url: serverQueue.songs[0].thumbnail,
text: `Powered by lyrics.wikia.com`
}
}})
}
});
}
您可以使用子字符串来分割消息:
for(let i = 0; i < str.length; i += 2000) {
const toSend = str.substring(i, Math.min(str.length, i + 2000));
sendMessage(toSend);
}