A client for storing and parsing chaturbate-browser events.
The events are published from the chaturbate-browser module. Then they are transformed by the chaturbate-events module. Then this modules handles them to interpret the state of the chaturbate profile
All chaturbate events from chaturbate-events are proxied through this module. Any events containing a User Object will be enhanced with a "isHost" attribute.
npm install @paulallen87/chaturbate-controller
const browser = new ChaturbateBrowser();
const controller = new ChaturbateController(browser);
controller.on('room_message', (e) => {
console.log(`${e.user.username}: ${e.message}`);
})
controller.on('tip', (e) => {
console.log(`${e.user.username} tipped ${e.amount} tokens`);
})
await browser.start();
browser.profile('<username>');
setTimeout(() => browser.stop(), 10 * 1000);
- state (string)
- modelStatus (string)
- appInfo (Object)
- room (string)
- gender (string)
- welcomeMessage (string)
- subject (string)
- spyPrice (number)
- viewCount (number)
- panel (Object)
- groupsEnabled (boolean)
- groupPrice (number)
- groupNumUsersRequired (number)
- groupNumUsersWaiting (number)
- privatesEnabled (boolean)
- privatePrice (number)
Called when the browser hook is initialized.
- INIT
- CONNECTING
- CONNECTED
- JOINED
- LEAVE
- KICKED
- DISCONNECTED
- ERROR
- FAIL
- OFFLINE
- PUBLIC
- AWAY
- PRIVATE
- GROUP
- hasGoal (boolean)
- hasMultipleGoals (boolean)
- goalAmount (number)
- goalCurrent (number)
- goalRemaining (number)
- goalCount (number)
- goalTotal (number)
- tipBiggestUsername (string)
- tipBiggestAmount (number)
- tipRecentUsername (string)
- tipRecentAmount (number)
- tipperCount (number)
All events from chaturbate-events are proxies through this module.
User Objects from tip, room_leave, room_join, and room_message events are enhanced with an isHost attribute.
See chaturbate-events for more details.
npm test