如何通过用户名查找成员?
How to find member by username?
Discord.js 13.6.0 | Node.js 16.14.2
我想通过用户名查找成员,与在 bot 中一样 UnbelievaBoat
(https://i.stack.imgur.com/WNPv5.png)
示例:用户名是WorldGod
输入例如?userinfo worl
或 ?userinfo WORLD
和机器人找到会员 WorldGod
代码示例:
const arg = args[0] or const arg = args.join(" ")
let member = message.guild.members.cache.filter(member => member.user.username.includes(arg))[0]
message.reply(`${member.id}`) or message.reply(`${member.user.id}`)
TypeError: 无法读取未定义的属性(读取 'id')
TypeError: 无法读取未定义的属性(读取 'user')
.includes()
函数 returns 一个布尔值,所以您要做的是基于该布尔值创建一个函数。
这是我为您制作的新代码。
// make members an array
let members = []
message.guild.members.cache.filter(mems => {
// if users username includes the arg
mems.user.username.includes(arg) ?
members.push(mems.user) // if so it pushes user into array
: null // else null
})
// this will send the user's name and id
message.reply(`${members[0].username} ${members[0].id}`)
这为成员创建一个数组,然后过滤公会的用户,如果用户名包含参数,它将把用户添加到数组中。
推送用户后,您可以根据需要访问该用户...您可以获得其头像URL、标签、ID、用户名等...
如果你想最终做到这一点,所以你列出了所有的选项,这将很好地工作,因为它们都在成员数组中,并且很容易映射。
Discord.js 13.6.0 | Node.js 16.14.2
我想通过用户名查找成员,与在 bot 中一样 UnbelievaBoat
(https://i.stack.imgur.com/WNPv5.png)
示例:用户名是WorldGod
输入例如?userinfo worl
或 ?userinfo WORLD
和机器人找到会员 WorldGod
代码示例:
const arg = args[0] or const arg = args.join(" ")
let member = message.guild.members.cache.filter(member => member.user.username.includes(arg))[0]
message.reply(`${member.id}`) or message.reply(`${member.user.id}`)
TypeError: 无法读取未定义的属性(读取 'id')
TypeError: 无法读取未定义的属性(读取 'user')
.includes()
函数 returns 一个布尔值,所以您要做的是基于该布尔值创建一个函数。
这是我为您制作的新代码。
// make members an array
let members = []
message.guild.members.cache.filter(mems => {
// if users username includes the arg
mems.user.username.includes(arg) ?
members.push(mems.user) // if so it pushes user into array
: null // else null
})
// this will send the user's name and id
message.reply(`${members[0].username} ${members[0].id}`)
这为成员创建一个数组,然后过滤公会的用户,如果用户名包含参数,它将把用户添加到数组中。
推送用户后,您可以根据需要访问该用户...您可以获得其头像URL、标签、ID、用户名等...
如果你想最终做到这一点,所以你列出了所有的选项,这将很好地工作,因为它们都在成员数组中,并且很容易映射。