# 变量介绍
[TOC]
## 变量的参数
变量需要填写参数(有的变量不需要参数),返回变量执行后的内容。像变量列表里面介绍的各种参数,我拿最好解释的变量来举例子。
`[取文本中间①;②;③]--在文本①中取出文本②和文本③之间的内容`,看见①②③了吗,这些①②③就是【参数】。在使用的时候,要把参数替换为实际的东西。
![](https://box.kancloud.cn/3cb092023aa592d01da51708ae32b2f8_391x153.png)
如果我填成:`[取文本中间一二三四五六七;一;三]`,这样的话,这个变量就会返回**二**了,因为在文本**一二三四五六七**中,**一** 和**三**之间的内容是**二**,所以他就会返回**二**。
**然后**,你可能会好奇各个**参数**之间的符号; 这个是干什么的?这个是关于插件内部的,因为电脑是机器,需要有个东西来给它说明,哪个是参数一,哪个是参数二...这个符号;就是用来给电脑说明的。
> **按照变量列表里的介绍,所有的变量只要填写相应的参数,就都能运行。**
## 变量的嵌套使用
一个变量会返回一个内容,所以一个变量也可以变成一个参数。
就好比**禁言变量**:`[禁言①;②;③]①为群号,②为QQ号,③为时间(单位为分钟,时间填写0就是解除禁言)`
![](https://box.kancloud.cn/7909ce96e6c64de294596d2531825002_381x180.png)
图中,三个变量返回了三个不同的内容。但是要想使用禁言这个变量,他的参数不可能是固定的,这样就只能禁言一个人不停的禁言同样的时长了。
所以我们要把变量**套**在一起使用,这样就能达到我们想要的效果。
如`[禁言[群号];[发送者号码];10]`,他会一步步执行,最终达到结果
1. `[禁言[群号];[发送者号码];10]`变成了`[禁言219696278;[发送者号码];10]`
2. 然后`[禁言219696278;[发送者号码];10]`变成了`[禁言219696278;1124468334;10]`
3. 此时**禁言**这个变量的**参数**中已经没有变量了,就变成了`[禁言219696278;1124468334;10]`
4. 结果我们可以在QQ群中看到,群219696278里面的1124468334就被禁言了10分钟
![](https://box.kancloud.cn/bf32eff9100f6e00d4cf61978df19422_326x121.png)
> **注意,机器人也是QQ,也得遵守QQ的规则,那就是要禁言必须是管理员,管理员不能禁言群主**
## 特殊变量
### 变量列表中没有的变量
> **注解,这里的特殊变量实际指的是变量列表里没有写出来,但是又特别重要的变量**
1. 如果 变量
`[如果①;②]③[①假]④[①结束]`
介绍:当参数②条件为真的时候执行③,当参数②条件为假的时候执行④。
上面的介绍可能看起来很绕,没关系我们一步一步来,后边的几个变量都差不多,只要搞懂了这个后面的三个变量简单介绍一下就能搞懂的!
**先讲讲参数②**,“参数②条件为真”指的是什么呢?先举几个例子吧!
`1=1`,这就是一个条件为真的例子,你说1 等于 1 吗,当然等于啊,所以条件为真的第一种就是【等于】
![](https://box.kancloud.cn/da65fb5477c19c7c1f8366403ccacfd4_307x179.png)
`1≠2`,这又是一个例子,1不等于2,这是当然的吧,所以条件为真的第二种就是【**不等于**】。这里有人就问了,*“1不是不等于2吗,为什么条件还会是真?”*,因为1≠2这个式子是**成立的**,条件只是看这个式子成立或者不成立
**同理,我们还可以把变量运用进来**,比如判断当前的群号是不是xxxx
看图,我是在群219696278发送的消息,所以[群号]这个变量自然会返回219696278,然后条件就会判断。219696278=219696278,第一行的条件返回就是真,第二行 219696278=123456789,这个东西成立吗?不成立,所以返回的就是假
![](https://box.kancloud.cn/d4edc2cde9224bf7644675969338f459_313x175.png)
> **不单单可以用数字,文字也可以,如 你好=你好 这样的条件也是成立的**
**然后是参数③**,参数③是条件为真执行,意思就是说,当条件为真的时候会执行这个地方的东西。参数③不仅仅可以是一串文本,也可以是一大长串的变量。
![](https://box.kancloud.cn/51cf089fdded9754b1a2b20fc8b48b66_390x236.png)
在图片中,条件[群号]=219696278为真,所以返回了③这个地方的内容。
如果条件为假,就会执行④这个地方的内容。
**最后是参数①**,为什么要在最后介绍第一个参数呢,因为这是一个标识符,如果放到前面讲可能就讲不明白了。
电脑是死的,如果没有①,他就没办法知道**条件为真该返回哪些东西**,你看,**条件为真返回的内容③**,处于 \[如果①;②\] 和 [①假] 的中间,**条件为假返回的内容④**,处理 \[①假\] 和 [①结束] 的中间,没有①这个东西话,机器就不知道③或者④的内容是什么了。
![](https://box.kancloud.cn/54b58cdc48e2dbe4c53334181b8226ce_914x68.png)
2. 如果真 变量
`[如果真①;②]③[①结束]`
介绍,当条件②为真时,执行③的内容
与 如果变量 相比,本变量只是缺少了一个 **如果条件为假返回内容④**,大多数情况,你可能不太需要返回内容④,所以 如果真 应运而生。您只需要**仔细阅读并且理解**如果变量,如果真自然会搞懂的!
3. 判断 变量
`[判断①;②]③[①假]④`
介绍,当条件②为真时,执行③的内容, 当条件②为假时,执行④的内容
与如果变量相比较,本变量只是少了一个`[①结束]`。像【配置商城】中的广告管家,就大量运用了此变量,可以下载此配置编辑查看。
4. 循环 变量
`[循环①;②]③[①结束]`
介绍,将③处的内容循环执行②次
这个变量在格式上与前面几个变量类似,但是功能却不一样。循环的作用是将③的内容循环执行②次。
还有两个变量与循环有关,而且他们使用的是花括号 {}
这两个变量分别是:{循环次数①},{跳出循环①},其中的①都是循环的时候填写的内容。
![](https://box.kancloud.cn/d828df05734d14e51a01b8675bfda3ce_857x48.png)
{循环次数①}的作用就是返回**当前是在循环第几次**,而{跳出循环①}的作用就是**不再继续往下循环**。如果搭配如果等判断条件的变量搭配使用,可以做出如下图中的效果:
![](https://box.kancloud.cn/74a802d10a04f2cd3c5961b64a6453c5_1315x119.png)
有些人问,不是大于5就跳出测试吗,怎么还会有6?那么就**详细分析图片中的变量**
1. 首先是循环变量,图中是循环了10次,第一次到第五次,都会执行位置③的{循环次数测试},分别返回1、2、3、4、5。来到后面如果,5>5吗,不大于,所以会继续往下执行
2. 然后到了第六次循环,首先执行了前面的{循环次数测试},返回6,再判断6>5,成立执行,跳出了循环,不再循环第七次。
### 自定义变量
自定义变量也是由普通变量进行编写的东西,可以在窗口的这里进行添加。
![](https://box.kancloud.cn/2890d6f410fd1da44c829f37980c4635_333x334.png)
变量运行内容,就是通过内置变量的搭配,来返回你想要的内容。这样有什么用呢?自定义变量可以**简化操作**,比如你在很多配置中都需要**一长串固定的变量搭配**,复制来复制去肯定很麻烦,那么你可以把它编辑为一个自定义变量。这样在配置里调用的时候就可以直接输入这个变量来调用了!
**那么,还有一个问题,既然是变量,那么怎么自定义参数呢**
自定义变量可以在 变量运行内容里输入{P1}-{P6},分别代表6个参数。
看图说明
![](https://box.kancloud.cn/ab7fc89451cf179f336abd526024db35_303x274.png)
这个变量使用起来就是`[测试变量①;②;③]`,例如我这样输入
![](https://box.kancloud.cn/d6e6e0dfb66c01e7b503c978663ab327_497x261.png)
{P1}-{P6}就是获取的参数,一个变量最多支持6个参数
> 变量也拥有变量商城,你还可以将自己制作的变量上传到其中
## 变量的实际运用
另外,还有些变量只有在特定的情况下有效,比如 1124468334 在群 219696278 发了一条消息:测试
如果有个命令正好是测试,那么这条消息就触发了这个命令
此情况下,**[发送者号码]** 变量返回的就是 1124468334 因为是此人发送的消息
**\[群号]** 返回的就是219696278,还可以通过其他的变量来进行操作。
***
*例如,你想要每个人的名片都改为当前的时间,那么需要用到两个变量,一个是`改名片`,一个是`完整时间`。*
变量介绍:
`[改名片①;②;③]` ①:群号,②:QQ号,③:新的名片 (机器人需为管理员)
`[完整时间]` 返回当前的完整时间
那么要改名的话就只用填:[改名片[群号];[发送者号码];[完整时间]]
那么,此人的名片就会变为当前的时间了。
**图片演示**
![](https://box.kancloud.cn/6f2c7bc7b9414a1d973feb81703d59db_512x407.PNG)
> **如果你想要更多的例子,不妨去【配置商城】下载作者【萌化社】的配置,这些配置都是官方出品,结构清楚,理解之后便于您开发更多的配置**
****
> ## 后面会有详细的变量文档来**介绍部分**有**难度**的变量