Skip to content

civsiv/bingo-caller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bingo Caller

A TypeScript-based bingo number caller that announces numbers with traditional British bingo calls. Features text-to-speech announcements and customizable call intervals.

Features

  • Traditional British bingo calls for numbers 1-75
  • Text-to-speech announcements
  • Multiple call variations for each number
  • Configurable call intervals
  • Clean shutdown with game summary
  • Cross-platform support (Windows, macOS, Linux)

Installation

  1. Clone the repository:
git clone <repository-url>
cd bingo_caller
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

Usage

Basic Start

npm start

Speed Options

  • Fast mode (2-second intervals):
npm run start:fast
  • Slow mode (10-second intervals):
npm run start:slow

Custom Configuration

You can customize the caller using environment variables:

  • Set custom call interval (in milliseconds):
BINGO_CALL_INTERVAL=3000 npm start
  • Change the voice (depends on your operating system):
BINGO_CALL_INTERVAL=5000 BINGO_VOICE="Samantha" npm start

Available Voices

macOS

  • Alex
  • Daniel (default)
  • Samantha
  • Victoria
  • And more (check with say -v ?)

Windows

  • Microsoft David Desktop
  • Microsoft Zira Desktop
  • And more (check Speech settings)

Linux

  • Check available voices with say -v ?

Controls

  • Start Game: Run any of the start commands above
  • Stop Game: Press Ctrl+C
  • Game Summary: Displayed automatically when the game ends or is stopped

Project Structure

bingo_caller/
├── src/
│   ├── index.ts         # Main game logic
│   ├── BingoCaller.ts   # Bingo caller class
│   ├── bingoCalls.ts    # Bingo call definitions
│   ├── config.ts        # Configuration
│   └── types.ts         # TypeScript types
├── package.json
└── tsconfig.json

Development

Prerequisites

  • Node.js (v14 or higher recommended)
  • npm

Building

npm run build

Scripts

  • npm run build - Builds the TypeScript code
  • npm start - Builds and runs the game
  • npm run start:fast - Runs with 2-second intervals
  • npm run start:slow - Runs with 10-second intervals

License

ISC

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published