2017-02-13 4 views
0

Hallo Twilio Evangelisten,Twilio programmierbarer Chat; Client stoppen, um Nachricht zu senden

Wir verwenden Twilio Modul Programmierbarer Chat und Verwendung von Javascript Client und Twilio.API C# Server-APIs.

Wir möchten, dass Benutzer die Kanäle und Nachrichten für den bestimmten Kanal sehen, aber sie unterlassen, Nachrichten unter bestimmten Bedingungen zu senden.

Wir können Benutzeroberflächenelemente deaktiviert halten, aber intelligente Benutzer können weiterhin auf den Twilio-Client zugreifen und Nachrichten senden.

+0

Es gibt einen Weg Twilio Webhook (pre Ereignisse) onSendingMessage zu verwenden, aber das würde einen zusätzlichen Aufwand an den Server entstehen, für jede Nachricht gesendet. Somit wäre eine praktikable Lösung nicht möglich. –

Antwort

0

Es ist möglich.

Permission Modell docs: https://www.twilio.com/docs/api/chat/guides/permissions

erstellen Rolle REST: https://www.twilio.com/docs/api/chat/rest/roles (beachten Sie nachrichts Erlaubnis Sie überspringen müssen).

Dann haben Sie zwei Möglichkeiten, entweder alle Kanalnutzer des Dienstes zu verbieten Nachrichten standardmäßig zu verbieten (Update DefaultChannelRoleSid für Service und fügen Sie einen Pre-Webhook, um eine Rolle mit separaten REST-Anfrage zuweisen eine breitere Rolle bestimmten Benutzern zuweisen) oder fügen Sie einen Pre-Webhook für das onMemberAdded-Ereignis hinzu, das den Join standardmäßig blockiert und dann manuell über den Restbenutzer zum Channel hinzufügt und dem Mitglied eine erforderliche Rolle zuweist.

Sie können dies derzeit nicht innerhalb der Webhook-Verarbeitung durchführen, daher müssen Sie eine externe URL auslösen, die die REST-Anforderung auslöst.

die Rolle des Mitglieds eines Kanals, Ausgabe POST-Anforderung an das Element URL zu aktualisieren, um neue RoleSid Parameter bereitstellt.

0

Twilio Entwickler Evangelist hier.

Sie haben darauf hingewiesen, dass Sie die Webhooks verwenden können, um das Senden einer Nachricht zu stoppen. Dies ist jedoch nicht die gewünschte Lösung. Ich hätte es trotzdem vorgeschlagen!

Ein anderer Weg wäre, die programmierbare Chat-REST-API zu verwenden, um die Channels und die Messages zu laden. Auf diese Weise könnten Sie die Nachrichten anzeigen, aber der Benutzer wäre nicht auf dem Client am Dienst angemeldet. Nur dann, wenn Sie bereit sind, ihnen zu erlauben, eine Nachricht zu senden, können Sie den JS-Client initiieren. Eine andere Möglichkeit wäre, den JS-Client zu starten, alle Kanäle und Nachrichten zu laden und dann den Client und das Token zu verwerfen.

Lassen Sie mich wissen, ob das überhaupt hilft.

Verwandte Themen