discord.js - 每当发送 dm 时,discordjs 都会记录问题
问题描述
我有一个完整的日志系统,每当在服务器或机器人中完成各种事情时都会记录下来,其中一个是每当将 dm 发送到机器人时的日志。日志将包含作者 ID 和消息内容。问题在于记录消息内容。每当发送第二个 DM 时,机器人就会崩溃,但如果它是第一个 DM,则可以正常工作。机器人崩溃消息如下:https ://gyazo.com/5ad0b41648f83a855ac8c49fb220a612
但奇怪的是,我的字段不是空的:
bot.on('message', msg=>{
const LogChannel = bot.channels.cache.get('712811824826941460');
const LogEmbed = new Discord.MessageEmbed()
.setColor('#606060')
.setAuthor(msg.author.tag)
.setDescription('DM Sent')
.addField('Message', msg.content)
.setTimestamp()
if(msg.channel.type === 'dm')
LogChannel.send(LogEmbed)
});
控制台认为它.addField('Message', msg.content)
是空的,但正如你所看到的,它不是。请记住,它只会在第一个 DM 之后发送第二个 DM 后给我错误消息。有任何想法吗?
解决方案
没有Message.content
属性。我猜你正在寻找Message.cleanContent
bot.on('message', msg=>{
const LogChannel = bot.channels.cache.get('712811824826941460');
const LogEmbed = new Discord.MessageEmbed()
.setColor('#606060')
.setAuthor(msg.author.tag)
.setDescription('DM Sent')
.addField('Message', msg.cleanContent)
.setTimestamp()
if(msg.channel.type === 'dm')
LogChannel.send(LogEmbed)
});
推荐阅读
- jenkins - Jenkins API - 过滤最后一次构建的触发方式和时间
- tkinter - Python tkinter 在做某事成功后进入新的页面框架应用程序崩溃了
- django - geodjango 传单地图未显示
- reactjs - 当您“npm start”进行反应时
- haskell - haskell 模式匹配数(解构)
- node.js - 我正在使用 jwt(expiresIn 24h) 向用户发送重置密码链接。有什么方法可以使令牌在使用后失效?
- google-apps-script - Google 附加卡:如何将颜色应用于标题文本
- javascript - Chrome 扩展 - 来自主 JS 的监视变量
- sql - 在这种复杂情况下,如何解决 Django 缺少组合键的问题?
- javascript - 停用平滑滚动元素