Skip to content

Commit

Permalink
添加其他设备状态事件
Browse files Browse the repository at this point in the history
添加群特殊头衔变动事件
优化分类结构
  • Loading branch information
cnlimiter committed Oct 15, 2022
1 parent e3a0e11 commit 7569e84
Show file tree
Hide file tree
Showing 31 changed files with 176 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import cn.evolvefield.mirai.onebot.dto.response.group.GroupHonorInfoResp;
import cn.evolvefield.mirai.onebot.dto.response.group.GroupInfoResp;
import cn.evolvefield.mirai.onebot.dto.response.group.GroupMemberInfoResp;
import cn.evolvefield.mirai.onebot.dto.response.msic.*;
import cn.evolvefield.mirai.onebot.dto.response.misc.*;
import cn.evolvefield.mirai.onebot.util.BaseUtils;
import cn.evolvefield.mirai.onebot.util.DataBaseUtils;
import cn.evolvefield.mirai.onebot.util.OnebotMsgParser;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

import cn.evolvefield.mirai.onebot.OneBotMirai;
import cn.evolvefield.mirai.onebot.dto.event.message.MessageMap;
import cn.evolvefield.mirai.onebot.dto.event.notice.*;
import cn.evolvefield.mirai.onebot.dto.event.notice.friend.FriendAddNoticeEvent;
import cn.evolvefield.mirai.onebot.dto.event.notice.friend.PrivatePokeNoticeEvent;
import cn.evolvefield.mirai.onebot.dto.event.notice.group.*;
import cn.evolvefield.mirai.onebot.dto.event.notice.misc.OtherClientStatusNoticeEvent;
import cn.evolvefield.mirai.onebot.dto.event.request.FriendAddRequestEvent;
import cn.evolvefield.mirai.onebot.dto.event.request.GroupAddRequestEvent;
import cn.evolvefield.mirai.onebot.util.DataBaseUtils;
Expand Down Expand Up @@ -353,6 +356,36 @@ else if (botEvent instanceof MemberCardChangeEvent changeEvent){
event.setTime(currentTimeSeconds);
return event;
}
else if (botEvent instanceof MemberSpecialTitleChangeEvent changeEvent){
var event = new GroupTitleChangeNoticeEvent();
event.setPostType("notice");
event.setNoticeType("group_title");
event.setSelfId(changeEvent.getBot().getId());
event.setGroupId(changeEvent.getGroup().getId());
event.setUserId(changeEvent.getUser().getId());
event.setTitleNew(changeEvent.getNew());
event.setTitleOld(changeEvent.getOrigin());
event.setTime(currentTimeSeconds);
return event;
}
else if (botEvent instanceof OtherClientEvent clientEvent){
var event = new OtherClientStatusNoticeEvent();
event.setPostType("notice");
event.setNoticeType("client_status");
if (clientEvent instanceof OtherClientOfflineEvent offlineEvent){
event.setSelfId(offlineEvent.getBot().getId());
event.setClient(new OtherClientStatusNoticeEvent.Clients(offlineEvent.getClient().getInfo()));
event.setOnline(false);
return event;
}
else if (clientEvent instanceof OtherClientOnlineEvent onlineEvent){
event.setSelfId(onlineEvent.getBot().getId());
event.setClient(new OtherClientStatusNoticeEvent.Clients(onlineEvent.getClient().getInfo()));
event.setOnline(false);
return event;
}
else return new IgnoreEvent();
}
else {
logger.info(String.format("发生了被插件忽略的事件: %s", botEvent));
return new IgnoreEvent(botEvent.getBot().getId());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.friend;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.friend;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.friend;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.group;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.group;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.group;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.group;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.group;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand All @@ -18,7 +19,7 @@
@AllArgsConstructor
@SuperBuilder(toBuilder = true)
@EqualsAndHashCode(callSuper = true)
public class GroupEssenceNoticeEvent extends NoticeEvent{
public class GroupEssenceNoticeEvent extends NoticeEvent {
@JSONField(name = "sub_type")
private String subType;//add,delete 添加为add,移出为delete
@JSONField(name = "sender_id")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.group;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.group;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.group;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.group;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.group;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package cn.evolvefield.mirai.onebot.dto.event.notice.group;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

/**
* Created on 2022/7/8.
*
* @author cnlimiter
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder(toBuilder = true)
@EqualsAndHashCode(callSuper = true)
public class GroupTitleChangeNoticeEvent extends NoticeEvent {

@JSONField(name = "title_new")
private String titleNew;

@JSONField(name = "group_id")
private long groupId;

@JSONField(name = "title_old")
private String titleOld;

@JSONField(name = "user_id")
private long userId;

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.group;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.guild;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import cn.evolvefield.mirai.onebot.dto.response.guild.ChannelInfoResp;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.guild;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import cn.evolvefield.mirai.onebot.dto.response.guild.ChannelInfoResp;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.guild;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import cn.evolvefield.mirai.onebot.dto.response.guild.ChannelInfoResp;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.guild;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package cn.evolvefield.mirai.onebot.dto.event.notice.misc;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import net.mamoe.mirai.contact.OtherClientInfo;

import java.util.Objects;

/**
* Created on 2022/7/8.
*
* @author cnlimiter
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder(toBuilder = true)
@EqualsAndHashCode(callSuper = true)
public class OtherClientStatusNoticeEvent extends NoticeEvent {

@JSONField(name = "online")
private boolean online;

@JSONField(name = "client")
private Clients client;

/**
* 设备对象
*/
@Data
public static class Clients {

public Clients(OtherClientInfo info){
this.platform = Objects.requireNonNull(info.getPlatform()).name().toLowerCase();
this.appId = info.getAppId();
this.deviceName = info.getDeviceName();
this.deviceKind = info.getDeviceKind();
}

@JSONField(name = "app_id")
private long appId;

@JSONField(name = "platform")
private String platform;

@JSONField(name = "device_name")
private String deviceName;

@JSONField(name = "device_kind")
private String deviceKind;

}

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package cn.evolvefield.mirai.onebot.dto.event.notice;
package cn.evolvefield.mirai.onebot.dto.event.notice.misc;

import cn.evolvefield.mirai.onebot.dto.event.notice.NoticeEvent;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package cn.evolvefield.mirai.onebot.dto.response.msic;
package cn.evolvefield.mirai.onebot.dto.response.misc;

import cn.evolvefield.mirai.onebot.dto.response.ActionData;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package cn.evolvefield.mirai.onebot.dto.response.msic;
package cn.evolvefield.mirai.onebot.dto.response.misc;

import cn.evolvefield.mirai.onebot.dto.response.ActionData;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package cn.evolvefield.mirai.onebot.dto.response.msic;
package cn.evolvefield.mirai.onebot.dto.response.misc;

import cn.evolvefield.mirai.onebot.dto.response.ActionData;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package cn.evolvefield.mirai.onebot.dto.response.msic;
package cn.evolvefield.mirai.onebot.dto.response.misc;

import cn.evolvefield.mirai.onebot.dto.response.ActionData;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package cn.evolvefield.mirai.onebot.dto.response.msic;
package cn.evolvefield.mirai.onebot.dto.response.misc;

import cn.evolvefield.mirai.onebot.dto.response.ActionData;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package cn.evolvefield.mirai.onebot.dto.response.msic;
package cn.evolvefield.mirai.onebot.dto.response.misc;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package cn.evolvefield.mirai.onebot.dto.response.msic;
package cn.evolvefield.mirai.onebot.dto.response.misc;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package cn.evolvefield.mirai.onebot.dto.response.msic;
package cn.evolvefield.mirai.onebot.dto.response.misc;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
Expand Down

0 comments on commit 7569e84

Please sign in to comment.