
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
visper-baileys
Advanced tools
Elevate your messaging experience with the most advanced WhatsApp Web API solution available
⚠️ The original repository was initially removed by its creator and subsequently taken over by WhiskeySockets. This enhanced version includes numerous improvements and powerful new features designed to transform your WhatsApp development experience.
"dependencies": {
"baileys-elite": "*"
}
npm install baileys-elite
// ESM
import makeWASocket from 'baileys-elite'
// CommonJS
const { default: makeWASocket } = require("baileys-elite")
Feature | Description | Status |
---|---|---|
🔊 Channel Messaging | Send & manage WhatsApp channel content | ✅ |
🎛️ Interactive Messages | Create rich button-based experiences | ✅ |
🤖 AI Message Icon | Brand your bot messages with AI icon | ✅ |
🖼️ Enhanced Media | Uncropped profile pictures & optimized media | ✅ |
🔐 Custom Pairing | Personalized device pairing codes | ✅ |
🔧 Performance Optimizations | Cleaner logs & improved signal handling | ✅ |
📱 Cross-Platform | Works on all NodeJS supported platforms | ✅ |
// By invite
const metadata = await sock.newsletterMetadata("invite", "xxxxx")
// By JID
const metadata = await sock.newsletterMetadata("jid", "abcd@newsletter")
console.log(metadata)
// Update description
await sock.newsletterUpdateDescription("abcd@newsletter", "New Description")
// Update name
await sock.newsletterUpdateName("abcd@newsletter", "New Name")
// Update picture
await sock.newsletterUpdatePicture("abcd@newsletter", buffer)
// Remove picture
await sock.newsletterRemovePicture("abcd@newsletter")
// Unmute newsletter
await sock.newsletterUnmute("abcd@newsletter")
// Mute newsletter
await sock.newsletterMute("abcd@newsletter")
// Create new newsletter
const metadata = await sock.newsletterCreate("Newsletter Name", "Newsletter Description")
console.log(metadata)
// Delete newsletter
await sock.newsletterDelete("abcd@newsletter")
// Follow newsletter
await sock.newsletterFollow("abcd@newsletter")
// Unfollow newsletter
await sock.newsletterUnfollow("abcd@newsletter")
// Send reaction to newsletter post
// Get ID from message URL: https://whatsapp.com/channel/xxxxx/175
const id = "175"
await sock.newsletterReactMessage("abcd@newsletter", id, "🥳")
const buttons = [
{ buttonId: 'id1', buttonText: { displayText: 'Button 1' }, type: 1 },
{ buttonId: 'id2', buttonText: { displayText: 'Button 2' }, type: 1 }
]
const buttonMessage = {
text: "Hi it's button message",
footer: 'Hello World',
buttons,
headerType: 1,
viewOnce: true
}
await sock.sendMessage(id, buttonMessage, { quoted: null })
const buttons = [
{ buttonId: 'id1', buttonText: { displayText: 'Button 1' }, type: 1 },
{ buttonId: 'id2', buttonText: { displayText: 'Button 2' }, type: 1 }
]
const buttonMessage = {
image: { url: "https://example.com/abcd.jpg" }, // image: buffer or path
caption: "Hi it's button message with image",
footer: 'Hello World',
buttons,
headerType: 1,
viewOnce: true
}
await sock.sendMessage(id, buttonMessage, { quoted: null })
const buttons = [
{ buttonId: 'id1', buttonText: { displayText: 'Button 1' }, type: 1 },
{ buttonId: 'id2', buttonText: { displayText: 'Button 2' }, type: 1 }
]
const buttonMessage = {
video: { url: "https://example.com/abcd.mp4" }, // video: buffer or path
caption: "Hi it's button message with video",
footer: 'Hello World',
buttons,
headerType: 1,
viewOnce: true
}
await sock.sendMessage(id, buttonMessage, { quoted: null })
const interactiveButtons = [
{
name: "quick_reply",
buttonParamsJson: JSON.stringify({
display_text: "Quick Reply",
id: "ID"
})
},
{
name: "cta_url",
buttonParamsJson: JSON.stringify({
display_text: "Tap Here!",
url: "https://www.example.com/"
})
},
{
name: "cta_copy",
buttonParamsJson: JSON.stringify({
display_text: "Copy Code",
id: "12345",
copy_code: "12345"
})
}
]
const interactiveMessage = {
text: "Hello World!",
title: "this is the title",
footer: "this is the footer",
interactiveButtons
}
await sock.sendMessage(id, interactiveMessage, { quoted: null })
const interactiveButtons = [
{
name: "quick_reply",
buttonParamsJson: JSON.stringify({
display_text: "Quick Reply",
id: "ID"
})
},
{
name: "cta_url",
buttonParamsJson: JSON.stringify({
display_text: "Visit Website",
url: "https://www.example.com/"
})
}
]
// With Image
const imageInteractiveMessage = {
image: { url: "https://example.com/abcd.jpg" },
caption: "Check out this amazing photo!",
title: "Photo Showcase",
footer: "Tap a button below",
interactiveButtons
}
await sock.sendMessage(id, imageInteractiveMessage, { quoted: null })
// With Video
const videoInteractiveMessage = {
video: { url: "https://example.com/abcd.mp4" },
caption: "Watch this awesome video!",
title: "Video Showcase",
footer: "Tap a button below",
interactiveButtons
}
await sock.sendMessage(id, videoInteractiveMessage, { quoted: null })
// Simply add "ai: true" to display AI icon with your message
await sock.sendMessage(id, { text: "Hello! I'm your AI assistant.", ai: true })
if(usePairingCode && !sock.authState.creds.registered) {
const phoneNumber = await question('Please enter your mobile phone number:\n')
const custom = "SH1Z0D3V" // must be 8 digits, can be letters or numbers
const code = await sock.requestPairingCode(phoneNumber, custom)
console.log(`Pairing code: ${code?.match(/.{1,4}/g)?.join('-') || code}`)
}
Add baileys-elite to your project using npm
npm install baileys-elite
Import the library into your project
import makeWASocket from 'baileys-elite'
Set up your WhatsApp connection
const sock = makeWASocket({...})
Start using the enhanced features
await sock.sendMessage(id, {...})
If you encounter any issues while using this repository, please feel free to open a new issue.
Everything other than the modifications mentioned above remains the same as the original repository. You can check out the original repository at WhiskeySockets.
Powered by Baileys-Elite - The Ultimate WhatsApp Web API Experience
FAQs
WhatsApp API
We found that visper-baileys demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.