Javascript 如何在Discord.Js中创建特定于用户的频道?

Javascript 如何在Discord.Js中创建特定于用户的频道?,javascript,discord,discord.js,Javascript,Discord,Discord.js,如何在Discord.Js中创建特定于用户的频道 所以我制作了一个不和谐机器人,你点击一个反应,它把你带到一个私人频道,没有人能看到这个频道 这就是我到目前为止所做的: const Discord=require('Discord.js'); const client=new Discord.client(); const{bot}=require('./config.json'); const request=require('request'); client.on('message',me

如何在Discord.Js中创建特定于用户的频道

所以我制作了一个不和谐机器人,你点击一个反应,它把你带到一个私人频道,没有人能看到这个频道

这就是我到目前为止所做的:

const Discord=require('Discord.js');
const client=new Discord.client();
const{bot}=require('./config.json');
const request=require('request');
client.on('message',message=>{
var命令=message.content.replace('t#','');
var command=command.replace('t#','')
if(command.startsWith('post')==true){
message.delete();
var postEmbed=new Discord.RichEmbed();
setTitle('Twotter Post')
setAuthor(message.author.tag、message.author.avatarURL)
setDescription(command.replace('post','')
setFooter('由YouTube上的Happy Fone创建')
this.message=消息;
message.channel.send(后嵌入)。然后(message=>{
message.react('
函数makeChannel(message){
var server=message.guild;
var username=message.author.username;
createChannel(名称,`${username}`);
var channel=server.find(“name”、`${username}`)
overwritePermissions(message.author.id,{'VIEW\u channel':true,'VIEW\u channel':true}))
} 
on('messageReactionAdd',(messageReaction,user)=>{
if(user.bot)返回;
const{message,emoji}=messageReaction;

如果(emoji.name==”,因为您需要对
makeChannel()
中的消息做出反应的用户,您必须为其添加一个参数。您实际上不需要函数中的相关消息,因此可以用该参数替换(您确实需要)

功能makeChannel(公会、用户){
const name=user.username;
...
}
//在MessageReactionAddListener中
makeChannel(message.guild,用户);

创建频道时,您可以传入包含其权限的对象。这样,您可以拒绝除用户之外的所有人(具有管理员权限的成员除外)访问频道

//在makeChannel()中
guild.createChannel(名称{
键入:“文本”,
许可证覆盖:[
{
id:guild.id,//每个人角色id的快捷方式
拒绝:“查看频道”
},
{
id:user.id,
允许:'查看\u频道'
}
]
})
.then(channel=>console.log(`${name}现在有自己的通道(ID:${channel.ID})`))
.catch(控制台错误);
有关详细信息,请参阅Discord.js文档中的示例

function makeChannel(message){ 
  var server = message.guild; 
  var username = message.author.username; 

  server.createChannel(name, `${username}`); 
  var channel = server.find("name", `${username}`)
  channel.overwritePermissions(message.author.id,{'VIEW_CHANNEL':true,'VIEW_CHANNEL':true}))
} 

client.on('messageReactionAdd', (messageReaction, user) => { 
  if(user.bot)return; 
  const { message, emoji } = messageReaction; 
  if(emoji.name == "Since you need the user that reacted to the message in 
makeChannel()
, you'll have to add a parameter for it. You don't actually need the relevant message in your function, so you can substitute that parameter for a Guild (which you do need).

function makeChannel(guild, user) {
  const name = user.username;
  ...
}