'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/', }, };