mirror of
				https://github.com/ddaodan/minechatgpt.git
				synced 2025-10-31 12:14:12 +08:00 
			
		
		
		
	2.1
- 接入bStats - 调整配置文件,添加更新功能,现在更新插件应该不用再备份配置文件了 - 修改了gradle中错误的依赖
This commit is contained in:
		| @@ -4,7 +4,7 @@ plugins { | ||||
| } | ||||
|  | ||||
| group = 'com' | ||||
| version = '2.0' | ||||
| version = '2.1' | ||||
|  | ||||
| repositories { | ||||
|     mavenCentral() | ||||
| @@ -16,17 +16,21 @@ repositories { | ||||
|         name = "sonatype" | ||||
|         url = "https://oss.sonatype.org/content/groups/public/" | ||||
|     } | ||||
|     maven { | ||||
|         url = 'https://repo.codemc.io/repository/maven-public/' | ||||
|     } | ||||
| } | ||||
|  | ||||
| dependencies { | ||||
|     compileOnly "org.spigotmc:spigot-api:1.13-R0.1-SNAPSHOT" | ||||
|     compileOnly 'org.bstats:bstats-bukkit:3.0.2' | ||||
|     implementation 'org.jodd:jodd-http:6.3.0' | ||||
|     implementation 'org.json:json:20231013' | ||||
| } | ||||
|  | ||||
| shadowJar { | ||||
|     archiveFileName = "MineChatGPT-${project.version}.jar" | ||||
|     relocate 'org.apache.http', 'com.ddaodan.shaded.org.apache.http' | ||||
|     relocate 'jodd', 'com.ddaodan.shaded.jodd' | ||||
|     relocate 'org.json', 'com.ddaodan.minechatgpt.libs.org.json' | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,8 @@ | ||||
| # 更新日志 | ||||
| ## 2.1 | ||||
| - 接入bStats | ||||
| - 调整配置文件,添加更新功能,现在更新插件应该不用再备份配置文件了 | ||||
| - 修改了gradle中错误的依赖 | ||||
| ## 2.0 | ||||
| - 更换为jodd-http库,减少插件大小 | ||||
| - 支持指令补全 | ||||
|   | ||||
							
								
								
									
										23
									
								
								readme.md
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								readme.md
									
									
									
									
									
								
							| @@ -1,5 +1,6 @@ | ||||
| # MineChatGPT | ||||
| 在Minecraft中与ChatGPT交流   | ||||
| 理论支持全版本,欢迎测试 | ||||
|  | ||||
| 所有的代码都是ChatGPT写的哦 | ||||
|  | ||||
| @@ -32,7 +33,7 @@ | ||||
| # API 相关设置 | ||||
| api: | ||||
|   # 你的 OpenAI API key,用于身份验证 | ||||
|   # 获取 API key 的方法:访问 //platform.openai.com/account/api-keys 并创建一个新的 API key | ||||
|   # 获取 API key 的方法:访问 https://platform.openai.com/account/api-keys 并创建一个新的 API key | ||||
|   key: "sk-your_openai_api_key" | ||||
|   # OpenAI API 的基础 URL,用于构建请求 | ||||
|   base_url: "https://api.openai.com/v1" | ||||
| @@ -62,7 +63,6 @@ messages: | ||||
|   help_reload: "&e/chatgpt reload - 重新加载配置文件" | ||||
|   help_model: "&e/chatgpt model <model_name> - 切换至其他模型" | ||||
|   help_modellist: "&e/chatgpt modellist - 可用的模型列表" | ||||
|   usage: "&c输入: /chatgpt model <model_name>" | ||||
|   model_switch: "&a已切换至模型 %s" | ||||
|   chatgpt_error: "&c无法联系ChatGPT。" | ||||
|   chatgpt_response: "&bChatGPT: %s" | ||||
| @@ -70,7 +70,19 @@ messages: | ||||
|   invalid_model: "&c模型无效。使用 /chatgpt modellist 查看可用模型。" | ||||
|   available_models: "&e可用模型列表:" | ||||
|   no_permission: "&c你没有权限使用这个指令。需要的权限:%s" | ||||
| # 不要动!!!!! | ||||
| version: 2.1 | ||||
| ``` | ||||
|  | ||||
| ## 指令与权限 | ||||
| |指令|权限|描述| | ||||
| |-|-|-| | ||||
| |`/chatgpt`|chatgpt.use|查看插件帮助| | ||||
| |`/chatgpt <text>`|chatgpt.use|向ChatGPT提问| | ||||
| |`/chatgpt reload`|chatgpt.reload|重新加载配置文件| | ||||
| |`/chatgpt model <model_name>`|chatgpt.model|切换至其他模型| | ||||
| |`/chatgpt modellist`|chatgpt.modellist|查看可用的模型列表| | ||||
|  | ||||
| ## 兼容的版本 | ||||
| ✔ = 完全支持   | ||||
| ? = 部分支持   | ||||
| @@ -87,6 +99,11 @@ messages: | ||||
| 检查控制台输出的错误内容。 | ||||
| ### `connect timeout` `connect reset` | ||||
| 检查`config.yml`中的`base_url`能否正常访问。如果你无法连接到OpenAI官方的API地址,可以考虑使用其他反代。 | ||||
|  | ||||
| ### 我可以添加其他模型吗? | ||||
| 可以,只要模型支持OpenAI的API,就可以使用。 | ||||
| ## 我没有ChatGPT的账号,可以用吗? | ||||
| 可以,目前有很多代理网站,可以很轻松地使用,而且还支持其他模型,费用通常来说也会比官方便宜。如果你愿意,也可以使用我的代理,目前仅在我的QQ群:226385797中提供。 | ||||
| ### 是否会支持Folia | ||||
| 不会。Folia仍然在开发中,短期内不会支持。 | ||||
| ## 赞助 | ||||
|  | ||||
| @@ -45,7 +45,7 @@ public class CommandHandler implements CommandExecutor { | ||||
|                     return true; | ||||
|                 } | ||||
|                 if (args.length < 2) { | ||||
|                     sender.sendMessage(configManager.getUsageMessage()); | ||||
|                     sender.sendMessage(configManager.getHelpModelMessage()); | ||||
|                     return true; | ||||
|                 } | ||||
|                 String model = args[1]; | ||||
|   | ||||
| @@ -21,6 +21,9 @@ public class ConfigManager { | ||||
|     private String translateColorCodes(String message) { | ||||
|         return ChatColor.translateAlternateColorCodes('&', message); | ||||
|     } | ||||
|     public String getConfigVersion() { | ||||
|         return config.getString("version", "1.0"); | ||||
|     } | ||||
|     public String getApiKey() { | ||||
|         return config.getString("api.key"); | ||||
|     } | ||||
| @@ -61,10 +64,6 @@ public class ConfigManager { | ||||
|         return translateColorCodes(config.getString("messages.help_modellist")); | ||||
|     } | ||||
|  | ||||
|     public String getUsageMessage() { | ||||
|         return translateColorCodes(config.getString("messages.usage")); | ||||
|     } | ||||
|  | ||||
|     public String getModelSwitchMessage() { | ||||
|         return translateColorCodes(config.getString("messages.model_switch")); | ||||
|     } | ||||
|   | ||||
| @@ -1,6 +1,8 @@ | ||||
| package com.ddaodan.MineChatGPT; | ||||
|  | ||||
| import org.bukkit.configuration.file.FileConfiguration; | ||||
| import org.bukkit.plugin.java.JavaPlugin; | ||||
| import org.bstats.bukkit.Metrics; | ||||
|  | ||||
| import java.util.Objects; | ||||
|  | ||||
| @@ -17,10 +19,40 @@ public final class Main extends JavaPlugin { | ||||
|         tabCompleter = new MineChatGPTTabCompleter(configManager); | ||||
|         Objects.requireNonNull(getCommand("chatgpt")).setExecutor(commandHandler); | ||||
|         Objects.requireNonNull(getCommand("chatgpt")).setTabCompleter(tabCompleter); | ||||
|         // Initialize bStats | ||||
|         int pluginId = 22635; | ||||
|         new Metrics(this, pluginId); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onDisable() { | ||||
|         saveConfig(); | ||||
|     } | ||||
|  | ||||
|     private void checkAndUpdateConfig() { | ||||
|         String currentVersion = getConfig().getString("version", "1.0"); | ||||
|         String pluginVersion = getDescription().getVersion(); | ||||
|  | ||||
|         if (!currentVersion.equals(pluginVersion)) { | ||||
|             // 备份旧配置文件 | ||||
|             saveConfig(); | ||||
|             saveResource("config.old.yml", true); | ||||
|  | ||||
|             // 加载默认配置文件 | ||||
|             FileConfiguration defaultConfig = getConfig(); | ||||
|             reloadConfig(); | ||||
|             FileConfiguration newConfig = getConfig(); | ||||
|  | ||||
|             // 合并配置文件 | ||||
|             for (String key : defaultConfig.getKeys(true)) { | ||||
|                 if (!newConfig.contains(key)) { | ||||
|                     newConfig.set(key, defaultConfig.get(key)); | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             // 更新版本号 | ||||
|             newConfig.set("version", pluginVersion); | ||||
|             saveConfig(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -31,7 +31,6 @@ messages: | ||||
|   help_reload: "&e/chatgpt reload - Reload the configuration file." | ||||
|   help_model: "&e/chatgpt model <model_name> - Switch to a different model." | ||||
|   help_modellist: "&e/chatgpt modellist - List available models." | ||||
|   usage: "&cUsage: /chatgpt model <model_name>" | ||||
|   model_switch: "&aModel switched to %s" | ||||
|   chatgpt_error: "&cFailed to contact ChatGPT." | ||||
|   chatgpt_response: "&bChatGPT: %s" | ||||
| @@ -39,3 +38,5 @@ messages: | ||||
|   invalid_model: "&cInvalid model. Use /chatgpt modellist to see available models." | ||||
|   available_models: "&eAvailable models:" | ||||
|   no_permission: "&cYou do not have permission to use this command. Required permission: %s" | ||||
| # DO NOT EDIT!!!!! | ||||
| version: 2.1 | ||||
| @@ -1,7 +1,7 @@ | ||||
| # API 相关设置 | ||||
| api: | ||||
|   # 你的 OpenAI API key,用于身份验证 | ||||
|   # 获取 API key 的方法:访问 //platform.openai.com/account/api-keys 并创建一个新的 API key | ||||
|   # 获取 API key 的方法:访问 https://platform.openai.com/account/api-keys 并创建一个新的 API key | ||||
|   key: "sk-your_openai_api_key" | ||||
|   # OpenAI API 的基础 URL,用于构建请求 | ||||
|   base_url: "https://api.openai.com/v1" | ||||
| @@ -31,7 +31,6 @@ messages: | ||||
|   help_reload: "&e/chatgpt reload - 重新加载配置文件" | ||||
|   help_model: "&e/chatgpt model <model_name> - 切换至其他模型" | ||||
|   help_modellist: "&e/chatgpt modellist - 可用的模型列表" | ||||
|   usage: "&c输入: /chatgpt model <model_name>" | ||||
|   model_switch: "&a已切换至模型 %s" | ||||
|   chatgpt_error: "&c无法联系ChatGPT。" | ||||
|   chatgpt_response: "&bChatGPT: %s" | ||||
| @@ -39,3 +38,5 @@ messages: | ||||
|   invalid_model: "&c模型无效。使用 /chatgpt modellist 查看可用模型。" | ||||
|   available_models: "&e可用模型列表:" | ||||
|   no_permission: "&c你没有权限使用这个指令。需要的权限:%s" | ||||
| # 不要动!!!!! | ||||
| version: 2.1 | ||||
		Reference in New Issue
	
	Block a user