Skip to content

Commit

Permalink
get rid of the rest
Browse files Browse the repository at this point in the history
  • Loading branch information
Techbot121 authored and Meta Construct committed Sep 30, 2024
1 parent 0dd1c28 commit d96866d
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 22 deletions.
24 changes: 9 additions & 15 deletions app/services/Markov.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,6 @@
import * as sqlite from "sqlite3";
import { Container } from "../Container";
import { Service } from ".";
interface ILearnData {
timestamp?: number;
message: string;
authorName: string;
}

export interface IGenerateOptions {
depth?: number;
Expand All @@ -15,8 +10,8 @@ export interface IGenerateOptions {
}

abstract class MarkovChainBase {
abstract learn(data: ILearnData): Promise<void>;
abstract queryDB(chain: string[]): Promise<ILearnData | null>;
abstract learn(data: string): Promise<void>;
abstract queryDB(chain: string[]): Promise<string | null>;

private getWords(sentence: string) {
if (sentence.match(/^\s*$/)) {
Expand Down Expand Up @@ -110,11 +105,11 @@ abstract class MarkovChainBase {
while (out.length < maxLength) {
const data = await this.queryDB(chain);

if (!data || !data.message) {
if (!data) {
break;
}

words = this.getWords(data.message);
words = this.getWords(data);

lastChain = chain;
chain = this.matchCurrentChain(words, chain, depth);
Expand Down Expand Up @@ -156,15 +151,14 @@ class MarkovChain extends MarkovChainBase {
ready(): void {
this.db.run("CREATE TABLE IF NOT EXISTS markov (`message` VARCHAR(255));");
}

learn(data: ILearnData): Promise<void> {
learn(data: string): Promise<void> {
return new Promise<void>((resolve, reject) => {
data.message = data.message.trim().replace(/\s+/g, " "); // standardise whitespace
data = data.trim().replace(/\s+/g, " "); // standardise whitespace

this.db.run(
"INSERT INTO markov VALUES ($message)",
{
$message: data.message,
$message: data,
},
err => {
if (err) {
Expand All @@ -177,7 +171,7 @@ class MarkovChain extends MarkovChainBase {
});
}

queryDB(chain: string[]): Promise<ILearnData | null> {
queryDB(chain: string[]): Promise<string | null> {
return new Promise((resolve, reject) => {
const sentence = chain.join(" ");

Expand Down Expand Up @@ -220,7 +214,7 @@ export class Markov extends Service {
name = "Markov";
markov = new MarkovChain("./metaconcord.db");

async learn(data: ILearnData): Promise<void> {
async learn(data: string): Promise<void> {
await this.markov.learn(data);
}

Expand Down
5 changes: 1 addition & 4 deletions app/services/discord/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -135,10 +135,7 @@ export class DiscordBot extends Service {

const content = msg.content;
if (this.container.getService("Motd")?.isValidMsg(content))
this.container.getService("Markov")?.learn({
authorName: msg.author.username,
message: msg.content,
});
this.container.getService("Markov")?.learn(msg.content);
}

async fixEmbeds(msg: Discord.Message): Promise<void> {
Expand Down
4 changes: 1 addition & 3 deletions app/services/gamebridge/payloads/ChatPayload.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,7 @@ export default class ChatPayload extends Payload {
const motd = bridge.container.getService("Motd");
if (motd?.isValidMsg(content)) {
motd.pushMessage(content);
bridge.container
.getService("Markov")
?.learn({ authorName: payload.data.player.nick, message: content });
bridge.container.getService("Markov")?.learn(content);
}

// 9312 = ①, 9313 = ②, and so on until 20
Expand Down

0 comments on commit d96866d

Please sign in to comment.