Telegram Sponsored Messages

· Recursos

A partir do sgcWebSockets 2022.3.0, as Mensagens Patrocinadas são suportadas. As Mensagens Patrocinadas requerem o Telegram 1.8.0+, portanto as bibliotecas do Telegram foram atualizadas para suportar este recurso.

As mensagens patrocinadas no Telegram são exibidas em grandes canais públicos um-para-muitos com mais de 1000 assinantes e são limitadas a 160 caracteres. As Mensagens Patrocinadas são baseadas exclusivamente no tópico dos canais públicos em que são exibidas.

Isso significa que nenhum dado do usuário é coletado ou analisado para exibir anúncios, e todos os usuários que visualizam um canal específico no Telegram veem as mesmas mensagens patrocinadas.

Obtendo mensagens patrocinadas 

 Cada vez que o usuário abre um canal, channels.getSponsoredMessages deve ser chamado para receber as mensagens patrocinadas disponíveis para esse canal. O resultado deve ser armazenado em cache por 5 minutos.

Exibindo mensagens patrocinadas 

As mensagens patrocinadas devem ser exibidas abaixo de todas as outras publicações no canal, após o usuário rolar mais para baixo, passando da última mensagem. O canal ou bot promovido especificado no campo from_id deve ser exibido como autor da mensagem. A mensagem também deve conter um dos seguintes botões na parte inferior:

Exemplo 

Veja abaixo um exemplo para solicitar e exibir Mensagens Patrocinadas usando a 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');