Giter VIP home page Giter VIP logo

requestnonsense's Introduction

requestnonsense

let's request some songs in twitch channels you do not need to own

get started

  1. git clone
  2. python -m venv venv
  3. source venv/bin/activate
  4. pip install -r requirements.txt
  5. cp example_config.toml config.toml
  6. get twitch chat bot token via https://twitchtokengenerator.com/
  7. get hackmd.io api token
  8. put api tokens in config.toml
  9. build songlist csv - (rocksmith-folks: customs forge song manager will create one for you)
  10. python requestnonsense.py

songlist csv format

Songlists are read from CSV-files, I usually use one build with CFSM, but you can craft one by hand. If you don't have your delimiter in the first line, set LIST_CFSM=false in config.toml.

Customs Forge Song Manager CSV-Format starts with a line denoting the delimiter. CFSM uses the first line in the csv file to denote the delimiter (usually ";"). Check LIST_DELIMITER and LIST_CFSM in config.toml.

We rely on Columns "Artist", "Title" and "Arrangements" in songlist, additional columns are ignored. If your csv does not have arrangements, you can go with INSTRUMENTS=[] in config.toml - this will simply use all songs.

Songlist might be in the wrong encoding. Try this: iconv -f UTF-16 ./songlist.csv > ./encoded_songlist.csv

why hackmd?

  • Request-Queue and Songlist with request commands should available in the web. Request-Queue will change throughout your stream, those changes should be automatically synced to browsers. HackMD will do that for us.
  • HackMD uses markdown. It is easy and convenient to build markdown sources for songlist and requests.
  • HackMD has a free tier including more than 1000 API-Requests per month. That should last for a while

so what can you do?

everything happens in twitchchat. Commands may start with ! or ?. (you can set any string prefix with BOT_PREFIX in config.toml)

Everyone can:

  • ?request <songID> - add your song to the queue or replace your request while keeping your position in the queue. see ?rules for link to songlist with available songs
  • ?allrequest - retrieve a link with the full queue
  • ?position - bot will answer with your current position in the queue
  • ?help - bot will answer with a short explanation and the link with the songlist
  • ?rules - bot will give a short rules text
  • ?meow- bot will meow back to you

Mods can:

  • ?next- if no song is active, set the song at the top of the queue active. otherwise remove the top song from queue and set next one active
  • ?randomize - same as next, but use a random song to put on top
  • ?scam <position> - same as next, but use song at in queue to put on top
  • ?upgrade_request <user> - promote request from in priority position. Those are at the top of queue, also sorted by insert time

requestnonsense's People

Contributors

xenein avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.