-
-
Notifications
You must be signed in to change notification settings - Fork 847
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[⚡] Api para envio de mensajes #670
Comments
@eduardolat Buenas interesante tu enfoque afortunadamente ya puedes aprovechar esas funcionalidades te dejo un ejemplo const express = require('express')
const { createBot, createProvider, createFlow, addKeyword } = require('@bot-whatsapp/bot')
const BaileysProvider = require('@bot-whatsapp/provider/baileys')
const MockAdapter = require('@bot-whatsapp/database/mock')
const app = express()
const main = async () => {
const adapterDB = new MockAdapter()
const adapterFlow = createFlow([flowPrincipal])
const adapterProvider = createProvider(BaileysProvider)
createBot({
flow: adapterFlow,
provider: adapterProvider,
database: adapterDB,
})
/**
* Enviar mensaje con metodos propios del provider del bot
*/
app.post('/send-message-bot', async (req, res) => {
await adapterProvider.sendText('52XXXXXXXXX@c.us', 'Mensaje desde API')
res.send({ data: 'enviado!' })
})
/**
* Enviar mensajes con metodos nativos del provider
*/
app.post('/send-message-provider', async (req, res) => {
const id = '52XXXXXXXXX@c.us'
const templateButtons = [
{
index: 1,
urlButton: {
displayText: ':star: Star Baileys on GitHub!',
url: 'https://github.com/adiwajshing/Baileys',
},
},
{ index: 2, callButton: { displayText: 'Call me!', phoneNumber: '+1 (234) 5678-901' } },
{
index: 3,
quickReplyButton: {
displayText: 'This is a reply, just like normal buttons!',
id: 'id-like-buttons-message',
},
},
]
const templateMessage = {
text: "Hi it's a template message",
footer: 'Hello World',
templateButtons: templateButtons,
}
const abc = await adapterProvider.getInstance()
await abc.sendMessage(id, templateMessage)
res.send({ data: 'enviado!' })
})
const PORT = 4000
app.listen(PORT, () => console.log(`http://localhost:${PORT}`))
}
main() |
Hola, @leifermendez como puedo validar que exista una session activa antes de enviar el mensaje, intente enviar el mensaje sin ninguna session y me sale este error |
Lo solucione de esta forma: Cree esta validación para verificar si la sesión estaba creada
Luego la utilizo antes de llamar a la función del envió del mensaje:
|
@leifermendez Muchas gracias por tu respuesta, tiene mucho sentido, ¿Crees que sería bueno documentarlo?, yo me puedo encargar de eso, tal vez en la sección, Avanzado > Providers API |
@leifermendez This works on local machine but fails on deployment |
y para el archivo principal
lo he resulto de esta manera para el archivo Bundle.bot.cjs
|
y para escuchar si el cliente esta listo utilice este
|
hola |
quisiera enviar, a cualquier numero, sin imporetar si la seccion esta activa |
me parece super interesante esto, pero si bien tengo algunos conocimientos de javascript y php no estoy familiarizado con express y node.js, de que manera podria agregar la funcionalidad de enviar mensajes con el bot a clientes que no iniciaron una conversacion? hay algun ejemplo funcional que sepueda probar con postman? gracias desde ya. |
maybe you can save the messsage to database, tthen catch by the number sender to reply again. |
any update then? |
I am doing the same thing, I capture it, but it does not send me to the established number |
Saludos @leifermendez he intentado replicar ese ejemplo, pero obtengo el siguiente error> No reconoce la función de envío.... Podrías orientarme mejor?? Gracias de antemano por la ayuda |
Como puedo hacer que esto funcione en el deploy de railway? cree las endpoint en local funciona localhost:4000/sendMessge pero en railwind creando un dominio e ingresando al endpoint /sendMessage me dice que no existe la pagina :/ |
lo resolvi const PORT = process.env.PORT || 4000; |
realy need clear documentation about this. any update then? |
@leifermendez podrias crear un tutorial para implementar lo del envio de mensajes y templates de mensajes? |
leifer, como recibir parametros del numero y del mensaje desde postman? aunque pase los valors en el body no logro que los tome el bot |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
Antes que nada, muchas gracias por el buen trabajo al hacer esta biblioteca 🫶
Describe tu problema
Sería muy bueno que la función
createBot
retornara un objeto con funciones para poder aprovechar la abstracción de envío de mensajes y poder reutilizar las implementaciones con los distintos proveedores que la biblioteca ya de por sí ofrece.Esto nos permitiría extender la funcionalidad de la biblioteca haciendo nuestras propias funciones sin necesidad de crear nuestras propias abstracciones sobre los proveedores, por ejemplo, podríamos tener un chatbot y un api de WhatsApp en el mismo proyecto, podríamos configurar webhooks, enviar a clientes notificaciones de su cuenta, pedidos, etc.
Es genial como
bot-whatsapp
puede intercambiar entre proveedores, sería genial poder combinar esa función con la propuestaInformación Adicional
Adjunto imagen con un ejemplo de como puede ser útil. No propongo agregar endpoints (¿o si?), solamente tener las funciones para poder hacerlo por cuenta propia.
The text was updated successfully, but these errors were encountered: