Juraji / Biliomi

Another fully featured Twitch chat bot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Biliomi v3

Another fully featured Twitch chat bot

About

I tried many generic and Twitch bots out there, but none of them fully satisfied my needs. And since I am a programmer with needs I decided to build my own.

Features

  • Viewer loyalty:
    • Customizable Points system
    • View time tracking
    • Follower/Subscriber statistics
  • RESTful Api
  • Customizable text-based commands
  • Spotify integration
  • Twitter integration
  • Steam integration
  • Stream Labs integration
  • Raid register (manual)
  • Donation register (manual or powered by Stream Labs)
  • Automated and customizable viewer greetings
  • Customizable Chat moderator
  • Basic raffle system
  • Chat quotes register
  • Chat games
    • Adventures Also known as Heists
    • The all-knowing Eightball
    • Investments Yeah that's new
    • Creative ways to die (!kill)
    • Russian Roulette
    • Slot Machine
    • Tamagotchis

Pull requests are always welcome, tho I must tell you I'm very picky.
Sidenote on pull requests: Your IDE might support editor config, or maybe there's a plugin. Use it, it's half of your work done for you

Release schedule

  • Minor versions, mostly including new features:
    Every week on sunday if changes have been made.
  • Micro versions, mostly bugfixes and security fixes:
    As soon as they are available and tested.

"Read the docs"

Biliomi will sometimes refer to "the docs". Find them here!

A WADL for Biliomi's REST Api is available under http://localhost:30000/application.wadl when Biliomi is running.

Setting Up

Download Contents

  • ./
    • Biliomi v3/ Installation root
      • lib Libraries used by Biliomi
      • i18n Language files, feel free to edit
      • biliomi-x.x.x.jar The main Java executable
      • start-biliomi.sh Start script for linux/MacOS
      • start-biliomi.bat Start script for Windows
    • RELEASES.MD A list of all previous releases and release notes
    • README.MD This read me
    • LICENSE License information
    • database-mysql-ddl.sql A SQL script for Biliomi's database
    • Biliomi.ts A TypeScript interface definition file for Biliomi's REST Api model

Installation

Read these instructions carefully, tldr; == No support :D

Prerequisites:

  • Your Twitch channel.
  • A Twitch account for the bot.
    Since Biliomi will have to be able to chat and moderate in your chat it needs an account the be able to do so.

Installation (Using the built in installer)

  1. Make sure you have the latest version of Java 8 or higher installed.
  2. Grab the latest version from the releases page.
  3. Open the downloaded archive and unpack the Biliomi v3 directory to where you want to installation to reside.
  4. Open the file explorer and navigate to the location in which you've unpacked the downloaded archive.
  5. Run Biliomi. Biliomi will initially be set to installation mode.
    To run Biliomi start (double-click) the appropriate runner for your system:
    On Windows: start-biliomi.bat
    On Linux/MacOS: start-biliomi.sh
  6. Follow any instructions in the console to fully set up Biliomi.
  7. When the first time installation was successful Biliomi will have saved your settings and automatically shut down.
  8. Restart Biliomi
  9. Biliomi will now setup the database and ask you a few more questions to complete the installation.
    On successful setup Biliomi will immediately connect to Twitch and start listening for commands.
  10. Wait for Biliomi to finish follower and subscriber updates and exit Biliomi by typing /exit in the console.
  11. Once again open up ./config/core.yml in your favorite text editor and change updateMode to OFF.
  12. Now start Biliomi again and enjoy it's features.

Note: By default Biliomi will be muted to prevent any chatter during setup and initial follower/subscriber updates.
Type !mute in the console or chat to enable chatter.

Updating

Biliomi now has an automated update. The update takes care of step 1 to 3 for you.
Note: The automatic updater will overwrite your i18n files. If you've made any changes to them they will be lost. You might want to make a backup of the ./i18n directory

  1. Grab the latest version from the releases page.
  2. Shut down any currently running instance of Biliomi.
  3. Unpack the downloaded archive into the final location, from which you like to run Biliomi, overwriting all files.
  4. Compare all config files within default-config with the files in the existing config directory.
    Tedious, I know... But one can only do so much. The release notes will always contain a note about changed settings.
  5. Open up ./config/core.yml in your favorite text editor.
    a. Update any setting that needs to be changed. Like added features.
    b. Set updateMode to UPDATE.
  6. Start Biliomi again.
  7. Keep an eye out, Biliomi might have some questions for you.
  8. Wait for Biliomi to fully start
  9. Shut down Biliomi
  10. Once again open up ./config/core.yml in your favorite text editor and change updateMode to OFF.
  11. Now start Biliomi again and enjoy it's features.

Localization

Localization files are available here.

  1. Download the localization pack.
  2. Shut down any currently running instance of Biliomi.
  3. Replace the i18n directory, with the installation root, with the preferred i18n directory from the language pack.
  4. Now start Biliomi again and enjoy.

Usage

Posting commands

Biliomi is a command driven bot. This means that every and all interaction is done via posting commands in the chat or the console.

Commands always start with an exclamation mark (!).

When a command requires arguments you can find out which ones and how by simply posting the base command.
For instance: When you post !announcement in the chat, Biliomi will reply with Usage: !announcement [add|remove|interval|minmsgs] [more...].

The Console

When Biliomi is done booting it will start listening for input in the console.

known Bugs:

  • Any input always requires [enter] to be pressed.
  • Biliomi's logging can interrupt users typing a command, requiring users to reenter the command.

To find out what commands the console supports, simply type /help into the console and press [enter].

Commandline usage:

  • Use console: /[command] [any required parameters]
  • Post commands: ![command] [any required parameters]
  • Send whispers (using bot account): @[target username] [message...]
  • post message in chat (using bot account): >[message...]

About

Another fully featured Twitch chat bot

License:GNU General Public License v3.0


Languages

Language:Java 99.7%Language:HTML 0.3%