QuickStart
Envoyer un message WhatsApp, en une dizaine de lignes
Définis l'identifiant du numéro de téléphone et le jeton, appelle SendMessageText, et lis la réponse renvoyée par l'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;
Voilà tout le chemin d'envoi. Rien d'autre n'est à configurer, et aucun serveur n'a besoin de tourner. SendMessageImage, SendMessageDocument, SendMessageLocation, SendMessageContact, SendMessageInteractiveButtons et SendMessageTemplate ont la même forme.
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 réception est facultative. StopServer arrête à nouveau l'écouteur, et OnBeforeSubscribe est l'endroit où tu acceptes ou rejettes la requête de vérification de Meta, via son paramètre 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;
Pour te connecter en tant que bot, laisse PhoneNumber vide et définis Telegram.BotToken. L'autorisation est ensuite pilotée par événements : OnAuthorizationStatus, OnAuthenticationCode et OnAuthenticationPassword te demandent ce dont TDLib a besoin ensuite.