diff --git a/README.md b/README.md index 433edab..d797166 100644 --- a/README.md +++ b/README.md @@ -142,6 +142,12 @@ npm start ## Changelog +### 0.7.3 + +* Fix crash when fetched messages is empty +* Update docs +* Update dependencies + ### 0.7.2 * Fix @everyone replacement diff --git a/index.ts b/index.ts index 4704ef2..f02a3e4 100644 --- a/index.ts +++ b/index.ts @@ -8,6 +8,7 @@ import Markov, { MarkovGenerateOptions, MarkovResult, MarkovConstructorOptions, + MarkovImportExport, } from 'markov-strings'; import * as schedule from 'node-schedule'; @@ -110,15 +111,15 @@ function regenMarkov(): void { markovDB.splice(removeIndex, 1); }); deletionCache = []; - const markov = new Markov(markovDB, markovOpts); + const markov = new Markov(markovOpts); fileObj.messages = markovDB; // console.log("WRITING THE FOLLOWING DATA:") // console.log(fileObj) fs.writeFileSync('config/markovDB.json', JSON.stringify(fileObj), 'utf-8'); fileObj.messages = []; messageCache = []; - markov.buildCorpus(); - fs.writeFileSync('config/markov.json', JSON.stringify(markov)); + markov.addData(markovDB); + fs.writeFileSync('config/markov.json', JSON.stringify(markov.export())); console.log('Done regenerating Markov corpus.'); } @@ -267,11 +268,11 @@ function generateResponse(message: Discord.Message, debug = false, tts = message maxTries: MAX_TRIES, }; - const fsMarkov = new Markov([''], markovOpts); - const markovFile = JSON.parse(fs.readFileSync('config/markov.json', 'utf-8')) as Markov; - fsMarkov.corpus = markovFile.corpus; - fsMarkov.startWords = markovFile.startWords; - fsMarkov.endWords = markovFile.endWords; + const fsMarkov = new Markov(); + const markovFile = JSON.parse( + fs.readFileSync('config/markov.json', 'utf-8') + ) as MarkovImportExport; + fsMarkov.import(markovFile); try { const myResult = fsMarkov.generate(options) as MarkbotMarkovResult; diff --git a/package-lock.json b/package-lock.json index 3cc3ba5..2d8331d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "markbot", - "version": "0.7.2", + "version": "0.7.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1193,7 +1193,8 @@ "lodash": { "version": "4.17.19", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "dev": true }, "lodash.unescape": { "version": "4.0.1", @@ -1213,11 +1214,18 @@ "dev": true }, "markov-strings": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/markov-strings/-/markov-strings-2.1.0.tgz", - "integrity": "sha512-bJDOilLc7fUllWmGj0kZ6sJ0vAnP4IOkZ/KfYSduhKmKwW3iljvs8ffn2JsozZysmYvNkLPZLIAeoytfV7Cz9w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/markov-strings/-/markov-strings-3.0.1.tgz", + "integrity": "sha512-/Cf6m7iIK1JWtvOemZ9eRUpKvebm+m6uXMTzszOJrRO3rkmdCqoS/EO9d4/3aFPnYEIHkopcF4C7W+k1zTDjnw==", "requires": { - "lodash": "^4.17.14" + "lodash": "^4.17.20" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + } } }, "mime-db": { @@ -2086,4 +2094,4 @@ } } } -} +} \ No newline at end of file diff --git a/package.json b/package.json index 0a0dcca..99326b9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "markbot", - "version": "0.7.2", + "version": "0.7.3", "description": "A conversational Markov chain bot for Discord", "main": "index.js", "scripts": { @@ -28,7 +28,7 @@ "bufferutil": "^4.0.1", "discord.js": "^12.3.1", "erlpack": "^0.1.3", - "markov-strings": "^2.1.0", + "markov-strings": "^3.0.1", "node-schedule": "^1.3.2", "source-map-support": "^0.5.16", "zlib-sync": "^0.1.7" @@ -53,4 +53,4 @@ "eslintIgnore": [ "**/*.js" ] -} +} \ No newline at end of file