【发布时间】:2019-08-03 17:58:16
【问题描述】:
好的,这可能看起来像复制和粘贴,但事实并非如此。我需要更多的支持。我正在努力让我的机器人做得更多。我应该将它添加到第一个问题中,但我认为它不会被查看。这是我要添加的内容。
- 说明用户加入公会的时间和日期
- 在 userinfo.tag 函数中标记用户
- 列出用户的昵称
我尝试使用 .guildmember 类,但它不起作用,我将 userMention 附加到 .guildmember 类,如下所示:userMention.guildmember.joinedAt 或 displayName。我修改代码时的大部分结果要么是来自机器人的 TypeErrors,要么是 ReferenceErrors。
我确实使用了其他人的代码,并且我安装了 Moment,所以我可以使用其他人的代码运行它,但它再次给出了错误。
TypeError: Cannot read property 'filter' of undefined
我无法获取 Moment 代码。
var commando = require('discord.js-commando');
var discord = require('discord.js');
class aboutuser extends commando.Command
{
constructor(client) {
super(client, {
name: 'aboutuser',
group: 'help',
memberName: 'aboutuser',
description: 'Lists information about a specific user.',
aliases: ['au', 'aboutu', 'auser', 'user'],
})
}
async run(message, args){
const userMention = message.mentions.users.first() || message.author;
let userinfo = {};
userinfo.bot = userMention.bot;
userinfo.createdat = userMention.createdAt;
userinfo.joinedat = userMention.message.guildmember.joinedat;
userinfo.discrim = userMention.discriminator;
userinfo.id = userMention.id;
userinfo.tag = userMention.tag;
userinfo.uname = userMention.username;
userinfo.status = userMention.presence.status;
userinfo.play = userMention.presence.game;
userinfo.avatar = userMention.avatarURL;
const rolesOfTheMember = userMention.roles.filter(r => r.name !== '@everyone').map(role => role.name).join(', ')
var myInfo = new discord.RichEmbed()
.setAuthor(userinfo.uname, userinfo.avatar)
.addField("Username",userinfo.uname, true)
.addField("Client Tag",userinfo.tag, true)
.addField("Created At",userinfo.createdat, true)
.addField("Joined at:",userinfo.joinedat, true)
.addField("Discriminator",userinfo.discrim, true)
.addField("Client ID",userinfo.id, true)
.addField("Bot?",userinfo.bot, true)
.addField("Status",userinfo.status, true)
.addField("Playing",userinfo.play, true)
.addField("Roles",rolesOfTheMember, true)
.setColor(0xf0e5da)
.setFooter('s!aboutserver')
.setTitle("About this user...")
.setThumbnail(userinfo.avatar)
message.channel.sendEmbed(myInfo);
}
}
module.exports = aboutuser;
期望:列出代码中显示的所有内容以及项目符号的机器人。
实际:仅显示类型和引用错误的机器人。就是这样的
TypeError: Cannot read property 'guildmember' of undefined
TypeError: Cannot read property 'filter' of undefined
ReferenceError: guildmember is not defined
ReferenceError: user is not defined
我正在使用这些网站作为参考
https://discord.js.org/#/docs/main/stable/general/welcome
How to show roles of user discord.js / userinfo command *特别是这一行!
.addField('Joined at:', `${moment.utc(user.joinedAt).format('dddd, MMMM Do YYYY, HH:mm:ss')}`, true)
【问题讨论】:
标签: javascript node.js discord.js