QuickStart
Eine WhatsApp-Nachricht senden, in etwa zehn Zeilen
Setze die Telefonnummern-ID und das Token, rufe SendMessageText auf und lies die Antwort, die die Graph API zurückgeschickt hat.
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;
Das ist der gesamte Sendeweg. Sonst muss nichts konfiguriert werden, und es muss kein Server laufen. SendMessageImage, SendMessageDocument, SendMessageLocation, SendMessageContact, SendMessageInteractiveButtons und SendMessageTemplate haben dieselbe Form.
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;
Der Empfang ist optional. StopServer fährt den Listener wieder herunter, und in OnBeforeSubscribe akzeptierst oder lehnst du die Verifizierungsanfrage von Meta ab, über den Parameter 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;
Um dich stattdessen als Bot anzumelden, lass PhoneNumber leer und setze Telegram.BotToken. Von da an läuft die Autorisierung ereignisgesteuert: OnAuthorizationStatus, OnAuthenticationCode und OnAuthenticationPassword fragen dich nach dem, was TDLib als Nächstes braucht.