QuickStart
Invia un messaggio WhatsApp, in circa dieci righe
Imposta il phone number id e il token, chiama SendMessageText e leggi la risposta restituita dall'API Graph.
uses
Classes, SysUtils,
sgcLibs, sgcLib_WhatsApp_Client;
procedure TFRMWhatsApp.btnSendMessageClick(Sender: TObject);
begin
whatsapp.WhatsAppOptions.PhoneNumberId := '1234567890';
whatsapp.WhatsAppOptions.Token := GetToken;
DoLog('Message Sent: ' + whatsapp.SendMessageText(
'+34600000000', 'Hello from Delphi'));
end;
Questo è l'intero percorso di invio. Non serve configurare nient'altro e non deve essere in esecuzione alcun server. SendMessageImage, SendMessageDocument, SendMessageLocation, SendMessageContact, SendMessageInteractiveButtons e SendMessageTemplate seguono la stessa forma.
procedure TFRMWhatsApp.FormCreate(Sender: TObject);
begin
whatsapp.NotifyEvents := neAsynchronous;
whatsapp.StartServer;
end;
procedure TFRMWhatsApp.whatsappMessageReceived(Sender: TObject;
const aMessage: TsgcWhatsApp_Receive_Message; var aMarkAsRead: Boolean);
begin
if aMessage.Messages.Count > 0 then
begin
DoLog(aMessage.Messages._Message[0].Text.Body);
aMarkAsRead := True;
end;
end;
La ricezione è facoltativa. StopServer spegne di nuovo il listener e OnBeforeSubscribe è il punto in cui accetti o rifiuti la richiesta di verifica di Meta, tramite il suo parametro var Accept: Boolean.
uses
Classes, SysUtils,
sgcLibs, sgcLib_Telegram;
procedure TFRMSGCTelegram.btnStartClick(Sender: TObject);
begin
SetTDJsonPath(ExtractFilePath(ParamStr(0)));
sgcTelegram.Telegram.API.ApiId := GetApiId;
sgcTelegram.Telegram.API.ApiHash := GetApiHash;
sgcTelegram.Telegram.PhoneNumber := '+34600000000';
sgcTelegram.Active := True;
end;
Per accedere invece come bot, lascia vuoto PhoneNumber e imposta Telegram.BotToken. Da lì l'autorizzazione è guidata dagli eventi: OnAuthorizationStatus, OnAuthenticationCode e OnAuthenticationPassword ti chiedono ciò che TDLib richiede di volta in volta.