代码之家  ›  专栏  ›  技术社区  ›  Layne Mayo

制作一个javascript聊天机器人将聊天命令转换为另一个程序中的按键

  •  1
  • Layne Mayo  · 技术社区  · 9 年前

    我正在尝试学习另一个聊天机器人程序。好的,现在我有了一个javascript聊天机器人,它可以连接到一个websocket聊天室并正常工作。我用它来响应命令

    前任

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

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

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

    1 回复  |  直到 9 年前
        1
  •  1
  •   Community Mohan Dere    9 年前

    假设你想 up key <p id="someid"></p> 程序的标记。

    代码为:

    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