botserver/templates/sales/marketing.gbai/marketing.gbdialog/broadcast.bas

55 lines
1.3 KiB
QBasic
Raw Normal View History

PARAM message AS STRING LIKE "Olá {name}, confira nossas novidades!" DESCRIPTION "Message to broadcast, supports {name} and {telefone} variables"
PARAM template_file AS FILE LIKE "header.jpg" DESCRIPTION "Header image file for the template"
PARAM list_file AS FILE LIKE "contacts.xlsx" DESCRIPTION "File with contacts (must have telefone column)"
PARAM filter AS STRING LIKE "Perfil=VIP" DESCRIPTION "Filter condition for contact list" OPTIONAL
2025-11-21 10:44:29 -03:00
DESCRIPTION "Send marketing broadcast message to a filtered contact list via WhatsApp template"
report = LLM "Esta mensagem será aprovada pelo WhatsApp META como Template? Responda OK se sim, ou explique o problema: " + message
2025-11-21 10:44:29 -03:00
IF report <> "OK" THEN
TALK "Atenção: " + report
2025-11-21 10:44:29 -03:00
END IF
IF filter THEN
list = FIND list_file, filter
ELSE
list = FIND list_file
END IF
2025-11-21 10:44:29 -03:00
IF UBOUND(list) = 0 THEN
TALK "Nenhum contato encontrado."
RETURN 0
END IF
2025-11-21 10:44:29 -03:00
PUBLISH
SET MAX LINES 2020
index = 1
sent = 0
2025-11-21 10:44:29 -03:00
DO WHILE index < UBOUND(list)
row = list[index]
SEND TEMPLATE TO row.telefone, template_file
2025-11-21 10:44:29 -03:00
WAIT 0.1
WITH logEntry
timestamp = NOW()
phone = row.telefone
name = row.name
status = "sent"
END WITH
SAVE "broadcast_log.csv", logEntry
2025-11-21 10:44:29 -03:00
sent = sent + 1
index = index + 1
2025-11-21 10:44:29 -03:00
LOOP
TALK "Broadcast enviado para " + sent + " contatos."
RETURN sent