【问题标题】:Making a javascript chat bot turn chat commands into key presses in another program制作一个 javascript 聊天机器人将聊天命令转换为另一个程序中的按键
【发布时间】:2016-12-27 21:40:04
【问题描述】:

我正在尝试学习另一个聊天机器人进程。好的,所以我现在有一个 javascript 聊天机器人,可以连接到 websocket 聊天室并正常运行。我已经让它响应命令了

if (text === "!ping" && (user === "user" || isStaff || isOwner || isSub)) {
    channel.sendMessage("pong");
}

我现在要做的是接受诸如“!up”之类的命令,并将其转换为机器人,在另一个程序内部按下键盘上的“向上”箭头。

我不知道如何开始。每次我尝试用谷歌搜索时,我得到的只是当有人在文本框中输入一个键时如何读取键盘事件。我是 javascript 新手,所以我不知道我正在尝试做的事情有一个确切的名称。如果有人至少可以为我指出正确的方向,我需要查找什么才能学会这样做,我将非常感激:)

【问题讨论】:

  • I have gotten it to respond to commands (ex. !ping = pong).你能分享这个代码,这样这里的人就可以只修改那个代码。
  • 添加了回复聊天命令的代码。

标签: javascript chat bots chatbot


【解决方案1】:

你可以使用jQuery来模拟这些事件

假设您想在程序的<p id="someid"></p> 标签内按up key

代码是:

37  left
38  up
39  right
40  down

您可以通过简单的谷歌搜索找到其他键的代码

现在如果你想按“向上”箭头,那么:

if (text === "!up" && (user === "user" || isStaff || isOwner || isSub)) {
    //this function will trigger keyup event
    $(function() {
        var e = $.Event('keypress');
        e.which = 38; // 38 is code for up arrow. 
        $('#someid').trigger(e);
        //you can provide id or class of element where you want this event
        //to be triggered
    });
}

另见:

  1. Trigger Keypress with jQuery
  2. Definitive way to trigger keypress events with jQuery
  3. fiddle - press 'M' key on click of a button

【讨论】:

  • 哦,好的,谢谢!老实说,我什至没有想过 jQuery。可能应该先看看那里。
  • @Layne 不用担心。我认为它肯定会满足您的要求。
  • 实际上,我刚刚意识到昨晚我应该问的问题。好的,这个聊天机器人正在我的电脑上运行,而不是在网站上。我想接受这些命令,然后在单独的 .exe 程序窗口中完成按键操作。这会和那个一起工作吗?我只是想知道,因为 id 和 class 对我来说只意味着 css 和 html,除非程序窗口也有这些,我只是无知哈哈。
  • @Layne Mayo 为什么不在AutoHotKey 中编写程序。它将完全满足您的要求。我以前使用过它,它非常适合将密钥发送到任何 exe 或任何其他类似进程。它基本上只是为此目的而创建的。只要看一些例子,你就会知道我在说什么。
  • 好的,谢谢,我回家一定会看看的。
猜你喜欢
  • 2018-09-18
  • 2017-06-10
  • 2017-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多