2017-02-13 95 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客戶端,加載所有的通道和消息,然後丟棄客戶端和令牌。

讓我知道這是否有幫助。

相關問題