【问题标题】:Twilio Programmable Chat; Stopping client to send messageTwilio 可编程聊天;停止客户端发送消息
【发布时间】:2017-07-01 06:52:15
【问题描述】:

您好 Twilio 布道者,

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

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

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

【问题讨论】:

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

标签: javascript c# twilio


【解决方案1】:

有可能。

权限模型文档: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 处理内部执行此操作,因此您必须触发一些将发出 REST 请求的外部 URL。

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

【讨论】:

    【解决方案2】:

    这里是 Twilio 开发者宣传员。

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

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

    另一种可能性是启动 JS 客户端,加载所有通道和消息,然后丢弃客户端和令牌。

    让我知道这是否有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-30
      • 2015-03-28
      • 1970-01-01
      • 2021-03-02
      • 1970-01-01
      相关资源
      最近更新 更多