Mensajes patrocinados de Telegram

· Features

Desde sgcWebSockets 2022.3.0 se admiten los mensajes patrocinados. Los mensajes patrocinados requieren Telegram 1.8.0+, por lo que las bibliotecas de Telegram se han actualizado para soportar esta funcionalidad.

Los mensajes patrocinados en Telegram se muestran en canales públicos uno-a-muchos grandes con 1000+ suscriptores y están limitados a 160 caracteres. Los mensajes patrocinados se basan únicamente en el tema de los canales públicos en los que se muestran.

Esto significa que no se recopilan ni analizan datos de usuario para mostrar anuncios, y todos los usuarios que vean un canal concreto en Telegram ven los mismos mensajes patrocinados.

Obtener mensajes patrocinados 

 Cada vez que el usuario abre un canal, hay que llamar a channels.getSponsoredMessages para recibir los mensajes patrocinados disponibles para ese canal. El resultado debe cachearse durante 5 minutos.

Mostrar mensajes patrocinados 

Los mensajes patrocinados deben mostrarse por debajo de los demás posts del canal, después de que el usuario haya hecho scroll más allá del último mensaje. El canal o bot promocionado indicado en el campo from_id debe aparecer como autor del mensaje. El mensaje también debe contener uno de los siguientes botones en la parte inferior:

Ejemplo 

A continuación encontrarás un ejemplo para solicitar y mostrar mensajes patrocinados utilizando la biblioteca sgcWebSockets.

//Send a request to the channel asking if there are sponsored messages available, just call the method GetChatSponsoredMessage.
oTelegram := TsgcTDLib_Telegram.Create(nil);
oTelegram.Telegram.API.ApiHash := 'ABCDEFGHIJKLMN';
oTelegram.Telegram.API.ApiId := '1234';
oTelegram.PhoneNumber := '008745744155';
oTelegram.Active := true;
oTelegram.getChatSponsoredMessage('100');
//If the chat has sponsored messages, the event OnMessageSponsored is called with the content of the Sponsored message. 
//If there are no messages, a 404 error is returned.
procedure(Sender: TObject; MessageSponsored: TsgcTelegramMessageSponsored);
begin
  DoLog(MessageSponsored.Text);
end;
//Call the method ViewMethod after the Sponsored Messages has been shown to the user.
oTelegram.ViewMessage('100', '54653256245');