如何通过nodejs发送按键

时间:2018-06-16 10:07:17

标签: javascript node.js keypress twitch

我正在编码一个抽搐的机器人,我想要它,所以当用户输入一个命令(类似于!space [time])时,它会随机按空格表示他们给出的时间。我知道如何接收命令,但我不知道如何发送键输入。提前致谢

编辑:当我说发送按键时,我的意思是从我的端口上的nodejs控制台而不是在抽搐

编辑2:我想要这样,所以当我正在玩游戏时,我的流上的观众可以花点数来吸引我

3 个答案:

答案 0 :(得分:1)

我知道此线程很旧,但是您可以使用Nut.js

最小示例:

const { keyboard } = require('@nut-tree/nut-js');
keyboard.config.autoDelayMs = 0;

   keyboard.type("Hello World!");

我个人认为RobotJS使用过多的依赖项。 Nut.js更加易于使用和设置。

答案 1 :(得分:0)

我认为RobotJS可能会对您有所帮助,它允许您以编程方式自动执行各种桌面操作。

以下是一个例子:

// Require RobotJS
var robot = require('robotjs')
// Tap space key
robot.keyTap("space")

答案 2 :(得分:0)

这里有一个代码,根据您的要求可能会帮助您

var d = new Date();
var random = Math.floor(Math.random() * 1500) + 500; //rendom time for execution
var n = d.getTime()
var milliseconds = 0;
var close_time ;
var input = "!space [5000]";  //time in millisecond
milliseconds =  parseInt(input.slice(input.indexOf("[")+1,input.lastIndexOf("]")));
//process.stdout.write(milliseconds);
close_time = n +milliseconds;
if(!isNaN(milliseconds)){

var time_int = setInterval(function(){
  var d = new Date();
process.stdout.write(" ");
if(d.getTime()>close_time){
  clearInterval(time_int);
}

}, random);

}

请使用snippest中的节点js编译上面的代码,因为我使用了process.stdout.write(“”);在浏览器引擎中没有定义,请告诉我这篇文章是否会对你有所帮助