Skip to content
This repository has been archived by the owner on Jan 17, 2021. It is now read-only.
/ SweetieBot Public archive

基于SmartQQ的Java QQ机器人,支持自写js脚本。qqbot|qqrobot|webqq|javascript|自写|js|脚本|插件|script|plugin

Notifications You must be signed in to change notification settings

juzeon/SweetieBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SweetieBot

基于SmartQQ协议,使用Java开发的QQ机器人。

使用方法

入口main方法位于sb/Gate

已编译文件为target/eventprocessor.jar,运行方法:

java -jar eventprocessor.jar

然后扫描生成的qrcode.png即可登录。

配置文件

groups.txt为启用机器人的群名称,一行一个关键字。如淀粉将会匹配群名称中包含淀粉二字的所有群。

script文件夹存放JavaScript脚本。

内置命令

命令应以sb#开头

sb#close 关闭机器人 (仅私聊)

sb#short <网址> 使用url.cn将给出的网址缩短。

sb#baidu <搜索词> 使用lmbtfy.cn生成页面并使用url.cn缩短。

sb#emotion <语段> 使用腾讯语义识别API分析语段的积极度与消极度。

sb#say <文本> 命令机器人发送给出的文本内容。

sb#load script 重载所有脚本。

sb#load group 重载groups.txt

脚本编写

脚本应命名为<文件名>.js放置于script文件夹下。

脚本必须包含一个且只有一个onMessage(obj)函数,obj是程序传入脚本的对象。

如果你发现调用示例脚本时QQ输出乱码,多半是编码问题导致的(因为写代码是在macOS上)。Windows用户请用Notepad++将脚本编码改为ASCII

obj对象

(int)obj.type 当前消息类别。1=私聊;2=群聊;3=讨论组。

(long)obj.userId 当前发消息用户的ID

(long)obj.groupId 当前发消息群的ID,无则为null

(long)obj.discussId 当前发消息讨论组的ID,无则为null

(String)obj.content 当前消息内容

(String)obj.command 当前命令内容。命令即以sb#开头的文本,如消息内容为sb#testobj.commandtest。无则为null

(String)obj.commandKey 当前命令头,无则为null

(String)obj.commandArgument 当前命令参数,无则为null。如消息内容为sb#say helloobj.commandKeysayobj.commandArgumenthello

(function)obj.send(String content) 通过此函数发送内容到接收消息的私聊/群/讨论组。

示例脚本

script文件夹下有一些示例脚本。

example.js 输入命令sb#testscript会发送I'm working

ha.js 膜蛤检测,检测到即发送-1s

bracket.js 自动闭合别人未闭合的括号,如遇到蛤蛤(逃会回复

About

基于SmartQQ的Java QQ机器人,支持自写js脚本。qqbot|qqrobot|webqq|javascript|自写|js|脚本|插件|script|plugin

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published