发明内容
本申请实施例提供一种信息处理方法、***及存储介质,以达到提高聊天机器人的指令配置灵活度、降低其复杂度和实现难度的目的。
第一方面,本申请实施例提供一种信息处理方法,该方法包括:
当接收到指令配置信息,所述指令配置信息包括指令参数和至少一个聊天机器人的标识信息,将所述指令配置信息按照预定的数据结构保存为指令;
当调用所述指令,查找所述指令对应的指令执行模块,运行所述指令执行模块对所述指令参数进行处理,得到指令执行结果,每个指令执行模块对应至少一个指令;
通过所述指令包括的聊天机器人的标识信息查找并调用所述聊天机器人。
本申请实施例提供的方法中,指令并不是在指令执行模块的代码编写过程中写入代码固化的,而是通过配置信息配置的。意味着指令灵活可变,当需要添加新的指令,可以不单独为其开发指令执行模块,而是复用现有指令执行模块,仅配置所需要的指令配置信息即可,便于对多个相同或相近似功能的指令集中管理。另外,采用本申请实施例提供的方法,每个指令可以对应多个机器人,在不同的场景中复用。可见,本申请实施例提供的方法提高了基于即时通讯工具的聊天机器人的指令配置的灵活性,降低了指令配置的难度和复杂度。
可选的,所述指令配置信息指示了指令类型,所述查找所述指令对应的指令执行模块,包括:
查找所述指令类型对应的指令执行模块。
本申请实施例提供的方法可以将不同的指令划分指令类型,相同指令类型的指令对应相同的指令执行模块,实现指令的复用和集中管理。
可选的,所述指令类型包括以下至少一种:用于文本提醒的文本指令、用于实现基于响应超文本传输协议(HTTP)的请求和反馈的超文本传输协议指令、用于实现定制功能的指令。其中,定制功能通过入口函数名区分。
可选的,所述指令参数包括目标入口函数的入口函数名和入口函数参数,所述入口函数名指示了指令类型,所述目标入口函数为指令对应的指令执行模块的入口函数。
可选的,所述指令配置信息包括指令对应的指令执行模块的入口函数的代码,所述方法还包括:
根据所述入口函数的代码生成并保存所述指令执行模块。
可选的,所述方法还包括:
当接收到聊天机器人配置信息,将所述聊天机器人配置信息指示的聊天机器人添加到聊天机器人集合中,所述指令配置信息中包括的聊天机器人的标识信息为所述机器人集合中的聊天机器人的标识信息。
可选的,所述方法还包括:
当接收到分组配置信息,将所述分组配置信息指示的目标用户添加到指定用户分组;
所述指令配置信息中还包括所述指定用户分组的标识信息,当根据用户指示调用所述指令,判断所述用户是否属于所述标识信息对应的用户分组,仅在所述用户属于所述标识信息对应的用户分组的情况下运行所述指令执行模块。
可选的,上述方法还包括:
在与所述聊天机器人对应的即时通讯工具的会话链路已断开的情况下,通过指定的回调接口,在所述聊天机器人对应的即时通讯工具中反馈所述指令执行结果。
第二方面,本申请实施例提供一种信息处理***,该***包括:
指令配置模块,用于当接收到指令配置信息,所述指令配置信息包括指令参数和至少一个聊天机器人的标识信息,将所述指令配置信息按照预定的数据结构保存为指令;
指令处理模块,用于当调用所述指令,查找所述指令对应的指令执行模块,运行所述指令执行模块对所述指令参数进行处理,得到指令执行结果,每个指令执行模块对应至少一个指令;
执行结果反馈模块,用于通过所述指令包括的聊天机器人的标识信息查找并调用所述聊天机器人。
本申请实施例提供的***中,指令并不是在指令执行模块的代码编写过程中写入代码固化的,而是通过配置信息配置的。意味着指令灵活可变,当需要添加新的指令,可以不单独为其开发指令执行模块,而是复用现有指令执行模块,仅配置所需要的指令配置信息即可,便于对多个相同或相近似功能的指令集中管理。另外,采用本申请实施例提供的***,每个指令可以对应多个机器人,在不同的场景中复用。可见,本申请实施例提供的***提高了基于即时通讯工具的聊天机器人的指令配置的灵活性,降低了指令配置的难度和复杂度。
可选的,所述指令配置信息指示了指令类型,所述指令处理模块查找所述指令对应的指令执行模块,包括:
查找所述指令类型对应的指令执行模块。
可选的,所述指令类型包括以下至少一种:用于文本提醒的文本指令、用于实现基于响应超文本传输协议的请求和反馈的超文本传输协议指令、用于实现定制功能的指令。其中,定制功能通过入口函数名区分。
可选的,所述指令参数中包括目标函数的入口函数名和入口函数参数,所述入口函数名指示了指令类型,所述目标入口函数为指令对应的指令执行模块的入口函数。
可选的,所述指令配置信息包括指令对应的指令执行模块的入口函数的代码,所述指令配置模块还用于:
根据所述入口函数的代码生成并保存所述指令执行模块。
可选的,所述***还包括机器人信息配置模块,用于:
当接收到聊天机器人配置信息,将所述聊天机器人配置信息指示的聊天机器人添加到聊天机器人集合中,所述指令配置信息中包括的聊天机器人的标识信息为所述机器人集合中的聊天机器人的标识信息。
可选的,所述***还包括分组信息配置模块,用于:
当接收到分组配置信息,将所述分组配置信息指示的目标用户添加到指定用户分组;
所述指令配置信息中还包括所述指定用户分组的标识信息,当根据用户指示调用所述指令,判断所述用户是否属于所述标识信息对应的用户分组,仅在所述用户属于所述标识信息对应的用户分组的情况下运行所述指令执行模块。
可选的,所述执行结果反馈模块还用于:
在与所述聊天机器人对应的即时通讯工具的会话链路已断开的情况下,通过指定的回调接口,在所述聊天机器人对应的即时通讯工具中反馈所述指令执行结果。
第三方面,本申请实施例提供一种电子***,包括处理器和存储器;
存储器用于存储执行第一方面各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。
本申请实施例提供的***中,指令并不是在指令执行模块的代码编写过程中写入代码固化的,而是通过配置信息配置的。意味着指令灵活可变,当需要添加新的指令,可以不单独为其开发指令执行模块,而是复用现有指令执行模块,仅配置所需要的指令配置信息即可,便于对多个相同或相近似功能的指令集中管理。另外,采用本申请实施例提供的***,每个指令可以对应多个机器人,在不同的场景中复用。可见,本申请实施例提供的***提高了基于即时通讯工具的聊天机器人的指令配置的灵活性,降低了指令配置的难度和复杂度。
第四方面,本申请实施例提供一种计算机可读存储介质,存储有执行第一方面各个实施例所述方法的程序。
本申请实施例提供的计算机可读存储介质中所保存的程序中,指令并不是在指令执行模块的代码编写过程中写入代码固化的,而是通过配置信息配置的。意味着指令灵活可变,当需要添加新的指令,可以不单独为其开发指令执行模块,而是复用现有指令执行模块,仅配置所需要的指令配置信息即可,便于对多个相同或相近似功能的指令集中管理。另外,采用上述程序中的方法,每个指令可以对应多个机器人,在不同的场景中复用。可见,采用上述程序中的方法提高了基于即时通讯工具的聊天机器人的指令配置的灵活性,降低了指令配置的难度和复杂度。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本申请实施例的技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请实施例技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本申请实施例提供一种信息处理方法,以通过基于即时通讯工具的聊天机器人实现注入项目开发进度查询、翻译、漏洞检测、定时提醒、目标资源获取等相关功能。
以项目开发场景为例,项目开发过程中,项目组各成员会使用共同的即时通讯工具进行工作交流配合。基于即时通讯工具,创建聊天机器人,针对所需要的功能预置有对应的指令执行模块,通过指令配置来创建指令,通过指令进行工作交互。比如定制一个基于某即时通讯的聊天机器人,成员可以通过与聊天机器人私聊或者在有聊天机器人的聊天群组里触发进度指令查询当前项目版本的进度。
如图1所示,本申请实施例提供的信息处理方法包括如下操作:
步骤101、当接收到指令配置信息,所述指令配置信息包括指令参数和至少一个聊天机器人的标识信息,将所述指令配置信息按照预定的数据结构保存为指令。
本申请实施例提供的方法支持将同一个指令配置给多个聊天机器人。
本申请实施例不对指令的数据结构进行限定。
步骤102、当调用所述指令,查找所述指令对应的指令执行模块,运行所述指令执行模块对所述指令参数进行处理,得到指令执行结果,每个指令执行模块对应至少一个指令。
本申请实施例提供的方法,每个指令执行模块实现不同的功能,相同或相近似功能对应的指令可以复用同一个指令执行模块。
本申请实施例包括触发式指令和定时任务指令。其中,用户在即时通讯工具中通过与聊天机器人的对话窗口或者聊天机器人所在聊天群组的对话窗口中发送包含指令信息的聊天消息调用触发式指令。其中,在预定的触发时机(例如预定的时间点)调用定时任务指令,在即时通讯工具中通过聊天机器人在对话窗口中反馈消息执行结果。
步骤103、通过所述指令包括的聊天机器人的标识信息查找并调用所述聊天机器人。
相应的,在查找到的聊天机器人对应的即时通讯工具中反馈上述指令执行结果。
图1所示的方法可以在服务器上实现。
本申请实施例提供的方法中,指令并不是在指令执行模块的代码编写过程中写入代码固化的,而是通过配置信息配置的。意味着指令灵活可变,当需要添加新的指令,可以不单独为其开发指令执行模块,而是复用现有指令执行模块,仅配置所需要的指令配置信息即可,便于对多个相同或相近似功能的指令集中管理。另外,采用本申请实施例提供的方法,每个指令可以对应多个机器人,在不同的场景中复用。可见,本申请实施例提供的方法提高了基于即时通讯工具的聊天机器人的指令配置的灵活性,降低了指令配置的难度和复杂度。
现有的实现方案中,每个聊天机器人指令没有很好的进行权限隔离,所有用户都可以使用对应指令。为了提高***安全性,本申请实施例对指令进行了权限隔离,具体可以通过以下至少一种途径实现权限隔离:配置指令对应的聊天机器人、配置指令对应的用户分组(该用户分组可以是即时通讯工具中的聊天群组、项目开发的项目分组等)、配置有权限调用指令的用户名单。
其中,配置指令对应的聊天机器人的实现方式如下:当接收到聊天机器人配置信息,将所述聊天机器人配置信息指示的聊天机器人添加到聊天机器人集合中,所述指令配置信息中包括的聊天机器人为所述机器人集合中的聊天机器人。作为举例而非限定,聊天机器人配置信息包括机器人名称、所述即时通讯工具的标识信息(如ID)等。
聊天机器人用来接收指令以及返回指令执行结果,同一个项目可以共用一个机器人,也有些机器人可能会在多个项目复用。本申请实施例可以提供统一的机器人管理界面,通过该机器人管理界面可以实现聊天机器人的配置、管理、查看。应当指出的是,通过机器人管理界面配置机器人的前提是该聊天机器人已经被创建。
通过配置将聊天机器人添加到聊天机器人集合中,且仅允许选择聊天机器人集合中的聊天机器人参与指令处理,从而可以确保信息处理的安全性和可靠性。
相应的,在指令配置阶段,需要配置一个或多个聊天机器人进行指令执行结果的反馈,对于触发式指令,还需要配置的聊天机器人接收包含指令信息的聊天消息以实现指令调用,那么,在指令配置阶段,从已经添加到聊天机器人集合中的聊天机器人中选择聊天机器人。
实际应用中,对于触发式指令,指令返回结果返回到发出上述聊天消息的对话窗口,例如,若通过聊天机器人所在聊天群组的对话窗口发送上述聊天消息,则指令执行结果返回到该聊天群组的对话窗口,若通过与聊天机器人的私聊对话窗口发送上述聊天消息,则指令执行结果返回到该私聊对话窗口。对于定时任务指令,在指令配置阶段,需要给指令配置一个或多个聊天群组,以便向配置的聊天群组返回指令执行结果,具体的,为指令配置的聊天群组是为指令配置的聊天机器人所在的聊天群组。
其中,配置有权限调用指令的用户名单可以在指令配置阶段实现。
每个指令虽然配置了对应的聊天机器人,但是不应该所有能看到聊天机器人的群成员都可以执行该指令。比如重启服务器指令,应该只要几个和服务器开发相关的群成员有权限执行,这样就需要给指令配置一个权限白名单(即有权限调用指令的用户名单)。
其中,配置指令对应的用户分组的实现方式如下:当接收到分组配置信息,将所述分组配置信息指示的目标用户添加到指定用户分组;所述指令配置信息中还包括所述指定用户分组的标识信息,当根据用户指示调用所述指令,判断所述用户是否属于所述标识信息对应的用户分组,仅在所述用户属于所述标识信息对应的用户分组的情况下运行所述指令执行模块。
其中,指令中还包括指定用户分组的标识信息。
只依靠权限白名单,并不能很好的管理指令权限。比如某个指令,应该是某个项目组的所有成员都有对应权限,如果通过权限白名单逐一添加非常麻烦,所以应该建立指令权限分组(即用户分组),每个分组里有对应分组成员。
对于每个分组,可以添加组员,这样每个指令都可选择已有的分组。
进一步的,一个指令可能配置了两个甚至更多的用户分组,当用户通过聊天消息调用了该指令,可以查找该用户所在用户分组,进而查找该用户分组对应的指令,从而可以准确的执行到该用户对应指令了。另外,
当一个用户属于多个用户分组,如果某个指令配置了多个用户分组,就需要弹出交互界面,进行交互选择。例如:项目J1、项目J2都有一个查找漏洞指令,用户A同时有项目J1和J2的调用查找漏洞指令的权限,用户A在聊天群组里调用该指令,则会弹出交互界面提示用户在项目J1和项目J2中做出选择,从而选择对应的指令进行执行,避免错误执行指令。
本申请实施例提供的方法可以为不同的指令划分指令类型,相同指令类型的指令对应相同的指令执行模块,实现指令的复用和集中管理。相应的,上述指令配置信息指示了指令类型,所述查找所述指令对应的指令执行模块,包括:查找所述指令类型对应的指令执行模块,相同指令执行模块对应的指令的指令类型相同。
作为举例而非限定,指令可以划分为如下类型:文本指令、HTTP指令、实现某个定制功能的指令(其中,不同的定制功能通过定制功能对应的入口函数名区分)。每类指令对应有指令执行模块来实现相应的功能。
本申请实施例提供的方法可以通过前端配置界面实现对指令的配置,实际应用中,各类指令可以使用相同的配置模板,各类指令也可以使用不同的配置模板。
文本指令用于在对话窗口中进行文本提醒,文本指令既可以是触发式指令,也可以是定时任务指令。文本指令对应的指令执行模块可以实现文本提醒功能。当用户需要创建文本指令,调用如图2所示的文本指令配置模板,用户通过文本指令配置模板输入如下指令配置信息:指令名、文本内容、是否为定时任务、定时执行时间、选择的聊天机器人、用户白名单、通知对象、对应的用户分组。
其中,指令参数至少包括文本内容。
其中,文本内容为需要在对话窗口中展示的内容。
其中,若不是定时任务指令,则不需要输入定时执行时间。
其中,选择的机器人即为上述指令配置信息中包括的聊天机器人。
其中,通知对象可以是聊天群组,也可以具体到某个用户。
文本指令只进行固定的文本提醒,一般用于定时提醒。配置的文本指令可以通过@机器人或者定时任务将用户填写的文本内容发送到特定群里并且@所有人。文本指令虽然比较简单,但实际中使用会非常频繁,如定时提醒大家去认领需求、去跟进bug,相当于一个和即时通讯工具结合的群成员日历提醒。
HTTP指令用于向用户填写的URL发送GET或者POST请求并反馈请求结果,HTTP指令既可以是触发式指令,也可以是定时任务指令。HTTP指令对应的指令执行模块可以实现基于HTTP的请求及反馈。当用户需要创建HTTP指令,调用如图3所示的HTTP指令配置模板,用户通过HTTP指令配置模板输入如下指令配置信息:指令名、指令描述、请求URL、请求方法(GET或POST)、请求头、请求体参数、用户白名单、是否定时任务、定时执行时间、选择的聊天机器人、通知对象、对应的用户分组。
与文本指令不同的是,HTTP指令可以配置请求的URL、请求方法(get/post),如果是post请求,还可以配置请求头和参数,这样支持所有HTTP请求的配置,当然也是支持定时任务的。
其中,指令参数至少包括:指令描述、请求URL、请求方法、请求头、请求体参数。
实现某个定制功能的指令可以是预先创建了指令执行模块的指令,也可以是还未创建指令执行模块的指令。本申请实施例中,将前者称之为内置指令,将后者称之为外置指令。
文本指令和HTTP指令只能适应一些非常通用的情景,更多的情况是需要实现特定的指令逻辑,定制指令执行模块。当用户需要创建一个实现某个定制功能的指令,则调用如图4所示的指令配置模板,用户通过HTTP指令配置模板输入如下指令配置信息:指令名、入口函数名称、指令描述、用户白名单、是否定时任务、定时执行时间、入口函数参数、选择的聊天机器人、通知对象、对应的用户分组。
其中,指令参数至少包括:入口函数名称、指令描述、入口函数参数。
每个内置指令均对应一个入口函数,该入口函数作为指令执行模块的一部分。所述入口函数名指示了指令类型,相同入口函数名意味着指令执行模块相同,实现相同或相近似的功能。对应同一个入口函数的不同内置指令,可以通过配置不同的入口函数参数进行区分,不需要为每个指令单独编写指令执行模块,能够在一定程度上合并和复用相同或相似功能的指令。以漏洞(bug)检测指令为例,不同项目的漏洞检测指令功能相似,但对应的项目不同,因此可以通过入口函数参数区分不同项目的漏洞检测指令。
内置指令对应的指令执行模块的入口函数是在服务器后台直接实现的,虽然可以将已有的功能尽可能地通过函数参数的方式进行抽象和复用,但总有一些功能需要全新定制,无论在服务器后台实现对应的具体指令函数,还是搭建新的指令后台来实现对应功能,都非常不方便。本申请实施例提供的方法在前端实现对应函数功能,保存后就可以直接使用。外置指令基础流程和其他类型指令相同,只不过在前端提供指令编辑和指令调试功能。前端编辑好的指令基础信息以及对应的入口函数的详细代码都会存储到后台数据库。也就是说,上述指令配置信息还包括指令的入口函数的代码,根据所述入口函数的代码生成并保存所述指令执行模块。
当接收到机器人的消息请求后,消息解析模块会通知指令存取模块去从数据库中取出所有指令进行指令匹配,如果匹配到对应指令,指令存取***会去数据库取出对应指令代码字符串并传递给指令处理***,指令处理***会在后台解析指令代码字符串,执行对应指令功能,并将结果返回。在程序运行过程中,解析相同或者不同语言的代码字符串,进行执行并接收结果,是外置指令处理的关键。目前,有丰富的语言库可以辅助实现这一过程。比如:python可以通过exec方法来执行python语法的字符串,还可以引入PyV8库来执行JavaScript语法的代码字符传,也有其他库可以解析和执行更多语言代码字符串。
可选的,所述在所述聊天机器人对应的即时通讯工具中反馈所述指令执行结果,包括:
在与所述聊天机器人对应的即时通讯工具的会话链路已断开的情况下,通过指定的回调接口,在所述聊天机器人对应的即时通讯工具中反馈所述指令执行结果。
一种实现方式中可以为各个指令进行标记,以区分其对应的指令执行结果是否为即时反馈结果,在需要反馈指令执行结果时,根据相应的标记判断指令执行结果是否为即时反馈结果,对于非即时反馈结果,意味着与所述聊天机器人对应的即时通讯工具的会话链路已断开;另一种实现方式中,在需要反馈指令执行结果时,查看与所述聊天机器人对应的即时通讯工具的会话链路是否已断开。
除了在前端配置指令功能之外,机器人还可以提供回调接口,处理异步消息调用。提供的调用机器人发送信息的REST API如下:
当一个指令是异步执行的时候,执行结束时可以通过调用该http接口来返回消息到指定群。
下面结合具体应用场景对本申请实施例提供的方法进行说明。在本应用场景中采用B/S架构,即网页浏览器/网页服务器结构。如图5所示,通过网页浏览器展示前端配置界面,从而实现聊天机器人配置、指令配置、用户分组配置等前端配置,前端配置的指令会通过服务器的指令存取模块存储到数据库。对于触发式指令,当聊天机器人发出一个指令消息后,会通过服务器的消息解析模块解析出指令名、参数等信息,然后发送到服务器的指令存取模块进行指令匹配,匹配的结果会发送到服务器的指令处理模块进行执行,将指令执行结果通过对应机器人进行返回。对于定时任务指令,当到达指定时间,指令存取模块会进行指令匹配,将匹配的结果发送到指令处理模块进行执行,将指令执行结果通过对应机器人进行返回。
用户通过@指定机器人+消息来进行交互,这样可以解决一个群里有多个机器人,并且不同机器人有相同指令导致错乱的情况。
本申请实施例将两种指令的配置方式进行合并,通过同一个指令配置模板既可以实现触发式指令的配置,也可以实现定时任务指令的配置。
本申请实施例提供的方法,所有机器人及指令共用一个后台,新指令可以通过直接在前端配置文本、HTTP请求、复用内置指令或者在前端自定义函数实现外置指令,来实现相应指令的功能。将机器人、指令和权限分组完全分割开来,可以实现指令的最大程度复用,并可以自由配置新的机器人。每条指令的执行权限通过白名单和分组联合控制,确保指令执行的安全性。指令定时任务只用直接在前端配置,支持各种格式的时间配置方式,改动方便。提供异步回调的接口,可以方便地处理异步消息返回。
基于与方法同样的发明构思,本申请实施例提供一种信息处理***,如图6所示,该***包括:
指令配置模块601,用于当接收到指令配置信息,所述指令配置信息包括指令参数和至少一个聊天机器人的标识信息,将所述指令配置信息按照预定的数据结构保存为指令;
指令处理模块602,用于当调用所述指令,查找所述指令对应的指令执行模块,运行所述指令执行模块对所述指令参数进行处理,得到指令执行结果,每个指令执行模块对应至少一个指令;
执行结果反馈模块603,用于通过所述指令包括的聊天机器人的标识信息查找并调用所述聊天机器人。
本申请实施例提供的***中,指令并不是在指令执行模块的代码编写过程中写入代码固化的,而是通过配置信息配置的。意味着指令灵活可变,当需要添加新的指令,可以不单独为其开发指令执行模块,而是复用现有指令执行模块,仅配置所需要的指令配置信息即可,便于对多个相同或相近似功能的指令集中管理。另外,采用本申请实施例提供的***,每个指令可以对应多个机器人,在不同的场景中复用。可见,本申请实施例提供的***提高了基于即时通讯工具的聊天机器人的指令配置的灵活性,降低了指令配置的难度和复杂度。
可选的,所述指令配置信息指示了指令类型,所述指令处理模块查找所述指令对应的指令执行模块,包括:
查找所述指令类型对应的指令执行模块。
可选的,所述指令类型包括以下至少一种:用于文本提醒的文本指令、用于实现基于响应超文本传输协议的请求和反馈的超文本传输协议指令、用于实现定制功能的指令。其中,定制功能通过入口函数名进行区分。
可选的,所述指令参数中包括目标入口函数的入口函数名和入口函数参数,所述入口函数名指示了指令类型,目标入口函数为指令对应的指令执行模块的入口函数。
可选的,所述指令配置信息包括指令对应的指令执行模块的入口函数的代码,所述指令配置模块还用于:
根据所述入口函数的代码生成并保存所述指令执行模块。
可选的,所述***还包括机器人信息配置模块,用于:
当接收到聊天机器人配置信息,将所述聊天机器人配置信息指示的聊天机器人添加到聊天机器人集合中,所述指令配置信息中包括的聊天机器人的标识信息为所述机器人集合中的聊天机器人的标识信息。
可选的,所述***还包括分组信息配置模块,用于:
当接收到分组配置信息,将所述分组配置信息指示的目标用户添加到指定用户分组;
所述指令配置信息中还包括所述指定用户分组的标识信息,当根据用户指示调用所述指令,判断所述用户是否属于所述标识信息对应的用户分组,仅在所述用户属于所述标识信息对应的用户分组的情况下运行所述指令执行模块。
可选的,所述执行结果反馈模块还用于:
在与所述聊天机器人对应的即时通讯工具的会话链路已断开的情况下,通过指定的回调接口,在所述聊天机器人对应的即时通讯工具中反馈所述指令执行结果。
上述模块可以被实现为在一个或多个通用处理器上执行的软件组件,也可以被实现为诸如执行某些功能或其组合的硬件,诸如可编程逻辑设备和/或专用集成电路。在一些实施例中,这些模块可以体现为软件产品的形式,该软件产品可以存储在非易失性存储介质中,这些非易失性存储介质中包括使得计算机设备(例如个人计算机、服务器、网络设备、移动终端等)实现本发明实施例中描述的方法。在一个实施例中,上述模块还可以在单个设备上实现,也可以分布在多个设备上。这些模块的功能可以相互合并,也可以进一步拆分为多个子模块。
上述各实施例中的***可以包括服务器等网络设备。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
基于与方法同样的发明构思,本申请实施例提供一种电子***,包括处理器和存储器;
存储器用于存储执行上述各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。当存储器中存储的程序指令被处理器运行时,所述处理器执行上述各个方法实施例所述方法,并且还用于实现根据本发明实施例的终端设备中的相应模块。处理器可以是包括中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制电子设备中的其它组件以执行期望的功能。存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的实施例的功能以及/或者其它期望的功能。
本申请实施例提供的***中,指令并不是在指令执行模块的代码编写过程中写入代码固化的,而是通过配置信息配置的。意味着指令灵活可变,当需要添加新的指令,可以不单独为其开发指令执行模块,而是复用现有指令执行模块,仅配置所需要的指令配置信息即可,便于对多个相同或相近似功能的指令集中管理。另外,采用本申请实施例提供的***,每个指令可以对应多个机器人,在不同的场景中复用。可见,本申请实施例提供的***提高了基于即时通讯工具的聊天机器人的指令配置的灵活性,降低了指令配置的难度和复杂度。
基于与方法同样的发明构思,本申请实施例提供一种计算机可读存储介质,存储有执行第一方面各个实施例所述方法的程序。
本申请实施例提供的计算机可读存储介质中所保存的程序中,指令并不是在指令执行模块的代码编写过程中写入代码固化的,而是通过配置信息配置的。意味着指令灵活可变,当需要添加新的指令,可以不单独为其开发指令执行模块,而是复用现有指令执行模块,仅配置所需要的指令配置信息即可,便于对多个相同或相近似功能的指令集中管理。另外,采用上述程序中的方法,每个指令可以对应多个机器人,在不同的场景中复用。可见,采用上述程序中的方法提高了基于即时通讯工具的聊天机器人的指令配置的灵活性,降低了指令配置的难度和复杂度。
本说明书是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。