针对编写插件的接口规则：

针对易语言编写dll接口，可以去http://www.qqshow123.com/game/cftest.e下载示例代码。默认的示例选择静态编译后，只是简单的在传入的文字中加上了一个“什么东西”，你可以把传入的那些字符串拆开，按照自己的逻辑返回不同的内容。
易语言的接口返回类型和参数与C++的不同，易语言的接口返回值是文本型。默认传入和返回的都是ascii码，所以不支持诸如۩۞۩之类的复杂的unicode字体。如果你需要识别和返回那种复杂的字体，可以把函数名改成包含utf8字眼的，比如示例代码中的“plugmainutf8”，传入和返回的都是utf8格式的文本。
生成好了dll之后，再在优先回复或者自定义游戏中添加如下一句：
测试*  【显示网址内容http://127.0.0.1/易语言测试2.dll?function=plugmain&cmdstr=$回声$&cash=$财富总额$】
在群里发“测试你好”，此接口就会返回“什么东西你好”。

接口插件除了可以传自定义的参数外，软件还会自动附加下面的一系列参数，方便插件作者在接口函数中获取这些信息。
cfrobotgroupnum=$群号码无空格$&cfrobotqqnum=$QQ无空格$&cfrobotselfnum=$机器人号码$&cfrobotmsgtype=$群聊或私聊状态$&cfrobotqqauth=%d&cfandroidflag=%d&myhwnd=%d
cfrobotgroupnum传入的就是群号，cfrobotqqnum就是qq号，cfrobotselfnum是机器人的号码。cfrobotmsgtype的值，如果是好友私聊则是1，群聊是2，群友私聊就是3。
cfrobotqqauth表示这个qq号的身份等级，若是普通群友（cfrobotqqauth=0）若是管理员（cfrobotqqauth=1）若是机器人主人（cfrobotqqauth=2）若是机器人默认群的主人，即创始人，在所有群都有主人权限（cfrobotqqauth=3）
cfandroidflag=1,说明是普通消息模式下，如果=0则是卡片消息模式下。

myhwnd是传入当前机器人聊天窗口的窗口句柄，用于插件跟机器人群内交互查询一些信息时起作用。
具体的解释如下：
如果在插件dll中想实时获得某个群里某些变量的值，可以在插件里向那个群聊窗口发出以“交互查询”开头的文字，比如：
	char tempstr[512]="交互查询$财富总额10003981$ $完整原始宝物13402429$";
UINT uin=cfrobotqqnum;
		SendMessageA((HWND)myhwnd,1301,(WPARAM)uin,(LPARAM)tempstr);
机器人会把上面的“$财富总额10003981$ $完整原始宝物13402429$”的内容解析好，然后传回给插件。所以传入的第四个参数（tempstr）必须是一个可写的内存地址，你只要读取那内存地址里的内容就可以获得返回的字符串了。最多支持512个ansi字符（包括末尾的空字符），所以你传入内存地址也必须至少能容纳512个字符长度。
如果你想返回的字符串是一个很长的字符串，比如$全体成员$，那么你可以使用“交互查询完整”开头，而不是“交互查询”。这样的话，你自己传入的内存地址要申请足够多的字节空间，比如30000以上，否则拷贝的时候内存越界，就会导致程序异常退出，如果你是用易语言，申请的内存长度如果跟传入的文本长度相关的话，可以在文本的后面附加很多个空格，或者是一个【后面的是无效填充内容】标识，再在后面填充很多无效数据，这样就可以保证传入的内存地址足够长。
其中的uin可以是好友的qq号(但如果uin的值为99998888，则表示第四个参数是utf8格式)，tempstr是诸如“开启好友会话你好啊”之类的句子，如果你不想通过第三个参数uin传递好友qq号过去（或者说由于你把第三个参数设置为99998888来告知第四个参数是utf8格式的情形下），也可以通过构造第四个参数为“开启好友会话13402429 这是一个好友消息”、“13402429 这是一个普通群内消息”之类的把13402429这个数字当作群友的qq号传过去。
如果上面的myhwnd是机器人软件主窗口的句柄，还可以构建成“开启好友会话13402429groupnum:208597416 这是要发送群里的消息”这种格式来发到指定的群。

奖惩指令：
$奖励2万$   $奖励13402429 2万$
$设置积分300$  $设置积分200068663216 300$
$设置赞20$   下面的其它指令与上面的类似，在指令后面接一个qq号或者虚拟号码，就是对那指定的号码操作，否则就是对当前收到此消息的qq号操作。
$销毁导弹$
$掉装备$(随机掉落一件装备)
$赠予匕首$
$设置宝物玫瑰石$
$设置勋章勇气勋章$
$设置防御冰霜护盾$
$设置武器激光枪$
$设置房产白宫$
$设置坐骑白龙马$
$添加宝物匕首$ $添加宝物$和$设置宝物$的区别在于，后者会清空之前的宝物，直接重新设置，而前者是添加一个物品到宝物栏中(与$赠予匕首$不同，赠予匕首会自动判断匕首应该放在武器一栏还是放在宝物一栏，$添加宝物$是一定会放在宝物一栏的。而且不像$设置宝物$,$添加宝物$不能用+号连接一次添加多个宝物)。比如为了卸下某个武器，你可以用“$添加宝物$武器$$ $销毁武器$”这种方式，如果要重新装配上那个武器，可以用“$销毁匕首$ $设置武器匕首$ %宝物要求有匕首%”。
$叠加宝物$变量，跟$添加宝物$类似，但是如果之前的宝物就有对应数值的时候，用$叠加宝物$会把那个宝物里面的对应数值叠加起来（支持负数，如果加一个负数，也就是起到了减的效果）。
比如之前100023456这个虚拟号中的宝物1是“大杀器【114.40000000】”，如果用$添加宝物100023456 大杀器【22.1】$，那么100023456这个虚拟号中的宝物1就会变成大杀器【22.10000000】，如果用$叠加宝物100023456 大杀器【22.1】$，那么100023456 大杀器【136.50000000】
$添加宝物$和$设置勋章$、$设置宝物$之类的都可以手动设置一个有效期，比如：
$设置宝物[有效期2分钟]武林盟主称号+[有效期70秒]幸运石$
$修改宝物$QQ$ 1 某某某$(修改当前qq号第一个宝物为某某某)、$修改宝物200013402429 2 某某某$（这个意思是修改200013402429这个虚拟qq号的第2个宝物内容为某某某）
$贬1$
$赞1$
$踢出$
$拉黑$
$禁言10分钟$
$禁闭10分钟$
$清零$
$踢出$
$解除禁言13402429$
$解除禁闭13402429$
$抢奴隶13402429$
$解放奴隶13402429$
$解放奴隶68663216 13402429$”，则把68663216的奴隶13402429解放掉
$扣除50$
$赞名片$、$赞名片13402429$
$代发言$
$发群消息123456 13402429 私聊来自$群名称$消息：#奖励13402429 500隐藏#$、$发群消息123456 这是来自$群名称$的消息，大家好$、$发群消息123456 13402429 这是来自$群名称$的消息，大家好隐藏$
其中123456是群号，13402429是那个群里的群友qq号，如果消息前面是以“私聊”二字开头，则向那个qq号发私聊消息，否则将在群里发。如果不是针对某个qq号发消息，也可以只接群号，后面跟着消息内容。
$发消息$机器人号码$间隔3分钟#代发言$QQ$升级隐藏#【消息号999$QQ$】$
$取消发消息68663216【消息号11223387999】$
$取消发消息$机器人号码$【所有消息】$
$群发消息$所有QQ只要宝物有匕首$ 具体的内容$(注意，具体的内容前面一定要有空格，不然具体的私聊内容和qq号就无法区分开)
$群发消息$宝物2000666613402429$ 具体的内容$，如果这个2000666613402429虚拟号的宝物列表，都是存的某些群友的qq号。
$增加有效期208597416 2个月$、$增加有效期15天$
$修改名片某某大侠$
$添加定时任务$
$删除定时任务$
$开启84456670 87665443$之类的指令，（开启群84456670，并且把87665443设置为这个群的机器人主人）
$添加vip2个月$  $添加vip默认是可以增加正的天数，也可以增加负的天数（即扣除一定时间的vip有效期），如果希望不考虑他之前负了多少天的话，可以用$添加vip3天非游戏$的方式，效果类似于手动发“添加vip13402429 3天”。只要在那个后面加上“非游戏”3字即可。


几乎所有操作指令都支持对多个qq批量处理，类似于$群发消息$。比如$宝物2000666$包含了3个qq号、$所有QQ只要宝物有匕首$包含了4个qq号，可以进行如下的奖惩指令：
$赠予$所有QQ只要宝物有匕首$好东西$ $奖励$宝物2000666$ 5万$ $添加vip$宝物2000666$ 3个月$ $赞13402429+151409645;68663216;35376062 300$ $销毁$所有QQ只要宝物有好东西$好东西$  $设置勋章$宝物2000666$荣誉勋章$

变量：
$QQ$
$数字1$
$数字2$
$回声$
$完整回声$
$汉字回声$
$完整汉字回声$（和$汉字回声$变量一样，用于捕获群友输入的汉字，不包括其中的数字。）
$回声2$（其内容是$回声$中除了$数字1$以外的内容。如果$数字1$是空的，则它等价于$回声$，比如群友发：抢夺68663216 红腰带5级，那么$回声2$就是“红腰带5级”，而$回声$则是“68663216 红腰带5级”。
$回声段落1$、$回声段落2$、$回声段落3$、$回声段落4$、$回声段落10$,用来代表$回声$中的段落1、段落2、段落10，每一段落以空格隔开。
$宝物$
$坐骑$
$武器$
$防御$
$房产$
$勋章$
$配偶$
$积分排名$ （所以类似的变量后面都可以接一个qq号来获取指定qq号对应的值，比如$昵称68663216$、$配偶13402429$、$武器$数字1$$等）
$财富总额$
$防御指数$
$攻击指数$
$敏捷指数$
$奴隶个数$
$主人$
$获赞次数$
$昵称$
$宝物序号1$
$宝物序号1 13402429$，即代表13402429第1个宝物。
$等级排名1$、$入群天数排名1$、$最后发言时间排名1$、$总发言次数排名1$、$本周发言次数排名1$、$打劫次数排名1$、$连续签到天数排名1$、$攻击指数排名1$、$防御指数排名1$、$敏捷指数排名1$、$奴隶个数排名1$（只有查看过自己奴隶个数的人，才会参与排行榜）一系列的自定义排名
$虚拟号获赞排名20008888 1$ 返回虚拟号20008888开头排名第一的qq号
$群主昵称$
$群主QQ$
$群成员数量$
$群名称$
$群号码$
$当前时间$
$当前时间年$
$当前时间月$
$当前时间日$
$当前时间时$
$当前时间分$
$当前时间秒$
$当前星期几$ 以数字的形式显示
$数字时间$ 用于显示当前时间的一个数值（距离2015-4-27 09:17:11过去了多少秒），结合虚拟qq号存储那个数值（用扣除财富总额或者设置积分的方式），就可以实现闭关、打坐之类的功能。
$显示有效期13402429钓鱼情况$、$显示有效期汗血宝马$，用来显示当前群友或者商店里设置了有效期的物品的有效期为多久。比如3天、5小时。
$显示有效期截止时间13402429钓鱼情况$、$显示有效期截止时间汗血宝马$，用来显示当前群友或者商店里面设置了有效期的物品的有效期截至时间。比如2016年2月26日。
$显示对应数值匕首$、$显示对应数值200013402429皇帝$，宝物名字增加一个对应数值的存储，比如在商品列表或者自定义游戏中使用“匕首【20】”、“导弹【5000】”、“皇帝【5万】”之类的,然后存在群友物品栏中。利用$显示对应数值匕首$，就可以显示为20，$显示对应数值皇帝$就会显示为50000。


条件语句：
%宝物要求有1;2;3%（代表着只要1；2；3任意一个有的话，就满足条件，如果是要1；2；3都有才算满足条件的话，则只需写成%宝物要求有1+2+3%。）
%宝物要求无1;2;3% （代表着只要1；2；3任意一个有的话，就不满足条件，如果是要1；2；3都有才算不满足条件的话，则只需写成%宝物要求无1+2+3%）
这里的1，2，3必须是直接的宝物名称，而不能是【江湖体力】、【江湖血量】之类的优先运算变量，不然在预先判断条件的时候可能会出错。
只有改成%条件要求$宝物$=1;$宝物$=2;$宝物$=3%,那么1、2、3就可以使用那种【江湖能量】之类的优先运算变量。注意左边的条件要求不能写成%条件要求$宝物$=1;2;3%
%条件要求%只支持“<、>、=、!=”4种运算符号，如果“=、!=”号两边是汉字的话，它的意思是包含和不包含的意思。

%条件要求$坐骑$=白龙马%
%条件要求防弹衣%
%武器要求核弹%
%房产要求别墅%
%勋章要求荣誉勋章%
%宝物要求三生石+幸运石%
%奴隶个数要求5%
%获赞次数要求10%
%vip要求是%
%等级要求6%
%时间要求>6点%
%时间要求<12点%
%积分要求50%
%vip要求否%
%积分要求<50%
%等级要求<8%
%奴隶个数要求<5%
%获赞次数要求<10%
%宝物要求无一万存折%
%时间间隔要求2分钟%
%时间间隔要求公共>2分钟%//不是针对单个用户，而是针对所有用户公共的时间间隔
%时间间隔要求<80秒%
%时间间隔要求公共<80秒%//不是针对单个用户，而是针对所有用户公共的时间间隔
%宝物个数要求<6%
%宝物个数要求>2%
%配偶要求有%
%配偶要求无%
%主人要求有%
%主人要求无%
%积分排名要求>12%
%积分排名要求<15%
%剩余可赞数要求>3%
%剩余可贬数要求<2%
%防御指数要求>300%
%攻击指数要求<2000%
%敏捷指数>5千%
%管理员要求是%
%机器人主人要求是%
%当天玩此游戏次数要求%
%性别要求男%
%性别要求女%
%入群天数要求5%
%上次发言间隔天数要求5%
%年龄要求20%
%群号要求385479646%（仅仅当前群号是385479646才满足要求）
%群号要求<385479646%(这个<号，实际上相当于不等于号，即只要不是385479646都符合要求，即使它实际上>385479646)
%群中要求有13402429%
%群中要求无13402429%
%机器人号码要求=3095087199%（机器人号码必须是3095087199才满足要求）
%机器人号码要求!=3095087199%（机器人号码必须不是3095087199才满足要求）
