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 onlyon
disconnected
andstrangerDisconnected
event. -
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.