mirror of
https://github.com/LamGC/ContentGrabbingJi.git
synced 2025-04-30 06:37:36 +00:00
[Fix] Issue #4 修复因Mirai API变动导致应用无法从消息获取ImageId的问题;
This commit is contained in:
parent
84b8006f89
commit
cbd10ff281
@ -16,7 +16,7 @@ public class MiraiMessageEvent extends MessageEvent {
|
|||||||
|
|
||||||
public MiraiMessageEvent(ContactMessage message) {
|
public MiraiMessageEvent(ContactMessage message) {
|
||||||
super(message instanceof GroupMessage ? ((GroupMessage) message).getGroup().getId() : 0,
|
super(message instanceof GroupMessage ? ((GroupMessage) message).getGroup().getId() : 0,
|
||||||
message.getSender().getId(), message.getMessage().contentToString());
|
message.getSender().getId(), getMessageBodyWithoutSource(message.getMessage().toString()));
|
||||||
this.messageObject = Objects.requireNonNull(message);
|
this.messageObject = Objects.requireNonNull(message);
|
||||||
if(message instanceof GroupMessage) {
|
if(message instanceof GroupMessage) {
|
||||||
messageSender = new MiraiMessageSender(((GroupMessage) message).getGroup(), MessageSource.Group);
|
messageSender = new MiraiMessageSender(((GroupMessage) message).getGroup(), MessageSource.Group);
|
||||||
@ -26,6 +26,19 @@ public class MiraiMessageEvent extends MessageEvent {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将ContactMessage获得的消息内容删除 Mirai:source 并返回.
|
||||||
|
* <p>该做法比较保守, 防止Mirai:source位置出现变动.</p>
|
||||||
|
* @param message ContactMessage的消息内容;
|
||||||
|
* @return 返回删除了Mirai:source的消息
|
||||||
|
*/
|
||||||
|
private static String getMessageBodyWithoutSource(String message) {
|
||||||
|
StringBuilder builder = new StringBuilder(message);
|
||||||
|
int startIndex = builder.indexOf("[mirai:source:");
|
||||||
|
int endIndex = builder.indexOf("]", startIndex) + 1;
|
||||||
|
return builder.delete(startIndex, endIndex).toString();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int sendMessage(final String message) {
|
public int sendMessage(final String message) {
|
||||||
return messageSender.sendMessage(message);
|
return messageSender.sendMessage(message);
|
||||||
|
Loading…
Reference in New Issue
Block a user