<html> <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content="Twitch Sings Tools bot"> <meta name="author" content="Martyn Ranyard"> <title>Twitch Sings Tools</title> <!-- Bootstrap core CSS --> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous"> <!-- Custom styles for this template --> <link href="/cover.css" rel="stylesheet"> <style> .bd-placeholder-img { font-size: 1.125rem; text-anchor: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } @media (min-width: 768px) { .bd-placeholder-img-lg { font-size: 3.5rem; } } li.match-nomatch{ background-color: #1e2122; } li.match-matchtrack{ background-color: #E9B000; } li.match-fullmatch{ background-color: #008F95; } li.match-matchtrackfuzzt{ background-color: darkgray; } li.match-fullmatchfuzzy{ background-color: darkgray; } a{ text-decoration-line: underline; } </style> </head> <body class="text-center"> <div class="cover-container d-flex w-100 h-100 p-3 mx-auto flex-column"> <header class="masthead mb-auto"> <div class="inner"> <h3 class="masthead-brand">Twitch Sings Tools</h3> <p class="masthead-brand">(Not endorsed by Twitch, the app is called "Twitch Sings" and these are tools for it, whaddya want it to be called?!)</p> <nav class="nav nav-masthead justify-content-center"> <a class="nav-link active" href="/">Home</a> <a class="nav-link active" href="https://id.twitch.tv/oauth2/authorize?client_id={{.ClientID}}&redirect_uri={{.BaseURI}}/twitchadmin&response_type=code&scope=user:read:broadcast">Admin - log in with twitch</a> </nav> </div> </header> <main role="main" class="inner cover"> <h1 class="cover-heading">Twitch Sings Tools?</h1> <h2>Data about Twitch Sings <b>published</b> performances</h2> <p>This set of tools uses the standard twitch APIs to create a list of songs you have sung and singers you have sung with. <i>Note</i>: If twitch sings ever changes how they name published performances, this may get harder to do.</p> <h2>Some insights</h2> <p>There's a "top 10 people you sing with" and a "top 10 songs you sing". There's actually not that much insight that can be drawn other than those without getting people involved :-)</p> <h2>CSV Export!</h2> <p>You can bring the data into Excel, Google Sheets, Libre/OpenOffice, Lotus 1-2-3 or whatever, and analyse/graph to your hearts content!</p> <h2>Chatbot</h2> <p>There's a chat bot and lots of features are planned :</p> <ul> <li>[NOT YET IMPLEMENTED] Suggest a singer to sing with I haven't sung with in a while</li> <li>[NOT YET IMPLEMENTED] Suggest a song to sing that I haven't sung in a while</li> <li>[NOT YET IMPLEMENTED] List recent duets with <i>singer</i> so I don't have to look it up via the twitch web interface</li> <li>[NOT YET IMPLEMENTED] Check the <a href="https://songlist.sings.twitch.tv">songlist</a> for a song</li> <li>Give a random prompt to give you an idea of a song to sing</li> </ul> <p>Random prompt for you : {{.Prompt}}</p> <p>There are a total of {{.AvailCount}} prompts available. This bot is hanging out in {{.ChannelCount}} channels and has served {{.MessageCount}} prompts via twitch chat!</p> <h2>FAQ</h2> <ul><li>What about Open Duets</li> <li>Unfortunately Twitch Sings publishes Open Duets in a way that they don't appear in the APIs. Whilst I could reverse-engineer the calls TS itself uses, I'm already skirting danger by calling this page "Twitch Sings Tools" (hint, they closed one account because of that!)</li></ul> <ul><li>Can you Open-source this?</li> <li>Can <a href="https://git.martyn.berlin/martyn/twitchsingstools">and have</a>! It's a bit of a mess architecturally because I started with a twitch chat bot and grew it out, badly. One day I <i>might</i> refactor the code.</li></ul> <ul><li>What about unpublished duets?</li> <li>Unfortunately, there's no way to get that data. I live by the rule of "publish everything", but if you're a perfectionist (I am with seeds), I'm sorry, that data isn't accessible.</li></ul> <ul><li>Will you implement X</li> <li>If it's not too hard, and the data is availabe via published APIs I'll consider it. Remember that the data is downloadable as a CSV so you can probably do a lot with that.</li></ul> </main> <footer class="mastfoot mt-auto"> <div class="inner"> <p>Cover template for <a href="https://getbootstrap.com/">Bootstrap</a>, by <a href="https://twitter.com/mdo">@mdo</a>.</p> </div> </footer> </div> </body> </html> </body> </html>