Fixed disproportionate 8 ball answers.
This commit is contained in:
parent
5b4b5d3c0f
commit
8617ab9d8b
|
@ -13,7 +13,7 @@ const contemplations = [
|
||||||
'Let\'s see...',
|
'Let\'s see...',
|
||||||
];
|
];
|
||||||
|
|
||||||
const answers = {
|
const answersByType = {
|
||||||
positive: [
|
positive: [
|
||||||
'It is certain',
|
'It is certain',
|
||||||
'It is decidedly so',
|
'It is decidedly so',
|
||||||
|
@ -42,6 +42,7 @@ const answers = {
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const answers = Object.entries(answersByType).flatMap(([type, typeAnswers]) => typeAnswers.map((answer) => ({ answer, type })));
|
||||||
const questions = new Map();
|
const questions = new Map();
|
||||||
|
|
||||||
function purgeQuestions() {
|
function purgeQuestions() {
|
||||||
|
@ -65,13 +66,16 @@ async function onCommand(args, context) {
|
||||||
? stringSimilarity.findBestMatch(question, Array.from(questions.keys())).bestMatch
|
? stringSimilarity.findBestMatch(question, Array.from(questions.keys())).bestMatch
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
const answerType = similarQuestion?.rating > 0.5
|
const similarQuestionType = similarQuestion?.rating > 0.6 && questions.get(similarQuestion.target)?.type;
|
||||||
? questions.get(similarQuestion.target).answerType
|
|
||||||
: Object.keys(answers)[crypto.randomInt(0, 3)];
|
|
||||||
|
|
||||||
const answer = answers[answerType][crypto.randomInt(0, answers[answerType].length)];
|
const { answer, type } = similarQuestionType
|
||||||
|
? {
|
||||||
|
answer: answersByType[similarQuestionType][crypto.randomInt(0, answersByType[similarQuestionType].length)],
|
||||||
|
type: similarQuestionType,
|
||||||
|
}
|
||||||
|
: answers[crypto.randomInt(0, answers.length)];
|
||||||
|
|
||||||
questions.set(question, { answerType, timestamp: new Date() });
|
questions.set(question, { type, timestamp: new Date() });
|
||||||
|
|
||||||
context.sendMessage(`🎱 ${contemplations[crypto.randomInt(0, contemplations.length)]}`, context.room.id, { label: false });
|
context.sendMessage(`🎱 ${contemplations[crypto.randomInt(0, contemplations.length)]}`, context.room.id, { label: false });
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue