2017-02-13 62 views
0

Hi Twilio布道者,Twilio可编程聊天;停止客户端发送消息

我们正在使用Twilio模块进行可编程聊天并使用Javascript客户端和Twilio.API C#服务器API。

我们希望用户能够看到特定频道的频道和消息,但是需要有条件地禁止他们发送消息。

我们可以禁用UI元素,但智能用户仍然可以访问Twilio客户端并发送消息。

+0

有一种方法可以在SendingMessage上使用Twilio WebHook(预先事件),但是会为每个发送的消息带来额外的服务器开销。因此不可行的解决方案。 –

回答

0

这是可能的。

权限模型文档:https://www.twilio.com/docs/api/chat/guides/permissions

使用REST创建角色:https://www.twilio.com/docs/api/chat/rest/roles(注意,您需要跳过的sendMessage权限)。

然后你有两个选择 - 要么禁止服务的所有渠道用户默认发布消息(更新服务的DefaultChannelRoleSid并添加一个pre-webhook来为单独的REST请求分配一个角色,以将更广泛的角色分配给特定用户),或者在onMemberAdded事件上添加一个pre-webhook,默认情况下阻止连接,然后通过rest用户手动添加到频道并为成员分配必需的角色。

你不能在webhook处理内部做到这一点,所以你将不得不触发一些外部URL来发出REST请求。

要更新通道成员的角色,请向提供新RoleSid参数的成员URL发出POST请求。

0

Twilio开发者布道者在这里。

您已经指出,您可以使用webhook来停止发送消息,但这不是您想要的解决方案。我会建议它!

另一种方法是使用可编程聊天REST API来加载ChannelsMessages。这样您可以显示消息,但用户不会登录到客户端的服务。然后,只有当你准备好允许他们发送消息时,你才可以启动JS客户端,加载所有的通道和消息,然后丢弃客户端和令牌。

让我知道这是否有帮助。

相关问题