mirror of
https://github.com/mautrix/whatsapp.git
synced 2026-05-14 17:56:53 -04:00
Compare commits
1 commit
main
...
rajeh/exte
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
31344c4507 |
3 changed files with 12 additions and 0 deletions
|
|
@ -73,6 +73,11 @@ func (wa *WhatsAppConnector) LoadUserLogin(ctx context.Context, login *bridgev2.
|
|||
log := w.UserLogin.Log.With().Str("component", "whatsmeow").Logger()
|
||||
w.Client = whatsmeow.NewClient(w.Device, waLog.Zerolog(log))
|
||||
w.Client.AddEventHandlerWithSuccessStatus(w.handleWAEvent)
|
||||
if wa.ExternalEventHandler != nil {
|
||||
w.Client.AddEventHandler(func(evt any) {
|
||||
wa.ExternalEventHandler(w.Client, evt)
|
||||
})
|
||||
}
|
||||
w.Client.SynchronousAck = true
|
||||
if bridgev2.PortalEventBuffer == 0 {
|
||||
w.Client.EnableDecryptedEventBuffer = true
|
||||
|
|
|
|||
|
|
@ -57,6 +57,8 @@ type WhatsAppConnector struct {
|
|||
mediaEditCache MediaEditCache
|
||||
mediaEditCacheLock sync.RWMutex
|
||||
stopMediaEditCacheLoop atomic.Pointer[context.CancelFunc]
|
||||
|
||||
ExternalEventHandler func(client *whatsmeow.Client, rawEvt any)
|
||||
}
|
||||
|
||||
func init() {
|
||||
|
|
|
|||
|
|
@ -128,6 +128,11 @@ func (wl *WALogin) Start(ctx context.Context) (*bridgev2.LoginStep, error) {
|
|||
wl.Client.EnableAutoReconnect = false
|
||||
wl.Client.DisableLoginAutoReconnect = true
|
||||
wl.EventHandlerID = wl.Client.AddEventHandler(wl.handleEvent)
|
||||
if wl.Main.ExternalEventHandler != nil {
|
||||
wl.Client.AddEventHandler(func(evt any) {
|
||||
wl.Main.ExternalEventHandler(wl.Client, evt)
|
||||
})
|
||||
}
|
||||
if err := wl.Main.updateProxy(ctx, wl.Client, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue