-
Introducing Robot - The Next Step in System Automation
Native Cross-Platform System Automation
ABOUT
Robot is a simple cross-platform library designed to facilitate the development of system automation software. The library works by abstracting away all platform-specific differences into a single, robust API compatible with most desktop operating systems. The API is available in both
C++ and
Node flavors and supports Windows, Mac and some distributions of Linux. Robot is production-proven with no additional dependencies, it is powerful enough to be the primary tool for many professionals yet simple enough for learning and experimentation.
FEATURES
- General
- Support for 32 and 64-bit systems
- Vast and feature-rich helper library
- Access to native monotonic clocks
- Clipboard manipulation capabilities
- Input
- Keyboard and mouse event synthesis
- Async key and mouse state retrieval
- Process
- Enumerate and query system windows
- Enumerate and query system processes
- Enumerate and query process modules
- Enumerate and query module segments
- Manipulate processes and windows
- Access to low-level system handles
- Memory
- Enumerate and query memory regions
- Set memory region access attributes
- Manipulate the memory of a process
- Advanced memory caching algorithms
- General purpose signature scanning
- Screen
- Enumerate and query system screens
- Screen and window image capturing
- Windows Aero manipulation capabilities
USAGE
QUICK START
Here's a quick 30-second demo of Robot for
Node.js. Some things of note, yes this is JavaScript and yes it's fast. You can do all sorts of neat things with it and you have the full backing of the entire JavaScript community! If you need a UI, there's always the browser, among other things :-D
Code:
npm install robot-js
Code:
var robot = require ("robot-js");
var keyboard = robot.Keyboard();
// Type on keyboard: "Hello ROBOT!"
keyboard.click ("+hello +(ROBOT1)");
// Set mouse cursor position
robot.Mouse.setPos (10, 20);
// Print all processes running on system
var processes = robot.Process.getList();
for (var i = 0; i < processes.length; ++i)
console.log (processes[i].getName());
-
Post Thanks / Like - 5 Thanks
-
FAQ
So Robot supports Java?
No, JavaScript has nothing to do with Java. Robot only supports C++ and Node.js (JavaScript).
Is Robot ready for production?
Yes, Robot has been extensively tested and used in large projects in the past. It is ready.
Can I use Robot commercially?
Yes, Robot is licensed under the
ZLib license, effectively making it free to use anywhere.
Can you please add X feature?
Does Robot have documentation?
More to come soon
-
Post Thanks / Like - 2 Thanks
Miksu,
szKaXo (2 members gave Thanks to Torpedoes for this useful post)
-
Contributor
Just wanted to comment at how awesome this is. If I wasn't so lazy to maintain reversing WoW and was still playing, I would totally use this
~Unknown~
Follow me on Twitter: https://twitter.com/TheUnknownDev
-
Member
Hey, I guess there is no tsd for use with typescript, right?
-
Originally Posted by
moritzmdm
Hey, I guess there is no tsd for use with typescript, right?
No, sorry. But then again, I didn't realize people were using typescript to write Node.js applications. Maybe that's something I can look into for the future.
-
Contributor
This looks freaking awesome as i love node, didn't really looked into it yet, but can i inject asm with this ?
Awesome work man !
"If it compiles, it works."
-
Originally Posted by
Vandra
Can i inject asm with this?
Not yet. There are a few features that are missing, but I intend to implement them all. I just need to take a break from this project to focus on Yeti-Bots.
That being said, you can write some really cool apps with this, I myself wrote a fully automated rotation bot using pure javascript and it's working great!
-
Contributor
Nice, reading auras from memory?
Last edited by Vandra; 09-27-2016 at 01:35 PM.
"If it compiles, it works."
-
Originally Posted by
Vandra
Nice, reading auras from memory ?
Yep. Along with CD's and other useful information. Though you can probably write the rotation in Lua and just press the buttons with node via pixel reading or smth.