QuickStart
Envía un mensaje de WhatsApp, en unas diez líneas
Define el id del número de teléfono y el token, llama a SendMessageText y lee la respuesta que devolvió la 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;
Ese es todo el camino de envío. No hay que configurar nada más y no hace falta ningún servidor en ejecución. SendMessageImage, SendMessageDocument, SendMessageLocation, SendMessageContact, SendMessageInteractiveButtons y SendMessageTemplate siguen la misma 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;
Recibir es opcional. StopServer vuelve a apagar el listener, y OnBeforeSubscribe es donde aceptas o rechazas la petición de verificación de Meta, mediante su parámetro 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;
Para iniciar sesión como bot, deja PhoneNumber vacío y define Telegram.BotToken. A partir de ahí la autorización se guía por eventos: OnAuthorizationStatus, OnAuthenticationCode y OnAuthenticationPassword te piden lo que TDLib necesita a continuación.