【问题标题】:Reacted user as channel name with Discord.js使用 Discord.js 将用户反应为频道名称
【发布时间】:2021-04-09 17:59:04
【问题描述】:
我正在构建一个票务系统,只要用户对表情符号做出反应,就会在其中创建一个频道,其中包含他和处理票务的团队。我的问题是,当我想通过以下代码在频道中显示用户名时,await message.guild.channels.create(``????│${reactor}``, {type: 'text',} 和reactor 由const reactor = reaction.message.guild.members.cache.get(user.id); 定义,我在频道名称中获取了用户的 ID。我的问题是,是否有办法将频道命名为 ????│User 而不是 ????│ID(ID 是指用户的 Discord ID,而不是实际的文本“ID”)。
【问题讨论】:
标签:
node.js
discord
discord.js
bots
【解决方案1】:
您的问题有一个非常简单的解决方案,即您尝试使用GuildMember 对象,而不是User 对象。
在我写这篇文章的时候(它可能会永远保持这种状态),您无法获得 GuildMember 的用户名,但首先必须将其转换为 User 对象。
这可以通过以下代码轻松完成:
const member = reaction.guild.member(user.id)
const name = member.user.username
message.guild.channels.create(`${name}s ticket`, {
type: 'text'
})
我还想提一下,当您尝试获取公会对象时,您不需要在reaction 之后添加message!您可以简单地使用您在回调中创建的reaction 变量,并使用它来使用reaction.guild 获取公会对象!