Fixed disproportionate 8 ball answers.
This commit is contained in:
parent
5b4b5d3c0f
commit
8617ab9d8b
|
@ -13,7 +13,7 @@ const contemplations = [
|
|||
'Let\'s see...',
|
||||
];
|
||||
|
||||
const answers = {
|
||||
const answersByType = {
|
||||
positive: [
|
||||
'It is certain',
|
||||
'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();
|
||||
|
||||
function purgeQuestions() {
|
||||
|
@ -65,13 +66,16 @@ async function onCommand(args, context) {
|
|||
? stringSimilarity.findBestMatch(question, Array.from(questions.keys())).bestMatch
|
||||
: null;
|
||||
|
||||
const answerType = similarQuestion?.rating > 0.5
|
||||
? questions.get(similarQuestion.target).answerType
|
||||
: Object.keys(answers)[crypto.randomInt(0, 3)];
|
||||
const similarQuestionType = similarQuestion?.rating > 0.6 && questions.get(similarQuestion.target)?.type;
|
||||
|
||||
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 });
|
||||
|
||||
|
|
Loading…
Reference in New Issue