Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Twitch Log Bot

Twitch Log Bot is a bot that will join Twitch channels and store chat messages using Google Cloud Datastore.

The web interface is just a basic interface to allow you to see past messages in a channel to see their chat history.
It is designed to be simple and only do lookups per-channel (and optionally: per-user).
If you want something that has more features, take a look at CBenni's Logviewer which is also hosted at


  • Setup Google Cloud Datastore.
  • Setup node & npm.
  • Install dependencies using npm install.
  • Copy config.sample.js to config.js and edit the values (see comments in the config-file).
  • Copy index.sample.yaml to index.yaml and edit each kind to what you wish to store it as in Google Cloud Datastore. Anything else should (by default) be left as-is.
    • The easiest way to create these indexes is by installing Google Cloud SDK, then running gcloud init after installing.
    • After that, while being in the directory of this bot, run gcloud datastore create-indexes index.yaml and it should create the indexes.
    • If you wanna make sure you don't have unnecessary indexes on GC Datastore, run gcloud datastore cleanup-indexes index.yaml in the same directory.
  • Copy channels.sample.json to channels.json and edit it.
    • It's recommended to at least remove the example channels.
  • Copy ignore.sample.json to ignore.json.
    • If you are familiar with JSON objects, feel free to manually edit it. Otherwise, I recommend using the admin commands.
  • Run the bot using node app.js, or alternatively use pm2.


  • Download the latest release or pull directly from master using git pull.
  • Make sure dependencies are up-to-date by using npm install.
  • Make sure config.js has the same properties as config.sample.js.
    • Delete/move config.js elsewhere and make a new config.js based off config.sample.js if you feel like you have to.
  • Make sure index.yaml has the same values as index.sample.yaml (remember to edit the kind!) and update indexes using for example gcloud datastore create-indexes index.yaml.
  • Run the bot using node app.js, or alternatively use pm2.


Changelog can be found here: CHANGELOG.


Commands can be found here: COMMANDS.


This is licensed under the MIT License.