我正在为Discord创建欢迎/再见消息插件。我添加了自定义单词,但不适用于事件。
这是我的代码:
client.on ('guildMemberAdd', Member => {
const Database = JSON.parse (fs.readFileSync ('./Bot/Database/Welcome-Bye.json'))
const customMessage = Database [Member.guild.id].Message
const Message = new RichEmbed ()
.setColor (0x00ff00)
if (customMessage) {
if (customMessage.includes ('-membertag-')) customMessage.replace ('-membertag-', Member.user.tag)
}
})
它不是发送成员标签,而是再次发送“ -membertag-”。我怎样才能解决这个问题?
最佳答案
String.prototype.replace()
返回一个替换了内容的字符串。它不会直接修改字符串。
如果要保留该字符串的值,则必须再次分配它。
if (customMessage.includes('-membertag-'))
// assign the new value back to customMessage
customMessage = customMessage.replace('-membertag-', Member.user.tag);
如果要更改
-member-tag-
的所有实例,则可以使用正则表达式。if (customMessage.includes('-membertag-'))
// find all instances of `-member-tag-` (case insensitive) and replace
customMessage = customMessage.replace(/-membertag-/gi, Member.user.tag);