|
1 |
| -var socket, interval |
| 1 | +var socket, interval, interval2, lastUpdateTime |
| 2 | +var comment_buffer = new Array() |
2 | 3 | var k = "QUl6YVN5Qm1IX1ZuZnZ5YzBxVlhVTGVKSzVzZVJGaUFNQnVfQTZB"
|
3 | 4 |
|
4 | 5 | $(document).ready(function () {
|
@@ -32,52 +33,56 @@ function connectYoutube() {
|
32 | 33 | if (window.innerWidth < 600) $('.collapsible').collapsible('close', 0)
|
33 | 34 | let activeChatId = (data).items[0].liveStreamingDetails.activeLiveChatId
|
34 | 35 | if (activeChatId != null) {
|
35 |
| - let lastUpdateTime = 0 |
| 36 | + lastUpdateTime = new Date().getTime() |
| 37 | + getComment(activeChatId) |
36 | 38 | interval = setInterval(() => {
|
37 |
| - $.ajax({ |
38 |
| - url: 'https://www.googleapis.com/youtube/v3/liveChat/messages', |
39 |
| - type: 'GET', |
40 |
| - data: { |
41 |
| - liveChatId: activeChatId, |
42 |
| - part: 'authorDetails,snippet', |
43 |
| - hl: 'ja', |
44 |
| - maxResults: 2000, |
45 |
| - key: atob(k) |
46 |
| - } |
47 |
| - }).done((data) => { |
48 |
| - let mode = $("#mode").val() |
49 |
| - for (item of data.items){ |
50 |
| - let UpdateTime = new Date(item.snippet.publishedAt).getTime() |
51 |
| - if (lastUpdateTime < UpdateTime){ |
52 |
| - console.log(item) |
53 |
| - let author = (String)(item.authorDetails.displayName) |
54 |
| - let card, message |
55 |
| - if(item.snippet["textMessageDetails"]){ |
56 |
| - message = (String)(item.snippet.textMessageDetails.messageText) |
57 |
| - card = `<div class="col s12"><div class="card-panel"><H6>${author}</H6><span>${message}</span></div></div>` |
58 |
| - } else { |
59 |
| - message = (String)(item.snippet.displayMessage) |
60 |
| - card = `<div class="col s12"><div class="card-panel orange lighten-4 pulse"><H6>${author}</H6><span>${message}</span></div></div>` |
61 |
| - } |
62 |
| - $(card).prependTo("#comment_box").hide().slideDown(300) |
63 |
| - if (mode == 0) sayBouyomi(message) |
64 |
| - else if (mode == 1) sayWebspeech(message) |
65 |
| - if(item == data.items[data.items.length-1]) lastUpdateTime = UpdateTime |
66 |
| - } |
67 |
| - } |
68 |
| - }) |
69 |
| - }, 1000) |
| 39 | + getComment(activeChatId) |
| 40 | + }, 10000) |
70 | 41 | }
|
71 | 42 | })
|
72 | 43 | }
|
73 | 44 |
|
74 |
| -function loadMessages(items, callback){ |
| 45 | +function getComment(activeChatId){ |
| 46 | + $.ajax({ |
| 47 | + url: 'https://www.googleapis.com/youtube/v3/liveChat/messages', |
| 48 | + type: 'GET', |
| 49 | + data: { |
| 50 | + liveChatId: activeChatId, |
| 51 | + part: 'authorDetails,snippet', |
| 52 | + hl: 'ja', |
| 53 | + maxResults: 2000, |
| 54 | + key: atob(k) |
| 55 | + } |
| 56 | + }).done((data) => { |
| 57 | + let mode = $("#mode").val() |
| 58 | + for (item of data.items) { |
| 59 | + let UpdateTime = new Date(item.snippet.publishedAt).getTime() |
| 60 | + if (lastUpdateTime < UpdateTime) { |
| 61 | + console.log(item) |
| 62 | + let author = (String)(item.authorDetails.displayName) |
| 63 | + let card, message |
| 64 | + if (item.snippet["textMessageDetails"]) { |
| 65 | + message = (String)(item.snippet.textMessageDetails.messageText) |
| 66 | + card = `<div class="col s12 message-panel"><div class="card-panel"><H6>${author}</H6><span>${message}</span></div></div>` |
| 67 | + } else { |
| 68 | + message = (String)(item.snippet.displayMessage) |
| 69 | + card = `<div class="col s12 superchat-panel"><div class="card-panel orange lighten-4 pulse"><H6>${author}</H6><span>${message}</span></div></div>` |
| 70 | + } |
| 71 | + $(card).prependTo("#comment_box").hide().slideDown(300) |
| 72 | + if (mode == 0) sayBouyomi(message) |
| 73 | + else if (mode == 1) sayWebspeech(message) |
| 74 | + if (item == data.items[data.items.length - 1]) lastUpdateTime = UpdateTime |
| 75 | + } |
| 76 | + } |
| 77 | + }) |
75 | 78 | }
|
76 | 79 |
|
| 80 | + |
77 | 81 | function disconnectYoutube() {
|
78 | 82 | clearInterval(interval)
|
| 83 | + speechSynthesis.cancel(); |
79 | 84 | $("#connect_button").toggleClass("disabled")
|
80 | 85 | $("#disconnect_button").toggleClass("disabled")
|
81 | 86 | $("#video_url").attr("disabled", false)
|
82 |
| - //setTimeout(() => { $("#comment_box").fadeOut(500).empty().fadeIn(500) }, 500) |
| 87 | + setTimeout(() => { $("#comment_box").fadeOut(500).empty().fadeIn(500) }, 500) |
83 | 88 | }
|
0 commit comments