【问题标题】:How to receive an event notification, like "channelAdded", when a new public channel is created创建新公共频道时如何接收事件通知,例如“channelAdded”
【发布时间】:2017-11-02 00:58:11
【问题描述】:

如何在聊天服务上收听任何新公共频道的创建?我见过client.channelAdded,但它只适用于私人频道。

channelAdded

当通道对客户端可见时触发。因创建而被解雇 并且未加入私人频道和所有类型的频道客户 已加入或受邀参加。

我的用例是一个内部支持应用程序,其中来自客户用户的每条首次传入 SMS 消息都会为该特定客户用户创建一个新的聊天服务通道,并将一条聊天消息添加到表示 SMS 的通道中.新频道是通过 Twilio REST API 创建的。

我希望能够让每个代理用户都知道有一个新创建的频道(即开放票证),然后如果他们愿意,就可以加入它(从而使频道公开)。

我想我可以创建所有私人频道并邀请所有代理用户加入该频道,但似乎有点 hacky。感觉应该有一种更清洁的方法来做到这一点。

【问题讨论】:

    标签: twilio twilio-programmable-chat


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    感谢您提供有关您的用例的额外信息。

    首先,channelAdded 事件只会在您描述的情况下触发,而不是针对每个新的公共频道。 Danila 建议使用 webhook 来触发事件,但正如你所说,你已经在自己创建频道,所以不需要 webhook。

    也许您可以使用频道作为您的代理的通知。创建一个所有登录代理都加入的特殊频道。然后,当您为新的未结工单创建新通道时,还要向“未结工单”通道发送消息。您可以使用此频道然后简单地通知您的代理有新请求,或者您可以启动一个函数以获取最新频道,以便加载并准备好您的代理加入。

    如果您想要一些比聊天频道更轻量级的东西,您可以考虑使用 Twilio Sync list 获取当前打开的工单,然后您可以与您的代理同步。

    让我知道这是否有帮助。

    【讨论】:

    • 感谢 Twilio 同步建议。这可能是一个很好的解决方案,尤其是消息流。 Bc 我希望客户端 UX 如何工作,核心挑战是我需要每个客户端查看服务上的每个事件(特别是 messageAdded 用于他们不是成员的频道)。 UX 将允许任何用户切换到任何其他用户的未结工单,即时进出频道,并且需要更新所有工单/频道/代理的未读消息计数等内容。与“Slack”风格的消息传递应用程序不一致的东西。更像是带有扭曲的 Slack。但是很有帮助!
    • 很高兴这有帮助!在尝试在常规聊天之外执行这些额外功能时,这听起来确实像同步应该有所帮助。如果还有什么我可以帮忙的,请告诉我。
    【解决方案2】:

    实现期望的一种可能性是添加webhook 以创建频道。

    它可以使用REST API 将成员(客户支持人员)添加到频道,或者使用 REST API 将send a message 添加到他们。

    【讨论】:

    • 我在后端(Django)创建频道,所以我可以在那里做任何帖子创建任务。但是,我只想邀请代理用户,而不是让他们成为会员,这似乎可以让他们收听该频道并在客户端接收事件。
    • 试图避免将所有代理实际添加到新频道的主要原因是为了避免遇到每个用户加入频道的 1000 个限制。如果我将所有代理添加到所有“开放票证”渠道,在某些情况下我们可能会遇到此限制。但我会让他们加入所有已“分配”给他们的“开放票”频道(手动过程),这将始终是一个低于 100 的数字。
    猜你喜欢
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    相关资源
    最近更新 更多