Update to markov-strings-db 4.1

This commit is contained in:
Charlie Laabs
2022-01-01 23:10:02 -06:00
parent bccb7e7cdf
commit b41d576e74
5 changed files with 22 additions and 25 deletions

3
.vscode/launch.json vendored
View File

@@ -14,7 +14,8 @@
],
"args": [
"${workspaceFolder}/src/index.ts"
]
],
"outputCapture": "std",
}
]
}

View File

@@ -31,6 +31,8 @@ RUN npm run build
########
FROM base as deploy
USER node
# Steal node_modules from base image
COPY --from=build /usr/app/node_modules node_modules

14
package-lock.json generated
View File

@@ -23,7 +23,7 @@
"erlpack": "github:discord/erlpack",
"fs-extra": "^10.0.0",
"json5": "^2.2.0",
"markov-strings-db": "^4.0.1",
"markov-strings-db": "^4.1.1",
"pino": "^7.5.1",
"pino-pretty": "^7.3.0",
"reflect-metadata": "^0.1.13",
@@ -2681,9 +2681,9 @@
"dev": true
},
"node_modules/markov-strings-db": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/markov-strings-db/-/markov-strings-db-4.0.1.tgz",
"integrity": "sha512-i7GANb+/6Ppm8DAEO6jp3dxso28Z1LQRW2B+KgJFgvN0dRS9L9r5Dh5zNwW3txye8AYIFhPbXo5zdmP1UknXMQ==",
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/markov-strings-db/-/markov-strings-db-4.1.1.tgz",
"integrity": "sha512-IRfqGlq8VajKXY2+CYvuLIOwHWSLoIWfruyYK8WP96fJ17UqqXLRO959jJLp5Yy+9JJuwGHfbvVt7fBd1xHxjw==",
"dependencies": {
"reflect-metadata": "^0.1.13",
"typeorm": "^0.2.41"
@@ -6431,9 +6431,9 @@
"dev": true
},
"markov-strings-db": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/markov-strings-db/-/markov-strings-db-4.0.1.tgz",
"integrity": "sha512-i7GANb+/6Ppm8DAEO6jp3dxso28Z1LQRW2B+KgJFgvN0dRS9L9r5Dh5zNwW3txye8AYIFhPbXo5zdmP1UknXMQ==",
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/markov-strings-db/-/markov-strings-db-4.1.1.tgz",
"integrity": "sha512-IRfqGlq8VajKXY2+CYvuLIOwHWSLoIWfruyYK8WP96fJ17UqqXLRO959jJLp5Yy+9JJuwGHfbvVt7fBd1xHxjw==",
"requires": {
"reflect-metadata": "^0.1.13",
"typeorm": "^0.2.41"

View File

@@ -44,7 +44,7 @@
"erlpack": "github:discord/erlpack",
"fs-extra": "^10.0.0",
"json5": "^2.2.0",
"markov-strings-db": "^4.0.1",
"markov-strings-db": "^4.1.1",
"pino": "^7.5.1",
"pino-pretty": "^7.3.0",
"reflect-metadata": "^0.1.13",

View File

@@ -189,9 +189,13 @@ function messageToData(message: Discord.Message): AddDataProps {
const attachmentUrls = message.attachments.map((a) => a.url);
let custom: MarkovDataCustom | undefined;
if (attachmentUrls.length) custom = { attachments: attachmentUrls };
const tags: string[] = [message.id];
if (message.channelId) tags.push(message.channelId);
if (message.guildId) tags.push(message.guildId);
return {
string: message.content,
custom,
tags,
};
}
@@ -213,6 +217,7 @@ async function saveGuildMessageHistory(
L.debug('Deleting old data');
await markov.delete();
await markov.setup(); // TODO: temp fix until new markov-strings-db version
const channelIds = channels.map((c) => c.id);
L.debug({ channelIds }, `Training from text channels`);
@@ -365,7 +370,7 @@ async function generateResponse(
const messageOpts: Discord.MessageOptions = { tts };
const attachmentUrls = response.refs
.filter((ref) => ref.custom && 'attachments' in ref.custom)
.flatMap((ref) => ref.custom.attachments);
.flatMap((ref) => (ref.custom as MarkovDataCustom).attachments);
if (attachmentUrls.length > 0) {
const randomRefAttachment = getRandomElement(attachmentUrls);
messageOpts.files = [randomRefAttachment];
@@ -373,19 +378,8 @@ async function generateResponse(
const randomMessage = await MarkovInputData.createQueryBuilder<
MarkovInputData<MarkovDataCustom>
>('input')
.leftJoinAndSelect('input.fragment', 'fragment')
.leftJoinAndSelect('fragment.corpusEntry', 'corpusEntry')
.where([
{
fragment: { startWordMarkov: markov.db },
},
{
fragment: { endWordMarkov: markov.db },
},
{
fragment: { corpusEntry: { markov: markov.db } },
},
])
.leftJoinAndSelect('input.markov', 'markov')
.where({ markov: markov.db })
.orderBy('RANDOM()')
.limit(1)
.getOne();
@@ -565,7 +559,7 @@ client.on('messageDelete', async (message) => {
return;
}
const markov = await getMarkovByGuildId(message.guildId);
await markov.removeData([message.content]);
await markov.removeStrings([message.content]);
});
client.on('messageUpdate', async (oldMessage, newMessage) => {
@@ -575,7 +569,7 @@ client.on('messageUpdate', async (oldMessage, newMessage) => {
return;
}
const markov = await getMarkovByGuildId(oldMessage.guildId);
await markov.removeData([oldMessage.content]);
await markov.removeStrings([oldMessage.content]);
await markov.addData([newMessage.content]);
});