mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-20 12:39:24 +00:00
feat(provider): ⚡ add location provider
This commit is contained in:
@@ -115,12 +115,21 @@ class BaileysProvider extends ProviderClass {
|
||||
func: ({ messages, type }) => {
|
||||
if (type !== 'notify') return
|
||||
const [messageCtx] = messages
|
||||
console.log(messageCtx)
|
||||
let payload = {
|
||||
...messageCtx,
|
||||
body: messageCtx?.message?.extendedTextMessage?.text ?? messageCtx?.message?.conversation,
|
||||
|
||||
from: messageCtx?.key?.remoteJid,
|
||||
}
|
||||
|
||||
if (messageCtx.message.locationMessage) {
|
||||
const { degreesLatitude, degreesLongitude } = messageCtx.message.locationMessage
|
||||
if (typeof degreesLatitude === 'number' && typeof degreesLongitude === 'number') {
|
||||
payload = { ...payload, body: `${degreesLatitude},${degreesLongitude}` }
|
||||
}
|
||||
}
|
||||
|
||||
if (payload.from === 'status@broadcast') return
|
||||
|
||||
if (payload?.key?.fromMe) return
|
||||
|
||||
@@ -85,11 +85,17 @@ class VenomProvider extends ProviderClass {
|
||||
if (payload.from === 'status@broadcast') {
|
||||
return
|
||||
}
|
||||
|
||||
if (!venomisValidNumber(payload.from)) {
|
||||
return
|
||||
}
|
||||
payload.from = venomCleanNumber(payload.from, true)
|
||||
if (payload.hasOwnProperty('lat') && payload.hasOwnProperty('lng')) {
|
||||
const lat = payload.lat
|
||||
const lng = payload.lng
|
||||
if (lat !== '' && lng !== '') {
|
||||
payload = { ...payload, body: `${lat},${lng}` }
|
||||
}
|
||||
}
|
||||
this.emit('message', payload)
|
||||
},
|
||||
},
|
||||
|
||||
@@ -90,6 +90,11 @@ class WebWhatsappProvider extends ProviderClass {
|
||||
return
|
||||
}
|
||||
payload.from = wwebCleanNumber(payload.from, true)
|
||||
if (payload._data.lat && payload._data.lng) {
|
||||
let lat = payload._data.lat
|
||||
let lng = payload._data.lng
|
||||
payload = { ...payload, body: `${lat},${lng}` }
|
||||
}
|
||||
this.emit('message', payload)
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user