omegle-node-fix is an unofficial API for Omegle which can be used to connect and interact with people on omegle without actually going to the website. This is a fixed version of omegle-node, originally created by dumptyd.
npm install omegle-node-fix
Check out examples/omegle.js to get a hang of how this works.
cd examples
node omegle
-
gotID: emitted when you're connected to Omegle's server (note that you're not connected to a stranger yet).
Argument:id- The ID assigned to you by Omegle. -
waiting: emitted when you're looking for strangers to connect to. -
connected: emitted when you're connected to a stranger. -
typing: emitted when the stranger starts typing. -
stoppedTyping: emitted when the stranger stops typing. -
gotMessage: emitted when you receive a message.Argument:msg- Received message. -
question: emitted when you receive a question when spy mode is enabled.Argument:question- Received question. -
commonLikes: emitted when you're connected to a stranger with matching interests.Argument:likes- Array of matching interests. -
disconnected: emitted when you disconnect from the chat. This will be emitted when you calldisconnect(). If you want to reconnect, callconnect()again onlyondisconnectedandstrangerDisconnectedevent. -
strangerDisconnected: emitted when the stranger disconnects. -
connectionDied: emitted when connection to the server is lost. Results in disconnection. -
omegleError: emitted when there's an error on Omegle's side. Results in disconnection. (Note: this is different fromomerror).Argument:errorMsg- Error message. -
antinudeBanned: emitted when you get banned for bad behavior. Bans usually last for 1 to 48 hours. Results in disconnection. -
recaptchaRequired: emitted when you're required to solve a ReCAPTCHA.Argument:challenge- Link to the ReCAPTCHA image. -
recaptchaRejected: emitted when your answer to the ReCAPTCHA challenge is rejected.Argument:challenge- Link to the new ReCAPTCHA image. -
omerror: emitted when there's an error on client-side. For instance, callingsend()before callingconnect().Argument:errorMsg- Error description. Error messages follow this pattern:functionName(): error message.
-
connect([topics], spyMode): Connect to a random stranger.Argument:topics- Optional. An array of interests.Argument:spyMode- Optional. Default isfalse. Set to true in order to connect to spy mode. -
updateServer(): Update the server to which all the requests are made. This is called every timeconnect()is called. -
send(msg): Send a message to the stranger.Argument:msg- Message to send. -
startTyping(): Set your status totyping. -
stopTyping(): Set your status tostoppedTyping. -
stopLookingForCommonLikes(): Pretty self explanatory - Stop looking for common likes. If you hate long ungodly function names, you can useslfcl(), which does the same thing too. -
disconnect(): Disconnect from the chat. -
solveReCAPTCHA(answer): Send the answer to the ReCAPTCHA challenge to Omegle.Argument:answer- Answer to the challenge. -
connected(): Returns a boolean value specifying whether you're currently connected to a stranger. -
reloadReCAPTCHA(): It seems like Omegle has gotten rid ofrecaptchaRejected, so the only way to know whether your ReCAPTCHA answer has been rejected is if you don't get connected to a stranger within a few seconds of submitting your answer. Use this function to reload ReCAPTCHA.
-
useragent: Set or get the useragent. -
language: Set or get the language you speak. Default isen.
var Omegle = require('omegle-node-fix');
var om = new Omegle(); //create an instance of `Omegle`
//This will print any errors that might get thrown by functions
om.on('omerror',function(err){
console.log('error: ' + err);
});
//gotID is emitted when you're connected to Omegle
om.on('gotID',function(id){
console.log('connected to the server as: ' + id);
});
//waiting is emitted when you're waiting to connect to a stranger
om.on('waiting', function(){
console.log('waiting for a stranger.');
});
//emitted when you're connected to a stranger
om.on('connected',function(){
console.log('connected');
});
//emitted when you get a message
om.on('gotMessage',function(msg){
console.log('Stranger: ' + msg);
om.send('Hi'); //used to send a message to the stranger
});
//emitted when the stranger disconnects
om.on('strangerDisconnected',function(){
console.log('stranger disconnected.');
});
//Once you're subscribed to all the events that you wish to listen to,
//call connect() to connect to Omegle and start looking for a stranger.
om.connect();The examples/ folder contains three scripts:
omegle.js- A full-fledged script to demonstrate how the module works.mitm.js- Script showcasing the MITM attack to eavesdrop on two strangers' conversation.reverse-bot.js- An Omegle bot that reverses the received messages and sends them back to the stranger.

