Compare commits

..

No commits in common. "6b55ac4da0acfb4648cfb0c7054a669202d2debc" and "66a75c7a8b2e17808e668ad43d992c2f5b397cac" have entirely different histories.

20 changed files with 406 additions and 441 deletions

View File

@ -1,4 +0,0 @@
FROM openjdk:17-jdk-alpine
ADD ./target/qq-bot-0.0.1-SNAPSHOT.jar /app/qq-bot.jar
CMD ["java", "-jar", "app/qq-bot.jar"]
EXPOSE 8080

59
pom.xml
View File

@ -9,14 +9,13 @@
<relativePath/> <!-- lookup parent from repository --> <relativePath/> <!-- lookup parent from repository -->
</parent> </parent>
<groupId>com.mtz</groupId> <groupId>com.mtz</groupId>
<artifactId>qq-bot</artifactId> <artifactId>QQ-Bot</artifactId>
<version>0.0.1-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<name>qq-bot</name> <name>QQ-Bot</name>
<description>qq-bot</description> <description>QQ-Bot</description>
<properties> <properties>
<java.version>17</java.version> <java.version>17</java.version>
<spring-boot.version>2.6.13</spring-boot.version> <spring-boot.version>2.6.13</spring-boot.version>
<docker.image.prefix>localhost:5000</docker.image.prefix>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
@ -38,19 +37,15 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId> <artifactId>spring-boot-starter-actuator</artifactId>
</dependency> </dependency>
<!-- <dependency>-->
<!-- <groupId>org.mybatis.spring.boot</groupId>-->
<!-- <artifactId>mybatis-spring-boot-starter</artifactId>-->
<!-- <version>2.2.2</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>mysql</groupId>-->
<!-- <artifactId>mysql-connector-java</artifactId>-->
<!-- <version>8.0.31</version>-->
<!-- </dependency>-->
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.mybatis.spring.boot</groupId>
<artifactId>lombok</artifactId> <artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.31</version>
</dependency> </dependency>
</dependencies> </dependencies>
@ -71,8 +66,8 @@
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version> <version>${spring-boot.version}</version>
<configuration> <configuration>
<mainClass>com.mtz.qqbot.QqBotApplication</mainClass> <mainClass>com.example.demo.Demo1Application</mainClass>
<skip>false</skip> <skip>true</skip>
</configuration> </configuration>
<executions> <executions>
<execution> <execution>
@ -83,34 +78,6 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<!--maven打包时跳过测试-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<!--自动构建镜像到Docker-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<configuration>
<repository>${docker.image.prefix}/${project.artifactId}</repository>
<tag>${project.version}</tag>
<useMavenSettingsForAuth>false</useMavenSettingsForAuth>
</configuration>
<executions>
<execution>
<id>default</id>
<phase>install</phase>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</build> </build>

Binary file not shown.

View File

@ -11,12 +11,13 @@
"muteTimestamp": 1684289748, "muteTimestamp": 1684289748,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1601451568, "joinTimestamp": 1601451568,
"lastSpeakTimestamp": 1719309817, "lastSpeakTimestamp": 1719295424,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 4, "rank": 4,
"point": 591, "point": 584,
"honors": [ "honors": [
3 3,
1
], ],
"temperature": 100 "temperature": 100
}, },
@ -50,7 +51,7 @@
"lastSpeakTimestamp": 1719297118, "lastSpeakTimestamp": 1719297118,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 458, "point": 446,
"honors": [ "honors": [
3 3
], ],
@ -66,7 +67,7 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1695304770, "joinTimestamp": 1695304770,
"lastSpeakTimestamp": 1719309801, "lastSpeakTimestamp": 1719279137,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,
@ -117,7 +118,7 @@
"muteTimestamp": 1639379023, "muteTimestamp": 1639379023,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1636539791, "joinTimestamp": 1636539791,
"lastSpeakTimestamp": 1719313179, "lastSpeakTimestamp": 1719295474,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,
@ -136,10 +137,10 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1601451568, "joinTimestamp": 1601451568,
"lastSpeakTimestamp": 1719313250, "lastSpeakTimestamp": 1719291222,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 118, "point": 116,
"honors": [], "honors": [],
"temperature": 100 "temperature": 100
} }

View File

@ -861,14 +861,12 @@
"muteTimestamp": 1657543011, "muteTimestamp": 1657543011,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1516716532, "joinTimestamp": 1516716532,
"lastSpeakTimestamp": 1719318848, "lastSpeakTimestamp": 1719240726,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 3, "rank": 3,
"point": 413, "point": 413,
"honors": [ "honors": [
3, 3
1,
6
], ],
"temperature": 100 "temperature": 100
}, },
@ -1258,8 +1256,8 @@
"joinTimestamp": 1574716750, "joinTimestamp": 1574716750,
"lastSpeakTimestamp": 1718633229, "lastSpeakTimestamp": 1718633229,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 1,
"point": 1, "point": 0,
"honors": [], "honors": [],
"temperature": 41 "temperature": 41
}, },
@ -1446,7 +1444,7 @@
"lastSpeakTimestamp": 1670909525, "lastSpeakTimestamp": 1670909525,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 64, "point": 69,
"honors": [], "honors": [],
"temperature": 30 "temperature": 30
}, },
@ -1735,7 +1733,7 @@
"lastSpeakTimestamp": 1621829707, "lastSpeakTimestamp": 1621829707,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 3, "point": 8,
"honors": [], "honors": [],
"temperature": 7 "temperature": 7
}, },
@ -2415,7 +2413,7 @@
"lastSpeakTimestamp": 1718761322, "lastSpeakTimestamp": 1718761322,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 3, "rank": 3,
"point": 177, "point": 182,
"honors": [], "honors": [],
"temperature": 43 "temperature": 43
}, },
@ -2684,7 +2682,7 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1516540636, "joinTimestamp": 1516540636,
"lastSpeakTimestamp": 1719317628, "lastSpeakTimestamp": 1719113988,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,
@ -3350,7 +3348,7 @@
"lastSpeakTimestamp": 1713758754, "lastSpeakTimestamp": 1713758754,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 3, "rank": 3,
"point": 758, "point": 763,
"honors": [], "honors": [],
"temperature": 45 "temperature": 45
}, },
@ -3877,7 +3875,7 @@
"lastSpeakTimestamp": 1631376429, "lastSpeakTimestamp": 1631376429,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 3, "rank": 3,
"point": 311, "point": 316,
"honors": [], "honors": [],
"temperature": 39 "temperature": 39
}, },
@ -4095,10 +4093,10 @@
"muteTimestamp": 1710052096, "muteTimestamp": 1710052096,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1542464320, "joinTimestamp": 1542464320,
"lastSpeakTimestamp": 1719316756, "lastSpeakTimestamp": 1719253268,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 6, "rank": 6,
"point": 6366, "point": 6365,
"honors": [ "honors": [
3 3
], ],
@ -4304,7 +4302,7 @@
"lastSpeakTimestamp": 1718251946, "lastSpeakTimestamp": 1718251946,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 4, "rank": 4,
"point": 2595, "point": 2589,
"honors": [], "honors": [],
"temperature": 100 "temperature": 100
}, },
@ -4406,7 +4404,7 @@
"lastSpeakTimestamp": 1718984997, "lastSpeakTimestamp": 1718984997,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 4, "rank": 4,
"point": 1277, "point": 1275,
"honors": [], "honors": [],
"temperature": 98 "temperature": 98
}, },
@ -4712,7 +4710,7 @@
"lastSpeakTimestamp": 1716618423, "lastSpeakTimestamp": 1716618423,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 3, "rank": 3,
"point": 738, "point": 734,
"honors": [], "honors": [],
"temperature": 55 "temperature": 55
}, },
@ -4726,12 +4724,12 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1708405810, "joinTimestamp": 1708405810,
"lastSpeakTimestamp": 1719310430, "lastSpeakTimestamp": 1710222382,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,
"honors": [], "honors": [],
"temperature": 3 "temperature": 2
}, },
{ {
"uin": 1498111908, "uin": 1498111908,
@ -4862,7 +4860,7 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1510393439, "joinTimestamp": 1510393439,
"lastSpeakTimestamp": 1719317665, "lastSpeakTimestamp": 1719220531,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 5, "rank": 5,
"point": 5071, "point": 5071,
@ -4913,12 +4911,12 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1566795665, "joinTimestamp": 1566795665,
"lastSpeakTimestamp": 1719314042, "lastSpeakTimestamp": 1716297068,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 3, "rank": 3,
"point": 342, "point": 342,
"honors": [], "honors": [],
"temperature": 69 "temperature": 68
}, },
{ {
"uin": 1577471709, "uin": 1577471709,
@ -5143,19 +5141,21 @@
}, },
{ {
"uin": 1744790495, "uin": 1744790495,
"nick": "李平安!(闭关)", "nick": "李平安!",
"permission": "MEMBER", "permission": "MEMBER",
"remark": "李平安!(闭关)", "remark": "李平安!",
"nameCard": "", "nameCard": "",
"specialTitle": "", "specialTitle": "",
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1716826482, "joinTimestamp": 1716826482,
"lastSpeakTimestamp": 1719314992, "lastSpeakTimestamp": 1719148476,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,
"honors": [], "honors": [
1
],
"temperature": 22 "temperature": 22
}, },
{ {
@ -5168,7 +5168,7 @@
"muteTimestamp": 1716476389, "muteTimestamp": 1716476389,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1670166779, "joinTimestamp": 1670166779,
"lastSpeakTimestamp": 1719313698, "lastSpeakTimestamp": 1719296346,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,
@ -5377,7 +5377,7 @@
"lastSpeakTimestamp": 1719032154, "lastSpeakTimestamp": 1719032154,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 5, "rank": 5,
"point": 3982, "point": 3980,
"honors": [], "honors": [],
"temperature": 100 "temperature": 100
}, },
@ -5394,7 +5394,7 @@
"lastSpeakTimestamp": 1719235413, "lastSpeakTimestamp": 1719235413,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 4, "rank": 4,
"point": 2732, "point": 2728,
"honors": [], "honors": [],
"temperature": 100 "temperature": 100
}, },
@ -5887,7 +5887,7 @@
"lastSpeakTimestamp": 1636557632, "lastSpeakTimestamp": 1636557632,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 48, "point": 53,
"honors": [], "honors": [],
"temperature": 23 "temperature": 23
}, },
@ -6414,7 +6414,7 @@
"lastSpeakTimestamp": 1719140327, "lastSpeakTimestamp": 1719140327,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 4, "rank": 4,
"point": 1146, "point": 1151,
"honors": [], "honors": [],
"temperature": 66 "temperature": 66
}, },
@ -6547,7 +6547,7 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1705648819, "joinTimestamp": 1705648819,
"lastSpeakTimestamp": 1719317944, "lastSpeakTimestamp": 1719240737,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,
@ -6686,7 +6686,7 @@
"lastSpeakTimestamp": 1616648138, "lastSpeakTimestamp": 1616648138,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 3, "rank": 3,
"point": 831, "point": 836,
"honors": [], "honors": [],
"temperature": 43 "temperature": 43
}, },
@ -6822,7 +6822,7 @@
"lastSpeakTimestamp": 1682847104, "lastSpeakTimestamp": 1682847104,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 20, "point": 35,
"honors": [], "honors": [],
"temperature": 38 "temperature": 38
}, },
@ -6836,7 +6836,7 @@
"muteTimestamp": 1709638075, "muteTimestamp": 1709638075,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1558779352, "joinTimestamp": 1558779352,
"lastSpeakTimestamp": 1719311100, "lastSpeakTimestamp": 1719205827,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 5, "rank": 5,
"point": 5779, "point": 5779,
@ -6940,7 +6940,7 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1653323510, "joinTimestamp": 1653323510,
"lastSpeakTimestamp": 1719315695, "lastSpeakTimestamp": 1719206215,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,
@ -7061,7 +7061,7 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1714398064, "joinTimestamp": 1714398064,
"lastSpeakTimestamp": 1719319184, "lastSpeakTimestamp": 1719148194,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,

View File

@ -1,5 +1,5 @@
{ {
"troopMemberNumSeq": 125, "troopMemberNumSeq": 123,
"list": [ "list": [
{ {
"uin": 524592968, "uin": 524592968,
@ -25,10 +25,10 @@
"remark": "神明啊把我变成小萝莉吧お願い", "remark": "神明啊把我变成小萝莉吧お願い",
"nameCard": "", "nameCard": "",
"specialTitle": "", "specialTitle": "",
"muteTimestamp": 1719319720, "muteTimestamp": 1719297368,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1505138309, "joinTimestamp": 1505138309,
"lastSpeakTimestamp": 1719319660, "lastSpeakTimestamp": 1719297308,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 5, "point": 5,
@ -64,7 +64,7 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1524301027, "joinTimestamp": 1524301027,
"lastSpeakTimestamp": 1719319552, "lastSpeakTimestamp": 1719297146,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,
@ -81,7 +81,7 @@
"muteTimestamp": 1719215547, "muteTimestamp": 1719215547,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1718900409, "joinTimestamp": 1718900409,
"lastSpeakTimestamp": 1719304669, "lastSpeakTimestamp": 1719246821,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,

View File

@ -45,7 +45,7 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1490652159, "joinTimestamp": 1490652159,
"lastSpeakTimestamp": 1719309698, "lastSpeakTimestamp": 1719138577,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 1409, "point": 1409,
@ -198,10 +198,10 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1490923635, "joinTimestamp": 1490923635,
"lastSpeakTimestamp": 1719313089, "lastSpeakTimestamp": 1719210688,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 4, "rank": 4,
"point": 9048, "point": 9034,
"honors": [ "honors": [
2 2
], ],
@ -356,7 +356,7 @@
"lastSpeakTimestamp": 1718085691, "lastSpeakTimestamp": 1718085691,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 3, "rank": 3,
"point": 5434, "point": 5439,
"honors": [], "honors": [],
"temperature": 66 "temperature": 66
}, },
@ -438,10 +438,10 @@
"muteTimestamp": 1518845533, "muteTimestamp": 1518845533,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1490880389, "joinTimestamp": 1490880389,
"lastSpeakTimestamp": 1719312104, "lastSpeakTimestamp": 1719258150,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 5, "rank": 5,
"point": 9288, "point": 9274,
"honors": [ "honors": [
3, 3,
6 6
@ -478,7 +478,7 @@
"lastSpeakTimestamp": 1709525568, "lastSpeakTimestamp": 1709525568,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 3, "rank": 3,
"point": 3209, "point": 3208,
"honors": [], "honors": [],
"temperature": 100 "temperature": 100
}, },
@ -835,7 +835,7 @@
"lastSpeakTimestamp": 1615284524, "lastSpeakTimestamp": 1615284524,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 592, "point": 597,
"honors": [], "honors": [],
"temperature": 27 "temperature": 27
}, },
@ -900,14 +900,13 @@
"muteTimestamp": 1615199862, "muteTimestamp": 1615199862,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1490966393, "joinTimestamp": 1490966393,
"lastSpeakTimestamp": 1719317513, "lastSpeakTimestamp": 1719287634,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 4, "rank": 4,
"point": 6960, "point": 6947,
"honors": [ "honors": [
6, 6,
3, 3
1
], ],
"temperature": 100 "temperature": 100
}, },
@ -975,7 +974,7 @@
"lastSpeakTimestamp": 1624514430, "lastSpeakTimestamp": 1624514430,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 2884, "point": 2879,
"honors": [], "honors": [],
"temperature": 36 "temperature": 36
}, },
@ -1193,10 +1192,10 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1490973282, "joinTimestamp": 1490973282,
"lastSpeakTimestamp": 1719318739, "lastSpeakTimestamp": 1719295128,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 189, "point": 184,
"honors": [ "honors": [
3 3
], ],
@ -1215,7 +1214,7 @@
"lastSpeakTimestamp": 1719254279, "lastSpeakTimestamp": 1719254279,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 4, "rank": 4,
"point": 7025, "point": 7018,
"honors": [ "honors": [
3 3
], ],
@ -1234,7 +1233,7 @@
"lastSpeakTimestamp": 1718713261, "lastSpeakTimestamp": 1718713261,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 3, "rank": 3,
"point": 6817, "point": 6814,
"honors": [], "honors": [],
"temperature": 100 "temperature": 100
}, },
@ -1248,10 +1247,10 @@
"muteTimestamp": 1608442575, "muteTimestamp": 1608442575,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1490667181, "joinTimestamp": 1490667181,
"lastSpeakTimestamp": 1719319338, "lastSpeakTimestamp": 1719281475,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 4, "rank": 4,
"point": 9131, "point": 9117,
"honors": [ "honors": [
2 2
], ],
@ -1389,7 +1388,7 @@
"lastSpeakTimestamp": 1719255338, "lastSpeakTimestamp": 1719255338,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 3, "rank": 3,
"point": 6723, "point": 6711,
"honors": [ "honors": [
2 2
], ],
@ -1493,7 +1492,7 @@
"lastSpeakTimestamp": 1613057120, "lastSpeakTimestamp": 1613057120,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 2330, "point": 2335,
"honors": [], "honors": [],
"temperature": 21 "temperature": 21
}, },
@ -1711,12 +1710,13 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1532449729, "joinTimestamp": 1532449729,
"lastSpeakTimestamp": 1719318814, "lastSpeakTimestamp": 1719290680,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 3, "rank": 3,
"point": 4954, "point": 4942,
"honors": [ "honors": [
3 3,
1
], ],
"temperature": 100 "temperature": 100
}, },
@ -1733,7 +1733,7 @@
"lastSpeakTimestamp": 1625332345, "lastSpeakTimestamp": 1625332345,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 97, "point": 102,
"honors": [], "honors": [],
"temperature": 14 "temperature": 14
}, },

View File

@ -82,7 +82,7 @@
"lastSpeakTimestamp": 1719279564, "lastSpeakTimestamp": 1719279564,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 862, "point": 859,
"honors": [], "honors": [],
"temperature": 100 "temperature": 100
}, },
@ -130,7 +130,7 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1674212792, "joinTimestamp": 1674212792,
"lastSpeakTimestamp": 1719316232, "lastSpeakTimestamp": 1719224986,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,
@ -164,7 +164,7 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1693914719, "joinTimestamp": 1693914719,
"lastSpeakTimestamp": 1719316080, "lastSpeakTimestamp": 1719296318,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,
@ -184,7 +184,7 @@
"lastSpeakTimestamp": 1719290838, "lastSpeakTimestamp": 1719290838,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 3, "rank": 3,
"point": 1419, "point": 1415,
"honors": [], "honors": [],
"temperature": 100 "temperature": 100
}, },
@ -215,12 +215,13 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1575788885, "joinTimestamp": 1575788885,
"lastSpeakTimestamp": 1719315776, "lastSpeakTimestamp": 1719293471,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 2, "rank": 2,
"point": 1275, "point": 1275,
"honors": [ "honors": [
3 3,
1
], ],
"temperature": 100 "temperature": 100
}, },
@ -234,7 +235,7 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1659707634, "joinTimestamp": 1659707634,
"lastSpeakTimestamp": 1719315974, "lastSpeakTimestamp": 1719233680,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,
@ -253,13 +254,11 @@
"muteTimestamp": 0, "muteTimestamp": 0,
"anonymousId": null, "anonymousId": null,
"joinTimestamp": 1654620022, "joinTimestamp": 1654620022,
"lastSpeakTimestamp": 1719315908, "lastSpeakTimestamp": 1719293624,
"isOfficialBot": false, "isOfficialBot": false,
"rank": 1, "rank": 1,
"point": 0, "point": 0,
"honors": [ "honors": [],
1
],
"temperature": 100 "temperature": 100
}, },
{ {

View File

@ -1,38 +1,42 @@
[ [
{ {
"host": "111.30.169.83", "host": "39.156.126.247",
"port": 443 "port": 443
}, },
{ {
"host": "msfwifi.3g.qq.com", "host": "39.156.140.102",
"port": 8080
},
{
"host": "111.30.182.254",
"port": 443 "port": 443
}, },
{ {
"host": "36.155.207.230", "host": "111.31.206.48",
"port": 443
},
{
"host": "120.232.31.239",
"port": 8080
},
{
"host": "120.241.130.195",
"port": 14000 "port": 14000
}, },
{
"host": "120.232.65.165",
"port": 14000
},
{
"host": "39.156.125.20",
"port": 80
},
{
"host": "120.232.31.250",
"port": 8080
},
{ {
"host": "36.155.163.25", "host": "36.155.163.25",
"port": 80 "port": 80
}, },
{ {
"host": "39.156.126.178", "host": "36.155.166.28",
"port": 80 "port": 8080
}, },
{ {
"host": "36.155.163.117", "host": "msfwifi.3g.qq.com",
"port": 8080
},
{
"host": "36.155.207.230",
"port": 8080 "port": 8080
} }
] ]

View File

@ -1,2 +0,0 @@
h<EFBFBD>×­ <09>äÉu¯+]uµSfJv°v)POßtϺRë¼ÈB¥fž²,y¦*ç ú.¦Î<C2A6> ÊÑQtÒq-Úì†ñùé;y…ÿÚåJ¤ëxçLË"&ª¸Kôdì™<C3AC>J8Ò7ÏmdKjNc8WfFjkszCzNïüЄûÿÿÿÿ<10>? øÐƒÉ<10>?ï¾ÀßPõòþßÿÿÿÿÿ»" D­»" ¤¶‚§»" øÒϰ»"H•ÿÿÿÿÿ»

View File

@ -1 +1 @@
ø)Ë4LÙ±>¬o5†œÆ0@©Ð<C2A9>j Df<EFBFBD><EFBFBD>[%<25><><EFBFBD> <0E>;<3B><><EFBFBD>Օ

View File

@ -1,16 +1,16 @@
{ {
"deviceInfoVersion": 3, "deviceInfoVersion": 3,
"data": { "data": {
"display": "MIRAI.392537.001", "display": "MIRAI.074628.001",
"product": "mirai", "product": "mirai",
"device": "mirai", "device": "mirai",
"board": "mirai", "board": "mirai",
"brand": "mamoe", "brand": "mamoe",
"model": "mirai", "model": "mirai",
"bootloader": "unknown", "bootloader": "unknown",
"fingerprint": "mamoe/mirai/mirai:10/MIRAI.200122.001/5356319:user/release-keys", "fingerprint": "mamoe/mirai/mirai:10/MIRAI.200122.001/2819673:user/release-keys",
"bootId": "C16ED143-ED2F-19D7-E471-613A1016DC57", "bootId": "76B9D71B-4A8F-97CD-6FC4-F62EBE5B8659",
"procVersion": "Linux version 3.0.31-9ucOo77W (android-build@xxx.xxx.xxx.xxx.com)", "procVersion": "Linux version 3.0.31-3brWF0I4 (android-build@xxx.xxx.xxx.xxx.com)",
"baseBand": "", "baseBand": "",
"version": { "version": {
"incremental": "5891938", "incremental": "5891938",
@ -22,9 +22,9 @@
"macAddress": "02:00:00:00:00:00", "macAddress": "02:00:00:00:00:00",
"wifiBSSID": "02:00:00:00:00:00", "wifiBSSID": "02:00:00:00:00:00",
"wifiSSID": "<unknown ssid>", "wifiSSID": "<unknown ssid>",
"imsiMd5": "1e993634b646cf697263ded647a6d7f5", "imsiMd5": "5fbedd6fc0a2fd3a618bdbfadc07e45a",
"imei": "864839791425396", "imei": "866610075074640",
"apn": "wifi", "apn": "wifi",
"androidId": "3f252824bf2e97d9" "androidId": "369f72816c9da06b"
} }
} }

View File

@ -18,8 +18,8 @@ public class listController {
"今日收到的群聊临时会话消息:[" + HandleMessageListener.groupTempMessageCount + "]条<br><br>" + "今日收到的群聊临时会话消息:[" + HandleMessageListener.groupTempMessageCount + "]条<br><br>" +
"今日群聊1违禁消息[" + RecallMessageListener.group1InvalidCount + "]条<br>" + "今日群聊1违禁消息[" + RecallMessageListener.group1InvalidCount + "]条<br>" +
"今日群聊2违禁消息[" + RecallMessageListener.group2InvalidCount + "]条<br>" + "今日群聊2违禁消息[" + RecallMessageListener.group2InvalidCount + "]条<br>" +
"今日群聊1违禁超过5次的QQ号名单:" + RecallMessageListener.group1InvalidMember + "<br>" + "今日群聊1违禁超过5次名单:" + RecallMessageListener.group1InvalidMember + "<br>" +
"今日群聊2违禁超过5次的QQ号名单:" + RecallMessageListener.group2InvalidMember + "<br><br>" + "今日群聊2违禁超过5次名单:" + RecallMessageListener.group2InvalidMember + "<br><br>" +
"今日机器人被骚扰次数:[" + ReceiveGroupListener.receiveCount + "]<br>" + "今日机器人被骚扰次数:[" + ReceiveGroupListener.receiveCount + "]<br>" +
"今日钓鱼次数:[" + fishListener.fishCount + "]<br><br>" + "今日钓鱼次数:[" + fishListener.fishCount + "]<br><br>" +
"<a href='index.html'>返回标题页面</a>"; "<a href='index.html'>返回标题页面</a>";

View File

@ -17,35 +17,36 @@ public class RecallMessageListener extends MessageListener {
public static int group2InvalidCount = 0; public static int group2InvalidCount = 0;
public Map<Long, Integer> group1MemberInvalidedCountList = new HashMap<Long, Integer>(); public Map<Long, Integer> group1MemberInvalidedCountList = new HashMap<Long, Integer>();
public static List<Long> group1InvalidMember = new ArrayList<Long>(); public static List<String> group1InvalidMember = new ArrayList<String>();
public Map<Long, Integer> group2MemberInvalidedCountList = new HashMap<Long, Integer>(); public Map<Long, Integer> group2MemberInvalidedCountList = new HashMap<Long, Integer>();
public static List<Long> group2InvalidMember = new ArrayList<Long>(); public static List<String> group2InvalidMember = new ArrayList<String>();
public RecallMessageListener() { public RecallMessageListener() {
super(List.of("原神", "OP"), true);//自定义违禁词 super(List.of("原神", "OP"), true);//自定义违禁词
} }
public int recall(GroupMessageEvent event, int groupInvalidCount, Map<Long, Integer> groupMemberInvalidedCountList, List<Long> groupInvalidMember) throws InterruptedException {//当有人发违禁词自动撤回并禁言一分钟 public void recall(GroupMessageEvent event) throws InterruptedException {//当有人发违禁词自动撤回并禁言一分钟
String message = event.getMessage().contentToString(); String message = event.getMessage().contentToString();
if (this.invalidText(message)) { if (this.invalidText(message)) {
event.getSender().mute(60);//禁言60秒 event.getSender().mute(60);//禁言60秒
Thread.sleep(500);//半秒后撤回方便演示 Thread.sleep(500);//半秒后撤回方便演示
this.recallMessage(event.getMessage()); this.recallMessage(event.getMessage());
groupInvalidCount++;
invalidMember.invalidCountList(groupMemberInvalidedCountList, event);
invalidMember.invalidMemberList(groupInvalidMember, groupMemberInvalidedCountList, event);
return groupInvalidCount;
} }
return groupInvalidCount;
} }
@RobotListenerHandler(contactId = 518909220)//监控增加群聊1 @RobotListenerHandler(contactId = 518909220)//监控增加群聊1
public void recallGroup1Message(GroupMessageEvent event) throws InterruptedException { public void recallGroup1Message(GroupMessageEvent event) throws InterruptedException {
group1InvalidCount = recall(event, group1InvalidCount, group1MemberInvalidedCountList, group1InvalidMember); recall(event);
group1InvalidCount++;
invalidMember.invalidCountList(group1MemberInvalidedCountList, event);
invalidMember.invalidMemberList(group1InvalidMember, group1MemberInvalidedCountList, event);
} }
@RobotListenerHandler(contactId = 1033597003)//监控增加群聊2 @RobotListenerHandler(contactId = 1033597003)//监控增加群聊2
public void recallGroup2Message(GroupMessageEvent event) throws InterruptedException { public void recallGroup2Message(GroupMessageEvent event) throws InterruptedException {
group2InvalidCount = recall(event, group2InvalidCount, group2MemberInvalidedCountList, group2InvalidMember); recall(event);
group2InvalidCount++;
invalidMember.invalidCountList(group2MemberInvalidedCountList, event);
invalidMember.invalidMemberList(group2InvalidMember, group2MemberInvalidedCountList, event);
} }
} }

View File

@ -15,7 +15,7 @@ import java.util.Random;
@RobotListener @RobotListener
public class fishListener extends MessageListener { public class fishListener extends MessageListener {
public static int fishCount = 0; public static int fishCount = 0;
String[] fishes = {"鲨鱼", "金龙鱼", "鲤鱼", "鲫鱼", "鲅鱼", "罗非鱼", "鲸鱼", "闲鱼", "萨卡班甲鱼", ""}; String[] fishes = {"鲨鱼", "金龙鱼", "鲤鱼", "鲫鱼", "鲅鱼", "罗非鱼", "鲸鱼", "闲鱼", ""};
public fishListener() { public fishListener() {
super(List.of("钓鱼"), true); super(List.of("钓鱼"), true);
@ -34,7 +34,6 @@ public class fishListener extends MessageListener {
event.getGroup().sendMessage(chain);//发送消息到群聊 event.getGroup().sendMessage(chain);//发送消息到群聊
System.out.println(chain); System.out.println(chain);
Thread.sleep(10000); Thread.sleep(10000);
int whichFish = random.nextInt(fishes.length); int whichFish = random.nextInt(fishes.length);
if (whichFish == fishes.length - 1) { if (whichFish == fishes.length - 1) {
chain = new MessageChainBuilder() chain = new MessageChainBuilder()

View File

@ -6,8 +6,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication @SpringBootApplication
public class QqBotApplication { public class QqBotApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(QqBotApplication.class, args); SpringApplication.run(QqBotApplication.class, args);
} }
} }

View File

@ -15,9 +15,9 @@ public class invalidMember {
} }
} }
public static void invalidMemberList(List<Long> groupInvalidMember, Map<Long, Integer> groupMemberInvalidedCountList, GroupMessageEvent event) { public static void invalidMemberList(List<String> groupInvalidMember, Map<Long, Integer> groupMemberInvalidedCountList, GroupMessageEvent event) {
if (groupMemberInvalidedCountList.get(event.getSender().getId()).equals(5)) { if (groupMemberInvalidedCountList.get(event.getSender().getId()).equals(5)) {
groupInvalidMember.add(event.getSender().getId()); groupInvalidMember.add(event.getSenderName());
} }
} }
} }

View File

@ -6,7 +6,7 @@ itbaima:
password: mtzmtq2002 password: mtzmtq2002
signer: signer:
version: 8.9.71 version: 9.0.30
url: http://localhost:8888 url: http://localhost:8888
type: fuqiuluo type: fuqiuluo
authorization-key: 114514 authorization-key: 114514
@ -16,12 +16,12 @@ itbaima:
work-dir: robot-data work-dir: robot-data
cache-dir: cache cache-dir: cache
#spring: spring:
# datasource: datasource:
# driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://localhost:3306/database url: jdbc:mysql://localhost:3306/database
# username: root username: root
# password: 123456 password: 123456
server: server:
port: 8080 port: 8080

View File

@ -1,7 +1,255 @@
<html> <html>
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<link rel="stylesheet" href="qq-bot.css"> <style>
body {
padding: 1rem 2rem 2rem;
width: 880px;
border-radius: 0.7em;
margin: 0 auto;
background-color: rgba(255, 255, 255, 0.9);
font-size: 14px;
color: #2c3e50;
}
.集数按钮 {
font-weight: 600;
color: #000;
background-color: #FFF000;
width: 43px;
border-radius: 10px;
text-align: center;
padding: 4px 6px;
display: inline-block;
cursor: pointer;
transition: 0.2s linear;
}
.集数按钮:hover {
opacity: 0.5;
}
.各集内容 {
padding: 14px;
display: none;
}
.各集内容 span {
font-size: 24px;
font-weight: bolder;
color: #000;
}
.各集内容 .内容 {
border-radius: 15px;
border: 2px solid #000;
padding: 6px 15px;
background-color: #FFF;
max-width: 580px;
}
.各集内容 img {
width: 100%;
height: auto;
}
.各集内容 p {
font-size: 16.8px;
line-height: 1.6;
}
.各集内容 .黑幕 {
background-color: #252525;
color: #252525;
transition: 0.13s linear;
font-size: 16.8px;
}
.各集内容 .黑幕:hover {
color: white;
}
#艺术字 {
margin-left: 105px;
}
#艺术字 .艺术字 {
width: 50%;
color: #36c0b9;
font-size: 30px;
font-weight: bolder;
text-align: center;
padding: 1em;
vertical-align: middle;
}
#艺术字 .艺术字 span {
font-size: 35px;
}
#bg {
background: url(image/background_picture.jpg) no-repeat;
background-attachment: fixed;
}
#mybody {
padding: 1rem 2rem 2rem;
width: 880px;
border-radius: 0.7em;
margin: 0 auto;
background-color: rgba(255, 255, 255, 0.9);
font-size: 14px;
color: #2c3e50;
}
article {
display: block;
unicode-bidi: isolate;
}
#事先声明 {
color: rgb(70, 70, 70);
font-size: small;
border: 1px solid rgba(128, 128, 128, 0.466);
border-left: 10px #1e90ff solid;
height: 50px;
}
div {
display: block;
unicode-bidi: isolate;
}
h2 {
display: block;
font-size: 1.5em;
margin-block-start: 0.83em;
margin-block-end: 0.83em;
margin-inline-start: 0px;
margin-inline-end: 0px;
font-weight: bold;
unicode-bidi: isolate;
}
p {
display: block;
margin-block-start: 1em;
margin-block-end: 1em;
margin-inline-start: 0px;
margin-inline-end: 0px;
unicode-bidi: isolate;
}
a {
text-decoration: none;
color: #3f51b5;
}
a:active, a:visited:active {
color: orange;
}
a:visited {
color: #0b0080;
}
#事先声明 {
color: rgb(70, 70, 70);
font-size: small;
border: 1px solid rgba(128, 128, 128, 0.466);
border-left: 10px #1e90ff solid;
height: 50px;
}
#事先声明 p {
position: relative;
top: -50px;
left: 70px;
}
#事先声明 img {
position: relative;
top: 4px;
left: 4px;
}
.大圆角标签1 {
width: 5px;
height: 30px;
background: #f62020;
border-radius: 1em;
float: left;
position: relative;
top: 0px;
}
.大圆角标签2 {
width: 5px;
height: 30px;
background: #f8c708;
border-radius: 1em;
float: left;
position: relative;
top: 0px;
}
.大圆角标签3 {
width: 5px;
height: 30px;
background: #3f4fd9;
border-radius: 1em;
float: left;
position: relative;
top: 0px;
}
.大圆角标签4 {
width: 5px;
height: 30px;
background: #8ed495;
border-radius: 1em;
float: left;
position: relative;
top: 0px;
}
.大圆角标签5 {
width: 5px;
height: 30px;
background: #be8eb0;
border-radius: 1em;
float: left;
position: relative;
top: 0px;
}
.大圆角标签6 {
width: 5px;
height: 30px;
background: #44c7e8;
border-radius: 1em;
float: left;
position: relative;
top: 0px;
}
.imgBox {
display: inline-block;
width: 113px;
height: 122px;
text-align: center;
transition: 0.25s;
}
.imgBox:hover {
opacity: 0.70;
}
.imgBox img {
width: 100px;
height: 100px;
}
</style>
</head> </head>
<body id="bg"> <body id="bg">
@ -42,9 +290,9 @@
</div> </div>
<div id="作品简介3"> <div id="作品简介3">
<div class="大圆角标签3"></div> <div class="大圆角标签3"></div>
<h2>&nbspQ3Mirai框架的QQ机器人区别于其他QQ机器人的亮点有哪些</h2> <h2>&nbspQ3mirai框架的QQ机器人区别于其他QQ机器人的亮点有哪些</h2>
<p> <p>
Mirai框架发展时间长技术更成熟现有的更好的QQ机器人框架都是在Mirai基础上进行迭代升级的所以对QQ机器人的框架学习更有帮助</P> mirai框架发展时间长技术更成熟现有的更好的QQ机器人框架都是在mirai基础上进行迭代升级的所以对QQ机器人的框架学习更有帮助</P>
</div> </div>
<div id="作品简介4"> <div id="作品简介4">
@ -165,7 +413,6 @@
<h2>&nbsp后记</h2> <h2>&nbsp后记</h2>
<p>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp我们项目组由衷的感谢Mirai框架与将Mirai框架集成到SpringBoot中的各位前辈正是他们的开源精神推动了整个社区的良性发展,</p> <p>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp我们项目组由衷的感谢Mirai框架与将Mirai框架集成到SpringBoot中的各位前辈正是他们的开源精神推动了整个社区的良性发展,</p>
<p>得以让我们能够站在巨人的肩膀头上实现我们自己的想法</p> <p>得以让我们能够站在巨人的肩膀头上实现我们自己的想法</p>
<p>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp同时感谢我的SpringBoot课的老师陈闯闯老师。如果没有老师带着我们入门就不会有如今的这个项目</p>
<p>&nbsp</p> <p>&nbsp</p>
<p>Mirai项目地址<a href="https://github.com/mamoe/mirai">https://github.com/mamoe/mirai</a></p> <p>Mirai项目地址<a href="https://github.com/mamoe/mirai">https://github.com/mamoe/mirai</a></p>
<p>基于Mirai核心封装的SpringBoot Starter<a href="https://github.com/itbaima-study/itbaima-robot-starter">https://github.com/itbaima-study/itbaima-robot-starter</a></p> <p>基于Mirai核心封装的SpringBoot Starter<a href="https://github.com/itbaima-study/itbaima-robot-starter">https://github.com/itbaima-study/itbaima-robot-starter</a></p>

View File

@ -1,247 +0,0 @@
body {
padding: 1rem 2rem 2rem;
width: 880px;
border-radius: 0.7em;
margin: 0 auto;
background-color: rgba(255, 255, 255, 0.9);
font-size: 14px;
color: #2c3e50;
}
.集数按钮 {
font-weight: 600;
color: #000;
background-color: #FFF000;
width: 43px;
border-radius: 10px;
text-align: center;
padding: 4px 6px;
display: inline-block;
cursor: pointer;
transition: 0.2s linear;
}
.集数按钮:hover {
opacity: 0.5;
}
.各集内容 {
padding: 14px;
display: none;
}
.各集内容 span {
font-size: 24px;
font-weight: bolder;
color: #000;
}
.各集内容 .内容 {
border-radius: 15px;
border: 2px solid #000;
padding: 6px 15px;
background-color: #FFF;
max-width: 580px;
}
.各集内容 img {
width: 100%;
height: auto;
}
.各集内容 p {
font-size: 16.8px;
line-height: 1.6;
}
.各集内容 .黑幕 {
background-color: #252525;
color: #252525;
transition: 0.13s linear;
font-size: 16.8px;
}
.各集内容 .黑幕:hover {
color: white;
}
#艺术字 {
margin-left: 105px;
}
#艺术字 .艺术字 {
width: 50%;
color: #36c0b9;
font-size: 30px;
font-weight: bolder;
text-align: center;
padding: 1em;
vertical-align: middle;
}
#艺术字 .艺术字 span {
font-size: 35px;
}
#bg {
background: url(image/background_picture.jpg) no-repeat;
background-attachment: fixed;
}
#mybody {
padding: 1rem 2rem 2rem;
width: 880px;
border-radius: 0.7em;
margin: 0 auto;
background-color: rgba(255, 255, 255, 0.9);
font-size: 14px;
color: #2c3e50;
}
article {
display: block;
unicode-bidi: isolate;
}
#事先声明 {
color: rgb(70, 70, 70);
font-size: small;
border: 1px solid rgba(128, 128, 128, 0.466);
border-left: 10px #1e90ff solid;
height: 50px;
}
div {
display: block;
unicode-bidi: isolate;
}
h2 {
display: block;
font-size: 1.5em;
margin-block-start: 0.83em;
margin-block-end: 0.83em;
margin-inline-start: 0px;
margin-inline-end: 0px;
font-weight: bold;
unicode-bidi: isolate;
}
p {
display: block;
margin-block-start: 1em;
margin-block-end: 1em;
margin-inline-start: 0px;
margin-inline-end: 0px;
unicode-bidi: isolate;
}
a {
text-decoration: none;
color: #3f51b5;
}
a:active, a:visited:active {
color: orange;
}
a:visited {
color: #0b0080;
}
#事先声明 {
color: rgb(70, 70, 70);
font-size: small;
border: 1px solid rgba(128, 128, 128, 0.466);
border-left: 10px #1e90ff solid;
height: 50px;
}
#事先声明 p {
position: relative;
top: -50px;
left: 70px;
}
#事先声明 img {
position: relative;
top: 4px;
left: 4px;
}
.大圆角标签1 {
width: 5px;
height: 30px;
background: #f62020;
border-radius: 1em;
float: left;
position: relative;
top: 0px;
}
.大圆角标签2 {
width: 5px;
height: 30px;
background: #f8c708;
border-radius: 1em;
float: left;
position: relative;
top: 0px;
}
.大圆角标签3 {
width: 5px;
height: 30px;
background: #3f4fd9;
border-radius: 1em;
float: left;
position: relative;
top: 0px;
}
.大圆角标签4 {
width: 5px;
height: 30px;
background: #8ed495;
border-radius: 1em;
float: left;
position: relative;
top: 0px;
}
.大圆角标签5 {
width: 5px;
height: 30px;
background: #be8eb0;
border-radius: 1em;
float: left;
position: relative;
top: 0px;
}
.大圆角标签6 {
width: 5px;
height: 30px;
background: #44c7e8;
border-radius: 1em;
float: left;
position: relative;
top: 0px;
}
.imgBox {
display: inline-block;
width: 113px;
height: 122px;
text-align: center;
transition: 0.25s;
}
.imgBox:hover {
opacity: 0.70;
}
.imgBox img {
width: 100px;
height: 100px;
}