Skip to main content
Glama
event_delete.go1.85 kB
package whatsapp import ( "context" "time" "github.com/aldinokemal/go-whatsapp-web-multidevice/config" domainChatStorage "github.com/aldinokemal/go-whatsapp-web-multidevice/domains/chatstorage" "github.com/sirupsen/logrus" "go.mau.fi/whatsmeow/types/events" ) // forwardDeleteToWebhook sends a delete event to webhook func forwardDeleteToWebhook(ctx context.Context, evt *events.DeleteForMe, message *domainChatStorage.Message) error { logrus.Infof("Forwarding delete event to %d configured webhook(s)", len(config.WhatsappWebhook)) payload, err := createDeletePayload(ctx, evt, message) if err != nil { return err } for _, url := range config.WhatsappWebhook { if err = submitWebhook(ctx, payload, url); err != nil { return err } } logrus.Info("Delete event forwarded to webhook") return nil } // createDeletePayload creates a webhook payload for delete events func createDeletePayload(_ context.Context, evt *events.DeleteForMe, message *domainChatStorage.Message) (map[string]any, error) { body := make(map[string]any) // Basic delete event information body["action"] = "event.delete_for_me" body["deleted_message_id"] = evt.MessageID body["sender_id"] = evt.SenderJID.User body["timestamp"] = time.Now().Format(time.RFC3339) // Include original message information if available if message != nil { body["chat_id"] = message.ChatJID body["original_content"] = message.Content body["original_sender"] = message.Sender body["original_timestamp"] = message.Timestamp.Format(time.RFC3339) body["was_from_me"] = message.IsFromMe if message.MediaType != "" { body["original_media_type"] = message.MediaType body["original_filename"] = message.Filename } } // Parse sender JID for proper formatting if evt.SenderJID.Server != "" { body["from"] = evt.SenderJID.String() } return body, nil }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/samihalawa/whatsapp-go-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server