Twilio 无法加入聊天频道

Twilio 无法加入聊天频道,twilio,Twilio,在我一直使用的twilio代码中尝试加入通道时,它出现了一个错误,即它“无法读取null的'getChannelByUniqueName'属性”。聊天功能正常,但当我尝试在不同的浏览器(如firefox而不是chrome)上打开聊天时,会显示错误“提供唯一名称的频道已经存在”。有人能帮忙解决这个问题吗 //初始化聊天客户端 chatClient=new Twilio.Chat.Client(data.token); JoinChannel(聊天室客户端); }); 函数JoinChannel(

在我一直使用的twilio代码中尝试加入通道时,它出现了一个错误,即它“无法读取null的'getChannelByUniqueName'属性”。聊天功能正常,但当我尝试在不同的浏览器(如firefox而不是chrome)上打开聊天时,会显示错误“提供唯一名称的频道已经存在”。有人能帮忙解决这个问题吗

//初始化聊天客户端
chatClient=new Twilio.Chat.Client(data.token);
JoinChannel(聊天室客户端);
});
函数JoinChannel(聊天客户端){
chatClient.getSubscribedChannels();
joinChannel(“通用”、“通用聊天频道”);
}
函数joinChannel(channelName,channelFriendlyName){
console.log(channelName);
console.log(chatClient);
打印('试图加入“'+channelName+'”聊天频道…');
var promise=chatClient.getChannelByUniqueName(channelName);
承诺。然后(功能(通道){
log('Found'+channelName+'channel:');
频道[频道名称]=频道;
控制台日志(通道);
设置通道();
}).catch(函数(){
//如果它不存在,让我们创建它
chatClient.createChannel({
uniqueName:channelName,
friendlyName:channelFriendlyName
}).然后(功能(通道){
频道[频道名称]=频道;
设置频道(频道名称);
});
});

}
这里是Twilio开发者福音传道者

在我看来,您似乎没有将
chatClient
传递给
joinChannel
方法(其次,客户端可能尚未完全初始化)

我将使用以下方法初始化客户机,该方法使用
create
方法,该方法返回一个承诺,该承诺在客户机准备就绪时解析

  // Initialize the Chat client
  new Twilio.Chat.Client.create(data.token).then(function(chatClient) {
    joinChannels(chatClient);
  });
});
然后,确保将客户端传递到
joinChannel
方法:

function joinChannels(chatClient) {
  chatClient.getSubscribedChannels();
  joinChannel(chatClient, 'generalss','Generals Chat Channel');
}

function joinChannel(chatClient, channelName, channelFriendlyName) {
  // the rest...
}

让我知道这是否有帮助。

您在哪里设置
chatClient
?你能分享更多的代码来显示你在哪里设置客户端以及如何调用这个函数吗?@philnash我刚刚更新了我在问题中输入的代码来显示chatClientHi,是的,这很有帮助。谢谢你真棒,如果它解决了你的问题,请把它标记为正确的,这样其他人也能看到。谢谢我想知道如何基于已经创建的用户实例化一个新客户端为该用户生成一个访问令牌,并使用
new Twilio.Chat.client.create(token)
实例化一个新用户。我希望能够创建一个用户,而不是在登录时总是创建一个新用户,我希望能够再次登录到特定用户。我该怎么做@philnash