Merge pull request '模块图文分离' (#5) from dev_ into master

Reviewed-on: test/QQBot#5
This commit is contained in:
yutou 2022-08-05 11:58:22 +08:00
commit 39588831d4
4 changed files with 28 additions and 17 deletions

View File

@ -6,6 +6,7 @@ import com.yutou.qqbot.utlis.AppTools;
import com.yutou.qqbot.utlis.HttpTools; import com.yutou.qqbot.utlis.HttpTools;
import com.yutou.qqbot.utlis.RedisTools; import com.yutou.qqbot.utlis.RedisTools;
import com.yutou.qqbot.utlis.StringUtils; import com.yutou.qqbot.utlis.StringUtils;
import net.mamoe.mirai.message.MessageReceipt;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -63,7 +64,7 @@ public class AppController {
@RequestMapping("/qq/send.do") @RequestMapping("/qq/send.do")
public String sendQQ(@RequestBody JSONObject json) { public String sendQQ(@RequestBody JSONObject json) {
File image = null; File image = null;
String ret; MessageReceipt<?> ret;
if(json.getString("message").isEmpty()){ if(json.getString("message").isEmpty()){
return "not message"; return "not message";
} }
@ -76,7 +77,7 @@ public class AppController {
} else { } else {
ret = QQBotManager.getInstance().sendMessage(json.getLong("qq"), json.getString("message")); ret = QQBotManager.getInstance().sendMessage(json.getLong("qq"), json.getString("message"));
} }
return ret; return ret==null?"message send fail":"message send success";
} }
@ResponseBody @ResponseBody

View File

@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication @SpringBootApplication
public class QQBotApplication { public class QQBotApplication {
public static final String version="QQBot v.1.3.3"; public static final String version="QQBot v.1.3.4";
public static void main(String[] args) { public static void main(String[] args) {
System.out.println("version = " + version); System.out.println("version = " + version);
SpringApplication.run(QQBotApplication.class, args); SpringApplication.run(QQBotApplication.class, args);

View File

@ -6,7 +6,9 @@ import com.yutou.qqbot.Listeners.QQMessageListener;
import com.yutou.qqbot.utlis.*; import com.yutou.qqbot.utlis.*;
import net.mamoe.mirai.Bot; import net.mamoe.mirai.Bot;
import net.mamoe.mirai.BotFactory; import net.mamoe.mirai.BotFactory;
import net.mamoe.mirai.contact.Group;
import net.mamoe.mirai.event.GlobalEventChannel; import net.mamoe.mirai.event.GlobalEventChannel;
import net.mamoe.mirai.message.MessageReceipt;
import net.mamoe.mirai.message.data.Image; import net.mamoe.mirai.message.data.Image;
import net.mamoe.mirai.message.data.MessageChain; import net.mamoe.mirai.message.data.MessageChain;
import net.mamoe.mirai.message.data.MessageChainBuilder; import net.mamoe.mirai.message.data.MessageChainBuilder;
@ -127,36 +129,37 @@ public class QQBotManager {
return getNotLoginQQ(); return getNotLoginQQ();
} }
public String sendMessage(Long group, String text) { public MessageReceipt<?> sendMessage(Long group, String text) {
if (bot != null) { if (bot != null) {
try { try {
if (QQNumberManager.getManager().isGroup(group)) { if (QQNumberManager.getManager().isGroup(group)) {
return Objects.requireNonNull(bot.getGroup(group)).sendMessage(text).toString(); return Objects.requireNonNull(bot.getGroup(group)).sendMessage(text);
} else { } else {
return Objects.requireNonNull(bot.getFriend(group)).sendMessage(text).toString(); return Objects.requireNonNull(bot.getFriend(group)).sendMessage(text);
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
return getNotLoginQQ(); return null;
} }
public void sendMessage(Long group, MessageChainBuilder builder) { public MessageReceipt<?> sendMessage(Long group, MessageChainBuilder builder) {
if (bot != null) { if (bot != null) {
if (QQNumberManager.getManager().isGroup(group)) { if (QQNumberManager.getManager().isGroup(group)) {
Objects.requireNonNull(bot.getGroup(group)).sendMessage(builder.asMessageChain()); return Objects.requireNonNull(bot.getGroup(group)).sendMessage(builder.asMessageChain());
} else { } else {
Objects.requireNonNull(bot.getFriend(group)).sendMessage(builder.asMessageChain()); return Objects.requireNonNull(bot.getFriend(group)).sendMessage(builder.asMessageChain());
} }
} }
return null;
} }
public String sendMessage(File imageFile, Long qq, String text) { public MessageReceipt<?> sendMessage(File imageFile, Long qq, String text) {
return sendMessage(imageFile, qq, null, text); return sendMessage(imageFile, qq, null, text);
} }
public String sendMessage(File imageFile, Long qq, MessageChain replyMessage, String text) { public MessageReceipt<?> sendMessage(File imageFile, Long qq, MessageChain replyMessage, String text) {
try { try {
if (bot != null) { if (bot != null) {
Image image = getImage(imageFile, qq); Image image = getImage(imageFile, qq);
@ -169,19 +172,19 @@ public class QQBotManager {
} }
builder.append(text); builder.append(text);
if (QQNumberManager.getManager().isGroup(qq)) { if (QQNumberManager.getManager().isGroup(qq)) {
return Objects.requireNonNull(bot.getGroup(qq)).sendMessage(builder.asMessageChain()).toString(); return Objects.requireNonNull(bot.getGroup(qq)).sendMessage(builder.asMessageChain());
} else { } else {
return Objects.requireNonNull(bot.getFriend(qq)).sendMessage(builder.asMessageChain()).toString(); return Objects.requireNonNull(bot.getFriend(qq)).sendMessage(builder.asMessageChain());
} }
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return getNotLoginQQ(); return null;
} }
public String sendMessage(File imageFile, String text) { public MessageReceipt<?> sendMessage(File imageFile, String text) {
return sendMessage(imageFile, qqGroup, text); return sendMessage(imageFile, qqGroup, text);
} }

View File

@ -12,8 +12,10 @@ import com.yutou.qqbot.utlis.Log;
import com.yutou.qqbot.utlis.RedisTools; import com.yutou.qqbot.utlis.RedisTools;
import com.yutou.qqbot.utlis.StringUtils; import com.yutou.qqbot.utlis.StringUtils;
import net.mamoe.mirai.event.events.MessageEvent; import net.mamoe.mirai.event.events.MessageEvent;
import net.mamoe.mirai.message.MessageReceipt;
import net.mamoe.mirai.message.data.At; import net.mamoe.mirai.message.data.At;
import net.mamoe.mirai.message.data.MessageChainBuilder; import net.mamoe.mirai.message.data.MessageChainBuilder;
import net.mamoe.mirai.message.data.QuoteReply;
import redis.clients.jedis.Jedis; import redis.clients.jedis.Jedis;
import java.io.File; import java.io.File;
@ -213,8 +215,13 @@ public class GetSeTu extends Model {
@Override @Override
public void onDownload(File file) { public void onDownload(File file) {
super.onDownload(file); super.onDownload(file);
String message = QQBotManager.getInstance().sendMessage(file, qq, event.getMessage(), builder.toString()); QQBotManager.getInstance().sendMessage(file, qq, event.getMessage(), "");
MessageChainBuilder chain = new MessageChainBuilder();
chain.append(new QuoteReply(event.getMessage()));
chain.append(builder.toString());
MessageReceipt<?> message=QQBotManager.getInstance().sendMessage(qq,chain);
Log.i(getModelName(),message); Log.i(getModelName(),message);
} }
@Override @Override