pref: Split project into two modules(main, api)

This commit is contained in:
wzp 2024-08-26 21:05:35 +08:00
parent 64686d2f47
commit 62b001b131
211 changed files with 1996 additions and 1269 deletions

1
.idea/compiler.xml generated
View File

@ -8,6 +8,7 @@
<entry name="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.projectlombok/lombok/1.18.34/ec547ef414ab1d2c040118fb9c1c265ada63af14/lombok-1.18.34.jar" /> <entry name="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.projectlombok/lombok/1.18.34/ec547ef414ab1d2c040118fb9c1c265ada63af14/lombok-1.18.34.jar" />
</processorPath> </processorPath>
<module name="MyBot.main" /> <module name="MyBot.main" />
<module name="MyBot.mybot-api.main" />
</profile> </profile>
</annotationProcessing> </annotationProcessing>
<bytecodeTargetLevel target="11" /> <bytecodeTargetLevel target="11" />

1
.idea/gradle.xml generated
View File

@ -9,6 +9,7 @@
<option name="modules"> <option name="modules">
<set> <set>
<option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/mybot-api" />
</set> </set>
</option> </option>
</GradleProjectSettings> </GradleProjectSettings>

1
.idea/modules.xml generated
View File

@ -3,6 +3,7 @@
<component name="ProjectModuleManager"> <component name="ProjectModuleManager">
<modules> <modules>
<module fileurl="file://$PROJECT_DIR$/.idea/modules/MyBot.main.iml" filepath="$PROJECT_DIR$/.idea/modules/MyBot.main.iml" /> <module fileurl="file://$PROJECT_DIR$/.idea/modules/MyBot.main.iml" filepath="$PROJECT_DIR$/.idea/modules/MyBot.main.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/modules/mybot-api/MyBot.mybot-api.main.iml" filepath="$PROJECT_DIR$/.idea/modules/mybot-api/MyBot.mybot-api.main.iml" />
</modules> </modules>
</component> </component>
</project> </project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="AdditionalModuleElements">
<content url="file://$MODULE_DIR$/../../../mybot-api/build/generated/sources/annotationProcessor/java/main">
<sourceFolder url="file://$MODULE_DIR$/../../../mybot-api/build/generated/sources/annotationProcessor/java/main" isTestSource="false" generated="true" />
</content>
</component>
</module>

View File

@ -2,39 +2,58 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer
val projectName = rootProject.name val projectName = rootProject.name
val groupName by extra("cn.wzpmc") val groupName: String by extra
val projectArtifactId by extra("my-bot") val projectArtifactId: String by extra
val projectVersion by extra("1.0.1") val projectVersion: String by extra
plugins { plugins {
id("java") id("java")
id("maven-publish")
id("com.github.johnrengelman.shadow") version "8.1.1" id("com.github.johnrengelman.shadow") version "8.1.1"
} }
allprojects {
group = groupName apply(plugin = "java")
version = projectVersion val groupName by extra("cn.wzpmc")
val projectArtifactId by extra("my-bot")
val projectVersion by extra("1.0.1")
repositories { repositories {
mavenCentral() mavenCentral()
maven("https://libraries.minecraft.net") maven("https://libraries.minecraft.net")
} }
dependencies {
// https://mvnrepository.com/artifact/org.projectlombok/lombok
compileOnly("org.projectlombok:lombok:1.18.34")
annotationProcessor("org.projectlombok:lombok:1.18.34")
// https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2
implementation("com.alibaba.fastjson2:fastjson2:2.0.52")
implementation("com.mojang:brigadier:1.0.18")
// https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api
implementation("org.apache.logging.log4j:log4j-api:2.23.1")
testImplementation(platform("org.junit:junit-bom:5.10.0"))
testImplementation("org.junit.jupiter:junit-jupiter")
}
tasks.compileJava {
options.encoding = "UTF-8"
}
tasks.javadoc {
options.encoding = "UTF-8"
}
}
group = groupName
version = projectVersion
dependencies { dependencies {
implementation(project(":mybot-api"))
implementation("net.minecrell:terminalconsoleappender:1.3.0") { implementation("net.minecrell:terminalconsoleappender:1.3.0") {
exclude(group = "org.apache.logging.log4j", module = "log4j-core") exclude(group = "org.apache.logging.log4j", module = "log4j-core")
exclude(group = "org.apache.logging.log4j", module = "log4j-api") exclude(group = "org.apache.logging.log4j", module = "log4j-api")
} }
implementation("com.mojang:brigadier:1.0.18")
// https://mvnrepository.com/artifact/io.netty/netty-all // https://mvnrepository.com/artifact/io.netty/netty-all
implementation("io.netty:netty-all:4.1.112.Final") implementation("io.netty:netty-all:4.1.112.Final")
// https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core // https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core
implementation("org.apache.logging.log4j:log4j-core:2.23.1") implementation("org.apache.logging.log4j:log4j-core:2.23.1")
// https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api
implementation("org.apache.logging.log4j:log4j-api:2.23.1")
// https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-jul // https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-jul
implementation("org.apache.logging.log4j:log4j-jul:2.23.1") implementation("org.apache.logging.log4j:log4j-jul:2.23.1")
// https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2
implementation("com.alibaba.fastjson2:fastjson2:2.0.52")
// https://mvnrepository.com/artifact/org.yaml/snakeyaml // https://mvnrepository.com/artifact/org.yaml/snakeyaml
implementation("org.yaml:snakeyaml:2.2") implementation("org.yaml:snakeyaml:2.2")
// https://mvnrepository.com/artifact/org.jline/jline // https://mvnrepository.com/artifact/org.jline/jline
@ -46,22 +65,6 @@ dependencies {
implementation("org.jline:jline-terminal-jansi:3.26.3") implementation("org.jline:jline-terminal-jansi:3.26.3")
// https://mvnrepository.com/artifact/org.fusesource.jansi/jansi // https://mvnrepository.com/artifact/org.fusesource.jansi/jansi
implementation("org.fusesource.jansi:jansi:2.4.1") implementation("org.fusesource.jansi:jansi:2.4.1")
/*// https://mvnrepository.com/artifact/org.jline/jline-terminal-jna
implementation("org.jline:jline-terminal-jna:3.26.3")
// https://mvnrepository.com/artifact/net.java.dev.jna/jna
implementation("net.java.dev.jna:jna:5.14.0")*/
// https://mvnrepository.com/artifact/org.projectlombok/lombok
compileOnly("org.projectlombok:lombok:1.18.34")
annotationProcessor("org.projectlombok:lombok:1.18.34")
testImplementation(platform("org.junit:junit-bom:5.10.0"))
testImplementation("org.junit.jupiter:junit-jupiter")
}
tasks.compileJava {
options.encoding = "UTF-8"
}
tasks.javadoc {
options.encoding = "UTF-8"
} }
tasks.register<Jar>("javadocJar") { tasks.register<Jar>("javadocJar") {
archiveClassifier.set("javadoc") archiveClassifier.set("javadoc")
@ -86,57 +89,6 @@ tasks.withType<ShadowJar> {
tasks.named("build") { tasks.named("build") {
dependsOn(tasks.named("shadowJar")) dependsOn(tasks.named("shadowJar"))
} }
publishing {
publications {
create<MavenPublication>("mavenJava") {
from(components["java"])
groupId = groupName
artifactId = projectArtifactId
version = projectVersion
artifact(tasks.named("javadocJar"))
artifact(tasks.named("sourcesJar"))
pom {
name.set(projectName)
description.set("A Java-based OneBot11-compatible robot framework")
licenses {
license {
name.set("The MIT License")
url.set("https://opensource.org/licenses/MIT")
}
}
developers {
developer {
id.set("wzp")
name.set("wzp")
email.set("minecraftwzpmc@gmail.com")
}
}
scm {
connection.set("scm:git:https://wzpmc.cn:3000/wzp/MyBot.git")
developerConnection.set("scm:git:https://wzpmc.cn:3000/wzp/MyBot.git")
url.set("https://wzpmc.cn:3000/wzp/MyBot")
}
}
}
}
repositories {
maven {
val releasesRepoUrl = uri("https://wzpmc.cn:90/repository/maven-releases")
val snapshotsRepoUrl = uri("https://wzpmc.cn:90/repository/maven-snapshots")
url = if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl
credentials {
username = project.findProperty("repo.user") as String? ?: ""
password = project.findProperty("repo.password") as String? ?: ""
}
}
}
}
tasks.test { tasks.test {
useJUnitPlatform() useJUnitPlatform()
} }

View File

@ -0,0 +1,79 @@
val projectName = rootProject.name
val groupName: String by extra
val projectArtifactId = "mybot-api"
val projectVersion: String by extra
plugins {
id("java")
id("maven-publish")
}
group = "cn.wzpmc"
version = projectVersion
repositories {
mavenCentral()
}
dependencies {}
tasks.register<Jar>("javadocJar") {
archiveClassifier.set("javadoc")
from(tasks.named("javadoc"))
}
tasks.register<Jar>("sourcesJar") {
archiveClassifier.set("sources")
from(sourceSets.main.get().allSource)
}
publishing {
publications {
create<MavenPublication>("mavenJava") {
from(components["java"])
groupId = groupName
artifactId = projectArtifactId
version = projectVersion
artifact(tasks.named("javadocJar"))
artifact(tasks.named("sourcesJar"))
pom {
name.set(projectName)
description.set("A Java-based OneBot11-compatible robot framework")
licenses {
license {
name.set("The MIT License")
url.set("https://opensource.org/licenses/MIT")
}
}
developers {
developer {
id.set("wzp")
name.set("wzp")
email.set("minecraftwzpmc@gmail.com")
}
}
scm {
connection.set("scm:git:https://wzpmc.cn:3000/wzp/MyBot.git")
developerConnection.set("scm:git:https://wzpmc.cn:3000/wzp/MyBot.git")
url.set("https://wzpmc.cn:3000/wzp/MyBot")
}
}
}
}
repositories {
maven {
val releasesRepoUrl = uri("https://wzpmc.cn:90/repository/maven-releases")
val snapshotsRepoUrl = uri("https://wzpmc.cn:90/repository/maven-snapshots")
url = if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl
credentials {
username = project.findProperty("repo.user") as String? ?: ""
password = project.findProperty("repo.password") as String? ?: ""
}
}
}
}
tasks.test {
useJUnitPlatform()
}

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.api; package cn.wzpmc.api;
import lombok.*; import lombok.*;
@ -6,9 +6,10 @@ import java.util.UUID;
/** /**
* 抽象请求体 * 抽象请求体
*
* @author wzp * @author wzp
* @since 2024/8/16 21:36
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/16 21:36
*/ */
@Getter @Getter
@ToString @ToString
@ -16,19 +17,22 @@ import java.util.UUID;
@NoArgsConstructor(access = AccessLevel.PROTECTED) @NoArgsConstructor(access = AccessLevel.PROTECTED)
@Setter(AccessLevel.PROTECTED) @Setter(AccessLevel.PROTECTED)
public class Action<REQUEST, RESPONSE> { public class Action<REQUEST, RESPONSE> {
/**
* 请求回调值默认随机生成不建议自己修改
*
* @since 2024/8/23 21:29 v0.0.5-dev
*/
private final UUID echo = UUID.randomUUID();
/** /**
* 请求操作类型 * 请求操作类型
*
* @since 2024/8/23 21:29 v0.0.5-dev * @since 2024/8/23 21:29 v0.0.5-dev
*/ */
private Actions action; private Actions action;
/** /**
* 请求参数 * 请求参数
*
* @since 2024/8/23 21:29 v0.0.5-dev * @since 2024/8/23 21:29 v0.0.5-dev
*/ */
private REQUEST params; private REQUEST params;
/**
* 请求回调值默认随机生成不建议自己修改
* @since 2024/8/23 21:29 v0.0.5-dev
*/
private final UUID echo = UUID.randomUUID();
} }

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.api; package cn.wzpmc.api;
import lombok.Data; import lombok.Data;
@ -6,6 +6,7 @@ import java.util.UUID;
/** /**
* 请求操作返回 * 请求操作返回
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/16 17:43 * @since 2024/8/16 17:43
@ -14,21 +15,25 @@ import java.util.UUID;
public class ActionResponse<RESPONSE> { public class ActionResponse<RESPONSE> {
/** /**
* 请求返回消息 * 请求返回消息
*
* @since 2024/8/23 21:30 v0.0.5-dev * @since 2024/8/23 21:30 v0.0.5-dev
*/ */
private final String status; private final String status;
/** /**
* 请求返回码 * 请求返回码
*
* @since 2024/8/23 21:30 v0.0.5-dev * @since 2024/8/23 21:30 v0.0.5-dev
*/ */
private final short retcode; private final short retcode;
/** /**
* 请求返回数据 * 请求返回数据
*
* @since 2024/8/23 21:31 v0.0.5-dev * @since 2024/8/23 21:31 v0.0.5-dev
*/ */
private final RESPONSE data; private final RESPONSE data;
/** /**
* 请求返回回调 * 请求返回回调
*
* @since 2024/8/23 21:31 v0.0.5-dev * @since 2024/8/23 21:31 v0.0.5-dev
*/ */
private final UUID echo; private final UUID echo;

View File

@ -1,211 +1,252 @@
package cn.wzpmc.api.api; package cn.wzpmc.api;
import cn.wzpmc.api.api.actions.message.send.SendMessageActionResponseData; import cn.wzpmc.api.actions.message.send.SendMessageActionResponseData;
import cn.wzpmc.api.entities.*; import cn.wzpmc.entities.*;
import cn.wzpmc.api.user.IBot; import cn.wzpmc.user.IBot;
import cn.wzpmc.api.user.IUser; import cn.wzpmc.user.IUser;
/** /**
* 操作类型 * 操作类型
*
* @author wzp * @author wzp
* @since 2024/8/16 22:24
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/16 22:24
*/ */
public enum Actions { public enum Actions {
/** /**
* 发送私聊消息 * 发送私聊消息
*
* @since 2024/8/23 21:07 v0.0.5-dev * @since 2024/8/23 21:07 v0.0.5-dev
*/ */
SEND_PRIVATE_MSG(SendMessageActionResponseData.class), SEND_PRIVATE_MSG(SendMessageActionResponseData.class),
/** /**
* 发送群消息 * 发送群消息
*
* @since 2024/8/23 21:07 v0.0.5-dev * @since 2024/8/23 21:07 v0.0.5-dev
*/ */
SEND_GROUP_MSG(SendMessageActionResponseData.class), SEND_GROUP_MSG(SendMessageActionResponseData.class),
/** /**
* 撤回消息 * 撤回消息
*
* @since 2024/8/23 21:07 v0.0.5-dev * @since 2024/8/23 21:07 v0.0.5-dev
*/ */
DELETE_MSG, DELETE_MSG,
/** /**
* 获取消息 * 获取消息
*
* @since 2024/8/23 21:07 v0.0.5-dev * @since 2024/8/23 21:07 v0.0.5-dev
*/ */
GET_MSG(MessageInformation.class), GET_MSG(MessageInformation.class),
/** /**
* 获取合并转发消息 * 获取合并转发消息
*
* @since 2024/8/23 21:08 v0.0.5-dev * @since 2024/8/23 21:08 v0.0.5-dev
*/ */
GET_FORWARD_MSG(MessageInformation.class), GET_FORWARD_MSG(MessageInformation.class),
/** /**
* 发送好友赞 * 发送好友赞
*
* @since 2024/8/23 21:08 v0.0.5-dev * @since 2024/8/23 21:08 v0.0.5-dev
*/ */
SEND_LIKE, SEND_LIKE,
/** /**
* 群组踢人 * 群组踢人
*
* @since 2024/8/23 21:08 v0.0.5-dev * @since 2024/8/23 21:08 v0.0.5-dev
*/ */
SET_GROUP_KICK, SET_GROUP_KICK,
/** /**
* 群组单人禁言 * 群组单人禁言
*
* @since 2024/8/23 21:08 v0.0.5-dev * @since 2024/8/23 21:08 v0.0.5-dev
*/ */
SET_GROUP_BAN, SET_GROUP_BAN,
/** /**
* 群组匿名用户禁言 * 群组匿名用户禁言
*
* @since 2024/8/23 21:08 v0.0.5-dev * @since 2024/8/23 21:08 v0.0.5-dev
*/ */
SET_GROUP_ANONYMOUS_BAN, SET_GROUP_ANONYMOUS_BAN,
/** /**
* 群组全员禁言 * 群组全员禁言
*
* @since 2024/8/23 21:09 v0.0.5-dev * @since 2024/8/23 21:09 v0.0.5-dev
*/ */
SET_GROUP_WHOLE_BAN, SET_GROUP_WHOLE_BAN,
/** /**
* 群组设置管理员 * 群组设置管理员
*
* @since 2024/8/23 21:09 v0.0.5-dev * @since 2024/8/23 21:09 v0.0.5-dev
*/ */
SET_GROUP_ADMIN, SET_GROUP_ADMIN,
/** /**
* 群组匿名 * 群组匿名
*
* @since 2024/8/23 21:09 v0.0.5-dev * @since 2024/8/23 21:09 v0.0.5-dev
*/ */
SET_GROUP_ANONYMOUS, SET_GROUP_ANONYMOUS,
/** /**
* 设置群名片群备注 * 设置群名片群备注
*
* @since 2024/8/23 21:09 v0.0.5-dev * @since 2024/8/23 21:09 v0.0.5-dev
*/ */
SET_GROUP_CARD, SET_GROUP_CARD,
/** /**
* 设置群名 * 设置群名
*
* @since 2024/8/24 19:04 v0.0.6-dev * @since 2024/8/24 19:04 v0.0.6-dev
*/ */
SET_GROUP_NAME, SET_GROUP_NAME,
/** /**
* 退出群组 * 退出群组
*
* @since 2024/8/24 20:01 v0.0.6-dev * @since 2024/8/24 20:01 v0.0.6-dev
*/ */
SET_GROUP_LEAVE, SET_GROUP_LEAVE,
/** /**
* 设置群组专属头衔 * 设置群组专属头衔
*
* @since 2024/8/24 20:01 v0.0.6-dev * @since 2024/8/24 20:01 v0.0.6-dev
*/ */
SET_GROUP_SPECIAL_TITLE, SET_GROUP_SPECIAL_TITLE,
/** /**
* 处理加好友请求 * 处理加好友请求
*
* @since 2024/8/24 20:01 v0.0.6-dev * @since 2024/8/24 20:01 v0.0.6-dev
*/ */
SET_FRIEND_ADD_REQUEST, SET_FRIEND_ADD_REQUEST,
/** /**
* 处理加群请求邀请 * 处理加群请求邀请
*
* @since 2024/8/24 20:02 v0.0.6-dev * @since 2024/8/24 20:02 v0.0.6-dev
*/ */
SET_GROUP_ADD_REQUEST, SET_GROUP_ADD_REQUEST,
/** /**
* 获取登录号信息 * 获取登录号信息
*
* @since 2024/8/24 20:02 v0.0.6-dev * @since 2024/8/24 20:02 v0.0.6-dev
*/ */
GET_LOGIN_INFO(IBot.class), GET_LOGIN_INFO(IBot.class),
/** /**
* 获取陌生人信息 * 获取陌生人信息
*
* @since 2024/8/24 20:02 v0.0.6-dev * @since 2024/8/24 20:02 v0.0.6-dev
*/ */
GET_STRANGER_INFO(IUser.class), GET_STRANGER_INFO(IUser.class),
/** /**
* 获取好友列表 * 获取好友列表
*
* @since 2024/8/24 20:02 v0.0.6-dev * @since 2024/8/24 20:02 v0.0.6-dev
*/ */
GET_FRIEND_LIST(MessageInformation.class, true), GET_FRIEND_LIST(MessageInformation.class, true),
/** /**
* 获取群信息 * 获取群信息
*
* @since 2024/8/24 20:02 v0.0.6-dev * @since 2024/8/24 20:02 v0.0.6-dev
*/ */
GET_GROUP_INFO(GroupInformation.class), GET_GROUP_INFO(GroupInformation.class),
/** /**
* 获取群列表 * 获取群列表
*
* @since 2024/8/24 20:02 v0.0.6-dev * @since 2024/8/24 20:02 v0.0.6-dev
*/ */
GET_GROUP_LIST(GroupInformation.class, true), GET_GROUP_LIST(GroupInformation.class, true),
/** /**
* 获取群成员信息 * 获取群成员信息
*
* @since 2024/8/24 20:02 v0.0.6-dev * @since 2024/8/24 20:02 v0.0.6-dev
*/ */
GET_GROUP_MEMBER_INFO(GroupMemberInformation.class), GET_GROUP_MEMBER_INFO(GroupMemberInformation.class),
/** /**
* 获取群成员列表 * 获取群成员列表
*
* @since 2024/8/24 20:03 v0.0.6-dev * @since 2024/8/24 20:03 v0.0.6-dev
*/ */
GET_GROUP_MEMBER_LIST(GroupMemberInformation.class, true), GET_GROUP_MEMBER_LIST(GroupMemberInformation.class, true),
/** /**
* 获取群荣誉信息 * 获取群荣誉信息
*
* @since 2024/8/24 20:03 v0.0.6-dev * @since 2024/8/24 20:03 v0.0.6-dev
*/ */
GET_GROUP_HONOR_INFO(HonorInformation.class), GET_GROUP_HONOR_INFO(HonorInformation.class),
/** /**
* 获取 Cookies * 获取 Cookies
*
* @since 2024/8/24 20:03 v0.0.6-dev * @since 2024/8/24 20:03 v0.0.6-dev
*/ */
GET_COOKIES(CookiesInformation.class), GET_COOKIES(CookiesInformation.class),
/** /**
* 获取 CSRF Token * 获取 CSRF Token
*
* @since 2024/8/24 20:04 v0.0.6-dev * @since 2024/8/24 20:04 v0.0.6-dev
*/ */
GET_CSRF_TOKEN(CsrfTokenInformation.class), GET_CSRF_TOKEN(CsrfTokenInformation.class),
/** /**
* 获取 QQ 相关接口凭证 * 获取 QQ 相关接口凭证
*
* @since 2024/8/24 20:04 v0.0.6-dev * @since 2024/8/24 20:04 v0.0.6-dev
*/ */
GET_CREDENTIALS(CredentialsInformation.class), GET_CREDENTIALS(CredentialsInformation.class),
/** /**
* 获取语音 * 获取语音
*
* @since 2024/8/24 20:04 v0.0.6-dev * @since 2024/8/24 20:04 v0.0.6-dev
*/ */
GET_RECORD(FilePathInformation.class), GET_RECORD(FilePathInformation.class),
/** /**
* 获取图片 * 获取图片
*
* @since 2024/8/24 20:04 v0.0.6-dev * @since 2024/8/24 20:04 v0.0.6-dev
*/ */
GET_IMAGE(FilePathInformation.class), GET_IMAGE(FilePathInformation.class),
/** /**
* 检查是否可以发送图片 * 检查是否可以发送图片
*
* @since 2024/8/24 20:04 v0.0.6-dev * @since 2024/8/24 20:04 v0.0.6-dev
*/ */
CAN_SEND_IMAGE(YesNo.class), CAN_SEND_IMAGE(YesNo.class),
/** /**
* 检查是否可以发送语音 * 检查是否可以发送语音
*
* @since 2024/8/24 20:04 v0.0.6-dev * @since 2024/8/24 20:04 v0.0.6-dev
*/ */
CAN_SEND_RECORD(YesNo.class), CAN_SEND_RECORD(YesNo.class),
/** /**
* 获取运行状态 * 获取运行状态
*
* @since 2024/8/24 20:04 v0.0.6-dev * @since 2024/8/24 20:04 v0.0.6-dev
*/ */
GET_STATUS(BotStatus.class), GET_STATUS(BotStatus.class),
/** /**
* 获取版本信息 * 获取版本信息
*
* @since 2024/8/24 20:04 v0.0.6-dev * @since 2024/8/24 20:04 v0.0.6-dev
*/ */
GET_VERSION_INFO(VersionInformation.class), GET_VERSION_INFO(VersionInformation.class),
/** /**
* 重启 OneBot 实现 * 重启 OneBot 实现
*
* @since 2024/8/24 20:05 v0.0.6-dev * @since 2024/8/24 20:05 v0.0.6-dev
*/ */
SET_RESTART, SET_RESTART,
/** /**
* 清理缓存 * 清理缓存
*
* @since 2024/8/24 20:05 v0.0.6-dev * @since 2024/8/24 20:05 v0.0.6-dev
*/ */
CLEAN_CACHE; CLEAN_CACHE;
public final Class<?> responseClass; public final Class<?> responseClass;
public final boolean array; public final boolean array;
Actions(Class<?> responseClass, boolean array) { Actions(Class<?> responseClass, boolean array) {
this.responseClass = responseClass; this.responseClass = responseClass;
this.array = array; this.array = array;
} }
Actions(Class<?> responseClass) { Actions(Class<?> responseClass) {
this(responseClass, false); this(responseClass, false);
} }
Actions() { Actions() {
this(Void.class); this(Void.class);
} }

View File

@ -1,7 +1,8 @@
package cn.wzpmc.api.api; package cn.wzpmc.api;
/** /**
* 主Api接口 * 主Api接口
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/16 17:31 * @since 2024/8/16 17:31
@ -9,13 +10,14 @@ package cn.wzpmc.api.api;
public interface IMainApi { public interface IMainApi {
/** /**
* 进行请求操作 * 进行请求操作
* @author wzp *
* @since 2024/8/23 21:32 v0.0.5-dev
* @param packet 请求包 * @param packet 请求包
* @return 请求返回包
* @param <REQUEST> 请求类型 * @param <REQUEST> 请求类型
* @param <RESPONSE> 返回类型 * @param <RESPONSE> 返回类型
* @return 请求返回包
* @throws InterruptedException 请求过程中出现Ctrl+C时抛出 * @throws InterruptedException 请求过程中出现Ctrl+C时抛出
* @author wzp
* @since 2024/8/23 21:32 v0.0.5-dev
*/ */
<REQUEST, RESPONSE> ActionResponse<RESPONSE> doApiCall(Action<REQUEST, RESPONSE> packet) throws InterruptedException; <REQUEST, RESPONSE> ActionResponse<RESPONSE> doApiCall(Action<REQUEST, RESPONSE> packet) throws InterruptedException;
} }

View File

@ -1,10 +1,11 @@
package cn.wzpmc.api.api.actions.message; package cn.wzpmc.api.actions.message;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
/** /**
* 清理缓存 * 清理缓存
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:46 * @since 2024/8/24 20:46
@ -12,6 +13,7 @@ import cn.wzpmc.api.api.Actions;
public class CleanCacheAction extends Action<Void, Void> { public class CleanCacheAction extends Action<Void, Void> {
/** /**
* 清理缓存 * 清理缓存
*
* @author wzp * @author wzp
* @since 2024/8/24 23:59 v0.0.6-dev * @since 2024/8/24 23:59 v0.0.6-dev
*/ */

View File

@ -1,11 +1,12 @@
package cn.wzpmc.api.api.actions.message.can; package cn.wzpmc.api.actions.message.can;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.YesNo; import cn.wzpmc.entities.YesNo;
/** /**
* 检查是否可以发送图片 * 检查是否可以发送图片
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:45 * @since 2024/8/24 20:45
@ -13,6 +14,7 @@ import cn.wzpmc.api.entities.YesNo;
public class CanSendImageAction extends Action<Void, YesNo> { public class CanSendImageAction extends Action<Void, YesNo> {
/** /**
* 检查是否可以发送图片 * 检查是否可以发送图片
*
* @author wzp * @author wzp
* @since 2024/8/24 23:51 v0.0.6-dev * @since 2024/8/24 23:51 v0.0.6-dev
*/ */

View File

@ -1,11 +1,12 @@
package cn.wzpmc.api.api.actions.message.can; package cn.wzpmc.api.actions.message.can;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.YesNo; import cn.wzpmc.entities.YesNo;
/** /**
* 检查是否可以发送语音 * 检查是否可以发送语音
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:45 * @since 2024/8/24 20:45
@ -13,6 +14,7 @@ import cn.wzpmc.api.entities.YesNo;
public class CanSendRecordAction extends Action<Void, YesNo> { public class CanSendRecordAction extends Action<Void, YesNo> {
/** /**
* 检查是否可以发送语音 * 检查是否可以发送语音
*
* @author wzp * @author wzp
* @since 2024/8/24 23:51 v0.0.6-dev * @since 2024/8/24 23:51 v0.0.6-dev
*/ */

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.delete; package cn.wzpmc.api.actions.message.delete;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 撤回消息 * 撤回消息
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/17 23:02 * @since 2024/8/17 23:02
@ -15,19 +16,22 @@ import lombok.Data;
public class DeleteMessageAction extends Action<DeleteMessageAction.Params, Void> { public class DeleteMessageAction extends Action<DeleteMessageAction.Params, Void> {
/** /**
* 撤回消息 * 撤回消息
*
* @param messageId 消息ID
* @author wzp * @author wzp
* @since 2024/8/23 21:09 v0.0.5-dev * @since 2024/8/23 21:09 v0.0.5-dev
* @param messageId 消息ID
*/ */
public DeleteMessageAction(Integer messageId) { public DeleteMessageAction(Integer messageId) {
super.setAction(Actions.DELETE_MSG); super.setAction(Actions.DELETE_MSG);
super.setParams(new Params(messageId)); super.setParams(new Params(messageId));
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static class Params { public static class Params {
/** /**
* 消息ID * 消息ID
*
* @since 2024/8/17 23:03 v0.0.5-dev * @since 2024/8/17 23:03 v0.0.5-dev
*/ */
@JSONField(name = "message_id") @JSONField(name = "message_id")

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.CookiesInformation; import cn.wzpmc.entities.CookiesInformation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 获取 Cookies * 获取 Cookies
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:43 * @since 2024/8/24 20:43
@ -15,9 +16,10 @@ import lombok.Data;
public class GetCookiesAction extends Action<GetCookiesAction.Params, CookiesInformation> { public class GetCookiesAction extends Action<GetCookiesAction.Params, CookiesInformation> {
/** /**
* 获取 Cookies * 获取 Cookies
*
* @param domain 需要获取 cookies 的域名
* @author wzp * @author wzp
* @since 2024/8/24 23:51 v0.0.6-dev * @since 2024/8/24 23:51 v0.0.6-dev
* @param domain 需要获取 cookies 的域名
*/ */
public GetCookiesAction(String domain) { public GetCookiesAction(String domain) {
super.setAction(Actions.GET_COOKIES); super.setAction(Actions.GET_COOKIES);
@ -26,17 +28,20 @@ public class GetCookiesAction extends Action<GetCookiesAction.Params, CookiesInf
/** /**
* 获取 Cookies * 获取 Cookies
*
* @author wzp * @author wzp
* @since 2024/8/24 23:51 v0.0.6-dev * @since 2024/8/24 23:51 v0.0.6-dev
*/ */
public GetCookiesAction() { public GetCookiesAction() {
this(""); this("");
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 需要获取 cookies 的域名 * 需要获取 cookies 的域名
*
* @since 2024/8/24 23:32 v0.0.6-dev * @since 2024/8/24 23:32 v0.0.6-dev
*/ */
private String domain; private String domain;

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.CredentialsInformation; import cn.wzpmc.entities.CredentialsInformation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 获取 QQ 相关接口凭证 * 获取 QQ 相关接口凭证
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:44 * @since 2024/8/24 20:44
@ -15,9 +16,10 @@ import lombok.Data;
public class GetCredentialsAction extends Action<GetCredentialsAction.Params, CredentialsInformation> { public class GetCredentialsAction extends Action<GetCredentialsAction.Params, CredentialsInformation> {
/** /**
* 获取 QQ 相关接口凭证 * 获取 QQ 相关接口凭证
*
* @param domain 需要获取 cookies 的域名
* @author wzp * @author wzp
* @since 2024/8/24 23:51 v0.0.6-dev * @since 2024/8/24 23:51 v0.0.6-dev
* @param domain 需要获取 cookies 的域名
*/ */
public GetCredentialsAction(String domain) { public GetCredentialsAction(String domain) {
super.setAction(Actions.GET_COOKIES); super.setAction(Actions.GET_COOKIES);
@ -26,17 +28,20 @@ public class GetCredentialsAction extends Action<GetCredentialsAction.Params, Cr
/** /**
* 获取 QQ 相关接口凭证 * 获取 QQ 相关接口凭证
*
* @author wzp * @author wzp
* @since 2024/8/24 23:52 v0.0.6-dev * @since 2024/8/24 23:52 v0.0.6-dev
*/ */
public GetCredentialsAction() { public GetCredentialsAction() {
this(""); this("");
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 需要获取 cookies 的域名 * 需要获取 cookies 的域名
*
* @since 2024/8/24 23:32 v0.0.6-dev * @since 2024/8/24 23:32 v0.0.6-dev
*/ */
private String domain; private String domain;

View File

@ -1,11 +1,12 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.CsrfTokenInformation; import cn.wzpmc.entities.CsrfTokenInformation;
/** /**
* 获取 CSRF Token * 获取 CSRF Token
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:44 * @since 2024/8/24 20:44
@ -13,6 +14,7 @@ import cn.wzpmc.api.entities.CsrfTokenInformation;
public class GetCsrfTokenAction extends Action<Void, CsrfTokenInformation> { public class GetCsrfTokenAction extends Action<Void, CsrfTokenInformation> {
/** /**
* 获取 CSRF Token * 获取 CSRF Token
*
* @author wzp * @author wzp
* @since 2024/8/24 23:52 v0.0.6-dev * @since 2024/8/24 23:52 v0.0.6-dev
*/ */

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.MessageInformation; import cn.wzpmc.entities.MessageInformation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 获取合并转发消息 * 获取合并转发消息
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/23 19:46 * @since 2024/8/23 19:46
@ -15,19 +16,22 @@ import lombok.Data;
public class GetForwardMessageAction extends Action<GetForwardMessageAction.Params, MessageInformation> { public class GetForwardMessageAction extends Action<GetForwardMessageAction.Params, MessageInformation> {
/** /**
* 获取合并转发消息 * 获取合并转发消息
*
* @param id 合并转发ID
* @author wzp * @author wzp
* @since 2024/8/23 21:10 v0.0.5-dev * @since 2024/8/23 21:10 v0.0.5-dev
* @param id 合并转发ID
*/ */
public GetForwardMessageAction(String id) { public GetForwardMessageAction(String id) {
super.setAction(Actions.GET_FORWARD_MSG); super.setAction(Actions.GET_FORWARD_MSG);
super.setParams(new GetForwardMessageAction.Params(id)); super.setParams(new GetForwardMessageAction.Params(id));
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 合并转发ID * 合并转发ID
*
* @since 2024/8/23 19:47 v0.0.5-dev * @since 2024/8/23 19:47 v0.0.5-dev
*/ */
private String id; private String id;

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.MessageInformation; import cn.wzpmc.entities.MessageInformation;
import java.util.List; import java.util.List;
/** /**
* 获取好友列表 * 获取好友列表
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:41 * @since 2024/8/24 20:41
@ -15,6 +16,7 @@ import java.util.List;
public class GetFriendListAction extends Action<Void, List<MessageInformation>> { public class GetFriendListAction extends Action<Void, List<MessageInformation>> {
/** /**
* 获取好友列表 * 获取好友列表
*
* @author wzp * @author wzp
* @since 2024/8/24 23:52 v0.0.6-dev * @since 2024/8/24 23:52 v0.0.6-dev
*/ */

View File

@ -1,15 +1,16 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.HonorInformation; import cn.wzpmc.entities.HonorInformation;
import cn.wzpmc.api.entities.HonorType; import cn.wzpmc.entities.HonorType;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 获取群荣誉信息 * 获取群荣誉信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:43 * @since 2024/8/24 20:43
@ -17,10 +18,11 @@ import lombok.Data;
public class GetGroupHonorInfoAction extends Action<GetGroupHonorInfoAction.Params, HonorInformation> { public class GetGroupHonorInfoAction extends Action<GetGroupHonorInfoAction.Params, HonorInformation> {
/** /**
* 获取群荣誉信息 * 获取群荣誉信息
* @author wzp *
* @since 2024/8/24 23:52 v0.0.6-dev
* @param groupId 群号 * @param groupId 群号
* @param type 要获取的群荣誉类型可传入 talkative performer legend strong_newbie emotion 以分别获取单个类型的群荣誉数据或传入 all 获取所有数据 * @param type 要获取的群荣誉类型可传入 talkative performer legend strong_newbie emotion 以分别获取单个类型的群荣誉数据或传入 all 获取所有数据
* @author wzp
* @since 2024/8/24 23:52 v0.0.6-dev
*/ */
public GetGroupHonorInfoAction(Long groupId, HonorType type) { public GetGroupHonorInfoAction(Long groupId, HonorType type) {
this.setAction(Actions.GET_GROUP_HONOR_INFO); this.setAction(Actions.GET_GROUP_HONOR_INFO);
@ -29,24 +31,28 @@ public class GetGroupHonorInfoAction extends Action<GetGroupHonorInfoAction.Para
/** /**
* 获取群荣誉信息 * 获取群荣誉信息
*
* @param groupId 群号
* @author wzp * @author wzp
* @since 2024/8/24 23:53 v0.0.6-dev * @since 2024/8/24 23:53 v0.0.6-dev
* @param groupId 群号
*/ */
public GetGroupHonorInfoAction(Long groupId) { public GetGroupHonorInfoAction(Long groupId) {
this(groupId, HonorType.ALL); this(groupId, HonorType.ALL);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/24 23:52 v0.0.6-dev * @since 2024/8/24 23:52 v0.0.6-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 要获取的群荣誉类型可传入 talkative performer legend strong_newbie emotion 以分别获取单个类型的群荣誉数据或传入 all 获取所有数据 * 要获取的群荣誉类型可传入 talkative performer legend strong_newbie emotion 以分别获取单个类型的群荣誉数据或传入 all 获取所有数据
*
* @since 2024/8/24 23:52 v0.0.6-dev * @since 2024/8/24 23:52 v0.0.6-dev
*/ */
private HonorType type; private HonorType type;

View File

@ -1,14 +1,15 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.GroupInformation; import cn.wzpmc.entities.GroupInformation;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 获取群信息 * 获取群信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:41 * @since 2024/8/24 20:41
@ -16,10 +17,11 @@ import lombok.Data;
public class GetGroupInfoAction extends Action<GetGroupInfoAction.Params, GroupInformation> { public class GetGroupInfoAction extends Action<GetGroupInfoAction.Params, GroupInformation> {
/** /**
* 获取群信息 * 获取群信息
* @author wzp *
* @since 2024/8/24 23:53 v0.0.6-dev
* @param groupId 群号 * @param groupId 群号
* @param noCache 是否不使用缓存使用缓存可能更新不及时但响应更快 * @param noCache 是否不使用缓存使用缓存可能更新不及时但响应更快
* @author wzp
* @since 2024/8/24 23:53 v0.0.6-dev
*/ */
public GetGroupInfoAction(Long groupId, Boolean noCache) { public GetGroupInfoAction(Long groupId, Boolean noCache) {
super.setAction(Actions.GET_GROUP_INFO); super.setAction(Actions.GET_GROUP_INFO);
@ -28,24 +30,28 @@ public class GetGroupInfoAction extends Action<GetGroupInfoAction.Params, GroupI
/** /**
* 获取群信息 * 获取群信息
*
* @param groupId 群号
* @author wzp * @author wzp
* @since 2024/8/24 23:53 v0.0.6-dev * @since 2024/8/24 23:53 v0.0.6-dev
* @param groupId 群号
*/ */
public GetGroupInfoAction(Long groupId) { public GetGroupInfoAction(Long groupId) {
this(groupId, false); this(groupId, false);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/24 22:58 v0.0.6-dev * @since 2024/8/24 22:58 v0.0.6-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 是否不使用缓存使用缓存可能更新不及时但响应更快 * 是否不使用缓存使用缓存可能更新不及时但响应更快
*
* @since 2024/8/24 22:58 v0.0.6-dev * @since 2024/8/24 22:58 v0.0.6-dev
*/ */
@JSONField(name = "no_cache", defaultValue = "false") @JSONField(name = "no_cache", defaultValue = "false")

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.GroupInformation; import cn.wzpmc.entities.GroupInformation;
import java.util.List; import java.util.List;
/** /**
* 获取群列表 * 获取群列表
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:42 * @since 2024/8/24 20:42
@ -15,6 +16,7 @@ import java.util.List;
public class GetGroupListAction extends Action<Void, List<GroupInformation>> { public class GetGroupListAction extends Action<Void, List<GroupInformation>> {
/** /**
* 获取群列表 * 获取群列表
*
* @author wzp * @author wzp
* @since 2024/8/24 23:54 v0.0.6-dev * @since 2024/8/24 23:54 v0.0.6-dev
*/ */

View File

@ -1,14 +1,15 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.GroupMemberInformation; import cn.wzpmc.entities.GroupMemberInformation;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 获取群成员信息 * 获取群成员信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:42 * @since 2024/8/24 20:42
@ -16,11 +17,12 @@ import lombok.Data;
public class GetGroupMemberInfoAction extends Action<GetGroupMemberInfoAction.Params, GroupMemberInformation> { public class GetGroupMemberInfoAction extends Action<GetGroupMemberInfoAction.Params, GroupMemberInformation> {
/** /**
* 获取群成员信息 * 获取群成员信息
* @author wzp *
* @since 2024/8/24 23:54 v0.0.6-dev
* @param groupId 群号 * @param groupId 群号
* @param userId QQ * @param userId QQ
* @param noCache 是否不使用缓存 * @param noCache 是否不使用缓存
* @author wzp
* @since 2024/8/24 23:54 v0.0.6-dev
*/ */
public GetGroupMemberInfoAction(Long groupId, Long userId, Boolean noCache) { public GetGroupMemberInfoAction(Long groupId, Long userId, Boolean noCache) {
super.setAction(Actions.GET_GROUP_MEMBER_INFO); super.setAction(Actions.GET_GROUP_MEMBER_INFO);
@ -29,31 +31,36 @@ public class GetGroupMemberInfoAction extends Action<GetGroupMemberInfoAction.Pa
/** /**
* 获取群成员信息 * 获取群成员信息
* @author wzp *
* @since 2024/8/24 23:54 v0.0.6-dev
* @param groupId 群号 * @param groupId 群号
* @param userId QQ * @param userId QQ
* @author wzp
* @since 2024/8/24 23:54 v0.0.6-dev
*/ */
public GetGroupMemberInfoAction(Long groupId, Long userId) { public GetGroupMemberInfoAction(Long groupId, Long userId) {
this(groupId, userId, false); this(groupId, userId, false);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/24 23:02 v0.0.6-dev * @since 2024/8/24 23:02 v0.0.6-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* QQ * QQ
*
* @since 2024/8/24 23:02 v0.0.6-dev * @since 2024/8/24 23:02 v0.0.6-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 是否不使用缓存 * 是否不使用缓存
*
* @since 2024/8/24 23:02 v0.0.6-dev * @since 2024/8/24 23:02 v0.0.6-dev
*/ */
@JSONField(name = "no_cache", defaultValue = "false") @JSONField(name = "no_cache", defaultValue = "false")

View File

@ -1,8 +1,8 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.GroupMemberInformation; import cn.wzpmc.entities.GroupMemberInformation;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -11,6 +11,7 @@ import java.util.List;
/** /**
* 获取群成员列表 * 获取群成员列表
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:42 * @since 2024/8/24 20:42
@ -18,19 +19,22 @@ import java.util.List;
public class GetGroupMemberListAction extends Action<GetGroupMemberListAction.Params, List<GroupMemberInformation>> { public class GetGroupMemberListAction extends Action<GetGroupMemberListAction.Params, List<GroupMemberInformation>> {
/** /**
* 获取群成员列表 * 获取群成员列表
*
* @param groupId 群号
* @author wzp * @author wzp
* @since 2024/8/24 23:54 v0.0.6-dev * @since 2024/8/24 23:54 v0.0.6-dev
* @param groupId 群号
*/ */
public GetGroupMemberListAction(Long groupId) { public GetGroupMemberListAction(Long groupId) {
super.setAction(Actions.GET_GROUP_MEMBER_LIST); super.setAction(Actions.GET_GROUP_MEMBER_LIST);
super.setParams(new Params(groupId)); super.setParams(new Params(groupId));
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/24 23:08 v0.0.6-dev * @since 2024/8/24 23:08 v0.0.6-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.FilePathInformation; import cn.wzpmc.entities.FilePathInformation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 获取图片 * 获取图片
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:44 * @since 2024/8/24 20:44
@ -15,19 +16,22 @@ import lombok.Data;
public class GetImageAction extends Action<GetImageAction.Params, FilePathInformation> { public class GetImageAction extends Action<GetImageAction.Params, FilePathInformation> {
/** /**
* 获取图片 * 获取图片
*
* @param file 收到的图片文件名消息段的 file 参数 6B4DE3DFD1BD271E3297859D41C530F5.jpg
* @author wzp * @author wzp
* @since 2024/8/24 23:55 v0.0.6-dev * @since 2024/8/24 23:55 v0.0.6-dev
* @param file 收到的图片文件名消息段的 file 参数 6B4DE3DFD1BD271E3297859D41C530F5.jpg
*/ */
public GetImageAction(String file) { public GetImageAction(String file) {
super.setAction(Actions.GET_IMAGE); super.setAction(Actions.GET_IMAGE);
super.setParams(new Params(file)); super.setParams(new Params(file));
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 收到的图片文件名消息段的 file 参数 6B4DE3DFD1BD271E3297859D41C530F5.jpg * 收到的图片文件名消息段的 file 参数 6B4DE3DFD1BD271E3297859D41C530F5.jpg
*
* @since 2024/8/24 23:41 v0.0.6-dev * @since 2024/8/24 23:41 v0.0.6-dev
*/ */
private String file; private String file;

View File

@ -1,11 +1,12 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.user.IBot; import cn.wzpmc.user.IBot;
/** /**
* 获取登录号信息 * 获取登录号信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:18 * @since 2024/8/24 20:18
@ -13,6 +14,7 @@ import cn.wzpmc.api.user.IBot;
public class GetLoginInfoAction extends Action<Void, IBot> { public class GetLoginInfoAction extends Action<Void, IBot> {
/** /**
* 获取登录号信息 * 获取登录号信息
*
* @author wzp * @author wzp
* @since 2024/8/24 23:55 v0.0.6-dev * @since 2024/8/24 23:55 v0.0.6-dev
*/ */

View File

@ -1,14 +1,15 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.MessageInformation; import cn.wzpmc.entities.MessageInformation;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 获取消息 * 获取消息
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/17 23:07 * @since 2024/8/17 23:07
@ -16,19 +17,22 @@ import lombok.Data;
public class GetMessageAction extends Action<GetMessageAction.Params, MessageInformation> { public class GetMessageAction extends Action<GetMessageAction.Params, MessageInformation> {
/** /**
* 获取消息 * 获取消息
*
* @param messageId 消息 ID
* @author wzp * @author wzp
* @since 2024/8/23 21:11 v0.0.5-dev * @since 2024/8/23 21:11 v0.0.5-dev
* @param messageId 消息 ID
*/ */
public GetMessageAction(Integer messageId) { public GetMessageAction(Integer messageId) {
super.setAction(Actions.GET_MSG); super.setAction(Actions.GET_MSG);
super.setParams(new Params(messageId)); super.setParams(new Params(messageId));
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static class Params { public static class Params {
/** /**
* 消息 ID * 消息 ID
*
* @since 2024/8/23 21:11 v0.0.5-dev * @since 2024/8/23 21:11 v0.0.5-dev
*/ */
@JSONField(name = "message_id") @JSONField(name = "message_id")

View File

@ -1,14 +1,15 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.FilePathInformation; import cn.wzpmc.entities.FilePathInformation;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 获取语音 * 获取语音
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:44 * @since 2024/8/24 20:44
@ -16,25 +17,29 @@ import lombok.Data;
public class GetRecordAction extends Action<GetRecordAction.Params, FilePathInformation> { public class GetRecordAction extends Action<GetRecordAction.Params, FilePathInformation> {
/** /**
* 获取语音 * 获取语音
* @author wzp *
* @since 2024/8/24 23:55 v0.0.6-dev
* @param file 收到的语音文件名消息段的 file 参数 0B38145AA44505000B38145AA4450500.silk * @param file 收到的语音文件名消息段的 file 参数 0B38145AA44505000B38145AA4450500.silk
* @param outFormat 要转换到的格式目前支持 mp3amrwmam4aspxoggwavflac * @param outFormat 要转换到的格式目前支持 mp3amrwmam4aspxoggwavflac
* @author wzp
* @since 2024/8/24 23:55 v0.0.6-dev
*/ */
public GetRecordAction(String file, String outFormat) { public GetRecordAction(String file, String outFormat) {
super.setAction(Actions.GET_RECORD); super.setAction(Actions.GET_RECORD);
super.setParams(new Params(file, outFormat)); super.setParams(new Params(file, outFormat));
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 收到的语音文件名消息段的 file 参数 0B38145AA44505000B38145AA4450500.silk * 收到的语音文件名消息段的 file 参数 0B38145AA44505000B38145AA4450500.silk
*
* @since 2024/8/24 23:35 v0.0.6-dev * @since 2024/8/24 23:35 v0.0.6-dev
*/ */
private String file; private String file;
/** /**
* 要转换到的格式目前支持 mp3amrwmam4aspxoggwavflac * 要转换到的格式目前支持 mp3amrwmam4aspxoggwavflac
*
* @since 2024/8/24 23:35 v0.0.6-dev * @since 2024/8/24 23:35 v0.0.6-dev
*/ */
@JSONField(name = "out_format") @JSONField(name = "out_format")

View File

@ -1,11 +1,12 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.BotStatus; import cn.wzpmc.entities.BotStatus;
/** /**
* 获取运行状态 * 获取运行状态
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:45 * @since 2024/8/24 20:45
@ -13,6 +14,7 @@ import cn.wzpmc.api.entities.BotStatus;
public class GetStatusAction extends Action<Void, BotStatus> { public class GetStatusAction extends Action<Void, BotStatus> {
/** /**
* 获取运行状态 * 获取运行状态
*
* @author wzp * @author wzp
* @since 2024/8/24 23:55 v0.0.6-dev * @since 2024/8/24 23:55 v0.0.6-dev
*/ */

View File

@ -1,14 +1,15 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.user.IUser; import cn.wzpmc.user.IUser;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 获取陌生人信息 * 获取陌生人信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:41 * @since 2024/8/24 20:41
@ -16,10 +17,11 @@ import lombok.Data;
public class GetStrangerInfoAction extends Action<GetStrangerInfoAction.Params, IUser> { public class GetStrangerInfoAction extends Action<GetStrangerInfoAction.Params, IUser> {
/** /**
* 获取陌生人信息 * 获取陌生人信息
* @author wzp *
* @since 2024/8/24 23:55 v0.0.6-dev
* @param userId QQ * @param userId QQ
* @param noCache 是否不使用缓存使用缓存可能更新不及时但响应更快 * @param noCache 是否不使用缓存使用缓存可能更新不及时但响应更快
* @author wzp
* @since 2024/8/24 23:55 v0.0.6-dev
*/ */
public GetStrangerInfoAction(Long userId, boolean noCache) { public GetStrangerInfoAction(Long userId, boolean noCache) {
super.setAction(Actions.GET_STRANGER_INFO); super.setAction(Actions.GET_STRANGER_INFO);
@ -28,24 +30,28 @@ public class GetStrangerInfoAction extends Action<GetStrangerInfoAction.Params,
/** /**
* 获取陌生人信息 * 获取陌生人信息
*
* @param userId QQ
* @author wzp * @author wzp
* @since 2024/8/24 23:55 v0.0.6-dev * @since 2024/8/24 23:55 v0.0.6-dev
* @param userId QQ
*/ */
public GetStrangerInfoAction(Long userId) { public GetStrangerInfoAction(Long userId) {
this(userId, false); this(userId, false);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* QQ * QQ
*
* @since 2024/8/24 22:52 v0.0.6-dev * @since 2024/8/24 22:52 v0.0.6-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 是否不使用缓存使用缓存可能更新不及时但响应更快 * 是否不使用缓存使用缓存可能更新不及时但响应更快
*
* @since 2024/8/24 22:52 v0.0.6-dev * @since 2024/8/24 22:52 v0.0.6-dev
*/ */
@JSONField(name = "no_cache", defaultValue = "false") @JSONField(name = "no_cache", defaultValue = "false")

View File

@ -1,11 +1,12 @@
package cn.wzpmc.api.api.actions.message.get; package cn.wzpmc.api.actions.message.get;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.entities.VersionInformation; import cn.wzpmc.entities.VersionInformation;
/** /**
* 获取版本信息 * 获取版本信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:45 * @since 2024/8/24 20:45
@ -13,6 +14,7 @@ import cn.wzpmc.api.entities.VersionInformation;
public class GetVersionInfoAction extends Action<Void, VersionInformation> { public class GetVersionInfoAction extends Action<Void, VersionInformation> {
/** /**
* 获取版本信息 * 获取版本信息
*
* @author wzp * @author wzp
* @since 2024/8/24 23:55 v0.0.6-dev * @since 2024/8/24 23:55 v0.0.6-dev
*/ */

View File

@ -1,14 +1,15 @@
package cn.wzpmc.api.api.actions.message.send; package cn.wzpmc.api.actions.message.send;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.message.MessageComponent; import cn.wzpmc.message.MessageComponent;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 发送群消息 * 发送群消息
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/17 22:52 * @since 2024/8/17 22:52
@ -16,11 +17,12 @@ import lombok.Data;
public class SendGroupMessageAction extends Action<SendGroupMessageAction.Params, SendMessageActionResponseData> { public class SendGroupMessageAction extends Action<SendGroupMessageAction.Params, SendMessageActionResponseData> {
/** /**
* 发送群消息 * 发送群消息
* @author wzp *
* @since 2024/8/23 21:11 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param message 要发送的内容 * @param message 要发送的内容
* @param autoEscape 消息内容是否作为纯文本发送即不解析 CQ 只在 message 字段是字符串时有效 * @param autoEscape 消息内容是否作为纯文本发送即不解析 CQ 只在 message 字段是字符串时有效
* @author wzp
* @since 2024/8/23 21:11 v0.0.5-dev
*/ */
public SendGroupMessageAction(Long groupId, MessageComponent message, boolean autoEscape) { public SendGroupMessageAction(Long groupId, MessageComponent message, boolean autoEscape) {
super.setAction(Actions.SEND_GROUP_MSG); super.setAction(Actions.SEND_GROUP_MSG);
@ -29,30 +31,35 @@ public class SendGroupMessageAction extends Action<SendGroupMessageAction.Params
/** /**
* 发送群消息 * 发送群消息
* @author wzp *
* @since 2024/8/23 21:11 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param message 要发送的内容 * @param message 要发送的内容
* @author wzp
* @since 2024/8/23 21:11 v0.0.5-dev
*/ */
public SendGroupMessageAction(Long groupId, MessageComponent message) { public SendGroupMessageAction(Long groupId, MessageComponent message) {
this(groupId, message, false); this(groupId, message, false);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static class Params { public static class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/17 22:54 v0.0.5-dev * @since 2024/8/17 22:54 v0.0.5-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 要发送的内容 * 要发送的内容
*
* @since 2024/8/17 22:54 v0.0.5-dev * @since 2024/8/17 22:54 v0.0.5-dev
*/ */
private MessageComponent message; private MessageComponent message;
/** /**
* 消息内容是否作为纯文本发送即不解析 CQ 只在 message 字段是字符串时有效 * 消息内容是否作为纯文本发送即不解析 CQ 只在 message 字段是字符串时有效
*
* @since 2024/8/17 22:51 v0.0.5-dev * @since 2024/8/17 22:51 v0.0.5-dev
*/ */
@JSONField(name = "auto_escape") @JSONField(name = "auto_escape")

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.send; package cn.wzpmc.api.actions.message.send;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 发送好友赞 * 发送好友赞
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/23 19:49 * @since 2024/8/23 19:49
@ -15,10 +16,11 @@ import lombok.Data;
public class SendLikeAction extends Action<SendLikeAction.Params, Void> { public class SendLikeAction extends Action<SendLikeAction.Params, Void> {
/** /**
* 发送好友赞 * 发送好友赞
* @author wzp *
* @since 2024/8/23 21:12 v0.0.5-dev
* @param userId 对方 QQ * @param userId 对方 QQ
* @param times 赞的次数每个好友每天最多 10 * @param times 赞的次数每个好友每天最多 10
* @author wzp
* @since 2024/8/23 21:12 v0.0.5-dev
*/ */
public SendLikeAction(Long userId, Long times) { public SendLikeAction(Long userId, Long times) {
super.setAction(Actions.SEND_LIKE); super.setAction(Actions.SEND_LIKE);
@ -27,24 +29,28 @@ public class SendLikeAction extends Action<SendLikeAction.Params, Void> {
/** /**
* 发送好友赞 * 发送好友赞
*
* @param userId 对方 QQ
* @author wzp * @author wzp
* @since 2024/8/23 21:12 v0.0.5-dev * @since 2024/8/23 21:12 v0.0.5-dev
* @param userId 对方 QQ
*/ */
public SendLikeAction(Long userId) { public SendLikeAction(Long userId) {
this(userId, 1L); this(userId, 1L);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 对方 QQ * 对方 QQ
*
* @since 2024/8/23 21:12 v0.0.5-dev * @since 2024/8/23 21:12 v0.0.5-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 赞的次数每个好友每天最多 10 * 赞的次数每个好友每天最多 10
*
* @since 2024/8/23 21:12 v0.0.5-dev * @since 2024/8/23 21:12 v0.0.5-dev
*/ */
@JSONField(defaultValue = "1") @JSONField(defaultValue = "1")

View File

@ -1,10 +1,11 @@
package cn.wzpmc.api.api.actions.message.send; package cn.wzpmc.api.actions.message.send;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
/** /**
* 发送私聊消息返回 * 发送私聊消息返回
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/17 21:55 * @since 2024/8/17 21:55
@ -13,6 +14,7 @@ import lombok.Data;
public class SendMessageActionResponseData { public class SendMessageActionResponseData {
/** /**
* 消息 ID * 消息 ID
*
* @since 2024/8/17 22:51 v0.0.5-dev * @since 2024/8/17 22:51 v0.0.5-dev
*/ */
@JSONField(name = "message_id") @JSONField(name = "message_id")

View File

@ -1,14 +1,15 @@
package cn.wzpmc.api.api.actions.message.send; package cn.wzpmc.api.actions.message.send;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.message.MessageComponent; import cn.wzpmc.message.MessageComponent;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 发送私聊消息 * 发送私聊消息
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/17 21:54 * @since 2024/8/17 21:54
@ -16,11 +17,12 @@ import lombok.Data;
public class SendPrivateMessageAction extends Action<SendPrivateMessageAction.Params, SendMessageActionResponseData> { public class SendPrivateMessageAction extends Action<SendPrivateMessageAction.Params, SendMessageActionResponseData> {
/** /**
* 发送私聊消息 * 发送私聊消息
* @author wzp *
* @since 2024/8/23 21:13 v0.0.5-dev
* @param userId 对方 QQ * @param userId 对方 QQ
* @param message 要发送的内容 * @param message 要发送的内容
* @param autoEscape 消息内容是否作为纯文本发送即不解析 CQ 只在 message 字段是字符串时有效 * @param autoEscape 消息内容是否作为纯文本发送即不解析 CQ 只在 message 字段是字符串时有效
* @author wzp
* @since 2024/8/23 21:13 v0.0.5-dev
*/ */
public SendPrivateMessageAction(Long userId, MessageComponent message, boolean autoEscape) { public SendPrivateMessageAction(Long userId, MessageComponent message, boolean autoEscape) {
super.setAction(Actions.SEND_PRIVATE_MSG); super.setAction(Actions.SEND_PRIVATE_MSG);
@ -29,30 +31,35 @@ public class SendPrivateMessageAction extends Action<SendPrivateMessageAction.Pa
/** /**
* 发送私聊消息 * 发送私聊消息
* @author wzp *
* @since 2024/8/23 21:14 v0.0.5-dev
* @param userId 对方 QQ * @param userId 对方 QQ
* @param message 要发送的内容 * @param message 要发送的内容
* @author wzp
* @since 2024/8/23 21:14 v0.0.5-dev
*/ */
public SendPrivateMessageAction(Long userId, MessageComponent message) { public SendPrivateMessageAction(Long userId, MessageComponent message) {
this(userId, message, false); this(userId, message, false);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static class Params { public static class Params {
/** /**
* 对方 QQ * 对方 QQ
*
* @since 2024/8/17 22:51 v0.0.5-dev * @since 2024/8/17 22:51 v0.0.5-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 要发送的内容 * 要发送的内容
*
* @since 2024/8/17 22:51 v0.0.5-dev * @since 2024/8/17 22:51 v0.0.5-dev
*/ */
private MessageComponent message; private MessageComponent message;
/** /**
* 消息内容是否作为纯文本发送即不解析 CQ 只在 message 字段是字符串时有效 * 消息内容是否作为纯文本发送即不解析 CQ 只在 message 字段是字符串时有效
*
* @since 2024/8/17 22:51 v0.0.5-dev * @since 2024/8/17 22:51 v0.0.5-dev
*/ */
@JSONField(name = "auto_escape") @JSONField(name = "auto_escape")

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.set; package cn.wzpmc.api.actions.message.set;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 处理加好友请求 * 处理加好友请求
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:08 * @since 2024/8/24 20:08
@ -15,11 +16,12 @@ import lombok.Data;
public class SetFriendAddRequestAction extends Action<SetFriendAddRequestAction.Params, Void> { public class SetFriendAddRequestAction extends Action<SetFriendAddRequestAction.Params, Void> {
/** /**
* 处理加好友请求 * 处理加好友请求
* @author wzp *
* @since 2024/8/24 23:56 v0.0.6-dev
* @param flag 加好友请求的 flag需从上报的数据中获得 * @param flag 加好友请求的 flag需从上报的数据中获得
* @param approve 是否同意请求 * @param approve 是否同意请求
* @param remark 添加后的好友备注仅在同意时有效 * @param remark 添加后的好友备注仅在同意时有效
* @author wzp
* @since 2024/8/24 23:56 v0.0.6-dev
*/ */
public SetFriendAddRequestAction(String flag, boolean approve, String remark) { public SetFriendAddRequestAction(String flag, boolean approve, String remark) {
super.setAction(Actions.SET_FRIEND_ADD_REQUEST); super.setAction(Actions.SET_FRIEND_ADD_REQUEST);
@ -28,10 +30,11 @@ public class SetFriendAddRequestAction extends Action<SetFriendAddRequestAction.
/** /**
* 处理加好友请求 * 处理加好友请求
* @author wzp *
* @since 2024/8/24 23:56 v0.0.6-dev
* @param flag 加好友请求的 flag需从上报的数据中获得 * @param flag 加好友请求的 flag需从上报的数据中获得
* @param approve 是否同意请求 * @param approve 是否同意请求
* @author wzp
* @since 2024/8/24 23:56 v0.0.6-dev
*/ */
public SetFriendAddRequestAction(String flag, boolean approve) { public SetFriendAddRequestAction(String flag, boolean approve) {
this(flag, approve, ""); this(flag, approve, "");
@ -39,10 +42,11 @@ public class SetFriendAddRequestAction extends Action<SetFriendAddRequestAction.
/** /**
* 处理加好友请求 * 处理加好友请求
* @author wzp *
* @since 2024/8/24 23:56 v0.0.6-dev
* @param flag 加好友请求的 flag需从上报的数据中获得 * @param flag 加好友请求的 flag需从上报的数据中获得
* @param remark 添加后的好友备注仅在同意时有效 * @param remark 添加后的好友备注仅在同意时有效
* @author wzp
* @since 2024/8/24 23:56 v0.0.6-dev
*/ */
public SetFriendAddRequestAction(String flag, String remark) { public SetFriendAddRequestAction(String flag, String remark) {
this(flag, true, remark); this(flag, true, remark);
@ -50,29 +54,34 @@ public class SetFriendAddRequestAction extends Action<SetFriendAddRequestAction.
/** /**
* 处理加好友请求 * 处理加好友请求
*
* @param flag 加好友请求的 flag需从上报的数据中获得
* @author wzp * @author wzp
* @since 2024/8/24 23:56 v0.0.6-dev * @since 2024/8/24 23:56 v0.0.6-dev
* @param flag 加好友请求的 flag需从上报的数据中获得
*/ */
public SetFriendAddRequestAction(String flag) { public SetFriendAddRequestAction(String flag) {
this(flag, true); this(flag, true);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 加好友请求的 flag需从上报的数据中获得 * 加好友请求的 flag需从上报的数据中获得
*
* @since 2024/8/24 21:09 v0.0.6-dev * @since 2024/8/24 21:09 v0.0.6-dev
*/ */
private String flag; private String flag;
/** /**
* 是否同意请求 * 是否同意请求
*
* @since 2024/8/24 21:09 v0.0.6-dev * @since 2024/8/24 21:09 v0.0.6-dev
*/ */
@JSONField(defaultValue = "true") @JSONField(defaultValue = "true")
private boolean approve; private boolean approve;
/** /**
* 添加后的好友备注仅在同意时有效 * 添加后的好友备注仅在同意时有效
*
* @since 2024/8/24 21:09 v0.0.6-dev * @since 2024/8/24 21:09 v0.0.6-dev
*/ */
private String remark; private String remark;

View File

@ -1,14 +1,15 @@
package cn.wzpmc.api.api.actions.message.set; package cn.wzpmc.api.actions.message.set;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.events.request.group.GroupJoinRequestEventSubType; import cn.wzpmc.events.request.group.GroupJoinRequestEventSubType;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 处理加群请求邀请 * 处理加群请求邀请
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:18 * @since 2024/8/24 20:18
@ -16,12 +17,13 @@ import lombok.Data;
public class SetGroupAddRequestAction extends Action<SetGroupAddRequestAction.Params, Void> { public class SetGroupAddRequestAction extends Action<SetGroupAddRequestAction.Params, Void> {
/** /**
* 处理加群请求邀请 * 处理加群请求邀请
* @author wzp *
* @since 2024/8/24 23:56 v0.0.6-dev
* @param flag 加群请求的 flag需从上报的数据中获得 * @param flag 加群请求的 flag需从上报的数据中获得
* @param type 请求类型 * @param type 请求类型
* @param approve 是否同意请求邀请 * @param approve 是否同意请求邀请
* @param reason 拒绝理由仅在拒绝时有效 * @param reason 拒绝理由仅在拒绝时有效
* @author wzp
* @since 2024/8/24 23:56 v0.0.6-dev
*/ */
public SetGroupAddRequestAction(String flag, GroupJoinRequestEventSubType type, boolean approve, String reason) { public SetGroupAddRequestAction(String flag, GroupJoinRequestEventSubType type, boolean approve, String reason) {
super.setAction(Actions.SET_GROUP_ADD_REQUEST); super.setAction(Actions.SET_GROUP_ADD_REQUEST);
@ -30,11 +32,12 @@ public class SetGroupAddRequestAction extends Action<SetGroupAddRequestAction.Pa
/** /**
* 处理加群请求邀请 * 处理加群请求邀请
* @author wzp *
* @since 2024/8/24 23:56 v0.0.6-dev
* @param flag 加群请求的 flag需从上报的数据中获得 * @param flag 加群请求的 flag需从上报的数据中获得
* @param type 请求类型 * @param type 请求类型
* @param reason 拒绝理由仅在拒绝时有效 * @param reason 拒绝理由仅在拒绝时有效
* @author wzp
* @since 2024/8/24 23:56 v0.0.6-dev
*/ */
public SetGroupAddRequestAction(String flag, GroupJoinRequestEventSubType type, String reason) { public SetGroupAddRequestAction(String flag, GroupJoinRequestEventSubType type, String reason) {
this(flag, type, false, reason); this(flag, type, false, reason);
@ -42,35 +45,41 @@ public class SetGroupAddRequestAction extends Action<SetGroupAddRequestAction.Pa
/** /**
* 处理加群请求邀请 * 处理加群请求邀请
* @author wzp *
* @since 2024/8/24 23:56 v0.0.6-dev
* @param flag 加群请求的 flag需从上报的数据中获得 * @param flag 加群请求的 flag需从上报的数据中获得
* @param type 请求类型 * @param type 请求类型
* @author wzp
* @since 2024/8/24 23:56 v0.0.6-dev
*/ */
public SetGroupAddRequestAction(String flag, GroupJoinRequestEventSubType type) { public SetGroupAddRequestAction(String flag, GroupJoinRequestEventSubType type) {
this(flag, type, true, ""); this(flag, type, true, "");
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 加群请求的 flag需从上报的数据中获得 * 加群请求的 flag需从上报的数据中获得
*
* @since 2024/8/24 21:14 v0.0.6-dev * @since 2024/8/24 21:14 v0.0.6-dev
*/ */
private String flag; private String flag;
/** /**
* 请求类型 * 请求类型
*
* @since 2024/8/24 21:14 v0.0.6-dev * @since 2024/8/24 21:14 v0.0.6-dev
*/ */
private GroupJoinRequestEventSubType type; private GroupJoinRequestEventSubType type;
/** /**
* 是否同意请求邀请 * 是否同意请求邀请
*
* @since 2024/8/24 21:14 v0.0.6-dev * @since 2024/8/24 21:14 v0.0.6-dev
*/ */
@JSONField(defaultValue = "true") @JSONField(defaultValue = "true")
private boolean approve; private boolean approve;
/** /**
* 拒绝理由仅在拒绝时有效 * 拒绝理由仅在拒绝时有效
*
* @since 2024/8/24 21:14 v0.0.6-dev * @since 2024/8/24 21:14 v0.0.6-dev
*/ */
private String reason; private String reason;

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.set; package cn.wzpmc.api.actions.message.set;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 群组设置管理员 * 群组设置管理员
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/23 20:51 * @since 2024/8/23 20:51
@ -15,11 +16,12 @@ import lombok.Data;
public class SetGroupAdminAction extends Action<SetGroupAdminAction.Params, Void> { public class SetGroupAdminAction extends Action<SetGroupAdminAction.Params, Void> {
/** /**
* 群组设置管理员 * 群组设置管理员
* @author wzp *
* @since 2024/8/23 21:14 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param userId 要设置管理员的 QQ * @param userId 要设置管理员的 QQ
* @param enable true 为设置false 为取消 * @param enable true 为设置false 为取消
* @author wzp
* @since 2024/8/23 21:14 v0.0.5-dev
*/ */
public SetGroupAdminAction(Long groupId, Long userId, Boolean enable) { public SetGroupAdminAction(Long groupId, Long userId, Boolean enable) {
super.setAction(Actions.SET_GROUP_ADMIN); super.setAction(Actions.SET_GROUP_ADMIN);
@ -28,31 +30,36 @@ public class SetGroupAdminAction extends Action<SetGroupAdminAction.Params, Void
/** /**
* 群组设置管理员 * 群组设置管理员
* @author wzp *
* @since 2024/8/23 21:14 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param userId 要设置管理员的 QQ * @param userId 要设置管理员的 QQ
* @author wzp
* @since 2024/8/23 21:14 v0.0.5-dev
*/ */
public SetGroupAdminAction(Long groupId, Long userId) { public SetGroupAdminAction(Long groupId, Long userId) {
this(groupId, userId, true); this(groupId, userId, true);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/23 21:15 v0.0.5-dev * @since 2024/8/23 21:15 v0.0.5-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 要设置管理员的 QQ * 要设置管理员的 QQ
*
* @since 2024/8/23 21:15 v0.0.5-dev * @since 2024/8/23 21:15 v0.0.5-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* true 为设置false 为取消 * true 为设置false 为取消
*
* @since 2024/8/23 21:15 v0.0.5-dev * @since 2024/8/23 21:15 v0.0.5-dev
*/ */
@JSONField(defaultValue = "true") @JSONField(defaultValue = "true")

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.set; package cn.wzpmc.api.actions.message.set;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 群组匿名 * 群组匿名
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/23 20:55 * @since 2024/8/23 20:55
@ -15,10 +16,11 @@ import lombok.Data;
public class SetGroupAnonymousAction extends Action<SetGroupAnonymousAction.Params, Void> { public class SetGroupAnonymousAction extends Action<SetGroupAnonymousAction.Params, Void> {
/** /**
* 群组匿名 * 群组匿名
* @author wzp *
* @since 2024/8/23 21:16 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param enable 是否允许匿名聊天 * @param enable 是否允许匿名聊天
* @author wzp
* @since 2024/8/23 21:16 v0.0.5-dev
*/ */
public SetGroupAnonymousAction(Long groupId, Boolean enable) { public SetGroupAnonymousAction(Long groupId, Boolean enable) {
super.setAction(Actions.SET_GROUP_ANONYMOUS); super.setAction(Actions.SET_GROUP_ANONYMOUS);
@ -27,24 +29,28 @@ public class SetGroupAnonymousAction extends Action<SetGroupAnonymousAction.Para
/** /**
* 群组匿名 * 群组匿名
*
* @param groupId 群号
* @author wzp * @author wzp
* @since 2024/8/23 21:16 v0.0.5-dev * @since 2024/8/23 21:16 v0.0.5-dev
* @param groupId 群号
*/ */
public SetGroupAnonymousAction(Long groupId) { public SetGroupAnonymousAction(Long groupId) {
this(groupId, true); this(groupId, true);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/23 21:16 v0.0.5-dev * @since 2024/8/23 21:16 v0.0.5-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 是否允许匿名聊天 * 是否允许匿名聊天
*
* @since 2024/8/23 21:16 v0.0.5-dev * @since 2024/8/23 21:16 v0.0.5-dev
*/ */
@JSONField(defaultValue = "true") @JSONField(defaultValue = "true")

View File

@ -1,14 +1,15 @@
package cn.wzpmc.api.api.actions.message.set; package cn.wzpmc.api.actions.message.set;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import cn.wzpmc.api.message.json.parts.Anonymous; import cn.wzpmc.message.json.parts.Anonymous;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 群组匿名用户禁言 * 群组匿名用户禁言
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/23 20:08 * @since 2024/8/23 20:08
@ -16,12 +17,13 @@ import lombok.Data;
public class SetGroupAnonymousBanAction extends Action<SetGroupAnonymousBanAction.Params, Void> { public class SetGroupAnonymousBanAction extends Action<SetGroupAnonymousBanAction.Params, Void> {
/** /**
* 群组匿名用户禁言 * 群组匿名用户禁言
* @author wzp *
* @since 2024/8/23 21:17 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param anonymous 可选要禁言的匿名用户对象群消息上报的 anonymous 字段 * @param anonymous 可选要禁言的匿名用户对象群消息上报的 anonymous 字段
* @param flag 可选要禁言的匿名用户的 flag需从群消息上报的数据中获得 * @param flag 可选要禁言的匿名用户的 flag需从群消息上报的数据中获得
* @param duration 禁言时长单位秒无法取消匿名用户禁言默认30 * 60 * @param duration 禁言时长单位秒无法取消匿名用户禁言默认30 * 60
* @author wzp
* @since 2024/8/23 21:17 v0.0.5-dev
*/ */
protected SetGroupAnonymousBanAction(Long groupId, Anonymous anonymous, String flag, Long duration) { protected SetGroupAnonymousBanAction(Long groupId, Anonymous anonymous, String flag, Long duration) {
super.setAction(Actions.SET_GROUP_ANONYMOUS_BAN); super.setAction(Actions.SET_GROUP_ANONYMOUS_BAN);
@ -30,11 +32,12 @@ public class SetGroupAnonymousBanAction extends Action<SetGroupAnonymousBanActio
/** /**
* 群组匿名用户禁言 * 群组匿名用户禁言
* @author wzp *
* @since 2024/8/23 21:17 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param anonymous 要禁言的匿名用户对象群消息上报的 anonymous 字段 * @param anonymous 要禁言的匿名用户对象群消息上报的 anonymous 字段
* @param duration 禁言时长单位秒无法取消匿名用户禁言 * @param duration 禁言时长单位秒无法取消匿名用户禁言
* @author wzp
* @since 2024/8/23 21:17 v0.0.5-dev
*/ */
public SetGroupAnonymousBanAction(Long groupId, Anonymous anonymous, Long duration) { public SetGroupAnonymousBanAction(Long groupId, Anonymous anonymous, Long duration) {
this(groupId, anonymous, null, duration); this(groupId, anonymous, null, duration);
@ -42,10 +45,11 @@ public class SetGroupAnonymousBanAction extends Action<SetGroupAnonymousBanActio
/** /**
* 群组匿名用户禁言 * 群组匿名用户禁言
* @author wzp *
* @since 2024/8/23 21:17 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param anonymous 要禁言的匿名用户对象群消息上报的 anonymous 字段 * @param anonymous 要禁言的匿名用户对象群消息上报的 anonymous 字段
* @author wzp
* @since 2024/8/23 21:17 v0.0.5-dev
*/ */
public SetGroupAnonymousBanAction(Long groupId, Anonymous anonymous) { public SetGroupAnonymousBanAction(Long groupId, Anonymous anonymous) {
this(groupId, anonymous, 1800L); this(groupId, anonymous, 1800L);
@ -53,11 +57,12 @@ public class SetGroupAnonymousBanAction extends Action<SetGroupAnonymousBanActio
/** /**
* 群组匿名用户禁言 * 群组匿名用户禁言
* @author wzp *
* @since 2024/8/23 21:17 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param flag 要禁言的匿名用户的 flag需从群消息上报的数据中获得 * @param flag 要禁言的匿名用户的 flag需从群消息上报的数据中获得
* @param duration 禁言时长单位秒无法取消匿名用户禁言 * @param duration 禁言时长单位秒无法取消匿名用户禁言
* @author wzp
* @since 2024/8/23 21:17 v0.0.5-dev
*/ */
public SetGroupAnonymousBanAction(Long groupId, String flag, Long duration) { public SetGroupAnonymousBanAction(Long groupId, String flag, Long duration) {
this(groupId, null, flag, duration); this(groupId, null, flag, duration);
@ -65,35 +70,41 @@ public class SetGroupAnonymousBanAction extends Action<SetGroupAnonymousBanActio
/** /**
* 群组匿名用户禁言 * 群组匿名用户禁言
* @author wzp *
* @since 2024/8/23 21:17 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param flag 要禁言的匿名用户的 flag需从群消息上报的数据中获得 * @param flag 要禁言的匿名用户的 flag需从群消息上报的数据中获得
* @author wzp
* @since 2024/8/23 21:17 v0.0.5-dev
*/ */
public SetGroupAnonymousBanAction(Long groupId, String flag) { public SetGroupAnonymousBanAction(Long groupId, String flag) {
this(groupId, flag, 1800L); this(groupId, flag, 1800L);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/23 21:17 v0.0.5-dev * @since 2024/8/23 21:17 v0.0.5-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 可选要禁言的匿名用户对象群消息上报的 anonymous 字段 * 可选要禁言的匿名用户对象群消息上报的 anonymous 字段
*
* @since 2024/8/23 21:17 v0.0.5-dev * @since 2024/8/23 21:17 v0.0.5-dev
*/ */
private Anonymous anonymous; private Anonymous anonymous;
/** /**
* 可选要禁言的匿名用户的 flag需从群消息上报的数据中获得 * 可选要禁言的匿名用户的 flag需从群消息上报的数据中获得
*
* @since 2024/8/23 21:17 v0.0.5-dev * @since 2024/8/23 21:17 v0.0.5-dev
*/ */
private String flag; private String flag;
/** /**
* 禁言时长单位秒无法取消匿名用户禁言默认30 * 60 * 禁言时长单位秒无法取消匿名用户禁言默认30 * 60
*
* @since 2024/8/23 21:17 v0.0.5-dev * @since 2024/8/23 21:17 v0.0.5-dev
*/ */
@JSONField(defaultValue = "1800") @JSONField(defaultValue = "1800")

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.set; package cn.wzpmc.api.actions.message.set;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 群组单人禁言 * 群组单人禁言
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/23 20:03 * @since 2024/8/23 20:03
@ -15,11 +16,12 @@ import lombok.Data;
public class SetGroupBanAction extends Action<SetGroupBanAction.Params, Void> { public class SetGroupBanAction extends Action<SetGroupBanAction.Params, Void> {
/** /**
* 群组单人禁言 * 群组单人禁言
* @author wzp *
* @since 2024/8/23 21:20 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param userId 要禁言的 QQ * @param userId 要禁言的 QQ
* @param duration 禁言时长单位秒0 表示取消禁言 * @param duration 禁言时长单位秒0 表示取消禁言
* @author wzp
* @since 2024/8/23 21:20 v0.0.5-dev
*/ */
public SetGroupBanAction(Long groupId, Long userId, Long duration) { public SetGroupBanAction(Long groupId, Long userId, Long duration) {
super.setAction(Actions.SET_GROUP_BAN); super.setAction(Actions.SET_GROUP_BAN);
@ -28,31 +30,36 @@ public class SetGroupBanAction extends Action<SetGroupBanAction.Params, Void> {
/** /**
* 群组单人禁言 * 群组单人禁言
* @author wzp *
* @since 2024/8/23 21:20 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param userId 要禁言的 QQ * @param userId 要禁言的 QQ
* @author wzp
* @since 2024/8/23 21:20 v0.0.5-dev
*/ */
public SetGroupBanAction(Long groupId, Long userId) { public SetGroupBanAction(Long groupId, Long userId) {
this(groupId, userId, 1800L); this(groupId, userId, 1800L);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/23 21:20 v0.0.5-dev * @since 2024/8/23 21:20 v0.0.5-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 要禁言的 QQ * 要禁言的 QQ
*
* @since 2024/8/23 21:20 v0.0.5-dev * @since 2024/8/23 21:20 v0.0.5-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 禁言时长单位秒0 表示取消禁言默认30 * 60 * 禁言时长单位秒0 表示取消禁言默认30 * 60
*
* @since 2024/8/23 21:20 v0.0.5-dev * @since 2024/8/23 21:20 v0.0.5-dev
*/ */
@JSONField(defaultValue = "1800") @JSONField(defaultValue = "1800")

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.set; package cn.wzpmc.api.actions.message.set;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 设置群名片群备注 * 设置群名片群备注
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/23 20:59 * @since 2024/8/23 20:59
@ -15,11 +16,12 @@ import lombok.Data;
public class SetGroupCardAction extends Action<SetGroupCardAction.Params, Void> { public class SetGroupCardAction extends Action<SetGroupCardAction.Params, Void> {
/** /**
* 设置群名片群备注 * 设置群名片群备注
* @author wzp *
* @since 2024/8/23 21:22 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param userId 要设置的 QQ * @param userId 要设置的 QQ
* @param card 群名片内容不填或空字符串表示删除群名片 * @param card 群名片内容不填或空字符串表示删除群名片
* @author wzp
* @since 2024/8/23 21:22 v0.0.5-dev
*/ */
public SetGroupCardAction(Long groupId, Long userId, String card) { public SetGroupCardAction(Long groupId, Long userId, String card) {
super.setAction(Actions.SET_GROUP_CARD); super.setAction(Actions.SET_GROUP_CARD);
@ -28,31 +30,36 @@ public class SetGroupCardAction extends Action<SetGroupCardAction.Params, Void>
/** /**
* 设置群名片群备注 * 设置群名片群备注
* @author wzp *
* @since 2024/8/23 21:22 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param userId 要设置的 QQ * @param userId 要设置的 QQ
* @author wzp
* @since 2024/8/23 21:22 v0.0.5-dev
*/ */
public SetGroupCardAction(Long groupId, Long userId) { public SetGroupCardAction(Long groupId, Long userId) {
this(groupId, userId, ""); this(groupId, userId, "");
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/23 21:23 v0.0.5-dev * @since 2024/8/23 21:23 v0.0.5-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 要设置的 QQ * 要设置的 QQ
*
* @since 2024/8/23 21:23 v0.0.5-dev * @since 2024/8/23 21:23 v0.0.5-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 群名片内容不填或空字符串表示删除群名片默认为空 * 群名片内容不填或空字符串表示删除群名片默认为空
*
* @since 2024/8/23 21:23 v0.0.5-dev * @since 2024/8/23 21:23 v0.0.5-dev
*/ */
private String card; private String card;

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.set; package cn.wzpmc.api.actions.message.set;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 群组踢人 * 群组踢人
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/23 19:52 * @since 2024/8/23 19:52
@ -15,11 +16,12 @@ import lombok.Data;
public class SetGroupKickAction extends Action<SetGroupKickAction.Params, Void> { public class SetGroupKickAction extends Action<SetGroupKickAction.Params, Void> {
/** /**
* 群组踢人 * 群组踢人
* @author wzp *
* @since 2024/8/23 21:24 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param userId 要踢的 QQ * @param userId 要踢的 QQ
* @param rejectAddRequest 拒绝此人的加群请求 * @param rejectAddRequest 拒绝此人的加群请求
* @author wzp
* @since 2024/8/23 21:24 v0.0.5-dev
*/ */
public SetGroupKickAction(Long groupId, Long userId, Boolean rejectAddRequest) { public SetGroupKickAction(Long groupId, Long userId, Boolean rejectAddRequest) {
super.setAction(Actions.SET_GROUP_KICK); super.setAction(Actions.SET_GROUP_KICK);
@ -28,31 +30,36 @@ public class SetGroupKickAction extends Action<SetGroupKickAction.Params, Void>
/** /**
* 群组踢人 * 群组踢人
* @author wzp *
* @since 2024/8/23 21:24 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param userId 要踢的 QQ * @param userId 要踢的 QQ
* @author wzp
* @since 2024/8/23 21:24 v0.0.5-dev
*/ */
public SetGroupKickAction(Long groupId, Long userId) { public SetGroupKickAction(Long groupId, Long userId) {
this(groupId, userId, false); this(groupId, userId, false);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/23 21:25 v0.0.5-dev * @since 2024/8/23 21:25 v0.0.5-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 要踢的 QQ * 要踢的 QQ
*
* @since 2024/8/23 21:25 v0.0.5-dev * @since 2024/8/23 21:25 v0.0.5-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 拒绝此人的加群请求默认为false * 拒绝此人的加群请求默认为false
*
* @since 2024/8/23 21:25 v0.0.5-dev * @since 2024/8/23 21:25 v0.0.5-dev
*/ */
@JSONField(name = "reject_add_request", defaultValue = "false") @JSONField(name = "reject_add_request", defaultValue = "false")

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.set; package cn.wzpmc.api.actions.message.set;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 退出群组 * 退出群组
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:07 * @since 2024/8/24 20:07
@ -15,10 +16,11 @@ import lombok.Data;
public class SetGroupLeaveAction extends Action<SetGroupLeaveAction.Params, Void> { public class SetGroupLeaveAction extends Action<SetGroupLeaveAction.Params, Void> {
/** /**
* 退出群组 * 退出群组
* @author wzp *
* @since 2024/8/24 23:57 v0.0.6-dev
* @param groupId 群号 * @param groupId 群号
* @param isDismiss 是否解散如果登录号是群主则仅在此项为 true 时能够解散 * @param isDismiss 是否解散如果登录号是群主则仅在此项为 true 时能够解散
* @author wzp
* @since 2024/8/24 23:57 v0.0.6-dev
*/ */
public SetGroupLeaveAction(Long groupId, boolean isDismiss) { public SetGroupLeaveAction(Long groupId, boolean isDismiss) {
super.setAction(Actions.SET_GROUP_LEAVE); super.setAction(Actions.SET_GROUP_LEAVE);
@ -27,24 +29,28 @@ public class SetGroupLeaveAction extends Action<SetGroupLeaveAction.Params, Void
/** /**
* 退出群组 * 退出群组
*
* @param groupId 群号
* @author wzp * @author wzp
* @since 2024/8/24 23:57 v0.0.6-dev * @since 2024/8/24 23:57 v0.0.6-dev
* @param groupId 群号
*/ */
public SetGroupLeaveAction(Long groupId) { public SetGroupLeaveAction(Long groupId) {
this(groupId, false); this(groupId, false);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/24 21:02 v0.0.6-dev * @since 2024/8/24 21:02 v0.0.6-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 是否解散如果登录号是群主则仅在此项为 true 时能够解散 * 是否解散如果登录号是群主则仅在此项为 true 时能够解散
*
* @since 2024/8/24 21:02 v0.0.6-dev * @since 2024/8/24 21:02 v0.0.6-dev
*/ */
@JSONField(name = "is_dismiss", defaultValue = "false") @JSONField(name = "is_dismiss", defaultValue = "false")

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.set; package cn.wzpmc.api.actions.message.set;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 设置群名 * 设置群名
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:07 * @since 2024/8/24 20:07
@ -15,26 +16,30 @@ import lombok.Data;
public class SetGroupNameAction extends Action<SetGroupNameAction.Params, Void> { public class SetGroupNameAction extends Action<SetGroupNameAction.Params, Void> {
/** /**
* 设置群名 * 设置群名
* @author wzp *
* @since 2024/8/24 23:57 v0.0.6-dev
* @param groupId 群号 * @param groupId 群号
* @param groupName 新群名 * @param groupName 新群名
* @author wzp
* @since 2024/8/24 23:57 v0.0.6-dev
*/ */
public SetGroupNameAction(Long groupId, String groupName) { public SetGroupNameAction(Long groupId, String groupName) {
super.setAction(Actions.SET_GROUP_NAME); super.setAction(Actions.SET_GROUP_NAME);
super.setParams(new Params(groupId, groupName)); super.setParams(new Params(groupId, groupName));
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/24 20:59 v0.0.6-dev * @since 2024/8/24 20:59 v0.0.6-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 新群名 * 新群名
*
* @since 2024/8/24 21:00 v0.0.6-dev * @since 2024/8/24 21:00 v0.0.6-dev
*/ */
@JSONField(name = "group_name") @JSONField(name = "group_name")

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.set; package cn.wzpmc.api.actions.message.set;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 设置群组专属头衔 * 设置群组专属头衔
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:08 * @since 2024/8/24 20:08
@ -15,12 +16,13 @@ import lombok.Data;
public class SetGroupSpecialTitleAction extends Action<SetGroupSpecialTitleAction.Params, Void> { public class SetGroupSpecialTitleAction extends Action<SetGroupSpecialTitleAction.Params, Void> {
/** /**
* 设置群组专属头衔 * 设置群组专属头衔
* @author wzp *
* @since 2024/8/24 23:58 v0.0.6-dev
* @param groupId 群号 * @param groupId 群号
* @param userId 要设置的 QQ * @param userId 要设置的 QQ
* @param specialTitle 专属头衔不填或空字符串表示删除专属头衔 * @param specialTitle 专属头衔不填或空字符串表示删除专属头衔
* @param duration 专属头衔有效期单位秒-1 表示永久不过此项似乎没有效果可能是只有某些特殊的时间长度有效有待测试 * @param duration 专属头衔有效期单位秒-1 表示永久不过此项似乎没有效果可能是只有某些特殊的时间长度有效有待测试
* @author wzp
* @since 2024/8/24 23:58 v0.0.6-dev
*/ */
public SetGroupSpecialTitleAction(Long groupId, Long userId, String specialTitle, Long duration) { public SetGroupSpecialTitleAction(Long groupId, Long userId, String specialTitle, Long duration) {
super.setAction(Actions.SET_GROUP_SPECIAL_TITLE); super.setAction(Actions.SET_GROUP_SPECIAL_TITLE);
@ -29,11 +31,12 @@ public class SetGroupSpecialTitleAction extends Action<SetGroupSpecialTitleActio
/** /**
* 设置群组专属头衔 * 设置群组专属头衔
* @author wzp *
* @since 2024/8/24 23:58 v0.0.6-dev
* @param groupId 群号 * @param groupId 群号
* @param userId 要设置的 QQ * @param userId 要设置的 QQ
* @param specialTitle 专属头衔不填或空字符串表示删除专属头衔 * @param specialTitle 专属头衔不填或空字符串表示删除专属头衔
* @author wzp
* @since 2024/8/24 23:58 v0.0.6-dev
*/ */
public SetGroupSpecialTitleAction(Long groupId, Long userId, String specialTitle) { public SetGroupSpecialTitleAction(Long groupId, Long userId, String specialTitle) {
this(groupId, userId, specialTitle, -1L); this(groupId, userId, specialTitle, -1L);
@ -41,10 +44,11 @@ public class SetGroupSpecialTitleAction extends Action<SetGroupSpecialTitleActio
/** /**
* 设置群组专属头衔 * 设置群组专属头衔
* @author wzp *
* @since 2024/8/24 23:58 v0.0.6-dev
* @param groupId 群号 * @param groupId 群号
* @param userId 要设置的 QQ * @param userId 要设置的 QQ
* @author wzp
* @since 2024/8/24 23:58 v0.0.6-dev
*/ */
public SetGroupSpecialTitleAction(Long groupId, Long userId) { public SetGroupSpecialTitleAction(Long groupId, Long userId) {
this(groupId, userId, ""); this(groupId, userId, "");
@ -52,38 +56,44 @@ public class SetGroupSpecialTitleAction extends Action<SetGroupSpecialTitleActio
/** /**
* 设置群组专属头衔 * 设置群组专属头衔
* @author wzp *
* @since 2024/8/24 23:58 v0.0.6-dev
* @param groupId 群号 * @param groupId 群号
* @param userId 要设置的 QQ * @param userId 要设置的 QQ
* @param duration 专属头衔有效期单位秒-1 表示永久不过此项似乎没有效果可能是只有某些特殊的时间长度有效有待测试 * @param duration 专属头衔有效期单位秒-1 表示永久不过此项似乎没有效果可能是只有某些特殊的时间长度有效有待测试
* @author wzp
* @since 2024/8/24 23:58 v0.0.6-dev
*/ */
public SetGroupSpecialTitleAction(Long groupId, Long userId, Long duration) { public SetGroupSpecialTitleAction(Long groupId, Long userId, Long duration) {
this(groupId, userId, "", duration); this(groupId, userId, "", duration);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/24 21:04 v0.0.6-dev * @since 2024/8/24 21:04 v0.0.6-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 要设置的 QQ * 要设置的 QQ
*
* @since 2024/8/24 21:04 v0.0.6-dev * @since 2024/8/24 21:04 v0.0.6-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 专属头衔不填或空字符串表示删除专属头衔 * 专属头衔不填或空字符串表示删除专属头衔
*
* @since 2024/8/24 21:04 v0.0.6-dev * @since 2024/8/24 21:04 v0.0.6-dev
*/ */
@JSONField(name = "special_title") @JSONField(name = "special_title")
private String specialTitle; private String specialTitle;
/** /**
* 专属头衔有效期单位秒-1 表示永久不过此项似乎没有效果可能是只有某些特殊的时间长度有效有待测试 * 专属头衔有效期单位秒-1 表示永久不过此项似乎没有效果可能是只有某些特殊的时间长度有效有待测试
*
* @since 2024/8/24 21:04 v0.0.6-dev * @since 2024/8/24 21:04 v0.0.6-dev
*/ */
@JSONField(defaultValue = "-1") @JSONField(defaultValue = "-1")

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.set; package cn.wzpmc.api.actions.message.set;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 群组全员禁言 * 群组全员禁言
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/23 20:06 * @since 2024/8/23 20:06
@ -15,10 +16,11 @@ import lombok.Data;
public class SetGroupWholeBanAction extends Action<SetGroupWholeBanAction.Params, Void> { public class SetGroupWholeBanAction extends Action<SetGroupWholeBanAction.Params, Void> {
/** /**
* 群组全员禁言 * 群组全员禁言
* @author wzp *
* @since 2024/8/23 21:27 v0.0.5-dev
* @param groupId 群号 * @param groupId 群号
* @param enable 是否禁言 * @param enable 是否禁言
* @author wzp
* @since 2024/8/23 21:27 v0.0.5-dev
*/ */
public SetGroupWholeBanAction(Long groupId, Boolean enable) { public SetGroupWholeBanAction(Long groupId, Boolean enable) {
super.setAction(Actions.SET_GROUP_WHOLE_BAN); super.setAction(Actions.SET_GROUP_WHOLE_BAN);
@ -27,24 +29,28 @@ public class SetGroupWholeBanAction extends Action<SetGroupWholeBanAction.Params
/** /**
* 群组全员禁言 * 群组全员禁言
*
* @param groupId 群号
* @author wzp * @author wzp
* @since 2024/8/23 21:28 v0.0.5-dev * @since 2024/8/23 21:28 v0.0.5-dev
* @param groupId 群号
*/ */
public SetGroupWholeBanAction(Long groupId) { public SetGroupWholeBanAction(Long groupId) {
this(groupId, true); this(groupId, true);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 群号 * 群号
*
* @since 2024/8/23 21:28 v0.0.5-dev * @since 2024/8/23 21:28 v0.0.5-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 是否禁言默认true * 是否禁言默认true
*
* @since 2024/8/23 21:28 v0.0.5-dev * @since 2024/8/23 21:28 v0.0.5-dev
*/ */
@JSONField(defaultValue = "true") @JSONField(defaultValue = "true")

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.api.actions.message.set; package cn.wzpmc.api.actions.message.set;
import cn.wzpmc.api.api.Action; import cn.wzpmc.api.Action;
import cn.wzpmc.api.api.Actions; import cn.wzpmc.api.Actions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 重启 OneBot 实现 * 重启 OneBot 实现
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 20:46 * @since 2024/8/24 20:46
@ -15,9 +16,10 @@ import lombok.Data;
public class SetRestartAction extends Action<SetRestartAction.Params, Void> { public class SetRestartAction extends Action<SetRestartAction.Params, Void> {
/** /**
* 重启 OneBot 实现 * 重启 OneBot 实现
*
* @param delay 要延迟的毫秒数如果默认情况下无法重启可以尝试设置延迟为 2000 左右
* @author wzp * @author wzp
* @since 2024/8/24 23:59 v0.0.6-dev * @since 2024/8/24 23:59 v0.0.6-dev
* @param delay 要延迟的毫秒数如果默认情况下无法重启可以尝试设置延迟为 2000 左右
*/ */
public SetRestartAction(Integer delay) { public SetRestartAction(Integer delay) {
super.setAction(Actions.SET_RESTART); super.setAction(Actions.SET_RESTART);
@ -26,17 +28,20 @@ public class SetRestartAction extends Action<SetRestartAction.Params, Void> {
/** /**
* 立即重启 OneBot 实现 * 立即重启 OneBot 实现
*
* @author wzp * @author wzp
* @since 2024/8/24 23:58 v0.0.6-dev * @since 2024/8/24 23:58 v0.0.6-dev
*/ */
public SetRestartAction() { public SetRestartAction() {
this(0); this(0);
} }
@Data @Data
@AllArgsConstructor @AllArgsConstructor
public static final class Params { public static final class Params {
/** /**
* 要延迟的毫秒数如果默认情况下无法重启可以尝试设置延迟为 2000 左右 * 要延迟的毫秒数如果默认情况下无法重启可以尝试设置延迟为 2000 左右
*
* @since 2024/8/24 23:49 v0.0.6-dev * @since 2024/8/24 23:49 v0.0.6-dev
*/ */
@JSONField(defaultValue = "0") @JSONField(defaultValue = "0")

View File

@ -1,7 +1,8 @@
package cn.wzpmc.api.commands; package cn.wzpmc.commands;
/** /**
* 指令基类 * 指令基类
*
* @author wzp * @author wzp
* @version 0.0.1-dev * @version 0.0.1-dev
* @since 2024/7/31 上午3:15 * @since 2024/7/31 上午3:15

View File

@ -1,10 +1,11 @@
package cn.wzpmc.api.commands; package cn.wzpmc.commands;
import cn.wzpmc.api.user.CommandSender; import cn.wzpmc.user.CommandSender;
import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.builder.LiteralArgumentBuilder;
/** /**
* Brigadier指令 * Brigadier指令
*
* @author wzp * @author wzp
* @version 0.0.1-dev * @version 0.0.1-dev
* @since 2024/7/31 上午2:59 * @since 2024/7/31 上午2:59
@ -12,9 +13,10 @@ import com.mojang.brigadier.builder.LiteralArgumentBuilder;
public interface BrigadierCommand extends BaseCommand { public interface BrigadierCommand extends BaseCommand {
/** /**
* 获取指令节点 * 获取指令节点
*
* @return 指令节点
* @author wzp * @author wzp
* @since 2024/7/31 上午3:16 v0.0.1-dev * @since 2024/7/31 上午3:16 v0.0.1-dev
* @return 指令节点
*/ */
LiteralArgumentBuilder<CommandSender> getCommandNode(); LiteralArgumentBuilder<CommandSender> getCommandNode();
} }

View File

@ -1,11 +1,12 @@
package cn.wzpmc.api.commands; package cn.wzpmc.commands;
import cn.wzpmc.api.user.CommandSender; import cn.wzpmc.user.CommandSender;
import java.util.List; import java.util.List;
/** /**
* 原始指令 * 原始指令
*
* @author wzp * @author wzp
* @version 0.0.1-dev * @version 0.0.1-dev
* @since 2024/7/31 上午2:27 * @since 2024/7/31 上午2:27
@ -13,21 +14,23 @@ import java.util.List;
public interface RawCommand extends BaseCommand { public interface RawCommand extends BaseCommand {
/** /**
* 当指令执行时 * 当指令执行时
* @author wzp *
* @since 2024/7/31 上午2:57 v0.0.1-dev
* @param commandSender 指令发送者 * @param commandSender 指令发送者
* @param arguments 指令参数如指令foo若执行/foo a b c则arguments为{"a", "b", "c"} * @param arguments 指令参数如指令foo若执行/foo a b c则arguments为{"a", "b", "c"}
* @return 指令是否执行成功 * @return 指令是否执行成功
* @author wzp
* @since 2024/7/31 上午2:57 v0.0.1-dev
*/ */
boolean onExecute(CommandSender commandSender, List<String> arguments); boolean onExecute(CommandSender commandSender, List<String> arguments);
/** /**
* 指令补全 * 指令补全
* @author wzp *
* @since 2024/7/31 上午2:58 v0.0.1-dev
* @param commandSender 指令发送者 * @param commandSender 指令发送者
* @param arguments 指令参数如指令foo若执行/foo a b c则arguments为{"a", "b", "c"} * @param arguments 指令参数如指令foo若执行/foo a b c则arguments为{"a", "b", "c"}
* @return 当前需要提示的子命令 * @return 当前需要提示的子命令
* @author wzp
* @since 2024/7/31 上午2:58 v0.0.1-dev
*/ */
default List<String> onTabComplete(CommandSender commandSender, List<String> arguments) { default List<String> onTabComplete(CommandSender commandSender, List<String> arguments) {
return List.of(); return List.of();

View File

@ -1,7 +1,7 @@
package cn.wzpmc.api.commands.arguments; package cn.wzpmc.commands.arguments;
import cn.wzpmc.api.message.json.JsonMessagePart; import cn.wzpmc.message.json.JsonMessagePart;
import cn.wzpmc.api.utils.CqCodeUtils; import cn.wzpmc.utils.CqCodeUtils;
import com.mojang.brigadier.LiteralMessage; import com.mojang.brigadier.LiteralMessage;
import com.mojang.brigadier.StringReader; import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.arguments.ArgumentType; import com.mojang.brigadier.arguments.ArgumentType;
@ -10,6 +10,7 @@ import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
/** /**
* 消息段参数类型 * 消息段参数类型
*
* @author wzp * @author wzp
* @version 1.0.0 * @version 1.0.0
* @since 2024/8/25 01:18 * @since 2024/8/25 01:18

View File

@ -1,9 +1,9 @@
package cn.wzpmc.api.commands.arguments; package cn.wzpmc.commands.arguments;
import cn.wzpmc.api.message.json.JsonMessagePart; import cn.wzpmc.commands.exceptions.CqCodeException;
import cn.wzpmc.api.message.json.parts.At; import cn.wzpmc.message.json.JsonMessagePart;
import cn.wzpmc.api.utils.CqCodeUtils; import cn.wzpmc.message.json.parts.At;
import cn.wzpmc.console.commands.exceptions.CqCodeException; import cn.wzpmc.utils.CqCodeUtils;
import com.mojang.brigadier.LiteralMessage; import com.mojang.brigadier.LiteralMessage;
import com.mojang.brigadier.StringReader; import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.arguments.ArgumentType; import com.mojang.brigadier.arguments.ArgumentType;
@ -12,6 +12,7 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException;
/** /**
* 用户ID消息类型 * 用户ID消息类型
*
* @author wzp * @author wzp
* @version 1.0.0 * @version 1.0.0
* @since 2024/8/25 21:02 * @since 2024/8/25 21:02
@ -43,7 +44,8 @@ public class UserIdArguments implements ArgumentType<Long> {
String s1 = read + s; String s1 = read + s;
try { try {
return Long.parseLong(s1); return Long.parseLong(s1);
}catch (NumberFormatException ignored) {} } catch (NumberFormatException ignored) {
}
} }
throw new CommandSyntaxException(new BuiltInExceptions().readerInvalidLong(), new LiteralMessage("Cannot read long from user id")); throw new CommandSyntaxException(new BuiltInExceptions().readerInvalidLong(), new LiteralMessage("Cannot read long from user id"));
} }

View File

@ -1,4 +1,4 @@
package cn.wzpmc.console.commands.exceptions; package cn.wzpmc.commands.exceptions;
import com.mojang.brigadier.LiteralMessage; import com.mojang.brigadier.LiteralMessage;
import com.mojang.brigadier.Message; import com.mojang.brigadier.Message;
@ -12,10 +12,12 @@ import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
*/ */
public class CqCodeException extends CommandSyntaxException { public class CqCodeException extends CommandSyntaxException {
private static final Message errorMessage = new LiteralMessage("Cannot read cq code"); private static final Message errorMessage = new LiteralMessage("Cannot read cq code");
public CqCodeException() { public CqCodeException() {
super(new CqCodeExceptionType(errorMessage), errorMessage); super(new CqCodeExceptionType(errorMessage), errorMessage);
} }
private static final class CqCodeExceptionType extends SimpleCommandExceptionType { private static final class CqCodeExceptionType extends SimpleCommandExceptionType {
public CqCodeExceptionType(Message message) { public CqCodeExceptionType(Message message) {
super(message); super(message);

View File

@ -1,9 +1,10 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import lombok.Data; import lombok.Data;
/** /**
* bot运行状态 * bot运行状态
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午10:30 * @since 2024/8/1 下午10:30
@ -12,11 +13,13 @@ import lombok.Data;
public class BotStatus { public class BotStatus {
/** /**
* 当前 QQ 在线null 表示无法查询到在线状态 * 当前 QQ 在线null 表示无法查询到在线状态
*
* @since 2024/8/23 21:33 v0.0.5-dev * @since 2024/8/23 21:33 v0.0.5-dev
*/ */
private boolean online; private boolean online;
/** /**
* 状态符合预期意味着各模块正常运行功能正常 QQ 在线 * 状态符合预期意味着各模块正常运行功能正常 QQ 在线
*
* @since 2024/8/23 21:34 v0.0.5-dev * @since 2024/8/23 21:34 v0.0.5-dev
*/ */
private boolean good; private boolean good;

View File

@ -1,10 +1,11 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* Cookie信息 * Cookie信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 19:45 * @since 2024/8/24 19:45
@ -14,6 +15,7 @@ import lombok.Data;
public class CookiesInformation { public class CookiesInformation {
/** /**
* Cookies * Cookies
*
* @since 2024/8/24 23:59 v0.0.6-dev * @since 2024/8/24 23:59 v0.0.6-dev
*/ */
private String cookies; private String cookies;

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -6,6 +6,7 @@ import lombok.Data;
/** /**
* QQ认证信息 * QQ认证信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 19:46 * @since 2024/8/24 19:46
@ -15,11 +16,13 @@ import lombok.Data;
public class CredentialsInformation { public class CredentialsInformation {
/** /**
* Cookies * Cookies
*
* @since 2024/8/24 23:59 v0.0.6-dev * @since 2024/8/24 23:59 v0.0.6-dev
*/ */
private String cookies; private String cookies;
/** /**
* CSRF Token * CSRF Token
*
* @since 2024/8/24 23:59 v0.0.6-dev * @since 2024/8/24 23:59 v0.0.6-dev
*/ */
@JSONField(name = "csrf_token") @JSONField(name = "csrf_token")

View File

@ -1,10 +1,11 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* CSRF信息 * CSRF信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 19:45 * @since 2024/8/24 19:45
@ -14,6 +15,7 @@ import lombok.Data;
public class CsrfTokenInformation { public class CsrfTokenInformation {
/** /**
* CSRF Token * CSRF Token
*
* @since 2024/8/24 23:59 v0.0.6-dev * @since 2024/8/24 23:59 v0.0.6-dev
*/ */
private Integer token; private Integer token;

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -13,6 +13,7 @@ import lombok.Data;
public class FilePathInformation { public class FilePathInformation {
/** /**
* 转换后的语音文件路径 /home/somebody/cqhttp/data/record/0B38145AA44505000B38145AA4450500.mp3 * 转换后的语音文件路径 /home/somebody/cqhttp/data/record/0B38145AA44505000B38145AA4450500.mp3
*
* @since 2024/8/24 23:35 v0.0.6-dev * @since 2024/8/24 23:35 v0.0.6-dev
*/ */
private String file; private String file;

View File

@ -1,12 +1,13 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import cn.wzpmc.api.user.IUser; import cn.wzpmc.user.IUser;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
/** /**
* 简略好友信息 * 简略好友信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 19:13 * @since 2024/8/24 19:13
@ -17,6 +18,7 @@ import lombok.EqualsAndHashCode;
public class FriendInformation extends IUser { public class FriendInformation extends IUser {
/** /**
* 添加后的好友备注仅在同意时有效 * 添加后的好友备注仅在同意时有效
*
* @since 2024/8/24 23:59 v0.0.6-dev * @since 2024/8/24 23:59 v0.0.6-dev
*/ */
private String remark; private String remark;

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -6,6 +6,7 @@ import lombok.Data;
/** /**
* 群成员荣耀信息 * 群成员荣耀信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 19:39 * @since 2024/8/24 19:39
@ -15,22 +16,26 @@ import lombok.Data;
public class GroupHonorUser { public class GroupHonorUser {
/** /**
* QQ * QQ
*
* @since 2024/8/25 00:00 v0.0.6-dev * @since 2024/8/25 00:00 v0.0.6-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 昵称 * 昵称
*
* @since 2024/8/25 00:00 v0.0.6-dev * @since 2024/8/25 00:00 v0.0.6-dev
*/ */
private String nickname; private String nickname;
/** /**
* 头像 URL * 头像 URL
*
* @since 2024/8/25 00:00 v0.0.6-dev * @since 2024/8/25 00:00 v0.0.6-dev
*/ */
private String avatar; private String avatar;
/** /**
* 荣誉描述 * 荣誉描述
*
* @since 2024/8/25 00:00 v0.0.6-dev * @since 2024/8/25 00:00 v0.0.6-dev
*/ */
private String description; private String description;

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -6,6 +6,7 @@ import lombok.Data;
/** /**
* 群信息 * 群信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 19:15 * @since 2024/8/24 19:15
@ -15,24 +16,28 @@ import lombok.Data;
public class GroupInformation { public class GroupInformation {
/** /**
* 群号 * 群号
*
* @since 2024/8/25 00:00 v0.0.6-dev * @since 2024/8/25 00:00 v0.0.6-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 群名称 * 群名称
*
* @since 2024/8/25 00:00 v0.0.6-dev * @since 2024/8/25 00:00 v0.0.6-dev
*/ */
@JSONField(name = "group_name") @JSONField(name = "group_name")
private String groupName; private String groupName;
/** /**
* 成员数 * 成员数
*
* @since 2024/8/25 00:00 v0.0.6-dev * @since 2024/8/25 00:00 v0.0.6-dev
*/ */
@JSONField(name = "member_count") @JSONField(name = "member_count")
private Integer memberCount; private Integer memberCount;
/** /**
* 最大成员数群容量 * 最大成员数群容量
*
* @since 2024/8/25 00:00 v0.0.6-dev * @since 2024/8/25 00:00 v0.0.6-dev
*/ */
@JSONField(name = "max_member_count") @JSONField(name = "max_member_count")

View File

@ -1,7 +1,7 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import cn.wzpmc.api.user.Sex; import cn.wzpmc.user.Sex;
import cn.wzpmc.api.user.permission.Permissions; import cn.wzpmc.user.permission.Permissions;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -10,6 +10,7 @@ import java.util.Date;
/** /**
* 群成员信息 * 群成员信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 19:22 * @since 2024/8/24 19:22
@ -19,81 +20,96 @@ import java.util.Date;
public class GroupMemberInformation { public class GroupMemberInformation {
/** /**
* 群号 * 群号
*
* @since 2024/8/24 19:29 v0.0.6-dev * @since 2024/8/24 19:29 v0.0.6-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* QQ * QQ
*
* @since 2024/8/24 19:29 v0.0.6-dev * @since 2024/8/24 19:29 v0.0.6-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 昵称 * 昵称
*
* @since 2024/8/24 19:29 v0.0.6-dev * @since 2024/8/24 19:29 v0.0.6-dev
*/ */
private String nickname; private String nickname;
/** /**
* 群名片备注 * 群名片备注
*
* @since 2024/8/24 19:29 v0.0.6-dev * @since 2024/8/24 19:29 v0.0.6-dev
*/ */
private String card; private String card;
/** /**
* 性别 * 性别
*
* @since 2024/8/24 19:29 v0.0.6-dev * @since 2024/8/24 19:29 v0.0.6-dev
*/ */
private Sex sex; private Sex sex;
/** /**
* 年龄 * 年龄
*
* @since 2024/8/24 19:29 v0.0.6-dev * @since 2024/8/24 19:29 v0.0.6-dev
*/ */
private Integer age; private Integer age;
/** /**
* 地区 * 地区
*
* @since 2024/8/24 19:30 v0.0.6-dev * @since 2024/8/24 19:30 v0.0.6-dev
*/ */
private String area; private String area;
/** /**
* 加群时间 * 加群时间
*
* @since 2024/8/24 19:30 v0.0.6-dev * @since 2024/8/24 19:30 v0.0.6-dev
*/ */
@JSONField(name = "join_time") @JSONField(name = "join_time")
private Date joinTime; private Date joinTime;
/** /**
* 最后发言时间 * 最后发言时间
*
* @since 2024/8/24 19:30 v0.0.6-dev * @since 2024/8/24 19:30 v0.0.6-dev
*/ */
@JSONField(name = "last_sent_time") @JSONField(name = "last_sent_time")
private Date lastSentTime; private Date lastSentTime;
/** /**
* 成员等级 * 成员等级
*
* @since 2024/8/24 19:30 v0.0.6-dev * @since 2024/8/24 19:30 v0.0.6-dev
*/ */
private String level; private String level;
/** /**
* 角色 * 角色
*
* @since 2024/8/24 19:30 v0.0.6-dev * @since 2024/8/24 19:30 v0.0.6-dev
*/ */
private Permissions role; private Permissions role;
/** /**
* 是否不良记录成员 * 是否不良记录成员
*
* @since 2024/8/24 19:30 v0.0.6-dev * @since 2024/8/24 19:30 v0.0.6-dev
*/ */
private boolean unfriendly; private boolean unfriendly;
/** /**
* 专属头衔 * 专属头衔
*
* @since 2024/8/24 19:30 v0.0.6-dev * @since 2024/8/24 19:30 v0.0.6-dev
*/ */
private String title; private String title;
/** /**
* 专属头衔过期时间 * 专属头衔过期时间
*
* @since 2024/8/24 19:30 v0.0.6-dev * @since 2024/8/24 19:30 v0.0.6-dev
*/ */
@JSONField(name = "title_expire_time") @JSONField(name = "title_expire_time")
private Date titleExpireTime; private Date titleExpireTime;
/** /**
* 是否允许修改群名片 * 是否允许修改群名片
*
* @since 2024/8/24 19:30 v0.0.6-dev * @since 2024/8/24 19:30 v0.0.6-dev
*/ */
@JSONField(name = "card_changeable") @JSONField(name = "card_changeable")

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -8,6 +8,7 @@ import java.util.List;
/** /**
* 群荣耀信息 * 群荣耀信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 19:36 * @since 2024/8/24 19:36
@ -17,42 +18,49 @@ import java.util.List;
public class HonorInformation { public class HonorInformation {
/** /**
* 群号 * 群号
*
* @since 2024/8/24 23:17 v0.0.6-dev * @since 2024/8/24 23:17 v0.0.6-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 当前龙王 type talkative all 时有数据 * 当前龙王 type talkative all 时有数据
*
* @since 2024/8/24 23:17 v0.0.6-dev * @since 2024/8/24 23:17 v0.0.6-dev
*/ */
@JSONField(name = "current_talkative") @JSONField(name = "current_talkative")
private HonorTalkative currentTalkative; private HonorTalkative currentTalkative;
/** /**
* 历史龙王 type talkative all 时有数据 * 历史龙王 type talkative all 时有数据
*
* @since 2024/8/24 23:17 v0.0.6-dev * @since 2024/8/24 23:17 v0.0.6-dev
*/ */
@JSONField(name = "talkative_list") @JSONField(name = "talkative_list")
private List<GroupHonorUser> talkativeList; private List<GroupHonorUser> talkativeList;
/** /**
* 群聊之火 type performer all 时有数据 * 群聊之火 type performer all 时有数据
*
* @since 2024/8/24 23:18 v0.0.6-dev * @since 2024/8/24 23:18 v0.0.6-dev
*/ */
@JSONField(name = "performer_list") @JSONField(name = "performer_list")
private List<GroupHonorUser> performerList; private List<GroupHonorUser> performerList;
/** /**
* 群聊炽焰 type legend all 时有数据 * 群聊炽焰 type legend all 时有数据
*
* @since 2024/8/24 23:18 v0.0.6-dev * @since 2024/8/24 23:18 v0.0.6-dev
*/ */
@JSONField(name = "legend_list") @JSONField(name = "legend_list")
private List<GroupHonorUser> legendList; private List<GroupHonorUser> legendList;
/** /**
* 冒尖小春笋 type strong_newbie all 时有数据 * 冒尖小春笋 type strong_newbie all 时有数据
*
* @since 2024/8/24 23:18 v0.0.6-dev * @since 2024/8/24 23:18 v0.0.6-dev
*/ */
@JSONField(name = "strong_newbie_list") @JSONField(name = "strong_newbie_list")
private List<GroupHonorUser> strongNewbieList; private List<GroupHonorUser> strongNewbieList;
/** /**
* 快乐之源 type emotion all 时有数据 * 快乐之源 type emotion all 时有数据
*
* @since 2024/8/24 23:18 v0.0.6-dev * @since 2024/8/24 23:18 v0.0.6-dev
*/ */
@JSONField(name = "emotion_list") @JSONField(name = "emotion_list")

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -6,6 +6,7 @@ import lombok.Data;
/** /**
* 龙王信息 * 龙王信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 19:38 * @since 2024/8/24 19:38
@ -15,22 +16,26 @@ import lombok.Data;
public class HonorTalkative { public class HonorTalkative {
/** /**
* QQ * QQ
*
* @since 2024/8/25 00:01 v0.0.6-dev * @since 2024/8/25 00:01 v0.0.6-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 昵称 * 昵称
*
* @since 2024/8/25 00:01 v0.0.6-dev * @since 2024/8/25 00:01 v0.0.6-dev
*/ */
private String nickname; private String nickname;
/** /**
* 头像 URL * 头像 URL
*
* @since 2024/8/25 00:01 v0.0.6-dev * @since 2024/8/25 00:01 v0.0.6-dev
*/ */
private String avatar; private String avatar;
/** /**
* 持续天数 * 持续天数
*
* @since 2024/8/25 00:01 v0.0.6-dev * @since 2024/8/25 00:01 v0.0.6-dev
*/ */
@JSONField(name = "day_count") @JSONField(name = "day_count")

View File

@ -1,7 +1,8 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
/** /**
* 荣耀类型 * 荣耀类型
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 23:11 * @since 2024/8/24 23:11
@ -9,32 +10,38 @@ package cn.wzpmc.api.entities;
public enum HonorType { public enum HonorType {
/** /**
* 龙王 * 龙王
*
* @since 2024/8/24 23:12 v0.0.6-dev * @since 2024/8/24 23:12 v0.0.6-dev
*/ */
TALKATIVE, TALKATIVE,
/** /**
* 群聊之火 * 群聊之火
*
* @since 2024/8/24 23:12 v0.0.6-dev * @since 2024/8/24 23:12 v0.0.6-dev
*/ */
PERFORMER, PERFORMER,
/** /**
* 群聊炽焰 * 群聊炽焰
*
* @since 2024/8/24 23:12 v0.0.6-dev * @since 2024/8/24 23:12 v0.0.6-dev
*/ */
LEGEND, LEGEND,
/** /**
* 冒尖小春笋 * 冒尖小春笋
*
* @since 2024/8/24 23:13 v0.0.6-dev * @since 2024/8/24 23:13 v0.0.6-dev
*/ */
STRONG_NEWBIE, STRONG_NEWBIE,
/** /**
* 快乐之源 * 快乐之源
*
* @since 2024/8/24 23:13 v0.0.6-dev * @since 2024/8/24 23:13 v0.0.6-dev
*/ */
EMOTION, EMOTION,
/** /**
* 全部 * 全部
*
* @since 2024/8/24 23:13 v0.0.6-dev * @since 2024/8/24 23:13 v0.0.6-dev
*/ */
ALL; ALL
} }

View File

@ -1,13 +1,14 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import cn.wzpmc.api.events.message.MessageType; import cn.wzpmc.events.message.MessageType;
import cn.wzpmc.api.message.MessageComponent; import cn.wzpmc.message.MessageComponent;
import cn.wzpmc.api.user.IUser; import cn.wzpmc.user.IUser;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
/** /**
* 获取消息操作返回 * 获取消息操作返回
*
* @author wzp * @author wzp
* @version 0.0.5-dev * @version 0.0.5-dev
* @since 2024/8/17 23:08 * @since 2024/8/17 23:08
@ -16,33 +17,39 @@ import lombok.Data;
public class MessageInformation { public class MessageInformation {
/** /**
* 发送时间 * 发送时间
*
* @since 2024/8/23 21:34 v0.0.5-dev * @since 2024/8/23 21:34 v0.0.5-dev
*/ */
private Integer time; private Integer time;
/** /**
* 消息类型 * 消息类型
*
* @since 2024/8/23 21:34 v0.0.5-dev * @since 2024/8/23 21:34 v0.0.5-dev
*/ */
private MessageType type; private MessageType type;
/** /**
* 消息 ID * 消息 ID
*
* @since 2024/8/23 21:34 v0.0.5-dev * @since 2024/8/23 21:34 v0.0.5-dev
*/ */
@JSONField(name = "message_id") @JSONField(name = "message_id")
private Integer messageId; private Integer messageId;
/** /**
* 消息真实 ID * 消息真实 ID
*
* @since 2024/8/23 21:34 v0.0.5-dev * @since 2024/8/23 21:34 v0.0.5-dev
*/ */
@JSONField(name = "real_id") @JSONField(name = "real_id")
private Integer realId; private Integer realId;
/** /**
* 发送人信息 * 发送人信息
*
* @since 2024/8/23 21:35 v0.0.5-dev * @since 2024/8/23 21:35 v0.0.5-dev
*/ */
private IUser sender; private IUser sender;
/** /**
* 消息内容 * 消息内容
*
* @since 2024/8/23 21:35 v0.0.5-dev * @since 2024/8/23 21:35 v0.0.5-dev
*/ */
private MessageComponent message; private MessageComponent message;

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import lombok.Getter; import lombok.Getter;
@ -6,6 +6,7 @@ import java.util.*;
/** /**
* 分群op列表 * 分群op列表
*
* @author wzp * @author wzp
* @version 1.0.0 * @version 1.0.0
* @since 2024/8/25 20:16 * @since 2024/8/25 20:16
@ -14,22 +15,25 @@ import java.util.*;
public final class Ops { public final class Ops {
/** /**
* BOT总管理员 * BOT总管理员
*
* @since 2024/8/25 20:17 v1.0.0 * @since 2024/8/25 20:17 v1.0.0
*/ */
private final Set<Long> admins = new HashSet<>(); private final Set<Long> admins = new HashSet<>();
/** /**
* 群内管理员 * 群内管理员
*
* @since 2024/8/25 20:17 v1.0.0 * @since 2024/8/25 20:17 v1.0.0
*/ */
private final Map<String, List<Long>> groupAdmins = new HashMap<>(); private final Map<String, List<Long>> groupAdmins = new HashMap<>();
/** /**
* 判断此用户在群中是否为管理 * 判断此用户在群中是否为管理
* @author wzp *
* @since 2024/8/25 20:20 v1.0.0
* @param groupId 群ID * @param groupId 群ID
* @param id 用户ID * @param id 用户ID
* @return 是否管理 * @return 是否管理
* @author wzp
* @since 2024/8/25 20:20 v1.0.0
*/ */
public boolean isAdmin(Long groupId, Long id) { public boolean isAdmin(Long groupId, Long id) {
if (admins.contains(id)) { if (admins.contains(id)) {
@ -44,10 +48,11 @@ public final class Ops {
/** /**
* 判断此用户是否为管理 * 判断此用户是否为管理
* @author wzp *
* @since 2024/8/25 20:20 v1.0.0
* @param id 用户ID * @param id 用户ID
* @return 是否管理 * @return 是否管理
* @author wzp
* @since 2024/8/25 20:20 v1.0.0
*/ */
public boolean isAdmin(Long id) { public boolean isAdmin(Long id) {
return admins.contains(id); return admins.contains(id);

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -6,6 +6,7 @@ import lombok.Data;
/** /**
* CQ服务端版本信息 * CQ服务端版本信息
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 19:54 * @since 2024/8/24 19:54
@ -15,18 +16,21 @@ import lombok.Data;
public class VersionInformation { public class VersionInformation {
/** /**
* 应用标识 mirai-native * 应用标识 mirai-native
*
* @since 2024/8/25 00:02 v0.0.6-dev * @since 2024/8/25 00:02 v0.0.6-dev
*/ */
@JSONField(name = "app_name") @JSONField(name = "app_name")
private String appName; private String appName;
/** /**
* 应用版本 1.2.3 * 应用版本 1.2.3
*
* @since 2024/8/25 00:02 v0.0.6-dev * @since 2024/8/25 00:02 v0.0.6-dev
*/ */
@JSONField(name = "app_version") @JSONField(name = "app_version")
private String appVersion; private String appVersion;
/** /**
* OneBot 标准版本 v11 * OneBot 标准版本 v11
*
* @since 2024/8/25 00:02 v0.0.6-dev * @since 2024/8/25 00:02 v0.0.6-dev
*/ */
@JSONField(name = "protocol_version") @JSONField(name = "protocol_version")

View File

@ -1,10 +1,11 @@
package cn.wzpmc.api.entities; package cn.wzpmc.entities;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
/** /**
* 是或否 * 是或否
*
* @author wzp * @author wzp
* @version 0.0.6-dev * @version 0.0.6-dev
* @since 2024/8/24 19:53 * @since 2024/8/24 19:53
@ -14,6 +15,7 @@ import lombok.Data;
public class YesNo { public class YesNo {
/** /**
* 是或否 * 是或否
*
* @since 2024/8/25 00:02 v0.0.6-dev * @since 2024/8/25 00:02 v0.0.6-dev
*/ */
private boolean yes; private boolean yes;

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.events; package cn.wzpmc.events;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -7,6 +7,7 @@ import lombok.NoArgsConstructor;
/** /**
* 事件基类 * 事件基类
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午5:46 * @since 2024/8/1 下午5:46
@ -17,17 +18,20 @@ import lombok.NoArgsConstructor;
public class Event { public class Event {
/** /**
* 事件发生的时间戳 * 事件发生的时间戳
*
* @since 2024/8/1 下午5:52 v0.0.2-dev * @since 2024/8/1 下午5:52 v0.0.2-dev
*/ */
private Long time; private Long time;
/** /**
* 收到事件的机器人的QQ号 * 收到事件的机器人的QQ号
*
* @since 2024/8/1 下午5:52 v0.0.2-dev * @since 2024/8/1 下午5:52 v0.0.2-dev
*/ */
@JSONField(name = "self_id") @JSONField(name = "self_id")
private Long selfId; private Long selfId;
/** /**
* 事件类型 * 事件类型
*
* @since 2024/8/1 下午5:52 v0.0.2-dev * @since 2024/8/1 下午5:52 v0.0.2-dev
*/ */
@JSONField(name = "post_type") @JSONField(name = "post_type")

View File

@ -1,12 +1,13 @@
package cn.wzpmc.api.events; package cn.wzpmc.events;
import cn.wzpmc.api.events.message.MessageEvent; import cn.wzpmc.events.message.MessageEvent;
import cn.wzpmc.api.events.meta.MetaEvent; import cn.wzpmc.events.meta.MetaEvent;
import cn.wzpmc.api.events.notice.NoticeEvent; import cn.wzpmc.events.notice.NoticeEvent;
import cn.wzpmc.api.events.request.RequestEvent; import cn.wzpmc.events.request.RequestEvent;
/** /**
* 事件类型 * 事件类型
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午5:47 * @since 2024/8/1 下午5:47
@ -14,25 +15,30 @@ import cn.wzpmc.api.events.request.RequestEvent;
public enum EventPostType { public enum EventPostType {
/** /**
* 消息事件 * 消息事件
*
* @since 2024/8/1 下午5:48 v0.0.2-dev * @since 2024/8/1 下午5:48 v0.0.2-dev
*/ */
MESSAGE(MessageEvent.class), MESSAGE(MessageEvent.class),
/** /**
* 通知事件 * 通知事件
*
* @since 2024/8/1 下午5:47 v0.0.2-dev * @since 2024/8/1 下午5:47 v0.0.2-dev
*/ */
NOTICE(NoticeEvent.class), NOTICE(NoticeEvent.class),
/** /**
* 请求事件 * 请求事件
*
* @since 2024/8/1 下午5:47 v0.0.2-dev * @since 2024/8/1 下午5:47 v0.0.2-dev
*/ */
REQUEST(RequestEvent.class), REQUEST(RequestEvent.class),
/** /**
* 元事件 * 元事件
*
* @since 2024/8/1 下午5:47 v0.0.2-dev * @since 2024/8/1 下午5:47 v0.0.2-dev
*/ */
META_EVENT(MetaEvent.class); META_EVENT(MetaEvent.class);
public final Class<? extends Event> clazz; public final Class<? extends Event> clazz;
EventPostType(Class<? extends Event> clazz) { EventPostType(Class<? extends Event> clazz) {
this.clazz = clazz; this.clazz = clazz;
} }

View File

@ -1,8 +1,8 @@
package cn.wzpmc.api.events.message; package cn.wzpmc.events.message;
import cn.wzpmc.api.events.Event; import cn.wzpmc.events.Event;
import cn.wzpmc.api.message.StringMessage; import cn.wzpmc.message.StringMessage;
import cn.wzpmc.api.message.json.JsonMessage; import cn.wzpmc.message.json.JsonMessage;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -11,6 +11,7 @@ import lombok.NoArgsConstructor;
/** /**
* 消息事件 * 消息事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午5:49 * @since 2024/8/1 下午5:49
@ -22,46 +23,54 @@ import lombok.NoArgsConstructor;
public class MessageEvent<E, U> extends Event { public class MessageEvent<E, U> extends Event {
/** /**
* 消息子类型 * 消息子类型
*
* @since 2024/8/1 下午11:11 v0.0.2-dev * @since 2024/8/1 下午11:11 v0.0.2-dev
*/ */
@JSONField(name = "sub_type") @JSONField(name = "sub_type")
private E subType; private E subType;
/** /**
* 消息类型 * 消息类型
*
* @since 2024/8/1 下午11:24 v0.0.2-dev * @since 2024/8/1 下午11:24 v0.0.2-dev
*/ */
@JSONField(name = "message_type") @JSONField(name = "message_type")
private MessageType messageType; private MessageType messageType;
/** /**
* 消息ID * 消息ID
*
* @since 2024/8/1 下午11:11 v0.0.2-dev * @since 2024/8/1 下午11:11 v0.0.2-dev
*/ */
@JSONField(name = "message_id") @JSONField(name = "message_id")
private Integer messageId; private Integer messageId;
/** /**
* 发送者ID * 发送者ID
*
* @since 2024/8/1 下午11:11 v0.0.2-dev * @since 2024/8/1 下午11:11 v0.0.2-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Integer userId; private Integer userId;
/** /**
* 消息详细内容 * 消息详细内容
*
* @since 2024/8/1 下午11:11 v0.0.2-dev * @since 2024/8/1 下午11:11 v0.0.2-dev
*/ */
private JsonMessage message; private JsonMessage message;
/** /**
* 文本格式消息 * 文本格式消息
*
* @since 2024/8/1 下午11:11 v0.0.2-dev * @since 2024/8/1 下午11:11 v0.0.2-dev
*/ */
@JSONField(name = "raw_message") @JSONField(name = "raw_message")
private StringMessage rawMessage; private StringMessage rawMessage;
/** /**
* 消息使用字体 * 消息使用字体
*
* @since 2024/8/1 下午11:11 v0.0.2-dev * @since 2024/8/1 下午11:11 v0.0.2-dev
*/ */
private Integer font; private Integer font;
/** /**
* 发送者详细信息 * 发送者详细信息
*
* @since 2024/8/1 下午11:12 v0.0.2-dev * @since 2024/8/1 下午11:12 v0.0.2-dev
*/ */
private U sender; private U sender;

View File

@ -1,10 +1,11 @@
package cn.wzpmc.api.events.message; package cn.wzpmc.events.message;
import cn.wzpmc.api.events.message.group.GroupMessageEvent; import cn.wzpmc.events.message.group.GroupMessageEvent;
import cn.wzpmc.api.events.message.priv.PrivateMessageEvent; import cn.wzpmc.events.message.priv.PrivateMessageEvent;
/** /**
* 消息类型 * 消息类型
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午5:54 * @since 2024/8/1 下午5:54
@ -12,15 +13,18 @@ import cn.wzpmc.api.events.message.priv.PrivateMessageEvent;
public enum MessageType { public enum MessageType {
/** /**
* 私聊 * 私聊
*
* @since 2024/8/1 下午5:55 v0.0.2-dev * @since 2024/8/1 下午5:55 v0.0.2-dev
*/ */
PRIVATE(PrivateMessageEvent.class), PRIVATE(PrivateMessageEvent.class),
/** /**
* *
*
* @since 2024/8/1 下午5:55 v0.0.2-dev * @since 2024/8/1 下午5:55 v0.0.2-dev
*/ */
GROUP(GroupMessageEvent.class); GROUP(GroupMessageEvent.class);
public final Class<? extends MessageEvent<?, ?>> clazz; public final Class<? extends MessageEvent<?, ?>> clazz;
MessageType(Class<? extends MessageEvent<?, ?>> clazz) { MessageType(Class<? extends MessageEvent<?, ?>> clazz) {
this.clazz = clazz; this.clazz = clazz;
} }

View File

@ -1,14 +1,15 @@
package cn.wzpmc.api.events.message.group; package cn.wzpmc.events.message.group;
import cn.wzpmc.api.events.message.MessageEvent; import cn.wzpmc.events.message.MessageEvent;
import cn.wzpmc.api.user.group.GroupUser; import cn.wzpmc.user.group.GroupUser;
import cn.wzpmc.api.user.group.GroupUserAnonymousInfo; import cn.wzpmc.user.group.GroupUserAnonymousInfo;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
/** /**
* 群消息事件 * 群消息事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午8:59 * @since 2024/8/1 下午8:59
@ -18,12 +19,14 @@ import lombok.EqualsAndHashCode;
public class GroupMessageEvent extends MessageEvent<GroupMessageSubType, GroupUser> { public class GroupMessageEvent extends MessageEvent<GroupMessageSubType, GroupUser> {
/** /**
* 群号 * 群号
*
* @since 2024/8/1 下午11:11 v0.0.2-dev * @since 2024/8/1 下午11:11 v0.0.2-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 匿名消息消息当非匿名消息时为null * 匿名消息消息当非匿名消息时为null
*
* @since 2024/8/1 下午11:10 v0.0.2-dev * @since 2024/8/1 下午11:10 v0.0.2-dev
*/ */
private GroupUserAnonymousInfo anonymous; private GroupUserAnonymousInfo anonymous;

View File

@ -1,7 +1,8 @@
package cn.wzpmc.api.events.message.group; package cn.wzpmc.events.message.group;
/** /**
* 群消息子类型 * 群消息子类型
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午6:02 * @since 2024/8/1 下午6:02
@ -9,16 +10,19 @@ package cn.wzpmc.api.events.message.group;
public enum GroupMessageSubType { public enum GroupMessageSubType {
/** /**
* 好友 * 好友
*
* @since 2024/8/1 下午6:03 v0.0.2-dev * @since 2024/8/1 下午6:03 v0.0.2-dev
*/ */
FRIEND, FRIEND,
/** /**
* 群临时会话 * 群临时会话
*
* @since 2024/8/1 下午6:03 v0.0.2-dev * @since 2024/8/1 下午6:03 v0.0.2-dev
*/ */
GROUP, GROUP,
/** /**
* 其他 * 其他
*
* @since 2024/8/1 下午6:03 v0.0.2-dev * @since 2024/8/1 下午6:03 v0.0.2-dev
*/ */
OTHER OTHER

View File

@ -1,10 +1,11 @@
package cn.wzpmc.api.events.message.priv; package cn.wzpmc.events.message.priv;
import cn.wzpmc.api.events.message.MessageEvent; import cn.wzpmc.events.message.MessageEvent;
import cn.wzpmc.api.user.Friend; import cn.wzpmc.user.Friend;
/** /**
* 饲料消息事件 * 私聊消息事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午9:02 * @since 2024/8/1 下午9:02

View File

@ -1,7 +1,8 @@
package cn.wzpmc.api.events.message.priv; package cn.wzpmc.events.message.priv;
/** /**
* 私聊消息子类型 * 私聊消息子类型
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午6:04 * @since 2024/8/1 下午6:04
@ -9,16 +10,19 @@ package cn.wzpmc.api.events.message.priv;
public enum PrivateMessageSubType { public enum PrivateMessageSubType {
/** /**
* 正常消息 * 正常消息
*
* @since 2024/8/1 下午6:07 v0.0.2-dev * @since 2024/8/1 下午6:07 v0.0.2-dev
*/ */
NORMAL, NORMAL,
/** /**
* 匿名消息 * 匿名消息
*
* @since 2024/8/1 下午6:06 v0.0.2-dev * @since 2024/8/1 下午6:06 v0.0.2-dev
*/ */
ANONYMOUS, ANONYMOUS,
/** /**
* 系统提示 * 系统提示
*
* @since 2024/8/1 下午6:06 v0.0.2-dev * @since 2024/8/1 下午6:06 v0.0.2-dev
*/ */
NOTICE NOTICE

View File

@ -1,6 +1,6 @@
package cn.wzpmc.api.events.meta; package cn.wzpmc.events.meta;
import cn.wzpmc.api.entities.BotStatus; import cn.wzpmc.entities.BotStatus;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -14,11 +14,13 @@ import lombok.EqualsAndHashCode;
public class HeartBeatEvent extends MetaEvent { public class HeartBeatEvent extends MetaEvent {
/** /**
* 状态信息 * 状态信息
*
* @since 2024/8/1 下午10:32 v0.0.2-dev * @since 2024/8/1 下午10:32 v0.0.2-dev
*/ */
private BotStatus status; private BotStatus status;
/** /**
* 到下次心跳的间隔ms * 到下次心跳的间隔ms
*
* @since 2024/8/1 下午10:32 v0.0.2-dev * @since 2024/8/1 下午10:32 v0.0.2-dev
*/ */
private Long interval; private Long interval;

View File

@ -1,12 +1,13 @@
package cn.wzpmc.api.events.meta; package cn.wzpmc.events.meta;
import cn.wzpmc.api.events.Event; import cn.wzpmc.events.Event;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
/** /**
* 元事件 * 元事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午10:26 * @since 2024/8/1 下午10:26
@ -16,6 +17,7 @@ import lombok.EqualsAndHashCode;
public class MetaEvent extends Event { public class MetaEvent extends Event {
/** /**
* 元事件子类型 * 元事件子类型
*
* @since 2024/8/1 下午11:12 v0.0.2-dev * @since 2024/8/1 下午11:12 v0.0.2-dev
*/ */
@JSONField(name = "meta_event_type") @JSONField(name = "meta_event_type")

View File

@ -1,6 +1,6 @@
package cn.wzpmc.api.events.meta; package cn.wzpmc.events.meta;
import cn.wzpmc.api.events.meta.lifecycle.LifecycleEvent; import cn.wzpmc.events.meta.lifecycle.LifecycleEvent;
/** /**
* @author wzp * @author wzp
@ -11,6 +11,7 @@ public enum MetaEventType {
LIFECYCLE(LifecycleEvent.class), LIFECYCLE(LifecycleEvent.class),
HEARTBEAT(HeartBeatEvent.class); HEARTBEAT(HeartBeatEvent.class);
public final Class<? extends MetaEvent> clazz; public final Class<? extends MetaEvent> clazz;
MetaEventType(Class<? extends MetaEvent> clazz) { MetaEventType(Class<? extends MetaEvent> clazz) {
this.clazz = clazz; this.clazz = clazz;
} }

View File

@ -1,12 +1,13 @@
package cn.wzpmc.api.events.meta.lifecycle; package cn.wzpmc.events.meta.lifecycle;
import cn.wzpmc.api.events.meta.MetaEvent; import cn.wzpmc.events.meta.MetaEvent;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
/** /**
* 生命周期事件 * 生命周期事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午10:28 * @since 2024/8/1 下午10:28
@ -16,6 +17,7 @@ import lombok.EqualsAndHashCode;
public class LifecycleEvent extends MetaEvent { public class LifecycleEvent extends MetaEvent {
/** /**
* 生命周期事件子类型 * 生命周期事件子类型
*
* @since 2024/8/1 下午10:29 v0.0.2-dev * @since 2024/8/1 下午10:29 v0.0.2-dev
*/ */
@JSONField(name = "sub_type") @JSONField(name = "sub_type")

View File

@ -1,7 +1,8 @@
package cn.wzpmc.api.events.meta.lifecycle; package cn.wzpmc.events.meta.lifecycle;
/** /**
* 生命周期事件子类型 * 生命周期事件子类型
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午10:28 * @since 2024/8/1 下午10:28
@ -9,16 +10,19 @@ package cn.wzpmc.api.events.meta.lifecycle;
public enum LifecycleEventSubType { public enum LifecycleEventSubType {
/** /**
* OneBot被启用 * OneBot被启用
*
* @since 2024/8/1 下午10:29 v0.0.2-dev * @since 2024/8/1 下午10:29 v0.0.2-dev
*/ */
ENABLE, ENABLE,
/** /**
* OneBot被禁用 * OneBot被禁用
*
* @since 2024/8/1 下午10:29 v0.0.2-dev * @since 2024/8/1 下午10:29 v0.0.2-dev
*/ */
DISABLE, DISABLE,
/** /**
* WebSocket连接成功 * WebSocket连接成功
*
* @since 2024/8/1 下午10:29 v0.0.2-dev * @since 2024/8/1 下午10:29 v0.0.2-dev
*/ */
CONNECT CONNECT

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.events.notice; package cn.wzpmc.events.notice;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode;
/** /**
* 好友添加事件 * 好友添加事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午9:42 * @since 2024/8/1 下午9:42
@ -15,6 +16,7 @@ import lombok.EqualsAndHashCode;
public class FriendAddEvent extends NoticeEvent { public class FriendAddEvent extends NoticeEvent {
/** /**
* 用户ID * 用户ID
*
* @since 2024/8/1 下午11:13 v0.0.2-dev * @since 2024/8/1 下午11:13 v0.0.2-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.events.notice; package cn.wzpmc.events.notice;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode;
/** /**
* 群成员禁言事件 * 群成员禁言事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午10:19 * @since 2024/8/1 下午10:19
@ -15,24 +16,28 @@ import lombok.EqualsAndHashCode;
public class GroupBanEvent extends NoticeEvent { public class GroupBanEvent extends NoticeEvent {
/** /**
* 群号 * 群号
*
* @since 2024/8/1 下午10:21 v0.0.2-dev * @since 2024/8/1 下午10:21 v0.0.2-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 操作者用户ID * 操作者用户ID
*
* @since 2024/8/1 下午10:20 v0.0.2-dev * @since 2024/8/1 下午10:20 v0.0.2-dev
*/ */
@JSONField(name = "operator_id") @JSONField(name = "operator_id")
private Long operatorId; private Long operatorId;
/** /**
* 被禁言的用户ID * 被禁言的用户ID
*
* @since 2024/8/1 下午10:20 v0.0.2-dev * @since 2024/8/1 下午10:20 v0.0.2-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 被禁言的时长() * 被禁言的时长()
*
* @since 2024/8/1 下午10:20 v0.0.2-dev * @since 2024/8/1 下午10:20 v0.0.2-dev
*/ */
private Long duration; private Long duration;

View File

@ -1,12 +1,13 @@
package cn.wzpmc.api.events.notice; package cn.wzpmc.events.notice;
import cn.wzpmc.api.events.Event; import cn.wzpmc.events.Event;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
/** /**
* 通知基事件 * 通知基事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午9:21 * @since 2024/8/1 下午9:21
@ -16,6 +17,7 @@ import lombok.EqualsAndHashCode;
public class NoticeEvent extends Event { public class NoticeEvent extends Event {
/** /**
* 通知类型 * 通知类型
*
* @since 2024/8/1 下午11:12 v0.0.2-dev * @since 2024/8/1 下午11:12 v0.0.2-dev
*/ */
@JSONField(name = "notice_type") @JSONField(name = "notice_type")

View File

@ -1,15 +1,16 @@
package cn.wzpmc.api.events.notice; package cn.wzpmc.events.notice;
import cn.wzpmc.api.events.notice.admin.GroupAdminChangeEvent; import cn.wzpmc.events.notice.admin.GroupAdminChangeEvent;
import cn.wzpmc.api.events.notice.file.GroupFileUploadedEvent; import cn.wzpmc.events.notice.file.GroupFileUploadedEvent;
import cn.wzpmc.api.events.notice.notify.NotifyEvent; import cn.wzpmc.events.notice.notify.NotifyEvent;
import cn.wzpmc.api.events.notice.recall.GroupMessageRecallEvent; import cn.wzpmc.events.notice.recall.GroupMessageRecallEvent;
import cn.wzpmc.api.events.notice.recall.MessageRecallEvent; import cn.wzpmc.events.notice.recall.MessageRecallEvent;
import cn.wzpmc.api.events.notice.user.decrease.GroupUserDecreaseEvent; import cn.wzpmc.events.notice.user.decrease.GroupUserDecreaseEvent;
import cn.wzpmc.api.events.notice.user.increase.GroupUserIncreaseEvent; import cn.wzpmc.events.notice.user.increase.GroupUserIncreaseEvent;
/** /**
* 通知类型 * 通知类型
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午9:12 * @since 2024/8/1 下午9:12
@ -17,51 +18,61 @@ import cn.wzpmc.api.events.notice.user.increase.GroupUserIncreaseEvent;
public enum NoticeType { public enum NoticeType {
/** /**
* 群文件上传事件 * 群文件上传事件
*
* @since 2024/8/1 下午10:24 v0.0.2-dev * @since 2024/8/1 下午10:24 v0.0.2-dev
*/ */
GROUP_UPLOAD(GroupFileUploadedEvent.class), GROUP_UPLOAD(GroupFileUploadedEvent.class),
/** /**
* 群管理变更事件 * 群管理变更事件
*
* @since 2024/8/1 下午10:24 v0.0.2-dev * @since 2024/8/1 下午10:24 v0.0.2-dev
*/ */
GROUP_ADMIN(GroupAdminChangeEvent.class), GROUP_ADMIN(GroupAdminChangeEvent.class),
/** /**
* 用户退群事件 * 用户退群事件
*
* @since 2024/8/1 下午10:24 v0.0.2-dev * @since 2024/8/1 下午10:24 v0.0.2-dev
*/ */
GROUP_DECREASE(GroupUserDecreaseEvent.class), GROUP_DECREASE(GroupUserDecreaseEvent.class),
/** /**
* 用户加群事件 * 用户加群事件
*
* @since 2024/8/1 下午10:23 v0.0.2-dev * @since 2024/8/1 下午10:23 v0.0.2-dev
*/ */
GROUP_INCREASE(GroupUserIncreaseEvent.class), GROUP_INCREASE(GroupUserIncreaseEvent.class),
/** /**
* 群组禁言事件 * 群组禁言事件
*
* @since 2024/8/1 下午10:23 v0.0.2-dev * @since 2024/8/1 下午10:23 v0.0.2-dev
*/ */
GROUP_BAN(GroupBanEvent.class), GROUP_BAN(GroupBanEvent.class),
/** /**
* 好友添加事件 * 好友添加事件
*
* @since 2024/8/1 下午10:23 v0.0.2-dev * @since 2024/8/1 下午10:23 v0.0.2-dev
*/ */
FRIEND_ADD(FriendAddEvent.class), FRIEND_ADD(FriendAddEvent.class),
/** /**
* 群消息撤回事件 * 群消息撤回事件
*
* @since 2024/8/1 下午10:23 v0.0.2-dev * @since 2024/8/1 下午10:23 v0.0.2-dev
*/ */
GROUP_RECALL(GroupMessageRecallEvent.class), GROUP_RECALL(GroupMessageRecallEvent.class),
/** /**
* 好友消息撤回事件 * 好友消息撤回事件
*
* @since 2024/8/1 下午10:23 v0.0.2-dev * @since 2024/8/1 下午10:23 v0.0.2-dev
*/ */
FRIEND_RECALL(MessageRecallEvent.class), FRIEND_RECALL(MessageRecallEvent.class),
/** /**
* 群提醒事件 * 群提醒事件
*
* @see NotifyEvent
* @since 2024/8/1 下午10:22 v0.0.2-dev * @since 2024/8/1 下午10:22 v0.0.2-dev
* @see cn.wzpmc.api.events.notice.notify.NotifyEvent
*/ */
NOTIFY(NotifyEvent.class); NOTIFY(NotifyEvent.class);
public final Class<? extends NoticeEvent> clazz; public final Class<? extends NoticeEvent> clazz;
NoticeType(Class<? extends NoticeEvent> clazz) { NoticeType(Class<? extends NoticeEvent> clazz) {
this.clazz = clazz; this.clazz = clazz;
} }

View File

@ -1,12 +1,13 @@
package cn.wzpmc.api.events.notice.admin; package cn.wzpmc.events.notice.admin;
import cn.wzpmc.api.events.notice.NoticeEvent; import cn.wzpmc.events.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
/** /**
* 群管理员更改事件 * 群管理员更改事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午9:26 * @since 2024/8/1 下午9:26
@ -16,18 +17,21 @@ import lombok.EqualsAndHashCode;
public class GroupAdminChangeEvent extends NoticeEvent { public class GroupAdminChangeEvent extends NoticeEvent {
/** /**
* 事件子类型 * 事件子类型
*
* @since 2024/8/1 下午9:28 v0.0.2-dev * @since 2024/8/1 下午9:28 v0.0.2-dev
*/ */
@JSONField(name = "sub_type") @JSONField(name = "sub_type")
private GroupAdminChangeSubType subType; private GroupAdminChangeSubType subType;
/** /**
* 群号 * 群号
*
* @since 2024/8/1 下午9:29 v0.0.2-dev * @since 2024/8/1 下午9:29 v0.0.2-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 被操作者QQ号 * 被操作者QQ号
*
* @since 2024/8/1 下午9:29 v0.0.2-dev * @since 2024/8/1 下午9:29 v0.0.2-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")

View File

@ -1,7 +1,8 @@
package cn.wzpmc.api.events.notice.admin; package cn.wzpmc.events.notice.admin;
/** /**
* 管理员更改子类型 * 管理员更改子类型
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午9:27 * @since 2024/8/1 下午9:27
@ -9,11 +10,13 @@ package cn.wzpmc.api.events.notice.admin;
public enum GroupAdminChangeSubType { public enum GroupAdminChangeSubType {
/** /**
* 设置管理员 * 设置管理员
*
* @since 2024/8/1 下午9:27 v0.0.2-dev * @since 2024/8/1 下午9:27 v0.0.2-dev
*/ */
SET, SET,
/** /**
* 取消管理员 * 取消管理员
*
* @since 2024/8/1 下午9:28 v0.0.2-dev * @since 2024/8/1 下午9:28 v0.0.2-dev
*/ */
UNSET UNSET

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.events.notice.file; package cn.wzpmc.events.notice.file;
import lombok.Data; import lombok.Data;
@ -11,21 +11,25 @@ import lombok.Data;
public class GroupFile { public class GroupFile {
/** /**
* 文件ID * 文件ID
*
* @since 2024/8/1 下午9:24 v0.0.2-dev * @since 2024/8/1 下午9:24 v0.0.2-dev
*/ */
private String id; private String id;
/** /**
* 文件名 * 文件名
*
* @since 2024/8/1 下午9:24 v0.0.2-dev * @since 2024/8/1 下午9:24 v0.0.2-dev
*/ */
private String name; private String name;
/** /**
* 文件大小 * 文件大小
*
* @since 2024/8/1 下午9:24 v0.0.2-dev * @since 2024/8/1 下午9:24 v0.0.2-dev
*/ */
private Long size; private Long size;
/** /**
* BUSID具体见<a href="https://github.com/botuniverse/onebot-11/blob/master/event/notice.md">OneBot文档</a> * BUSID具体见<a href="https://github.com/botuniverse/onebot-11/blob/master/event/notice.md">OneBot文档</a>
*
* @since 2024/8/1 下午9:24 v0.0.2-dev * @since 2024/8/1 下午9:24 v0.0.2-dev
*/ */
private Long busid; private Long busid;

View File

@ -1,12 +1,13 @@
package cn.wzpmc.api.events.notice.file; package cn.wzpmc.events.notice.file;
import cn.wzpmc.api.events.notice.NoticeEvent; import cn.wzpmc.events.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
/** /**
* 群文件上传事件 * 群文件上传事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午9:21 * @since 2024/8/1 下午9:21
@ -16,18 +17,21 @@ import lombok.EqualsAndHashCode;
public class GroupFileUploadedEvent extends NoticeEvent { public class GroupFileUploadedEvent extends NoticeEvent {
/** /**
* 群组ID * 群组ID
*
* @since 2024/8/1 下午9:25 v0.0.2-dev * @since 2024/8/1 下午9:25 v0.0.2-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 用户ID * 用户ID
*
* @since 2024/8/1 下午9:25 v0.0.2-dev * @since 2024/8/1 下午9:25 v0.0.2-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 文件详细消息 * 文件详细消息
*
* @since 2024/8/1 下午9:25 v0.0.2-dev * @since 2024/8/1 下午9:25 v0.0.2-dev
*/ */
@JSONField(name = "group_file") @JSONField(name = "group_file")

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.events.notice.notify; package cn.wzpmc.events.notice.notify;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode;
/** /**
* 红包幸运王事件 * 红包幸运王事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午10:03 * @since 2024/8/1 下午10:03
@ -15,6 +16,7 @@ import lombok.EqualsAndHashCode;
public class LuckyKingNotifyEvent extends NotifyEvent { public class LuckyKingNotifyEvent extends NotifyEvent {
/** /**
* 运气王ID * 运气王ID
*
* @since 2024/8/1 下午10:04 v0.0.2-dev * @since 2024/8/1 下午10:04 v0.0.2-dev
*/ */
@JSONField(name = "target_id") @JSONField(name = "target_id")

View File

@ -1,12 +1,13 @@
package cn.wzpmc.api.events.notice.notify; package cn.wzpmc.events.notice.notify;
import cn.wzpmc.api.events.notice.NoticeEvent; import cn.wzpmc.events.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
/** /**
* 群提醒事件 * 群提醒事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午9:59 * @since 2024/8/1 下午9:59
@ -16,18 +17,21 @@ import lombok.EqualsAndHashCode;
public class NotifyEvent extends NoticeEvent { public class NotifyEvent extends NoticeEvent {
/** /**
* 群号 * 群号
*
* @since 2024/8/1 下午10:01 v0.0.2-dev * @since 2024/8/1 下午10:01 v0.0.2-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 相关用户ID * 相关用户ID
*
* @since 2024/8/1 下午10:00 v0.0.2-dev * @since 2024/8/1 下午10:00 v0.0.2-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 群提醒事件子类型 * 群提醒事件子类型
*
* @since 2024/8/1 下午11:26 v0.0.2-dev * @since 2024/8/1 下午11:26 v0.0.2-dev
*/ */
@JSONField(name = "sub_type") @JSONField(name = "sub_type")

View File

@ -1,9 +1,10 @@
package cn.wzpmc.api.events.notice.notify; package cn.wzpmc.events.notice.notify;
import cn.wzpmc.api.events.notice.notify.honor.HonorNotifyEvent; import cn.wzpmc.events.notice.notify.honor.HonorNotifyEvent;
/** /**
* 群提醒事件子类型 * 群提醒事件子类型
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午9:58 * @since 2024/8/1 下午9:58
@ -11,20 +12,24 @@ import cn.wzpmc.api.events.notice.notify.honor.HonorNotifyEvent;
public enum NotifySubType { public enum NotifySubType {
/** /**
* 群内戳一戳事件 * 群内戳一戳事件
*
* @since 2024/8/1 下午10:16 v0.0.2-dev * @since 2024/8/1 下午10:16 v0.0.2-dev
*/ */
POKE(PokeNotifyEvent.class), POKE(PokeNotifyEvent.class),
/** /**
* 红包运气王事件 * 红包运气王事件
*
* @since 2024/8/1 下午10:16 v0.0.2-dev * @since 2024/8/1 下午10:16 v0.0.2-dev
*/ */
LUCKY_KING(LuckyKingNotifyEvent.class), LUCKY_KING(LuckyKingNotifyEvent.class),
/** /**
* 群内荣耀变更事件 * 群内荣耀变更事件
*
* @since 2024/8/1 下午10:16 v0.0.2-dev * @since 2024/8/1 下午10:16 v0.0.2-dev
*/ */
HONOR(HonorNotifyEvent.class); HONOR(HonorNotifyEvent.class);
public final Class<? extends NotifyEvent> clazz; public final Class<? extends NotifyEvent> clazz;
NotifySubType(Class<? extends NotifyEvent> clazz) { NotifySubType(Class<? extends NotifyEvent> clazz) {
this.clazz = clazz; this.clazz = clazz;
} }

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.events.notice.notify; package cn.wzpmc.events.notice.notify;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode;
/** /**
* 群内戳一戳事件 * 群内戳一戳事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午10:02 * @since 2024/8/1 下午10:02
@ -15,6 +16,7 @@ import lombok.EqualsAndHashCode;
public class PokeNotifyEvent extends NotifyEvent { public class PokeNotifyEvent extends NotifyEvent {
/** /**
* 被戳者ID * 被戳者ID
*
* @since 2024/8/1 下午10:02 v0.0.2-dev * @since 2024/8/1 下午10:02 v0.0.2-dev
*/ */
@JSONField(name = "target_id") @JSONField(name = "target_id")

View File

@ -1,12 +1,13 @@
package cn.wzpmc.api.events.notice.notify.honor; package cn.wzpmc.events.notice.notify.honor;
import cn.wzpmc.api.events.notice.notify.NotifyEvent; import cn.wzpmc.events.notice.notify.NotifyEvent;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
/** /**
* 群荣耀变更事件 * 群荣耀变更事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午10:04 * @since 2024/8/1 下午10:04
@ -16,6 +17,7 @@ import lombok.EqualsAndHashCode;
public class HonorNotifyEvent extends NotifyEvent { public class HonorNotifyEvent extends NotifyEvent {
/** /**
* 荣耀类型 * 荣耀类型
*
* @since 2024/8/1 下午10:06 v0.0.2-dev * @since 2024/8/1 下午10:06 v0.0.2-dev
*/ */
@JSONField(name = "honor_type") @JSONField(name = "honor_type")

View File

@ -1,7 +1,8 @@
package cn.wzpmc.api.events.notice.notify.honor; package cn.wzpmc.events.notice.notify.honor;
/** /**
* 荣耀类型 * 荣耀类型
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午10:05 * @since 2024/8/1 下午10:05
@ -9,16 +10,19 @@ package cn.wzpmc.api.events.notice.notify.honor;
public enum HonorType { public enum HonorType {
/** /**
* 龙王 * 龙王
*
* @since 2024/8/1 下午10:05 v0.0.2-dev * @since 2024/8/1 下午10:05 v0.0.2-dev
*/ */
TALKACTIVE, TALKACTIVE,
/** /**
* 群聊之火 * 群聊之火
*
* @since 2024/8/1 下午10:05 v0.0.2-dev * @since 2024/8/1 下午10:05 v0.0.2-dev
*/ */
PERFORMER, PERFORMER,
/** /**
* 快乐源泉 * 快乐源泉
*
* @since 2024/8/1 下午10:05 v0.0.2-dev * @since 2024/8/1 下午10:05 v0.0.2-dev
*/ */
EMOTION EMOTION

View File

@ -1,4 +1,4 @@
package cn.wzpmc.api.events.notice.recall; package cn.wzpmc.events.notice.recall;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode;
/** /**
* 群消息撤回事件 * 群消息撤回事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午9:43 * @since 2024/8/1 下午9:43
@ -15,12 +16,14 @@ import lombok.EqualsAndHashCode;
public class GroupMessageRecallEvent extends MessageRecallEvent { public class GroupMessageRecallEvent extends MessageRecallEvent {
/** /**
* 群号 * 群号
*
* @since 2024/8/1 下午9:46 v0.0.2-dev * @since 2024/8/1 下午9:46 v0.0.2-dev
*/ */
@JSONField(name = "group_id") @JSONField(name = "group_id")
private Long groupId; private Long groupId;
/** /**
* 操作者ID * 操作者ID
*
* @since 2024/8/1 下午9:45 v0.0.2-dev * @since 2024/8/1 下午9:45 v0.0.2-dev
*/ */
@JSONField(name = "operator_id") @JSONField(name = "operator_id")

View File

@ -1,12 +1,13 @@
package cn.wzpmc.api.events.notice.recall; package cn.wzpmc.events.notice.recall;
import cn.wzpmc.api.events.notice.NoticeEvent; import cn.wzpmc.events.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
/** /**
* 消息撤回事件 * 消息撤回事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午9:48 * @since 2024/8/1 下午9:48
@ -16,12 +17,14 @@ import lombok.EqualsAndHashCode;
public class MessageRecallEvent extends NoticeEvent { public class MessageRecallEvent extends NoticeEvent {
/** /**
* 被撤回的用户ID * 被撤回的用户ID
*
* @since 2024/8/1 下午9:49 v0.0.2-dev * @since 2024/8/1 下午9:49 v0.0.2-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")
private Long userId; private Long userId;
/** /**
* 被撤回的消息ID * 被撤回的消息ID
*
* @since 2024/8/1 下午9:49 v0.0.2-dev * @since 2024/8/1 下午9:49 v0.0.2-dev
*/ */
@JSONField(name = "message_id") @JSONField(name = "message_id")

View File

@ -1,12 +1,13 @@
package cn.wzpmc.api.events.notice.user; package cn.wzpmc.events.notice.user;
import cn.wzpmc.api.events.notice.NoticeEvent; import cn.wzpmc.events.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
/** /**
* 群成员更改事件 * 群成员更改事件
*
* @author wzp * @author wzp
* @version 0.0.2-dev * @version 0.0.2-dev
* @since 2024/8/1 下午9:30 * @since 2024/8/1 下午9:30
@ -16,6 +17,7 @@ import lombok.EqualsAndHashCode;
public class GroupUserModifyEvent<S> extends NoticeEvent { public class GroupUserModifyEvent<S> extends NoticeEvent {
/** /**
* 消息子类型 * 消息子类型
*
* @since 2024/8/1 下午9:31 v0.0.2-dev * @since 2024/8/1 下午9:31 v0.0.2-dev
*/ */
@JSONField(name = "sub_type") @JSONField(name = "sub_type")
@ -28,12 +30,14 @@ public class GroupUserModifyEvent<S> extends NoticeEvent {
private Long groupId; private Long groupId;
/** /**
* 操作者 * 操作者
*
* @since 2024/8/1 下午9:32 v0.0.2-dev * @since 2024/8/1 下午9:32 v0.0.2-dev
*/ */
@JSONField(name = "operator_id") @JSONField(name = "operator_id")
private Long operatorId; private Long operatorId;
/** /**
* 加入/退出用户ID * 加入/退出用户ID
*
* @since 2024/8/1 下午9:35 v0.0.2-dev * @since 2024/8/1 下午9:35 v0.0.2-dev
*/ */
@JSONField(name = "user_id") @JSONField(name = "user_id")

Some files were not shown because too many files have changed in this diff Show More