Para algunos chatbots, la entrega de contenido es la funcionalidad principal. El chatbot de una empresa minorista, por ejemplo, necesita enviar cupones promocionales mensuales a un determinado perfil de cliente. Para ello, es necesario separar a los clientes que deben recibir los cupones de los que no deben y, finalmente, enviar los mensajes al grupo correcto.
Para resolver este problema, solo use la extensión de lista.
- Cree el proyecto de plantilla BLiP C# SDK (vea cómo en la documentación de BLiP).
- Agregue la interfaz IBroadcastExtension al constructor de su MessageReceiver. Nota: El SDK lo inyectará automáticamente.
- Cree una lista de distribución mediante el método CreateDistributionListAsync(string listName).
- Agregue un nuevo usuario a su lista con el método AddRecipientAsync(string listName, Identity receiverIdentity).
- Finalmente, envíe un mensaje a todos los usuarios de su lista con el método SendMessageAsync(string listName, Document d).
public class BroadcastMessageReceiver : IMessageReceiver
{
private readonly IBroadcastExtension _broadcastExtension;
private readonly IMessagingHubSender _sender;
public BroadcastMessageReceiver(IMessagingHubSender sender, IBroadcastExtension broadcastExtension)
{
_broadcastExtension = broadcastExtension;
_sender = sender;
}
public async Task ReceiveAsync(Message message, CancellationToken cancellationToken)
{
var listName = "couponUsers";
//Add a new distribution list with name couponUsers
await _broadcastExtension.CreateDistributionListAsync(listName);
//Add some users to couponUsers list
await _broadcastExtension.AddRecipientAsync(listName, message.From.ToIdentity());
//Send a message to couponUsers list users
await _broadcastExtension.SendMessageAsync(listName, new PlainText { Text = "Hola, tienes un nuevo cupón de descuento." });
}
}
Para obtener más información, acceda a la discusión sobre el tema en nuestra comunidad o los videos en nuestro canal. 😃