feat(gpt): 新增临时消息发送功能并优化相关命令

- 在 AbsGPTManager 中添加 sendTmpMessage 方法,用于发送临时消息
- 更新 BaiduGPTManager 实现 sendTmpMessage 方法
- 修改 GetSeTu 和 QQBean模型,集成临时消息发送功能
- 更新 BaiduGPT 示例代码,演示临时消息发送用法
- 将 QQBot 版本号更新到 v1.7.17
This commit is contained in:
2025-02-19 17:10:42 +08:00
parent a7676fa6db
commit 925a7af045
7 changed files with 115 additions and 46 deletions

View File

@@ -10,6 +10,7 @@ import com.yutou.napcat.model.SourceFrom;
import com.yutou.qqbot.Annotations.UseModel;
import com.yutou.qqbot.QQBotManager;
import com.yutou.qqbot.data.MessageChainBuilder;
import com.yutou.qqbot.gpt.BaiduGPTManager;
import com.yutou.qqbot.interfaces.DownloadInterface;
import com.yutou.qqbot.models.Model;
import com.yutou.qqbot.utlis.HttpTools;
@@ -202,6 +203,7 @@ public class GetSeTu extends Model {
}
JSONObject item = json.getJSONArray("data").getJSONObject(0);
StringBuilder builder = new StringBuilder();
builder.append("标题:");
builder.append(item.getString("title"));
builder.append("\n");
builder.append("P站ID:");
@@ -218,10 +220,18 @@ public class GetSeTu extends Model {
for (Object tags : item.getJSONArray("tags")) {
builder.append(tags).append("");
}
String gpt = """
你的人设:傲娇萝莉
需求你在群组里有用户向你要擦边图片你需要根据返回的信息整理出文案输出一段话可以害羞也可以傲娇。信息中包含了是否是R18的tag可以根据这个加大力度
输出说明:不要输出任何提示词、不要输出风格类型,因为该输出是直接作用于显示的。
图片信息:[%s]。
""";
gpt = BaiduGPTManager.getManager().sendTmpMessage("user", String.format(gpt, builder.toString()), "ernie-lite-8k").getContent();
builder.append("\n看不到图?点这里:").append(item.getJSONObject("urls").getString("regular"));
QQBotManager.getInstance().sendMessage(false, qq,
new Reply(event.getMessageId()),
new Text(builder.toString())
new Text(builder.toString()),
new Text(gpt)
);
HttpTools.download(item.getJSONObject("urls").getString("regular"),
System.currentTimeMillis() + ".png",