omegle-node - Unofficial node.js API for Omegle
omegle-node is an unofficial API for Omegle which can be used to connect and interact with people on omegle without actually going to the website.
##Installation
npm install omegle-node
##Usage
Check out omegle.js
in examples/
folder to get a hang of how this works.
cd examples
node omegle
###List of events
-
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.
-
commonLikes
: emitted when you're connected to a stranger with matching interests.
Argument
: likes
- Array of matching interests.
-
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 from omerror
).
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, calling send()
before calling connect()
.
Argument
: errorMsg
- Error description. Error messages follow this pattern: functionName(): error message
.
###List of functions
-
connect([topics])
: Connect to a random stranger.
Argument
: topics
- Optional. An array of interests.
-
updateServer()
: Update the server to which all the requests are made. This is called every time connect()
is called.
-
send(msg)
: Send a message to the stranger.
Argument
: msg
- Message to send.
-
startTyping()
: Set your status to typing
.
-
stopTyping()
: Set your status to stoppedTyping
.
-
stopLookingForCommonLikes()
: Pretty self explanatory - Stop looking for common likes. If you hate long ungodly function names, you can use slfcl()
, 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 of recaptchaRejected
, 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.
###List of variables
###Example
var Omegle = require('node-omegle');
var om = new Omegle();
om.on('omerror',function(err){
console.log('error: ' + err);
});
om.on('gotID',function(id){
console.log('connected to the server as: ' + id);
});
om.on('waiting', function(){
console.log('waiting for a stranger.');
});
om.on('connected',function(){
console.log('connected');
});
om.on('gotMessage',function(msg){
console.log('Stranger: ' + msg);
om.send('Hi');
});
om.on('strangerDisconnected',function(){
console.log('stranger disconnected.');
});
om.connect();
##Example scripts
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.
##Please do not use this to create spam bots, there are already enough of those on Omegle.