Plato on Github
Report Home
lib/mineflayer-chatgpt.js
Maintainability
67.54
Lines of code
45
Difficulty
24.18
Estimated Errors
0.27
Function weight
By Complexity
By SLOC
"use strict"; import Client from "./client.js"; import Memory from "./memory.js"; import moderator from "./moderator.js"; let memory; function chatgpt(bot) { let client; let enableModeration; let enableLogging; bot.chatgpt = {}; bot.chatgpt.setConfig = (apiKey, opts) => { opts = opts || {}; enableModeration = opts.enableModeration || true; enableLogging = opts.enableLogging || false; client = new Client(apiKey, opts); memory = new Memory(opts.historySize); }; bot.chatgpt.sendMessage = async (player, message) => { try { let reply = await client.chat(memory, player, message); if (enableModeration === true) { reply = moderator.sanitiseProfanity(reply); } if (enableLogging === true) { console.log(`Player ${player} received a reply from ChatGPT: ${reply}`); } return reply; } catch (error) { console.error(`An unexpected error has occurred: ${error.message}`); throw error; } }; } const exports = { chatgpt: chatgpt, }; export { exports as default };