下面是我用来创建聊天客户端和加入频道的代码:
initChat = () => {
this.chatClient = new Chat(this.state.token);
this.chatClient.initialize().then(this.clientInitiated.bind(this));
};
clientInitiated = () => {
this.setState({ chatReady: true }, () => {
this.chatClient
.getChannelByUniqueName(this.channelName)
.then(channel => {
if (channel) {
return (this.channel = channel);
}
})
.catch(err => {
if (err.body.code === 50300) {
return this.chatClient.createChannel({
uniqueName: this.channelName
});
}
})
.then(channel => {
this.channel = channel;
window.channel = channel;
if (channel.state.status !== "joined") {
console.log("New member joining in");
return this.channel.join();
} else {
console.log("already joined the channel earlier");
return this.channel;
}
})
.then(() => {
console.log("Channel: ", this.channel);
this.channel.getMessages().then(this.messagesLoaded);
this.channel.on("messageAdded", this.messageAdded);
});
});
};
这里是Twilio开发者布道者。
从文档中可以看到:
聊天角色分为两个“范围”,“服务”和“渠道”。它们根据上下文确定如何应用角色权限。
运行下面的代码,我得到了可达性已启用的通知和成员的控制台日志,但是当我让其他成员进入/退出页面时,没有事件触发。
我正在尝试创建一个简单的聊天应用程序之间的两个用户,使用twilio js API。 如果它已经存在,则表示另一个用户已经登录,我希望加入此通道。 否则,我想用这个特定名称创建一个通道,并等待其他用户。 我尝试了两种选择:1。聊天客户端。2.IPMessaging客户端。 我正在尝试使用此功能:
问题是,当创建新的专用通道时,事件不会触发。这是否意味着我分配给用户的even the service角色是不正确的,或者channelAdded方法不应该为新的私有通道激发?
问题内容: 在我的主页上,我有一个用户列表,我想选择并打开一个频道与其中一个聊天。 我在想是否最好使用id并控制对诸如USERID1-USERID2之类的频道的访问。 但是,当然,用户2也可以打开相同的频道,因此我想找到更易于控制的内容。 请,如果您想帮助我,请使用firebase网址/数组在JavaScript中给我一个示例。 谢谢! 问题答案: 处理此类1:1聊天室的常用方法是根据用户ID生成
如何在聊天客户端发送媒体消息?我使用的是JS SDK,基于教程https://www.twilio.com/docs/api/chat/guides/media-support,但是出现了错误。我使用的方法如下所示: 错误消息:
控制台-频道-聊天-发消息 接口URL {youke-url}/console/Index.php?c=live&a=setComment×tamp=1607677497&access_key=abc&sign=5c734d046a244b27ffa74a4235a45a1b3ada5ec7 请求方式 POST Content-Type form-data 请求Query参数 参数 示例