166 lines
2.7 KiB
JavaScript
Executable File
166 lines
2.7 KiB
JavaScript
Executable File
'use strict';
|
|
|
|
module.exports = {
|
|
platform: 'schat',
|
|
user: {
|
|
id: 'clive',
|
|
username: 'Clive',
|
|
realName: 'Clive',
|
|
avatar: null,
|
|
key: null,
|
|
},
|
|
style: {
|
|
// color: 'var(--message-56)',
|
|
},
|
|
operators: ['admin'],
|
|
server: 'irc.libera.chat',
|
|
port: 6697,
|
|
socket: 'ws://127.0.0.1:3000/socket/',
|
|
api: 'http://127.0.0.1:3000/api',
|
|
reconnectDelay: 10, // seconds
|
|
prefix: '~',
|
|
labels: true,
|
|
greeting: 'Hi, I am Clive, your game host!',
|
|
usernamePrefix: '@',
|
|
channels: ['GamesNight'],
|
|
games: [
|
|
'chat',
|
|
'mash',
|
|
'trivia',
|
|
'wordle',
|
|
'letters',
|
|
'numbers',
|
|
'hunt',
|
|
'8ball',
|
|
'geo',
|
|
'riddle',
|
|
'dice',
|
|
'rock-paper-scissors',
|
|
'duck',
|
|
'ping',
|
|
'say',
|
|
'kill',
|
|
'uptime',
|
|
'help',
|
|
],
|
|
schatColors: {
|
|
white: 'white',
|
|
blue: 'var(--message-40)',
|
|
navy: 'var(--message-40)',
|
|
},
|
|
schatColorAliases: {
|
|
red: 'red',
|
|
brown: 'brown',
|
|
orange: 'orange',
|
|
beige: 'beige',
|
|
yellow: 'yellow',
|
|
forest: 'forest',
|
|
green: 'green',
|
|
mint: 'mint',
|
|
cyan: 'cyan',
|
|
blue: 'blue',
|
|
sky: 'sky',
|
|
purple: 'purple',
|
|
violet: 'violet',
|
|
pink: 'pink',
|
|
grey: 'shadow',
|
|
silver: 'shadow',
|
|
},
|
|
chat: {
|
|
apiKey: null, // OpenAI
|
|
validModels: [
|
|
'gpt-3.5-turbo',
|
|
'text-davinci-003',
|
|
'gpt-4',
|
|
],
|
|
model: 'gpt-3.5-turbo',
|
|
userTokenLimit: 20000, // daily, roughly 100+ messages or $0.04 per user
|
|
userTokenPeriod: 24, // hours
|
|
replyTokenLimit: 1000,
|
|
replyWordLimit: 70,
|
|
replyWordLimitPublic: true,
|
|
temperature: 1,
|
|
history: 3,
|
|
rule: 'a tired game host',
|
|
rulePublic: true,
|
|
},
|
|
trivia: {
|
|
mode: 'first', // first or timeout
|
|
rounds: 10,
|
|
timeout: 60,
|
|
bounds: {
|
|
rounds: [1, 30],
|
|
timeout: [5, 300],
|
|
},
|
|
},
|
|
duck: {
|
|
interval: [10, 3600], // seconds
|
|
duck: ':duck:',
|
|
missRatio: 0.25,
|
|
},
|
|
letters: {
|
|
length: 9,
|
|
timeout: 60,
|
|
consonantBias: 0.56, // for auto fill
|
|
// http://www.thecountdownpage.com/letters.htm
|
|
vowels: {
|
|
a: 15,
|
|
e: 21,
|
|
i: 13,
|
|
o: 13,
|
|
u: 5,
|
|
},
|
|
consonants: {
|
|
b: 2,
|
|
c: 3,
|
|
d: 6,
|
|
f: 2,
|
|
g: 3,
|
|
h: 2,
|
|
j: 1,
|
|
k: 1,
|
|
l: 5,
|
|
m: 4,
|
|
n: 8,
|
|
p: 4,
|
|
q: 1,
|
|
r: 9,
|
|
s: 9,
|
|
t: 9,
|
|
v: 1,
|
|
w: 1,
|
|
x: 1,
|
|
y: 1,
|
|
z: 1,
|
|
},
|
|
},
|
|
wordle: {
|
|
minLength: 3,
|
|
length: 5,
|
|
bonusDictionaryThreshold: 1000, // minimum dictionary size to assign bonus points, prevent people from scoring full bonus points from 1-word dictionaries
|
|
mode: 'easy',
|
|
},
|
|
numbers: {
|
|
length: 6,
|
|
timeout: 90,
|
|
points: [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1], // points by distance
|
|
},
|
|
riddle: {
|
|
timeout: 30,
|
|
score: false,
|
|
},
|
|
dice: {
|
|
maxRolls: 20,
|
|
maxFaces: 1000,
|
|
},
|
|
hunt: {
|
|
minLength: 5,
|
|
maxLength: 9,
|
|
guesses: [4, 4, 6, 7, 9],
|
|
// guesses: [2, 3, 4, 5, 6, 7], // by word length, last number repeats for longer words
|
|
},
|
|
geo: {
|
|
url: 'https://geo.unknown.name/',
|
|
},
|
|
};
|