streamelements tip support
This commit is contained in:
+13
@@ -55,6 +55,19 @@
|
|||||||
<input type="text" name="charity-time" pattern="[\d.\d:]+" placeholder="HH:MM:SS" value="1" required>
|
<input type="text" name="charity-time" pattern="[\d.\d:]+" placeholder="HH:MM:SS" value="1" required>
|
||||||
</label>
|
</label>
|
||||||
<br>
|
<br>
|
||||||
|
<br>
|
||||||
|
<label>
|
||||||
|
StreamElements JWT Token:
|
||||||
|
<input type="text" name="streamelements-token">
|
||||||
|
</label>
|
||||||
|
<br>
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" name="tip-time-enabled">
|
||||||
|
Time Per Tip Cent:
|
||||||
|
<input type="text" name="tip-time" pattern="[\d.\d:]+" placeholder="HH:MM:SS" value="1">
|
||||||
|
</label>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
<button type="submit">Save</button>
|
<button type="submit">Save</button>
|
||||||
<button type="reset">Defaults</button>
|
<button type="reset">Defaults</button>
|
||||||
<a id="timer-link" href="index.html" target="_blank">Browser Source</a>
|
<a id="timer-link" href="index.html" target="_blank">Browser Source</a>
|
||||||
|
|||||||
@@ -16,6 +16,11 @@
|
|||||||
<p id="timeText">00:00:00</p>
|
<p id="timeText">00:00:00</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<script
|
||||||
|
src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js"
|
||||||
|
integrity="sha256-yr4fRk/GU1ehYJPAs8P4JlTgu0Hdsp4ZKrx8bDEDC3I="
|
||||||
|
crossorigin="anonymous">
|
||||||
|
</script>
|
||||||
<script src="js/script.js"></script>
|
<script src="js/script.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+26
-2
@@ -1,7 +1,7 @@
|
|||||||
const client_id='ib2n7v7mur7ab2mcxv7rjju2ctsyoi'
|
const client_id='ib2n7v7mur7ab2mcxv7rjju2ctsyoi'
|
||||||
const message_ids=[]
|
const message_ids=[]
|
||||||
const timer=document.querySelector('#timeText')
|
const timer=document.querySelector('#timeText')
|
||||||
let tba,tokens,pubsub,ping_tid,pong_tid,eventsub,sse,time_started,time_passed,time_total,config,localforage
|
let tba,tokens,pubsub,ping_tid,pong_tid,eventsub,sse,time_started,time_passed,time_total,config,localforage,streamelements
|
||||||
/** @type WebSocket */
|
/** @type WebSocket */
|
||||||
let irc
|
let irc
|
||||||
|
|
||||||
@@ -22,11 +22,14 @@ window.onload=async function(){
|
|||||||
tba=await import('https://tba.sugoidogo.com/tba.mjs')
|
tba=await import('https://tba.sugoidogo.com/tba.mjs')
|
||||||
tokens=await tba.get_tokens(client_id)
|
tokens=await tba.get_tokens(client_id)
|
||||||
// load user config
|
// load user config
|
||||||
load_config()
|
await load_config()
|
||||||
// init event sources
|
// init event sources
|
||||||
init_irc()
|
init_irc()
|
||||||
init_pubsub()
|
init_pubsub()
|
||||||
init_eventsub()
|
init_eventsub()
|
||||||
|
if('streamelements-token' in config){
|
||||||
|
init_streamelements()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function handle_event(event_name,event_amount=1){
|
function handle_event(event_name,event_amount=1){
|
||||||
@@ -366,3 +369,24 @@ async function init_irc(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function init_streamelements(){
|
||||||
|
streamelements=io('https://realtime.streamelements.com',{transports: ['websocket']})
|
||||||
|
streamelements.on('disconnect',init_streamelements)
|
||||||
|
streamelements.on('connect',()=>streamelements.emit('authenticate', {method: 'apikey', token: config['streamelements-token']}))
|
||||||
|
streamelements.on('authenticated', console.debug);
|
||||||
|
streamelements.on('unauthorized', console.error);
|
||||||
|
|
||||||
|
function onEvent(event){
|
||||||
|
console.debug(event)
|
||||||
|
if(event['name'] !== "tip-latest"){
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
handle_event('tip',event['data']['amount']*100)
|
||||||
|
}
|
||||||
|
|
||||||
|
streamelements.on('event:test', onEvent);
|
||||||
|
streamelements.on('event', onEvent);
|
||||||
|
streamelements.on('event:update', onEvent);
|
||||||
|
streamelements.on('event:reset', onEvent);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user