Skip to content

night/betterttv

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
January 15, 2023 02:21
src
March 8, 2023 00:02
February 19, 2023 17:56
January 21, 2023 01:32
February 19, 2023 17:56
September 28, 2021 23:33
December 31, 2022 02:29
January 28, 2023 02:15

BetterTTV

Build Status Discord Crowdin

Building BetterTTV

Getting the essentials

  1. Install nodejs.
  2. Run npm install within the BetterTTV directory.

Development

We use webpack to concatenate all of the files and templates into one. Just run the following command from the BetterTTV directory to start a dev server.

npm start

A webserver will start and you are able to use the development version of BetterTTV on Twitch using this userscript in a script manager like TamperMonkey:

// ==UserScript==
// @name         BetterTTV Development
// @description  Enhances Twitch with new features, emotes, and more.
// @namespace    http://betterttv.com/
// @copyright    NightDev, LLC
// @icon         https://cdn.betterttv.net/assets/logos/bttv_logo.png
// @version      0.0.1
// @match        https://*.twitch.tv/*
// @grant        none
// ==/UserScript==

(function betterttv() {
    const script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'http://127.0.0.1:2888/betterttv.js';
    const head = document.getElementsByTagName('head')[0];
    if (!head) return;
    head.appendChild(script);
})()

Once installed you should disable BetterTTV's main extension so BetterTTV will only be loaded from your computer.

Debug Messages:

In order to receive debug messages inside the browser's console log, you must toggle the consoleLog localStorage setting.

Type this in the JavaScript console to enable console logging:

BetterTTV.settings.set('consoleLog', true);

Linting

We use ESLint to ensure a consistent code style and avoid buggy code.

Running npm run lint will automatically check for any errors in the code. Please fix any errors before creating a pull request. Any warnings produced prior to your changes can be ignored.

Live Linting with Sublime Text:

If you use Sublime Text as your text editor, you can set it up to highlight any errors that ESLint would throw in real-time.

  1. Get ESLint using npm install eslint
  2. Install Sublime Package Control
  3. Install SublimeLinter
  4. Install SublimeLinter-eslint

Live Linting with VSCode:

If you use VSCode as your text editor, you can set it up to highlight any errors that ESLint would throw in real-time.

  1. Get ESLint using npm install eslint
  2. Install the ESLint extension from the extensions marketplace