我正在尝试在Twilio上的可编程聊天中发送媒体消息。但是根据文档,只有 Channel admin 和 Channel user 角色可以发送媒体消息。 当我创建chatClient时,它将自动为他们分配 Service admin 和 Service User 角色。如何以频道管理员或频道用户的身份加入频道,以便我可以发送媒体消息。
以下是我用于创建聊天客户端和加入频道的代码:
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);
});
});
};
答案 0 :(得分:0)
这里是Twilio开发人员的传播者。
角色和角色范围
聊天角色分为两个“作用域”,即服务和渠道。这些 确定角色权限的应用方式取决于 上下文。
- 服务级别角色已分配给用户,并指示用户可以查看,加入和创建哪些渠道。
- 频道级别角色已分配给频道内的成员。这些角色确定成员可以在该频道中执行的操作,例如发送消息,添加其他成员,编辑消息等等。
因此,当您的聊天客户端具有服务角色时,您用户在频道中的成员将具有频道级别的角色,例如频道管理员或频道用户,并且能够发送媒体消息。