From 413416131c6f6ee48db2cc2ee166a97ae1849e6a Mon Sep 17 00:00:00 2001 From: John Brittain Date: Fri, 10 Feb 2023 13:44:37 -0500 Subject: [PATCH 01/35] Split up everything for easier record keeping --- public/app.js | 298 ++++++++++++++++++++++++++++++++++++++-------- public/index.html | 135 +++++++++++++++------ public/style.css | 20 ++-- 3 files changed, 355 insertions(+), 98 deletions(-) diff --git a/public/app.js b/public/app.js index ee026ba..1251f8d 100644 --- a/public/app.js +++ b/public/app.js @@ -1,16 +1,32 @@ // This will use the demo backend if you open index.html locally via file://, otherwise your server will be used -let backendUrl = location.protocol === 'file:' ? "https://tiktok-chat-reader.zerody.one/" : undefined; +let backendUrl = location.protocol === 'file:' ? "https://tiktok-chat-reader.zerody.one/" : undefined; let connection = new TikTokIOConnection(backendUrl); + // (A) LOAD FILE SYSTEM MODU // Counter let viewerCount = 0; let likeCount = 0; let diamondsCount = 0; +let usernames = []; +let gifter_ary = []; +let link_ary = {}; // These settings are defined by obs.html if (!window.settings) window.settings = {}; $(document).ready(() => { + $('#copy-table').on('click', function(){ + console.log('copy btn clicked') + + let text = document.getElementById('gifter-table').innerText, textarea = document.getElementById('hidden') + textarea.value = text.split(" ").join(','); + + console.log('copy') + textarea.select(); + textarea.setSelectionRange(0, textarea.value.length) + navigator.clipboard.writeText(textarea.value); + textarea.setSelectionRange(0,0) + }) $('#connectButton').click(connect); $('#uniqueIdInput').on('keyup', function (e) { if (e.key === 'Enter') { @@ -19,8 +35,10 @@ $(document).ready(() => { }); if (window.settings.username) connect(); + /***** /copy ***********/ }) +/***** /copy ***********/ function connect() { let uniqueId = window.settings.username || $('#uniqueIdInput').val(); if (uniqueId !== '') { @@ -30,7 +48,12 @@ function connect() { connection.connect(uniqueId, { enableExtendedGiftInfo: true }).then(state => { - $('#stateText').text(`Connected to roomId ${state.roomId}`); + console.log(' -- state --') + console.log(state) + console.log(' -- /state --') + //Connected to roomId ${state.roomId} + + $('#stateText').html(`

${state.roomInfo.owner.display_id}     --|.^.|--     ${state.roomInfo.owner.nickname}

`); // reset stats viewerCount = 0; @@ -38,6 +61,11 @@ function connect() { diamondsCount = 0; updateRoomStats(); + let g_length = state.availableGifts.length, i, list = '', html = ''; + for(i=0;i { $('#stateText').text(errorMessage); @@ -56,15 +84,28 @@ function connect() { // Prevent Cross site scripting (XSS) function sanitize(text) { - return text.replace(/${viewerCount.toLocaleString()} Likes: ${likeCount.toLocaleString()} Earned Diamonds: ${diamondsCount.toLocaleString()}`) + $('#roomStats').html(` +
+ Viewers + + Likes + + Diamonds + +
+ `) + /* + Viewers: ${viewerCount.toLocaleString()} + Likes: ${likeCount.toLocaleString()} + Earned Diamonds: ${diamondsCount.toLocaleString()}*/ } function generateUsernameLink(data) { - return `${data.uniqueId}`; + return `${data.uniqueId}`; } function isPendingStreak(data) { @@ -74,24 +115,22 @@ function isPendingStreak(data) { /** * Add a new message to the chat container */ -function addChatItem(color, data, text, summarize) { - let container = location.href.includes('obs.html') ? $('.eventcontainer') : $('.chatcontainer'); - - if (container.find('div').length > 500) { - container.find('div').slice(0, 200).remove(); - } - - container.find('.temporary').remove();; - +function addChatItem(color, data, text, cont) { + let container = location.href.includes('obs.html') ? $('.eventcontainer') : $(cont); container.append(` -
- - - ${generateUsernameLink(data)}: - ${sanitize(text)} - +
  • +
    +
    + +
    +
    + + ${generateUsernameLink(data)}: + ${sanitize(text)} + +
    - `); +
  • `); container.stop(); container.animate({ @@ -99,6 +138,18 @@ function addChatItem(color, data, text, summarize) { }, 400); } +function addShareItem(color, data, text, cont) { + let container = $('.sharecontainer'); + container.prepend(`
  • +
    + + + ${generateUsernameLink(data)}: + ${sanitize(text)} + +
    +
  • `); +} /** * Add a new gift to the gift container */ @@ -110,48 +161,161 @@ function addGiftItem(data) { } let streakId = data.userId.toString() + '_' + data.giftId; - - let html = ` -
    - - - ${generateUsernameLink(data)}: ${data.describe}
    -
    - - - - - - + let isPending = isPendingStreak(data) + let diamonds = data.diamondCount * data.repeatCount + let diamondsLocal = (data.diamondCount * data.repeatCount).toLocaleString() + let html = `
  • +
    +
    + +
    +
    +

    ${generateUsernameLink(data)}: ${data.describe}

    +
    +
    +
    - +
    + Name: ${data.giftName} (ID:${data.giftId})
    + Repeat: x${data.repeatCount.toLocaleString()}
    + Cost: ${diamondsLocal} Diamonds +
    +
    - `; - +
    +
  • `; let existingStreakItem = container.find(`[data-streakid='${streakId}']`); if (existingStreakItem.length) { existingStreakItem.replaceWith(html); } else { - container.append(html); + container.prepend(html); } - container.stop(); - container.animate({ - scrollTop: container[0].scrollHeight - }, 800); + + if(!isPending){ + let gifter = data.uniqueId; + let giftertotalcontainer = $('.giftertotalcontainer') + if(gifter in gifter_ary){ + gifter_ary[gifter].coins = parseInt(gifter_ary[gifter].coins)+parseInt(diamonds); + $('[data-gifter="'+gifter+'"]').remove() + } else { + gifter_ary[gifter] = { + username: data.nickname, + userId: data.uniqueId, + coins: diamonds + } + } + let gifterTable = $('#gifter-table tbody') + //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].userId+','+gifter_ary[gifter].coins+"\n"; + gifterTable.prepend(` + + + + + + `) + let line = gifter_ary[gifter].username+','+gifter_ary[gifter].userId+','+gifter_ary[gifter].coins.toLocaleString()+"\n"; + giftertotalcontainer.prepend(` +
  • + ${line} +
  • + `) + } } +function addLikeItem(color, data, text, summarize) { + let container = $('.likecontainer'); + //let tt = sanitize(text); + console.log(tt); + if (container.find('div').length > 500) { + container.find('div').slice(0, 200).remove(); + } + + //container.find('.temporary').remove(); + if(text != ''){ + container.prepend(`
  • +
    + + + ${generateUsernameLink(data)}: + ${sanitize(text)} + +
    +
  • `); + } +} + +function updateTopGifters(viewers){ + let container = $('#topViewers') + container.html('Loading Gifters...') + if(viewers.length > 0){ + let cc = 0, i, top = '', rest = '', drop = `` + for(i=0;i + ${viewers[i].user.uniqueId} (${viewers[i].coinCount} coins) + ` + } + drop += `` + + if(parseInt(viewers[i].coinCount) > 0 + && typeof viewers[i].user.username != undefined + && viewers[i].user.username != 'undefined' + && viewers[i].user.username != '' + && viewers[i].user.username != null){ + let gifter = viewers[i].user.uniqueId; + let giftertotalcontainer = $('.giftertotalcontainer') + if(gifter in gifter_ary){ + gifter_ary[gifter].coins = parseInt(viewers[i].coinCount); + $('[data-gifter="'+gifter+'"]').remove() + } else { + gifter_ary[gifter] = { + username: viewers[i].user.nickname, + userId: viewers[i].user.uniqueId, + coins: parseInt(viewers[i].coinCount) + } + } + let gifterTable = $('#gifter-table tbody') + //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].userId+','+gifter_ary[gifter].coins+"\n"; + gifterTable.prepend(` + + + + + + `) + let line = gifter_ary[gifter].username+','+gifter_ary[gifter].userId+','+gifter_ary[gifter].coins+"\n"; + giftertotalcontainer.prepend(` +
  • + ${line} +
  • + `) + } + } + container.html(''); + console.log(top) + + } else { + container.html('no viewers..?') + console.log('no viewers') + } +} // viewer stats connection.on('roomUser', (msg) => { + console.log('-- roomUser --') + console.log(msg) + console.log('-- roomUser --') if (typeof msg.viewerCount === 'number') { viewerCount = msg.viewerCount; updateRoomStats(); + updateTopGifters(msg.topViewers); } }) @@ -165,13 +329,34 @@ connection.on('like', (msg) => { if (window.settings.showLikes === "0") return; if (typeof msg.likeCount === 'number') { - addChatItem('#447dd4', msg, msg.label.replace('{0:user}', '').replace('likes', `${msg.likeCount} likes`)) + var uname = msg.uniqueId; + if(uname in link_ary){ + link_ary[uname] = link_ary[uname]+1; + } else { + link_ary[uname] = 1 + } + let tlike = $('.likecontainer') + $(`[data-uname="${msg.uniqueId}"]`).remove() + let thename = generateUsernameLink(msg) + tlike.prepend(`
  • +
    + + + ${thename}: + sent ${link_ary[uname]} likes + +
    +
  • `) + } }) // Member join let joinMsgDelay = 0; connection.on('member', (msg) => { + console.log('-- member --') + console.log(msg) + console.log('-- member --') if (window.settings.showJoins === "0") return; let addDelay = 250; @@ -182,19 +367,25 @@ connection.on('member', (msg) => { setTimeout(() => { joinMsgDelay -= addDelay; - addChatItem('#21b2c2', msg, 'joined', true); + addChatItem('#21b2c2', msg, msg.label.replace('{0:user}', ''), '.sharecontainer'); //.joincontainer'); }, joinMsgDelay); }) // New chat comment received connection.on('chat', (msg) => { + console.log('-- chat --') + console.log(msg) + console.log('-- chat --') if (window.settings.showChats === "0") return; - addChatItem('', msg, msg.comment); + addChatItem('', msg, msg.comment, '.chatcontainer'); }) // New gift received connection.on('gift', (data) => { + console.log('-- gift --') + console.log(data) + console.log('-- gift --') if (!isPendingStreak(data) && data.diamondCount > 0) { diamondsCount += (data.diamondCount * data.repeatCount); updateRoomStats(); @@ -207,10 +398,14 @@ connection.on('gift', (data) => { // share, follow connection.on('social', (data) => { + console.log('-- social --') + console.log(data) + console.log('-- social --') if (window.settings.showFollows === "0") return; let color = data.displayType.includes('follow') ? '#ff005e' : '#2fb816'; - addChatItem(color, data, data.label.replace('{0:user}', '')); + addChatItem(color, data, data.label.replace('{0:user}', ''), '.sharecontainer'); + }) connection.on('streamEnd', () => { @@ -222,4 +417,5 @@ connection.on('streamEnd', () => { connect(window.settings.username); }, 30000); } -}) \ No newline at end of file +}) + diff --git a/public/index.html b/public/index.html index 314e7c3..1a4cea2 100644 --- a/public/index.html +++ b/public/index.html @@ -1,5 +1,5 @@ - + @@ -9,6 +9,7 @@ + @@ -21,7 +22,7 @@ function generateOverlay() { let username = $('#uniqueIdInput').val(); let url = `/obs.html?username=${username}&showLikes=1&showChats=1&showGifts=1&showFollows=1&showJoins=1&bgColor=rgb(24,23,28)&fontColor=rgb(227,229,235)&fontSize=1.3em`; - + if(username) { window.open(url, '_blank'); } else { @@ -31,46 +32,112 @@ +

    TikTok LIVE Chat Reader

    - Source: https://github.com/zerodytrash/TikTok-Chat-Reader
    +
    +
    +
    + @ +
    + + +
    -
    - A chat reader for TikTok LIVE utilizing TikTok-Live-Connector and Socket.IO to forward the data to the client. More Tools available at TikFinity. -
    + + + +
    +
    +
    +
    + +
    +
    -
    -

    Enter the @username of a user who is currently live:

    - - - Generate Overlay URL +
    +
    +
    +
    +
    +
    +
    -
    - Name: ${data.giftName} (ID:${data.giftId})
    - Repeat: x${data.repeatCount.toLocaleString()}
    - Cost: ${(data.diamondCount * data.repeatCount).toLocaleString()} Diamonds -
    ${gifter_ary[gifter].username}${gifter_ary[gifter].userId}${gifter_ary[gifter].coins.toLocaleString()}
    ${gifter_ary[gifter].username}${gifter_ary[gifter].userId}${gifter_ary[gifter].coins}
    - - - - -
    -
    
    -            
    -
    -
    - - - - - - -
    -
    -

    Chats

    +
    +
    +
    +
    Chats
    +
      +
      +
      +
      +
      +
      +
      +
      Gifts
      +
        +
        -
        -
        -

        Gifts

        +
        +
        +
        Likes
        +
          +
          -
          +
          +
          +
          + +
          +
          +
          +
          + + + + + + + + + + + +
          UsernameNicknameCoins Sent
          +
          +
          +
          +
            +
            +
            +
            +
            +
            +
            +
            Shares, Follows & Joins
            +
              +
              +
              +
              +
              +
              + + \ No newline at end of file diff --git a/public/style.css b/public/style.css index 6e5e383..7b9aa8c 100644 --- a/public/style.css +++ b/public/style.css @@ -46,16 +46,18 @@ a { } .splitstatetable td { - width: 50%; + width: 33vw; } -.containerheader { - text-align: center; +.chatcontainer, .eventcontainer { + overflow-y: scroll; + height: calc(100vh - 240px); + word-wrap: break-word; } -.chatcontainer, .giftcontainer, .eventcontainer { +.likecontainer, .giftcontainer, .joincontainer, .sharecontainer { overflow-y: scroll; - height: calc(100vh - 240px); + height: calc(45vh - 120px); word-wrap: break-word; } @@ -63,14 +65,6 @@ a { height: calc(100vh - 90px); } -.chatcontainer { - min-width: 400px; - max-width: calc(100vw - 430px); -} - -.giftcontainer { - min-width: 400px; -} .miniprofilepicture { height: 20px; From dfef6ab3cb08f4e6369cd488a6f943029309d409 Mon Sep 17 00:00:00 2001 From: JWB Date: Fri, 8 Dec 2023 01:53:33 -0500 Subject: [PATCH 02/35] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 89fc0fb..4d5e048 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,6 @@ "dotenv": "^16.0.0", "express": "^4.17.2", "socket.io": "^4.4.1", - "tiktok-live-connector": "^1.0.0" + "tiktok-live-connector": "^1.0.5" } } From e082df7ac59bc7cd2e993de20cfa2fe96b3b4350 Mon Sep 17 00:00:00 2001 From: John Brittain Date: Tue, 19 Dec 2023 06:45:46 -0500 Subject: [PATCH 03/35] New, easier to read, BS5 dark themed layout with saving to google sheets ability --- .env.example | 1 + .gitignore | 3 + keys.example.json | 13 + package-lock.json | 1035 ++++++++++++++++++++++++++++++++++++++------- package.json | 7 +- public/app.js | 977 +++++++++++++++++++++++++++++++++++------- public/index.html | 197 ++++++--- public/style.css | 33 +- server.js | 53 ++- 9 files changed, 1943 insertions(+), 376 deletions(-) create mode 100644 .env.example create mode 100644 keys.example.json diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..050d8b8 --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +GOOGLE_SHEET_ID=IS_FOUND_IN_URL_THAT_WAS_SHARED_TO_APP_EMAIL \ No newline at end of file diff --git a/.gitignore b/.gitignore index 6704566..7eb7b8e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +#Google Spreadsheet API Key File +keys.json + # Logs logs *.log diff --git a/keys.example.json b/keys.example.json new file mode 100644 index 0000000..2c7151e --- /dev/null +++ b/keys.example.json @@ -0,0 +1,13 @@ +{ + "type": "service_account", + "project_id": "appname", + "private_key_id": "some md5 or sha string", + "private_key": "-----BEGIN PRIVATE KEY-----\nA REALLY LONG STRING==\n-----END PRIVATE KEY-----\n", + "client_email": "appname@appname.iam.gserviceaccount.com", + "client_id": "1234", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x123/appname%40appname.gserviceaccount.com", + "universe_domain": "googleapis.com" +} diff --git a/package-lock.json b/package-lock.json index 6196393..27838a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,10 +5,11 @@ "packages": { "": { "dependencies": { - "dotenv": "^16.0.0", - "express": "^4.17.2", - "socket.io": "^4.4.1", - "tiktok-live-connector": "^1.0.0" + "dotenv": "^16.3.1", + "express": "^4.18.2", + "googleapis": "^74.1.0", + "socket.io": "^4.7.2", + "tiktok-live-connector": "^1.0.5" } }, "node_modules/@protobufjs/aspromise": { @@ -76,9 +77,12 @@ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" }, "node_modules/@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "dependencies": { + "@types/node": "*" + } }, "node_modules/@types/long": { "version": "4.0.2", @@ -90,6 +94,17 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.15.tgz", "integrity": "sha512-XnjpaI8Bgc3eBag2Aw4t2Uj/49lLBSStHWfqKvIuXD7FIrZyMLWp8KuAFHAqxMZYTF9l08N1ctUn9YNybZJVmQ==" }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -102,11 +117,51 @@ "node": ">= 0.6" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, + "node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "engines": { + "node": ">=8" + } + }, "node_modules/axios": { "version": "0.25.0", "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", @@ -115,6 +170,25 @@ "follow-redirects": "^1.14.7" } }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/base64id": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", @@ -123,10 +197,18 @@ "node": "^4.5.0 || >= 5.9" } }, + "node_modules/bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "engines": { + "node": "*" + } + }, "node_modules/body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.4", @@ -136,7 +218,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.10.3", + "qs": "6.11.0", "raw-body": "2.5.1", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -146,6 +228,11 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, "node_modules/bufferutil": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", @@ -167,12 +254,13 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -190,9 +278,9 @@ } }, "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "engines": { "node": ">= 0.6" } @@ -239,6 +327,19 @@ "ms": "2.0.0" } }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -257,11 +358,22 @@ } }, "node_modules/dotenv": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz", - "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" } }, "node_modules/ee-first": { @@ -278,9 +390,9 @@ } }, "node_modules/engine.io": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", - "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.4.tgz", + "integrity": "sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==", "dependencies": { "@types/cookie": "^0.4.1", "@types/cors": "^2.8.12", @@ -290,17 +402,17 @@ "cookie": "~0.4.1", "cors": "~2.8.5", "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3" + "engine.io-parser": "~5.2.1", + "ws": "~8.11.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=10.2.0" } }, "node_modules/engine.io-parser": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", - "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", "engines": { "node": ">=10.0.0" } @@ -380,14 +492,22 @@ "node": ">= 0.6" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, "node_modules/express": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.0", + "body-parser": "1.20.1", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.5.0", @@ -406,7 +526,7 @@ "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.10.3", + "qs": "6.11.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "0.18.0", @@ -434,6 +554,16 @@ "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/fast-text-encoding": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz", + "integrity": "sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w==" + }, "node_modules/finalhandler": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", @@ -487,32 +617,159 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gaxios": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.3.tgz", + "integrity": "sha512-gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA==", + "dependencies": { + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.7" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gcp-metadata": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.1.tgz", + "integrity": "sha512-x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A==", + "dependencies": { + "gaxios": "^4.0.0", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=10" + } }, "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/google-auth-library": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.14.1.tgz", + "integrity": "sha512-5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA==", "dependencies": { - "function-bind": "^1.1.1" + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "fast-text-encoding": "^1.0.0", + "gaxios": "^4.0.0", + "gcp-metadata": "^4.2.0", + "gtoken": "^5.0.4", + "jws": "^4.0.0", + "lru-cache": "^6.0.0" }, "engines": { - "node": ">= 0.4.0" + "node": ">=10" + } + }, + "node_modules/google-p12-pem": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.4.tgz", + "integrity": "sha512-HHuHmkLgwjdmVRngf5+gSmpkyaRI6QmOg77J8tkNBHhNEI62sGHyw4/+UkgyZEI7h84NbWprXDJ+sa3xOYFvTg==", + "dependencies": { + "node-forge": "^1.3.1" + }, + "bin": { + "gp12-pem": "build/src/bin/gp12-pem.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/googleapis": { + "version": "74.2.0", + "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-74.2.0.tgz", + "integrity": "sha512-AF8RwmTbz8GGIza9LViokOUAsrEkB6gKwvIGXbgWEWzZO1+DRsbKSstHotDgUA4zdXhVtGkOW7uqNs/wz4rYNA==", + "dependencies": { + "google-auth-library": "^7.0.2", + "googleapis-common": "^5.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/googleapis-common": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-5.1.0.tgz", + "integrity": "sha512-RXrif+Gzhq1QAzfjxulbGvAY3FPj8zq/CYcvgjzDbaBNCD6bUl+86I7mUs4DKWHGruuK26ijjR/eDpWIDgNROA==", + "dependencies": { + "extend": "^3.0.2", + "gaxios": "^4.0.0", + "google-auth-library": "^7.14.0", + "qs": "^6.7.0", + "url-template": "^2.0.8", + "uuid": "^8.0.0" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gtoken": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.3.2.tgz", + "integrity": "sha512-gkvEKREW7dXWF8NV8pVrKfW7WqReAmjjkMBh6lNCCGOM4ucS0r0YyXXl0r/9Yj8wcW/32ISkfc8h5mPTDbtifQ==", + "dependencies": { + "gaxios": "^4.0.0", + "google-p12-pem": "^3.1.3", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-symbols": { @@ -526,6 +783,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -541,6 +809,39 @@ "node": ">= 0.8" } }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -565,16 +866,65 @@ "node": ">= 0.10" } }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, + "node_modules/jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, "node_modules/long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -644,6 +994,33 @@ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, "node_modules/node-gyp-build": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", @@ -663,9 +1040,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -732,9 +1109,9 @@ } }, "node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dependencies": { "side-channel": "^1.0.4" }, @@ -833,6 +1210,20 @@ "node": ">= 0.8.0" } }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -852,30 +1243,34 @@ } }, "node_modules/socket.io": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz", - "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", + "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", "dependencies": { "accepts": "~1.3.4", "base64id": "~2.0.0", + "cors": "~2.8.5", "debug": "~4.3.2", - "engine.io": "~6.2.0", - "socket.io-adapter": "~2.4.0", - "socket.io-parser": "~4.2.0" + "engine.io": "~6.5.2", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" }, "engines": { - "node": ">=10.0.0" + "node": ">=10.2.0" } }, "node_modules/socket.io-adapter": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", - "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "dependencies": { + "ws": "~8.11.0" + } }, "node_modules/socket.io-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", - "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1" @@ -935,9 +1330,9 @@ } }, "node_modules/tiktok-live-connector": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/tiktok-live-connector/-/tiktok-live-connector-1.0.0.tgz", - "integrity": "sha512-L2r8ZWqrmaRtsQ1zZsli0C7Ny7+fHMKtDV0kdnLQ9advB6tyEi+AIQrMIuObnPqYwl6YkP+JkmOKIBQ4z0hYAQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tiktok-live-connector/-/tiktok-live-connector-1.0.5.tgz", + "integrity": "sha512-8p/+0+DxNjbCuyU+XBv6tv3JC0piNXF89qIuLv6OuW29t9zMWsakyvcB4m34H6pSi/gnENatdJ8mgbbqq5kabQ==", "funding": [ { "type": "Ko-fi", @@ -965,6 +1360,11 @@ "node": ">=0.6" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "node_modules/type": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", @@ -998,6 +1398,11 @@ "node": ">= 0.8" } }, + "node_modules/url-template": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", + "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==" + }, "node_modules/utf-8-validate": { "version": "5.0.9", "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", @@ -1018,6 +1423,14 @@ "node": ">= 0.4.0" } }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -1026,6 +1439,11 @@ "node": ">= 0.8" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, "node_modules/websocket": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", @@ -1042,10 +1460,19 @@ "node": ">=4.0.0" } }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "engines": { "node": ">=10.0.0" }, @@ -1069,6 +1496,11 @@ "engines": { "node": ">=0.10.32" } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } }, "dependencies": { @@ -1137,9 +1569,12 @@ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" }, "@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "requires": { + "@types/node": "*" + } }, "@types/long": { "version": "4.0.2", @@ -1151,6 +1586,14 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.15.tgz", "integrity": "sha512-XnjpaI8Bgc3eBag2Aw4t2Uj/49lLBSStHWfqKvIuXD7FIrZyMLWp8KuAFHAqxMZYTF9l08N1ctUn9YNybZJVmQ==" }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, "accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -1160,11 +1603,39 @@ "negotiator": "0.6.3" } }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" + }, "axios": { "version": "0.25.0", "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", @@ -1173,15 +1644,25 @@ "follow-redirects": "^1.14.7" } }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, "base64id": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" }, + "bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==" + }, "body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "requires": { "bytes": "3.1.2", "content-type": "~1.0.4", @@ -1191,12 +1672,17 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.10.3", + "qs": "6.11.0", "raw-body": "2.5.1", "type-is": "~1.6.18", "unpipe": "1.0.0" } }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, "bufferutil": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", @@ -1211,12 +1697,13 @@ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" }, "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" } }, "content-disposition": { @@ -1228,9 +1715,9 @@ } }, "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" }, "cookie": { "version": "0.5.0", @@ -1268,6 +1755,16 @@ "ms": "2.0.0" } }, + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, "depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -1279,9 +1776,17 @@ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" }, "dotenv": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz", - "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==" + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==" + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } }, "ee-first": { "version": "1.1.1", @@ -1294,9 +1799,9 @@ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" }, "engine.io": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", - "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.4.tgz", + "integrity": "sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==", "requires": { "@types/cookie": "^0.4.1", "@types/cors": "^2.8.12", @@ -1306,8 +1811,8 @@ "cookie": "~0.4.1", "cors": "~2.8.5", "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3" + "engine.io-parser": "~5.2.1", + "ws": "~8.11.0" }, "dependencies": { "cookie": { @@ -1331,9 +1836,9 @@ } }, "engine.io-parser": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", - "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==" }, "es5-ext": { "version": "0.10.62", @@ -1374,14 +1879,19 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, "express": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.0", + "body-parser": "1.20.1", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.5.0", @@ -1400,7 +1910,7 @@ "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.10.3", + "qs": "6.11.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "0.18.0", @@ -1427,6 +1937,16 @@ } } }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "fast-text-encoding": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz", + "integrity": "sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w==" + }, "finalhandler": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", @@ -1457,33 +1977,132 @@ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "gaxios": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.3.tgz", + "integrity": "sha512-gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA==", + "requires": { + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.7" + } + }, + "gcp-metadata": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.1.tgz", + "integrity": "sha512-x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A==", + "requires": { + "gaxios": "^4.0.0", + "json-bigint": "^1.0.0" + } }, "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "google-auth-library": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.14.1.tgz", + "integrity": "sha512-5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA==", + "requires": { + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "fast-text-encoding": "^1.0.0", + "gaxios": "^4.0.0", + "gcp-metadata": "^4.2.0", + "gtoken": "^5.0.4", + "jws": "^4.0.0", + "lru-cache": "^6.0.0" + } + }, + "google-p12-pem": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.4.tgz", + "integrity": "sha512-HHuHmkLgwjdmVRngf5+gSmpkyaRI6QmOg77J8tkNBHhNEI62sGHyw4/+UkgyZEI7h84NbWprXDJ+sa3xOYFvTg==", "requires": { - "function-bind": "^1.1.1" + "node-forge": "^1.3.1" } }, + "googleapis": { + "version": "74.2.0", + "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-74.2.0.tgz", + "integrity": "sha512-AF8RwmTbz8GGIza9LViokOUAsrEkB6gKwvIGXbgWEWzZO1+DRsbKSstHotDgUA4zdXhVtGkOW7uqNs/wz4rYNA==", + "requires": { + "google-auth-library": "^7.0.2", + "googleapis-common": "^5.0.2" + } + }, + "googleapis-common": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-5.1.0.tgz", + "integrity": "sha512-RXrif+Gzhq1QAzfjxulbGvAY3FPj8zq/CYcvgjzDbaBNCD6bUl+86I7mUs4DKWHGruuK26ijjR/eDpWIDgNROA==", + "requires": { + "extend": "^3.0.2", + "gaxios": "^4.0.0", + "google-auth-library": "^7.14.0", + "qs": "^6.7.0", + "url-template": "^2.0.8", + "uuid": "^8.0.0" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "gtoken": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.3.2.tgz", + "integrity": "sha512-gkvEKREW7dXWF8NV8pVrKfW7WqReAmjjkMBh6lNCCGOM4ucS0r0YyXXl0r/9Yj8wcW/32ISkfc8h5mPTDbtifQ==", + "requires": { + "gaxios": "^4.0.0", + "google-p12-pem": "^3.1.3", + "jws": "^4.0.0" + } + }, + "has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "requires": { + "get-intrinsic": "^1.2.2" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "requires": { + "function-bind": "^1.1.2" + } + }, "http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -1496,6 +2115,30 @@ "toidentifier": "1.0.1" } }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -1514,16 +2157,56 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, + "json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "requires": { + "bignumber.js": "^9.0.0" + } + }, + "jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "requires": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, "long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -1572,6 +2255,19 @@ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" + }, "node-gyp-build": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", @@ -1583,9 +2279,9 @@ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" }, "on-finished": { "version": "2.4.1", @@ -1635,9 +2331,9 @@ } }, "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "requires": { "side-channel": "^1.0.4" } @@ -1706,6 +2402,17 @@ "send": "0.18.0" } }, + "set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "requires": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -1722,16 +2429,17 @@ } }, "socket.io": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz", - "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", + "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", "requires": { "accepts": "~1.3.4", "base64id": "~2.0.0", + "cors": "~2.8.5", "debug": "~4.3.2", - "engine.io": "~6.2.0", - "socket.io-adapter": "~2.4.0", - "socket.io-parser": "~4.2.0" + "engine.io": "~6.5.2", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" }, "dependencies": { "debug": { @@ -1750,14 +2458,17 @@ } }, "socket.io-adapter": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", - "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "requires": { + "ws": "~8.11.0" + } }, "socket.io-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", - "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", "requires": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1" @@ -1784,9 +2495,9 @@ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, "tiktok-live-connector": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/tiktok-live-connector/-/tiktok-live-connector-1.0.0.tgz", - "integrity": "sha512-L2r8ZWqrmaRtsQ1zZsli0C7Ny7+fHMKtDV0kdnLQ9advB6tyEi+AIQrMIuObnPqYwl6YkP+JkmOKIBQ4z0hYAQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tiktok-live-connector/-/tiktok-live-connector-1.0.5.tgz", + "integrity": "sha512-8p/+0+DxNjbCuyU+XBv6tv3JC0piNXF89qIuLv6OuW29t9zMWsakyvcB4m34H6pSi/gnENatdJ8mgbbqq5kabQ==", "requires": { "axios": "^0.25.0", "protobufjs": "^6.11.2", @@ -1798,6 +2509,11 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "type": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", @@ -1825,6 +2541,11 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" }, + "url-template": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", + "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==" + }, "utf-8-validate": { "version": "5.0.9", "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", @@ -1838,11 +2559,21 @@ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, "websocket": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", @@ -1856,16 +2587,30 @@ "yaeti": "^0.0.6" } }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "requires": {} }, "yaeti": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } } diff --git a/package.json b/package.json index 4d5e048..4c27f43 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,9 @@ { "dependencies": { - "dotenv": "^16.0.0", - "express": "^4.17.2", - "socket.io": "^4.4.1", + "dotenv": "^16.3.1", + "express": "^4.18.2", + "googleapis": "^74.1.0", + "socket.io": "^4.7.2", "tiktok-live-connector": "^1.0.5" } } diff --git a/public/app.js b/public/app.js index 1251f8d..d1fe6e1 100644 --- a/public/app.js +++ b/public/app.js @@ -1,27 +1,192 @@ + // This will use the demo backend if you open index.html locally via file://, otherwise your server will be used -let backendUrl = location.protocol === 'file:' ? "https://tiktok-chat-reader.zerody.one/" : undefined; +let backendUrl = location.protocol === 'file:' ? "https://tiktok-chat-reader.zerody.one/" : undefined; let connection = new TikTokIOConnection(backendUrl); - - // (A) LOAD FILE SYSTEM MODU +let socket = io(); +// (A) LOAD FILE SYSTEM MODU // Counter let viewerCount = 0; let likeCount = 0; -let diamondsCount = 0; -let usernames = []; +let diamondsCount = 0; let usernames = {}; +let userIds = {}; let gifter_ary = []; let link_ary = {}; +let roomId = ''; +let uniqueId = ''; +let roomDisplayId = ''; +let roomDisplayNickname = ''; +let roomStart = ''; +let roomEnd = ''; + +function hasClass(elem, className) { + return elem.classList.contains(className); +} + +function calcDate(date1, date2) { + /* + * calcDate() : Calculates the difference between two dates + * @date1 : "First Date in the format MM-DD-YYYY" + * @date2 : "Second Date in the format MM-DD-YYYY" + * return : Array + */ + + //new date instance + const dt_date1 = new Date(date1); + const dt_date2 = new Date(date2); + + //Get the Timestamp + const date1_time_stamp = dt_date1.getTime(); + const date2_time_stamp = dt_date2.getTime(); + + let calc; + + //Check which timestamp is greater + if (date1_time_stamp > date2_time_stamp) { + calc = new Date(date1_time_stamp - date2_time_stamp); + } else { + calc = new Date(date2_time_stamp - date1_time_stamp); + } + //Retrieve the date, month and year + const calcFormatTmp = calc.getDate() + '-' + (calc.getMonth() + 1) + '-' + calc.getFullYear(); + //Convert to an array and store + const calcFormat = calcFormatTmp.split("-"); + //Subtract each member of our array from the default date + const days_passed = Number(Math.abs(calcFormat[0]) - 1); + const months_passed = Number(Math.abs(calcFormat[1]) - 1); + const years_passed = Number(Math.abs(calcFormat[2]) - 1970); + + //Set up custom text + const yrsTxt = ["year", "years"]; + const mnthsTxt = ["month", "months"]; + const daysTxt = ["day", "days"]; + + //Convert to days and sum together + const total_days = (years_passed * 365) + (months_passed * 30.417) + days_passed; + const total_secs = total_days * 24 * 60 * 60; + const total_mins = total_days * 24 * 60; + const total_hours = total_days * 24; + const total_weeks = ( total_days >= 7 ) ? total_days / 7 : 0; + + //display result with custom text + const result = ((years_passed == 1) ? years_passed + ' ' + yrsTxt[0] + ' ' : (years_passed > 1) ? + years_passed + ' ' + yrsTxt[1] + ' ' : '') + + ((months_passed == 1) ? months_passed + ' ' + mnthsTxt[0] : (months_passed > 1) ? + months_passed + ' ' + mnthsTxt[1] + ' ' : '') + + ((days_passed == 1) ? days_passed + ' ' + daysTxt[0] : (days_passed > 1) ? + days_passed + ' ' + daysTxt[1] : ''); + + //return the result + return { + "total_days": Math.round(total_days), + "total_weeks": Math.round(total_weeks), + "total_hours" : Math.round(total_hours), + "total_minutes" : Math.round(total_mins), + "total_seconds": Math.round(total_secs), + "result": result.trim() + } + +} + +function generateOverlay() { + let username = $('#uniqueIdInput').val(); + let url = `/obs.html?username=${username}&showLikes=1&showChats=1&showGifts=1&showFollows=1&showJoins=1&bgColor=rgb(24,23,28)&fontColor=rgb(227,229,235)&fontSize=1.3em`; + + if(username) { + window.open(url, '_blank'); + } else { + alert("Enter username"); + } +} // These settings are defined by obs.html if (!window.settings) window.settings = {}; +function sendToDb(table, state, data){ + /*let letData = { + table: table, + state: state, + room: { + roomId: roomId, + uniqueId: uniqueId, + roomDisplayId: roomDisplayId, + roomDisplayNickname + }, + "data": data + } + //letData.table = table + //letData.data = data + $.ajax({ + type: 'POST', + url: 'https://somewebsites/api/in.php', + crossDomain: true, + data: letData, + dataType: 'text', //'json', + success: function(responseData, textStatus, jqXHR) { + //var value = responseData.someKey; + //console.log(responseData) + //console.log('/ response') + //console.log(textStatus) + //console.log('/ text') + //console.log(jqXHR) + //console.log('/ XHR') + }, + error: function (responseData, textStatus, errorThrown) { + console.log('POST failed.'); + console.log(responseData) + console.log('/ response') + //console.log(textStatus) + //console.log('/ text') + //console.log(jqXHR) + //console.log('/ XHR') + } + });*/ +} + +function timeConverter(UNIX_timestamp){ + var a = new Date(UNIX_timestamp * 1000); + + var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']; + var year = a.getFullYear(); + var month = months[a.getMonth()]; + var date = a.getDate(); + var hour = a.getHours(); + var min = a.getMinutes(); + var sec = a.getSeconds(); + var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min; // + ':' + sec ; + return time; +} + $(document).ready(() => { + $('#sendToGS').on('click', function(){ + $(this).prop('disabled', true) + let gt = $('#gifter-table') + gt.find('.save').removeClass('d-none') + let rows = gt.html().split("\n"), rowLength = rows.length, a //, fin = text.split("\t") + let obj = [] + let date2 = new Date(); + for(a=0;a { }); if (window.settings.username) connect(); - /***** /copy ***********/ + let pops = { + sanitize: false, + html: true, + trigger: 'focus' + }; + let chatcont = $('#chatcontainer') + $('#add-row').on('click', function(){ + let row = $('#the-row').html() + chatcont.prepend(row) + chatcont.find('li[data-bs-toggle="popover"]:first').popover(pops) + }) + $('[data-bs-toggle="popover"]').popover(pops); }) -/***** /copy ***********/ function connect() { let uniqueId = window.settings.username || $('#uniqueIdInput').val(); if (uniqueId !== '') { @@ -48,22 +223,81 @@ function connect() { connection.connect(uniqueId, { enableExtendedGiftInfo: true }).then(state => { - console.log(' -- state --') + //$('#stateText').text(`Connected to roomId ${state.roomId}`); + console.log(' -- state --'); console.log(state) - console.log(' -- /state --') + console.log(' -- /state --'); //Connected to roomId ${state.roomId} + roomId = state.roomId - $('#stateText').html(`

              ${state.roomInfo.owner.display_id}     --|.^.|--     ${state.roomInfo.owner.nickname}

              `); + display_start = timeConverter(state.roomInfo.create_time) + $('#HostInfo').html(` + +

              + ${state.roomInfo.owner.display_id} +
              + ${state.roomInfo.owner.nickname} +
              + Started: ${display_start} +

              `); + $('#stateText').text('

              Connected

              '); + roomDisplayId = state.roomInfo.owner.display_id; + roomDisplayNickname = state.roomInfo.owner.nickname; + roomStart = state.roomInfo.create_time + document.title = roomDisplayId+' - Yohns TikTok Live Chat Analytics Demo Beta 1'; + + let all_fans = state.roomInfo.top_fans + , total_fans = all_fans.length + , fan_tr = ''; + if(total_fans > 0){ + for(var i=0;i +
            • + top gifters pic + ${state.roomInfo.top_fans[i].user.nickname} + (${tick} coins) +
            • `; + //fan_tr += 'top gifters pic'+state.roomInfo.top_fans[i].user.nickname+''+state.roomInfo.top_fans[i].fan_ticket+' coins'; + } + $(fan_tr).insertAfter("#topGiftersDivider") + //document.getElementById('topGiftersDivider').innerHTML = fan_tr + } // reset stats viewerCount = 0; likeCount = 0; diamondsCount = 0; updateRoomStats(); - let g_length = state.availableGifts.length, i, list = '', html = ''; - for(i=0;i { @@ -76,7 +310,6 @@ function connect() { }, 30000); } }) - } else { alert('no username entered'); } @@ -88,24 +321,30 @@ function sanitize(text) { } function updateRoomStats() { - $('#roomStats').html(` -
              - Viewers - - Likes - - Diamonds - + $('#viewerCountStats').val(parseInt(viewerCount).toLocaleString('en')); + $('#likeCountStats').val(parseInt(likeCount).toLocaleString('en')); + $('#diamondsCountStats').val(parseInt(diamondsCount).toLocaleString('en')); + /*$('#roomStats').html(` +
              + + + + + +
              `) /* Viewers: ${viewerCount.toLocaleString()} Likes: ${likeCount.toLocaleString()} - Earned Diamonds: ${diamondsCount.toLocaleString()}*/ + Earned Diamonds: ${diamondsCount.toLocaleString()} */ } function generateUsernameLink(data) { - return `${data.uniqueId}`; + //console.log('---') + //console.log(data) + //console.log('---') + return `${data.nickname}`; /*`; */ } function isPendingStreak(data) { @@ -115,65 +354,182 @@ function isPendingStreak(data) { /** * Add a new message to the chat container */ +function insertEmotes(comment, subEmotes) { + // Sort emotes by placeInComment, in descending order + subEmotes.sort((a, b) => (b.placeInComment || 0) - (a.placeInComment || 0)); + + // Loop through the emotes and splice them into the comment + subEmotes.forEach(emoteObj => { + const position = emoteObj.placeInComment || 0; + const emoteImageTag = `emote`; + + // Insert the image tag at the specified position + comment = comment.slice(0, position) + emoteImageTag + comment.slice(position); + }); + + return comment; +} function addChatItem(color, data, text, cont) { let container = location.href.includes('obs.html') ? $('.eventcontainer') : $(cont); - container.append(` -
            • + //🚔 👮 + let badgeLength = data.userBadges.length + let afterName = ''; + if(badgeLength > 0){ + for(let i = 0;i'; + } else { + + } + } + } + nickname = data.nickname.replace("'", "\\'") + let isFoll = '', followInfo + if(data && typeof data === 'object' && data.followInfo){ + isFoll = data.followInfo.followerCount == 2 ? 'Friends' : data.followInfo.followerCount == 1 ? 'Following Host' : 'Not Following Host'; + followInfo = `
              + ${data.followInfo.followerCount} Followers + ${data.followInfo.followingCount} Following +
              `; + } + container.prepend(` +
            • @${data.uniqueId}
              +
              + ${isFoll} +
              +
            • + +
              + ${followInfo} + View TikTok +
              '>
              -
              +
              -
              +
              - ${generateUsernameLink(data)}: - ${sanitize(text)} + ${generateUsernameLink(data)}${afterName}: + ${text}
              `); + //

              ${data.userDetails.bioDescription.replaceAll("'", "'")}

              - container.stop(); - container.animate({ - scrollTop: container[0].scrollHeight - }, 400); + container.find('li[data-bs-toggle="popover"]:first').popover({ + sanitize: false, + html: true, + customClass: 'user-pop', + //trigger: 'click', + //delay: {"show": 200, "hide": 500} + }).on('show.bs.popover', () => { + $('li[data-bs-toggle="popover"]').not($(this)).popover('hide'); + setTimeout(function(){ + $('li[data-bs-toggle="popover"]').popover('hide'); + },10000) + }) + container.find('[data-bs-toggle="tooltip"]:first').tooltip() + //new bootstrap.Tooltip(this) + //container.stop(); + //container.animate({ + // scrollTop: container[0].scrollHeight + //}, 400); + if(data.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[data.uniqueId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + userIds[data.userId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + } } function addShareItem(color, data, text, cont) { - let container = $('.sharecontainer'); + let container = $('.sharecontainer'), sans = sanitize(text); container.prepend(`
            • ${generateUsernameLink(data)}: - ${sanitize(text)} + ${sans}
            • `); + if(data.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[data.uniqueId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + userIds[data.userId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + } + sendToDb('share', 'shared', { + timestamp: data.timestamp, + sharer: userIds[data.userId], + count: sans + }) } /** * Add a new gift to the gift container */ function addGiftItem(data) { let container = location.href.includes('obs.html') ? $('.eventcontainer') : $('.giftcontainer'); - - if (container.find('div').length > 200) { - container.find('div').slice(0, 100).remove(); + if(data.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[data.uniqueId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + userIds[data.userId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } } - - let streakId = data.userId.toString() + '_' + data.giftId; + let streakId = data.uniqueId.toString() + '_' + data.giftId; let isPending = isPendingStreak(data) let diamonds = data.diamondCount * data.repeatCount - let diamondsLocal = (data.diamondCount * data.repeatCount).toLocaleString() + let diamondsLocal = parseInt(data.diamondCount * data.repeatCount).toLocaleString() + + /*test */ + let giftFor = '', tapName = ''; + if(data.receiverUserId in userIds){ + giftFor = 'to '+generateUsernameLink(userIds[data.receiverUserId]); + } + let html = `
            • -

              ${generateUsernameLink(data)}: ${data.describe}

              +

              ${generateUsernameLink(data)}: ${data.describe} ${giftFor}

              - +
              Name: ${data.giftName} (ID:${data.giftId})
              @@ -184,6 +540,8 @@ function addGiftItem(data) {
            • `; + + let existingStreakItem = container.find(`[data-streakid='${streakId}']`); if (existingStreakItem.length) { @@ -195,55 +553,67 @@ function addGiftItem(data) { if(!isPending){ let gifter = data.uniqueId; - let giftertotalcontainer = $('.giftertotalcontainer') if(gifter in gifter_ary){ gifter_ary[gifter].coins = parseInt(gifter_ary[gifter].coins)+parseInt(diamonds); $('[data-gifter="'+gifter+'"]').remove() } else { gifter_ary[gifter] = { username: data.nickname, - userId: data.uniqueId, - coins: diamonds + uniqueId: data.uniqueId, + userId: data.userId, + coins: diamonds, + likes: 0, + shares: 0 } } let gifterTable = $('#gifter-table tbody') - //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].userId+','+gifter_ary[gifter].coins+"\n"; + //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].uniqueId+','+gifter_ary[gifter].coins+"\n"; gifterTable.prepend(` - ${gifter_ary[gifter].username} - ${gifter_ary[gifter].userId} - ${gifter_ary[gifter].coins.toLocaleString()} + ${gifter_ary[gifter].username} + ${gifter_ary[gifter].uniqueId} + ${parseInt(gifter_ary[gifter].coins).toLocaleString('en')} + ${gifter_ary[gifter].userId} + ${gifter_ary[gifter].likes} `) - let line = gifter_ary[gifter].username+','+gifter_ary[gifter].userId+','+gifter_ary[gifter].coins.toLocaleString()+"\n"; - giftertotalcontainer.prepend(` -
            • - ${line} -
            • - `) + + socket.emit('addGift', { + giftId: data.giftId, + userId: data.userId, + giftName: data.giftName, + uniqueId: data.uniqueId, + nickname: data.nickname, + timestamp: data.timestamp, + repeatCount: data.repeatCount, + receiverUser: data.receiverUserId in userIds ? userIds[data.receiverUserId].nickname : '', + receiverUserId: data.receiverUserId, + diamondCount: diamondsLocal, + giftPictureUrl: data.giftPictureUrl, + profilePictureUrl: data.profilePictureUrl, + }); } } function addLikeItem(color, data, text, summarize) { - let container = $('.likecontainer'); - //let tt = sanitize(text); - console.log(tt); - if (container.find('div').length > 500) { - container.find('div').slice(0, 200).remove(); - } - - //container.find('.temporary').remove(); - if(text != ''){ - container.prepend(`
            • -
              - - - ${generateUsernameLink(data)}: - ${sanitize(text)} - -
              -
            • `); - } + let container = $('.likecontainer'); + //let tt = sanitize(text); + //console.log(tt); + if (container.find('div').length > 500) { + container.find('div').slice(0, 200).remove(); + } + //container.find('.temporary').remove(); + if(text != ''){ + container.prepend(`
            • +
              + + + ${generateUsernameLink(data)}: + ${sanitize(text)} + +
              +
            • `); + } } function updateTopGifters(viewers){ @@ -255,63 +625,91 @@ function updateTopGifters(viewers){ ` for(i=0;i - ${viewers[i].user.uniqueId} (${viewers[i].coinCount} coins) + if("nickname" in viewers[i].user){ + if(i < 2){ + top += `` + } + drop += `` - } - drop += `` - - if(parseInt(viewers[i].coinCount) > 0 - && typeof viewers[i].user.username != undefined - && viewers[i].user.username != 'undefined' - && viewers[i].user.username != '' - && viewers[i].user.username != null){ - let gifter = viewers[i].user.uniqueId; - let giftertotalcontainer = $('.giftertotalcontainer') - if(gifter in gifter_ary){ - gifter_ary[gifter].coins = parseInt(viewers[i].coinCount); - $('[data-gifter="'+gifter+'"]').remove() - } else { - gifter_ary[gifter] = { - username: viewers[i].user.nickname, - userId: viewers[i].user.uniqueId, - coins: parseInt(viewers[i].coinCount) + + if(parseInt(viewers[i].coinCount) > 0 + && typeof viewers[i].user.username != undefined + && viewers[i].user.username != 'undefined' + && viewers[i].user.username != '' + && viewers[i].user.username != null){ + let gifter = viewers[i].user.uniqueId; + + if(msg.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[viewers[i].user.uniqueId] = { + userId : viewers[i].user.userId, + uniqueId : viewers[i].user.uniqueId, + nickname : viewers[i].user.nickname, + profilePictureUrl : viewers[i].user.profilePictureUrl + } + userIds[viewers[i].user.userId] = { + userId : viewers[i].user.userId, + uniqueId : viewers[i].user.uniqueId, + nickname : viewers[i].user.nickname, + profilePictureUrl : viewers[i].user.profilePictureUrl + } + } + + if(gifter in gifter_ary){ + gifter_ary[gifter].coins = parseInt(viewers[i].coinCount); + $('[data-gifter="'+gifter+'"]').remove() + } else { + gifter_ary[gifter] = { + username: viewers[i].user.nickname, + uniqueId: viewers[i].user.uniqueId, + userId: viewers[i].user.userId, + coins: parseInt(viewers[i].coinCount), + likes: 0, + shares: 0 + } + } + let gifterTable = $('#gifter-table tbody') + //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].uniqueId+','+gifter_ary[gifter].coins+"\n"; + gifterTable.prepend(` + + ${gifter_ary[gifter].username} + ${gifter_ary[gifter].uniqueId} + ${gifter_ary[gifter].coins} + ${gifter_ary[gifter].userId} + ${gifter_ary[gifter].likes} + + `) } - let gifterTable = $('#gifter-table tbody') - //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].userId+','+gifter_ary[gifter].coins+"\n"; - gifterTable.prepend(` - - ${gifter_ary[gifter].username} - ${gifter_ary[gifter].userId} - ${gifter_ary[gifter].coins} - - `) - let line = gifter_ary[gifter].username+','+gifter_ary[gifter].userId+','+gifter_ary[gifter].coins+"\n"; - giftertotalcontainer.prepend(` -
            • - ${line} -
            • - `) } } container.html(''); - console.log(top) + //console.log(top) } else { container.html('no viewers..?') - console.log('no viewers') + //console.log('no viewers') } } + + // viewer stats connection.on('roomUser', (msg) => { - console.log('-- roomUser --') - console.log(msg) - console.log('-- roomUser --') + //console.log('-- roomUser --') + //console.log(msg) + //console.log('-- roomUser --') if (typeof msg.viewerCount === 'number') { viewerCount = msg.viewerCount; updateRoomStats(); @@ -321,6 +719,9 @@ connection.on('roomUser', (msg) => { // like stats connection.on('like', (msg) => { + //console.log('-- likes --') + //console.log(msg) + //console.log('-- /likes --') if (typeof msg.totalLikeCount === 'number') { likeCount = msg.totalLikeCount; updateRoomStats(); @@ -331,32 +732,52 @@ connection.on('like', (msg) => { if (typeof msg.likeCount === 'number') { var uname = msg.uniqueId; if(uname in link_ary){ - link_ary[uname] = link_ary[uname]+1; + link_ary[uname] = link_ary[uname]+1 } else { link_ary[uname] = 1 } - let tlike = $('.likecontainer') + + let tlike = $('#likestotalcontainer,#alltotalcontainer') $(`[data-uname="${msg.uniqueId}"]`).remove() let thename = generateUsernameLink(msg) - tlike.prepend(`
            • -
              - - - ${thename}: - sent ${link_ary[uname]} likes - -
              + tlike.prepend(` +
            • +
              +
              + +
              +
              + + ${thename}: + sent ${link_ary[uname]} likes + +
              +
            • `) - + if(msg.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[msg.uniqueId] = { + userId : msg.userId, + uniqueId : msg.uniqueId, + nickname : msg.nickname, + profilePictureUrl : msg.profilePictureUrl + } + userIds[msg.userId] = { + userId : msg.userId, + uniqueId : msg.uniqueId, + nickname : msg.nickname, + profilePictureUrl : msg.profilePictureUrl + } + } } }) // Member join let joinMsgDelay = 0; connection.on('member', (msg) => { - console.log('-- member --') - console.log(msg) - console.log('-- member --') + //console.log('-- member --') + //console.log(msg) + //console.log('-- member --') if (window.settings.showJoins === "0") return; let addDelay = 250; @@ -367,8 +788,32 @@ connection.on('member', (msg) => { setTimeout(() => { joinMsgDelay -= addDelay; - addChatItem('#21b2c2', msg, msg.label.replace('{0:user}', ''), '.sharecontainer'); //.joincontainer'); + addChatItem('#21b2c2', msg, msg.label.replace('{0:user}', ''), '#joinstotalcontainer,#alltotalcontainer'); //.joincontainer'); }, joinMsgDelay); + // + sendToDb('member', 'join', { + userId: msg.userId, + uniqueId: msg.uniqueId, + nickname: msg.nickname, + timestamp: msg.createTime, + profilePictureUrl: msg.profilePictureUrl, + displayType: msg.displayType + }) + if(msg.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[msg.uniqueId] = { + userId : msg.userId, + uniqueId : msg.uniqueId, + nickname : msg.nickname, + profilePictureUrl : msg.profilePictureUrl + } + userIds[msg.userId] = { + userId : msg.userId, + uniqueId : msg.uniqueId, + nickname : msg.nickname, + profilePictureUrl : msg.profilePictureUrl + } + } }) // New chat comment received @@ -378,14 +823,17 @@ connection.on('chat', (msg) => { console.log('-- chat --') if (window.settings.showChats === "0") return; - addChatItem('', msg, msg.comment, '.chatcontainer'); + let msgcom = msg.hasOwnProperty('subemotes') ? insertEmotes(sanitize(msg.comment), msg.subemotes) : sanitize(msg.comment); + addChatItem('', msg, msgcom, '.chatcontainer'); }) // New gift received connection.on('gift', (data) => { + //if(data.giftName == 'Gift Box'){ console.log('-- gift --') console.log(data) console.log('-- gift --') + //} if (!isPendingStreak(data) && data.diamondCount > 0) { diamondsCount += (data.diamondCount * data.repeatCount); updateRoomStats(); @@ -395,21 +843,253 @@ connection.on('gift', (data) => { addGiftItem(data); }) - // share, follow connection.on('social', (data) => { - console.log('-- social --') - console.log(data) - console.log('-- social --') + //console.log('-- social --') + //console.log(data) + //console.log('-- social --') if (window.settings.showFollows === "0") return; let color = data.displayType.includes('follow') ? '#ff005e' : '#2fb816'; - addChatItem(color, data, data.label.replace('{0:user}', ''), '.sharecontainer'); + let conta = data.displayType.includes('follow') ? '#followstotalcontainer,#alltotalcontainer' : '#sharestotalcontainer,#alltotalcontainer'; + addChatItem(color, data, data.label.replace('{0:user}', ''), conta); //'.sharecontainer'); + +}) + +connection.on('questionNew', (data) => { + console.log('questionNew') + console.log(data) + console.log('/questionNew') +}) +let battleStats = $('#battleParties') +connection.on('linkMicBattle', (data) => { + //console.log('/linkMicBattle') + //console.log(data) + //console.log('linkMicBattle') + let peopleSpan = 6 + if(data.battleUsers.length == 4){ + peopleSpan = 3 + } + let i, str = '
              ' + +'
              ' + +'
              ' + +'
              ' + +'
              ' + +'
              ' + +'
              ' + } + str += '
              ' + console.log(str) + $('#battleParties').html(str) + console.log('inserted battle stuff..') +}) + +connection.on('linkMicArmies', (data) => { + //console.log('linkMicArmies') + //console.log(data) + //console.log('/linkMicArmies') + let i; + //$('#battleStats').removeClass('d-none') + for(i=0;i { + //console.log('liveIntro') + //console.log(data) + //console.log('/liveIntro') + + addChatItem('#ff00cc', data, data.description, '.chatcontainer'); + if(data.uniqueId in usernames){} else { + usernames[data.uniqueId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + userIds[data.userId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + } }) -connection.on('streamEnd', () => { - $('#stateText').text('Stream ended.'); +connection.on('emote', (data) => { + console.log('emote') + console.log(data) + console.log('/emote') +}) +connection.on('envelope', (data) => { + console.log('envelope') + console.log(data) + console.log('/envelope') +}) +connection.on('subscribe', (data) => { + console.log('subscribe') + console.log(data) + console.log('/subscribe') +}) +//connection.on('rawData', (data) => { //(messageTypeName, binary) => { +// console.log('Raw Data') +// console.log(data); +// console.log('/Raw Data') +//}) + +connection.on('streamEnd', (actionId) => { + let msg = 'Stream Ended'; + if (actionId === 3) { + let msg = 'Stream ended by user'; + } + if (actionId === 4) { + let msg = 'Stream ended by platform moderator (ban)'; + } + //let tim = Date.now(); + //var a = new Date(roomStart * 1000); + //let diff = calcDate(tim,a); + var today = new Date(); + var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate(); + var time = today.getHours() + ":" + today.getMinutes(); // + ":" + today.getSeconds(); + var dateTime = date+' '+time; + //document.getElementById('dt').innerHTML = dateTime + $('#stateText').text(msg+'
              Ended At: '+dateTime); // schedule next try if obs username set if (window.settings.username) { @@ -417,5 +1097,4 @@ connection.on('streamEnd', () => { connect(window.settings.username); }, 30000); } -}) - +}) \ No newline at end of file diff --git a/public/index.html b/public/index.html index 1a4cea2..d2fbd41 100644 --- a/public/index.html +++ b/public/index.html @@ -4,16 +4,18 @@ - TikTok LIVE Chat Reader (Demo) - - - + Yohn's TikTok Live Chat Analytics Demo Beta 1 + + + + + @@ -33,11 +35,20 @@
              -
              -

              TikTok LIVE Chat Reader

              +
              +
              +

              TikTok LIVE Chat Reader

              +

              Best to use on a desktop / laptop PC, and the mobile might be slower to load. This is the second beta version for the public that has been published. There will be more updates to come soon.

              +

              This service does cost me $$ to run, and I will not know for sure how much until the end of the month.

              +

              The estimates so far is $10-20 for the server resources, but will probably increase the more we use this. Any little bit will help keep this project going. +

              +

              This is a modified version from: zerodytrash/TikTok-Chat-Reader

              +

              CashApp: $yohnjohn84      Venmo: @John-BrittainIII

              +

              After you start your live, type in your @username (without the @) on TikTok in the box below.

              +
              -
              +
              @
              @@ -46,23 +57,52 @@

              TikTok LIVE Chat Reader

              - + +
              + + +
              +
              +
              +
              +
              -
              -
              +
              +
              + +
              +
              +
              +
              +
              -
              -
              +
              +
              +
              + + + + + + + + +
              +
              +
              @@ -70,74 +110,93 @@

              TikTok LIVE Chat Reader

              -
              +
              Chats
                -
                -
                -
                -
                -
                Gifts
                -
                  -
                  +
                  +
                  +
                  Gifts
                  +
                    +
                    +
                    +
                    +
                    +
                    +
                    -
                    -
                    -
                    Likes
                    -
                      +
                      +
                      +
                        -
                        -
                        -
                        -
                        - -
                        -
                        -
                        -
                        - - - - - - - - - - - -
                        UsernameNicknameCoins Sent
                        -
                        -
                        -
                        -
                          -
                          -
                          +
                          +
                            +
                            +
                            +
                              +
                              +
                              +
                                +
                                +
                                +
                                  -
                                  -
                                  -
                                  Shares, Follows & Joins
                                  -
                                    +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    + + + + + + + + + + + + + +
                                    UsernameNicknameCoins SentuserIdlikes
                                    +
                                    - \ No newline at end of file diff --git a/public/style.css b/public/style.css index 7b9aa8c..95ddae1 100644 --- a/public/style.css +++ b/public/style.css @@ -1,6 +1,6 @@ body { font-family:Arial, Helvetica, sans-serif; - min-width: 800px; + /*min-width: 800px;*/ } h1 { @@ -21,11 +21,11 @@ a { font-size: 0.8em; font-weight: bold; } - -.usernamelink { +.coming-soon {display:none;} +/*.usernamelink { color: #18508f; text-decoration: none; -} +} */ #roomUserText { width: 100%; @@ -49,20 +49,20 @@ a { width: 33vw; } -.chatcontainer, .eventcontainer { +.giftcontainer, .chatcontainer, .eventcontainer { overflow-y: scroll; - height: calc(100vh - 240px); + height: calc(100vh - 272px); word-wrap: break-word; } -.likecontainer, .giftcontainer, .joincontainer, .sharecontainer { +.likecontainer, .joincontainer, .sharecontainer { overflow-y: scroll; - height: calc(45vh - 120px); + height: calc(45vh - 160px); word-wrap: break-word; } .eventcontainer { - height: calc(100vh - 90px); + height: calc(100vh - 120px); } @@ -75,4 +75,19 @@ a { height: 50px; width: 50px; margin-right: 10px; +} + +.chat-img-badge { + max-height: 20px; + height: 20px; + width: auto; + } +.chat-img-emote { + max-height: 30px; + height: 30px; + width: auto; +} +.user-pop { + --bs-popover-max-width: 500px; + width: 450px; } \ No newline at end of file diff --git a/server.js b/server.js index 3b6d916..3bdae45 100644 --- a/server.js +++ b/server.js @@ -5,9 +5,11 @@ const { createServer } = require('http'); const { Server } = require('socket.io'); const { TikTokConnectionWrapper, getGlobalConnectionCount } = require('./connectionWrapper'); const { clientBlocked } = require('./limiter'); +const {google} = require('googleapis'); const app = express(); const httpServer = createServer(app); +app.use(express.urlencoded({ extended: true })); // Enable cross origin resource sharing const io = new Server(httpServer, { @@ -16,6 +18,12 @@ const io = new Server(httpServer, { } }); +// sheets-api-nodejs helped with th e connection +const auth = new google.auth.GoogleAuth({ + keyFile: "keys.json", //the key file + //url to spreadsheets API + scopes: "https://www.googleapis.com/auth/spreadsheets", +}); io.on('connection', (socket) => { let tiktokConnectionWrapper; @@ -71,9 +79,11 @@ io.on('connection', (socket) => { tiktokConnectionWrapper.connection.on('linkMicBattle', msg => socket.emit('linkMicBattle', msg)); tiktokConnectionWrapper.connection.on('linkMicArmies', msg => socket.emit('linkMicArmies', msg)); tiktokConnectionWrapper.connection.on('liveIntro', msg => socket.emit('liveIntro', msg)); - tiktokConnectionWrapper.connection.on('emote', msg => socket.emit('emote', msg)); + //tiktokConnectionWrapper.connection.on('emote', msg => socket.emit('emote', msg)); tiktokConnectionWrapper.connection.on('envelope', msg => socket.emit('envelope', msg)); tiktokConnectionWrapper.connection.on('subscribe', msg => socket.emit('subscribe', msg)); + tiktokConnectionWrapper.connection.on('rawData', (messageTypeName, binary) => socket.emit('rawData', messageTypeName)); + //console.log(messageTypeName, binary); }); socket.on('disconnect', () => { @@ -81,6 +91,47 @@ io.on('connection', (socket) => { tiktokConnectionWrapper.disconnect(); } }); + + socket.on('addGift', async (data) => { + //console.log(data) + //Auth client Object + const authClientObject = await auth.getClient(); + //Google sheets instance + const googleSheetsInstance = google.sheets({ version: "v4", auth: authClientObject }); + // spreadsheet id + const spreadsheetId = process.env.GOOGLE_SHEET_ID //process.env.GOOGLE_SHEET_ID; + await googleSheetsInstance.spreadsheets.values.append({ + auth, //auth object + spreadsheetId, //spreadsheet id + range: "Sheet1", //!A1:B1:C1:D1:E1:F1:G1:H1:I1:J1:K1:L1", //sheet name and range of cells + valueInputOption: "USER_ENTERED", // The information will be passed according to what the usere passes in as date, number or text + resource: { + values: [[ + //data.timestamp.toLocaleDateString("en-US"), + Intl.DateTimeFormat(this.locale, { + year: "numeric", + month: "numeric", + day: "numeric", + hour: "numeric", + minute: "numeric" + }).format(data.timestamp), + data.userId, + data.uniqueId, + data.nickname, + '=IMAGE("'+data.profilePictureUrl+'",2)', + data.giftId, + data.giftName, + '=IMAGE("'+data.giftPictureUrl+'",2)', + data.repeatCount, + data.diamondCount, + data.receiverUser, + data.receiverUserId + ]] //[[dat, username, nickname, coinsSent, userId]] + }, + }); + + //response.send("Gift Saved!") + }) }); // Emit global connection statistics From bf283a088b14dad25454ad9684dbc260bfead24f Mon Sep 17 00:00:00 2001 From: John Brittain Date: Fri, 15 Mar 2024 21:42:19 -0400 Subject: [PATCH 04/35] sounds, and google sheets to store gifts database --- .gitignore | 2 + package-lock.json | 107 ++++++---- package.json | 4 +- public/app.js | 345 +++++++++++++++++++++++++++++--- public/bootstrap-show-modal.js | 250 +++++++++++++++++++++++ public/config.json | 19 ++ public/index.html | 53 ++++- public/index_gh.html | 249 +++++++++++++++++++++++ public/sounds/bruh.mp3 | Bin 0 -> 27683 bytes public/sounds/cute-level-up.mp3 | Bin 0 -> 65280 bytes public/sounds/enchanted.wav | Bin 0 -> 248112 bytes public/style.css | 14 ++ public/users.js | 45 +++++ server.js | 148 +++++++++++++- 14 files changed, 1150 insertions(+), 86 deletions(-) create mode 100644 public/bootstrap-show-modal.js create mode 100644 public/config.json create mode 100644 public/index_gh.html create mode 100644 public/sounds/bruh.mp3 create mode 100644 public/sounds/cute-level-up.mp3 create mode 100644 public/sounds/enchanted.wav create mode 100644 public/users.js diff --git a/.gitignore b/.gitignore index 7eb7b8e..9be9af8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +package-lock-old.json + #Google Spreadsheet API Key File keys.json diff --git a/package-lock.json b/package-lock.json index 27838a8..7179f6b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,18 @@ { - "name": "TikTok-Chat-Reader", + "name": "yohns-tiktok-upgrade", + "version": "0.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { + "name": "yohns-tiktok-upgrade", + "version": "0.0.1", "dependencies": { "dotenv": "^16.3.1", "express": "^4.18.2", "googleapis": "^74.1.0", "socket.io": "^4.7.2", - "tiktok-live-connector": "^1.0.5" + "tiktok-live-connector": "^1.1.4" } }, "node_modules/@protobufjs/aspromise": { @@ -90,9 +93,12 @@ "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, "node_modules/@types/node": { - "version": "18.7.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.15.tgz", - "integrity": "sha512-XnjpaI8Bgc3eBag2Aw4t2Uj/49lLBSStHWfqKvIuXD7FIrZyMLWp8KuAFHAqxMZYTF9l08N1ctUn9YNybZJVmQ==" + "version": "20.10.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", + "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/abort-controller": { "version": "3.0.0", @@ -234,9 +240,9 @@ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, "node_modules/bufferutil": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", - "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", + "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", "hasInstallScript": true, "dependencies": { "node-gyp-build": "^4.3.0" @@ -582,9 +588,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", "funding": [ { "type": "individual", @@ -1022,9 +1028,9 @@ } }, "node_modules/node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.1.tgz", + "integrity": "sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -1072,9 +1078,9 @@ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, "node_modules/protobufjs": { - "version": "6.11.3", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", - "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", "hasInstallScript": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", @@ -1330,9 +1336,9 @@ } }, "node_modules/tiktok-live-connector": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tiktok-live-connector/-/tiktok-live-connector-1.0.5.tgz", - "integrity": "sha512-8p/+0+DxNjbCuyU+XBv6tv3JC0piNXF89qIuLv6OuW29t9zMWsakyvcB4m34H6pSi/gnENatdJ8mgbbqq5kabQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/tiktok-live-connector/-/tiktok-live-connector-1.1.4.tgz", + "integrity": "sha512-I559hDMIScU6/9g1YR4TC2bC7PmR25P4yKZSEtPW52o8m6JGp1ab1SNsoJt5gIER8YJi8Q6gc+hvAkIIzp0fLg==", "funding": [ { "type": "Ko-fi", @@ -1390,6 +1396,11 @@ "is-typedarray": "^1.0.0" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -1404,9 +1415,9 @@ "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==" }, "node_modules/utf-8-validate": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", - "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", "hasInstallScript": true, "dependencies": { "node-gyp-build": "^4.3.0" @@ -1582,9 +1593,12 @@ "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, "@types/node": { - "version": "18.7.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.15.tgz", - "integrity": "sha512-XnjpaI8Bgc3eBag2Aw4t2Uj/49lLBSStHWfqKvIuXD7FIrZyMLWp8KuAFHAqxMZYTF9l08N1ctUn9YNybZJVmQ==" + "version": "20.10.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", + "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", + "requires": { + "undici-types": "~5.26.4" + } }, "abort-controller": { "version": "3.0.0", @@ -1684,9 +1698,9 @@ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, "bufferutil": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", - "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", + "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", "requires": { "node-gyp-build": "^4.3.0" } @@ -1962,9 +1976,9 @@ } }, "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==" }, "forwarded": { "version": "0.2.0", @@ -2269,9 +2283,9 @@ "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" }, "node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.1.tgz", + "integrity": "sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==" }, "object-assign": { "version": "4.1.1", @@ -2302,9 +2316,9 @@ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, "protobufjs": { - "version": "6.11.3", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", - "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", "requires": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -2495,9 +2509,9 @@ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, "tiktok-live-connector": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tiktok-live-connector/-/tiktok-live-connector-1.0.5.tgz", - "integrity": "sha512-8p/+0+DxNjbCuyU+XBv6tv3JC0piNXF89qIuLv6OuW29t9zMWsakyvcB4m34H6pSi/gnENatdJ8mgbbqq5kabQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/tiktok-live-connector/-/tiktok-live-connector-1.1.4.tgz", + "integrity": "sha512-I559hDMIScU6/9g1YR4TC2bC7PmR25P4yKZSEtPW52o8m6JGp1ab1SNsoJt5gIER8YJi8Q6gc+hvAkIIzp0fLg==", "requires": { "axios": "^0.25.0", "protobufjs": "^6.11.2", @@ -2536,6 +2550,11 @@ "is-typedarray": "^1.0.0" } }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -2547,9 +2566,9 @@ "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==" }, "utf-8-validate": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", - "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", "requires": { "node-gyp-build": "^4.3.0" } diff --git a/package.json b/package.json index 4c27f43..4cf0371 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,11 @@ { + "name": "yohns-tiktok-upgrade", + "version": "0.0.1", "dependencies": { "dotenv": "^16.3.1", "express": "^4.18.2", "googleapis": "^74.1.0", "socket.io": "^4.7.2", - "tiktok-live-connector": "^1.0.5" + "tiktok-live-connector": "^1.1.4" } } diff --git a/public/app.js b/public/app.js index d1fe6e1..57c7dc5 100644 --- a/public/app.js +++ b/public/app.js @@ -17,6 +17,9 @@ let roomDisplayId = ''; let roomDisplayNickname = ''; let roomStart = ''; let roomEnd = ''; +let playSounds = 1; +let saveGifts = 1; + function hasClass(elem, className) { return elem.classList.contains(className); @@ -156,8 +159,83 @@ function timeConverter(UNIX_timestamp){ return time; } +let Config = { + updateConfig() { + fetch("/config.json").then((response) => response.json()).then((json) => { + Config = Object.assign({}, Config, json); + }); + } +} + +Config.updateConfig(); + +class Announcement { + #soundUrl; + constructor(soundUrl) { + this.#soundUrl = soundUrl; + } + sound() { + if (!this.#soundUrl) { + return; + } + let audio = new Audio(this.#soundUrl); + audio.volume = Config["volume"]; + audio.play().catch(); + } +} + +const userCog = $('#userCog') $(document).ready(() => { - $('#sendToGS').on('click', function(){ + //$('.form-sgifts input[type="checkbox"]').on('click', function () { + // saveGifts = $(this).is(':checked') ? true : false; + // console.log('save gifts tapped') + // console.log(saveGifts) + //}); + //$('.form-ssounds input[type="checkbox"]').on('click', function () { + // playSounds = $(this).is(':checked') ? true : false; + // console.log('play southnds tapped') + //}); + //$('.form-sgifts').on('click', function () { + // //console.log('save gifts tapped') + // //saveGifts = $(this)).is(':checked') ? true : false; + // //saveGifts = saveGifts === 1 ? 2 : 1; + // if(saveGifts === 1){ saveGifts = 2 } else { saveGifts = 1; } + // //setTimeout(console.log(saveGifts), 500) + // //console.log(saveGifts) + //}); + //$('.form-ssounds').on('click', function () { + // //console.log('play southnds tapped') + // //playSounds = $(this).is(':checked') ? true : false; + // if(playSounds === 1){ playSounds = 2 } else { playSounds = 1; } + // //setTimeout(console.log(playSounds), 500) + // //console.log(playSounds) + //}); + $('#s-on').on('click', function(){ + playSounds = 2 + $('#s-on').addClass('d-none') + $('#s-off').removeClass('d-none') + }) + $('#s-off').on('click', function(){ + playSounds = 1 + $('#s-off').addClass('d-none') + $('#s-on').removeClass('d-none') + }) + $('#g-on').on('click', function(){ + saveGifts = 2 + $('#g-on').addClass('d-none') + $('#g-off').removeClass('d-none') + }) + $('#g-off').on('click', function(){ + saveGifts = 1 + $('#g-off').addClass('d-none') + $('#g-on').removeClass('d-none') + }) + $('#ch').on('click', function(){ + console.log('playSounds = '+playSounds) + console.log('saveGifts = '+saveGifts) + console.log('------------') + }) + /*$('#sendToGS').on('click', function(){ $(this).prop('disabled', true) let gt = $('#gifter-table') gt.find('.save').removeClass('d-none') @@ -174,11 +252,23 @@ $(document).ready(() => { userId : cells[3] }) } - $.post('./gs', obj, function(res){ // {username : 'from here', nickname : 'by me', coinsSent : 400} - console.log(res) - $(this).prop('disabled', false) + //$.post('./gs', obj, function(res){ // {username : 'from here', nickname : 'by me', coinsSent : 400} + // console.log(res) + // $(this).prop('disabled', false) + //}) + }) */ + $('#userSignUpLink').on('click', function(){ + bootstrap.showAlert({title: "Sign Up Closed", body: "During testing phases, our sign up process will be closed. If you would like to test some new features, please contact Yohn."}) + }) + + $('#userLogin').on('click', function(){ + userCog.find('.switch-toggle').toggleClass('d-none') + socket.emit('userLogin', { + email : $('#userEmail').val(), + pass : $('#userPassword').val() }) }) + $('#copy-table').on('click', function(){ //console.log('copy btn clicked') let gt = $('#gifter-table') @@ -213,9 +303,9 @@ $(document).ready(() => { }) $('[data-bs-toggle="popover"]').popover(pops); }) - function connect() { let uniqueId = window.settings.username || $('#uniqueIdInput').val(); + if (uniqueId !== '') { $('#stateText').text('Connecting...'); @@ -229,6 +319,7 @@ function connect() { console.log(' -- /state --'); //Connected to roomId ${state.roomId} roomId = state.roomId + // for sounds display_start = timeConverter(state.roomInfo.create_time) $('#HostInfo').html(` @@ -361,12 +452,11 @@ function insertEmotes(comment, subEmotes) { // Loop through the emotes and splice them into the comment subEmotes.forEach(emoteObj => { const position = emoteObj.placeInComment || 0; - const emoteImageTag = `emote`; + const emoteImageTag = `emote`; // Insert the image tag at the specified position comment = comment.slice(0, position) + emoteImageTag + comment.slice(position); }); - return comment; } function addChatItem(color, data, text, cont) { @@ -374,12 +464,64 @@ function addChatItem(color, data, text, cont) { //🚔 👮 let badgeLength = data.userBadges.length let afterName = ''; + let b4Name = ''; if(badgeLength > 0){ + /* + "userBadges": [ + { + "badgeSceneType": 1, + "type": "pm_mt_moderator_im", + "name": "Moderator" + }, + { + "type": "image", + "badgeSceneType": 4, + "displayType": 1, + "url": "https://p19-webcast.tiktokcdn-us.com/webcast-oci-tx/sub_9f7d6c8e732079b1313b9c1739f98e16046390c36258920b3b048f18c3847226~tplv-obj.image" + }, + { + "type": "privilege", + "privilegeId": "7168535897666013994", + "level": 3, + "badgeSceneType": 4 + }, + { + "type": "image", + "badgeSceneType": 6, + "displayType": 1, + "url": "https://p19-webcast.tiktokcdn.com/webcast-sg/new_top_gifter_version_2.png~tplv-obj.image" + }, + { + "type": "privilege", + "privilegeId": "7138382115758004004", + "level": 38, + "badgeSceneType": 8 + }, + { + "type": "privilege", + "privilegeId": "7196929090442595077", + "level": 50, + "badgeSceneType": 10 + }, + { + "type": "privilege", + "privilegeId": "7168535897666013994", + "level": 3, + "badgeSceneType": 4 + } + + */ for(let i = 0;i'; + } else if(data.userBadges[i].name == 'Moderator'){ + afterName += '👮'; + } else if(data.userBadges[i].badgeSceneType == 8){ + // gifter level + b4Name += '💎 '+data.userBadges[i].level+'' + } else if(data.userBadges[i].badgeSceneType == 10){ + // team level + b4Name += '💗 '+data.userBadges[i].level+'' } else { } @@ -388,7 +530,8 @@ function addChatItem(color, data, text, cont) { nickname = data.nickname.replace("'", "\\'") let isFoll = '', followInfo if(data && typeof data === 'object' && data.followInfo){ - isFoll = data.followInfo.followerCount == 2 ? 'Friends' : data.followInfo.followerCount == 1 ? 'Following Host' : 'Not Following Host'; + isFoll = data.followInfo.followStatus == 2 ? 'Friends w/ Host' + : data.followInfo.followStatus == 1 ? 'Following Host' : 'Not Following Host'; followInfo = `
                                    ${data.followInfo.followerCount} Followers ${data.followInfo.followingCount} Following @@ -414,7 +557,7 @@ function addChatItem(color, data, text, cont) {
                                    - ${generateUsernameLink(data)}${afterName}: + ${b4Name}${generateUsernameLink(data)}${afterName}: ${text}
                                    @@ -578,20 +721,31 @@ function addGiftItem(data) { `) - socket.emit('addGift', { - giftId: data.giftId, - userId: data.userId, - giftName: data.giftName, - uniqueId: data.uniqueId, - nickname: data.nickname, - timestamp: data.timestamp, - repeatCount: data.repeatCount, - receiverUser: data.receiverUserId in userIds ? userIds[data.receiverUserId].nickname : '', - receiverUserId: data.receiverUserId, - diamondCount: diamondsLocal, - giftPictureUrl: data.giftPictureUrl, - profilePictureUrl: data.profilePictureUrl, - }); + if(saveGifts == 1){ + socket.emit('addGift', { + giftId: data.giftId, + userId: data.userId, + giftName: data.giftName, + uniqueId: data.uniqueId, + nickname: data.nickname, + timestamp: data.timestamp, + repeatCount: data.repeatCount, + receiverUser: data.receiverUserId in userIds ? userIds[data.receiverUserId].nickname : '', + receiverUserId: data.receiverUserId, + diamondCount: diamondsLocal, + giftPictureUrl: data.giftPictureUrl, + profilePictureUrl: data.profilePictureUrl, + }); + } + + let sPath = Config["sounds"]["gift"][data["giftName"].toLowerCase()] || Config["sounds"]["gift"]["default"] + if(playSounds == 1 && Config["enabled"]["gift"] && sPath){ + console.log('play sound?') + let announcement = new Announcement( + sPath + ); + announcement.sound(); + } } } @@ -705,6 +859,42 @@ function updateTopGifters(viewers){ +socket.on('loginTry', (data) => { + userCog.find('.switch-toggle').toggleClass('d-none') + if(data.r == 'ok'){ + console.log('logged in successful') + console.log(data) + console.log('/login in data') + let list = JSON.parse(data.info.userList) + , userListLen = list.length, u, usersHtml = '', userTags = ''; + if(userListLen > 0){ + for(u=0;u'; + } + $('#datalistOptions').html(usersHtml); + } + $('#settingLoginLi').html(`
                                  • + Autofill Hosts +
                                  • +
                                  • + Notes Hosts +
                                  • `)//addClass('d-none').after(data.replaceForm) + //$('#settingLoginLi') + // created: "12/21/2023 4:24:59" + // email: "yohns@live.com" + // keyFile: "Some key file" + // lastLogin: "" + // name: "Yohn" + // premiumUntil: "" + // sheetId: "", + // sounds: '{"rose":"rose"}', + // userList: '{"yohn.john", "dancehallwifi", "aviannaav", "imanalyn31"}'*/ + console.log(data) + } else { + console.log('could not login.') + } +}) + // viewer stats connection.on('roomUser', (msg) => { //console.log('-- roomUser --') @@ -823,8 +1013,98 @@ connection.on('chat', (msg) => { console.log('-- chat --') if (window.settings.showChats === "0") return; - let msgcom = msg.hasOwnProperty('subemotes') ? insertEmotes(sanitize(msg.comment), msg.subemotes) : sanitize(msg.comment); + //let msgcom = msg.hasOwnProperty('subemotes') ? insertEmotes(sanitize(msg.comment), msg.subemotes) : sanitize(msg.comment); + let msgcom = insertEmotes(sanitize(msg.comment), msg.emotes); addChatItem('', msg, msgcom, '.chatcontainer'); + /* + { + "emotes": [], + "comment": "why", + "userId": "7182427000643470382", + "secUid": "MS4wLjABAAAAQJ87hquuBeJBWaRFzdYItDVN0U0iFmjTR5Ppa-jUTaIb3hPN1-PHhT7atV3nem9R", + "uniqueId": "garrett052", + "nickname": "Garrett", + "profilePictureUrl": "https://p16-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/095ce30e480b2bab504d6727c94677e9~c5_100x100.webp?lk3s=a5d48078&x-expires=1706238000&x-signature=YZtZ2%2FPQdqKVYSpqVl2o8%2BQG6vI%3D", + "followRole": 2, + "userBadges": [ + { + "badgeSceneType": 1, + "type": "pm_mt_moderator_im", + "name": "Moderator" + }, + { + "type": "image", + "badgeSceneType": 4, + "displayType": 1, + "url": "https://p19-webcast.tiktokcdn-us.com/webcast-oci-tx/sub_9f7d6c8e732079b1313b9c1739f98e16046390c36258920b3b048f18c3847226~tplv-obj.image" + }, + { + "type": "privilege", + "privilegeId": "7168535897666013994", + "level": 3, + "badgeSceneType": 4 + }, + { + "type": "image", + "badgeSceneType": 6, + "displayType": 1, + "url": "https://p19-webcast.tiktokcdn.com/webcast-sg/new_top_gifter_version_2.png~tplv-obj.image" + }, + { + "type": "privilege", + "privilegeId": "7138382115758004004", + "level": 38, + "badgeSceneType": 8 + }, + { + "type": "privilege", + "privilegeId": "7196929090442595077", + "level": 50, + "badgeSceneType": 10 + }, + { + "type": "privilege", + "privilegeId": "7168535897666013994", + "level": 3, + "badgeSceneType": 4 + } + ], + "userSceneTypes": [ + 1, + 4, + 6, + 8, + 10, + 4, + 6, + 1 + ], + "userDetails": { + "createTime": "0", + "bioDescription": "", + "profilePictureUrls": [ + "https://p16-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/095ce30e480b2bab504d6727c94677e9~tplv-tiktok-shrink:72:72.webp?lk3s=a5d48078&x-expires=1706238000&x-signature=HtArrDWG3VOmeyqq1FToFoS7FvM%3D", + "https://p16-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/095ce30e480b2bab504d6727c94677e9~c5_100x100.webp?lk3s=a5d48078&x-expires=1706238000&x-signature=YZtZ2%2FPQdqKVYSpqVl2o8%2BQG6vI%3D", + "https://p19-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/095ce30e480b2bab504d6727c94677e9~c5_100x100.webp?lk3s=a5d48078&x-expires=1706238000&x-signature=UsTL8J6rW6xc6uov%2FniCCPVBkSk%3D", + "https://p16-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/095ce30e480b2bab504d6727c94677e9~c5_100x100.jpeg?lk3s=a5d48078&x-expires=1706238000&x-signature=cZWF5gCH0Xs61dYCABe1NLLu%2FJs%3D" + ] + }, + "followInfo": { + "followingCount": 156, + "followerCount": 1412, + "followStatus": 2, + "pushStatus": 0 + }, + "isModerator": true, + "isNewGifter": false, + "isSubscriber": true, + "topGifterRank": null, + "gifterLevel": 38, + "teamMemberLevel": 50, + "msgId": "7327498468313058090", + "createTime": "1706066195334" +} + */ }) // New gift received @@ -1076,10 +1356,10 @@ connection.on('subscribe', (data) => { connection.on('streamEnd', (actionId) => { let msg = 'Stream Ended'; if (actionId === 3) { - let msg = 'Stream ended by user'; + msg = 'Stream ended by user'; } if (actionId === 4) { - let msg = 'Stream ended by platform moderator (ban)'; + msg = 'Stream ended by platform moderator (ban)'; } //let tim = Date.now(); //var a = new Date(roomStart * 1000); @@ -1097,4 +1377,9 @@ connection.on('streamEnd', (actionId) => { connect(window.settings.username); }, 30000); } -}) \ No newline at end of file +}) + +window.addEventListener("beforeunload", function (e) { + e.preventDefault(); + e.returnValue = "" +}); \ No newline at end of file diff --git a/public/bootstrap-show-modal.js b/public/bootstrap-show-modal.js new file mode 100644 index 0000000..05721f8 --- /dev/null +++ b/public/bootstrap-show-modal.js @@ -0,0 +1,250 @@ +/** + * Author and copyright: Stefan Haack (https://shaack.com) + * Repository: https://github.com/shaack/bootstrap-show-modal + * License: MIT, see file 'LICENSE' + */ + +;(function (bootstrap) { + "use strict" + + let i = 0 + + function Modal(props) { + this.props = { + title: "", // the dialog title html + body: "", // the dialog body html + footer: "", // the dialog footer html (mainly used for buttons) + modalClass: "fade", // Additional css for ".modal", "fade" for fade effect + modalDialogClass: "", // Additional css for ".modal-dialog", like "modal-lg" or "modal-sm" for sizing + options: { // The Bootstrap modal options as described here: https://getbootstrap.com/docs/4.0/components/modal/#options + backdrop: 'static' // disallow closing on click in the background + }, + draggable: false, // make the dialog draggable + // Events: + onCreate: null, // Callback, called after the modal was created + onShown: null, // Callback, called after the modal was shown and completely faded in + onDispose: null, // Callback, called after the modal was disposed + onSubmit: null // Callback of bootstrap.showConfirm(), called after yes or no was pressed + } + for (let prop in props) { + // noinspection JSUnfilteredForInLoop + this.props[prop] = props[prop] + } + this.id = "bootstrap-show-modal-" + i + i++ + this.show() + if (this.props.onCreate) { + this.props.onCreate(this) + } + } + + Modal.prototype.createContainerElement = function () { + const self = this + this.element = document.createElement("div") + this.context = this.element + this.element.id = this.id + this.element.setAttribute("class", "modal " + this.props.modalClass) + this.element.setAttribute("tabindex", "-1") + this.element.setAttribute("role", "dialog") + this.element.setAttribute("aria-labelledby", this.id) + this.element.innerHTML = '' + document.body.appendChild(this.element) + this.titleElement = this.element.querySelector(".modal-title") + this.bodyElement = this.element.querySelector(".modal-body") + this.footerElement = this.element.querySelector(".modal-footer") + this.element.addEventListener('hidden.bs.modal', function () { + self.dispose() + }) + this.element.addEventListener('shown.bs.modal', function () { + if (self.props.onShown) { + self.props.onShown(self) + } + }) + } + + Modal.prototype.show = function () { + if (!this.element) { + this.createContainerElement() + if (this.props.options) { + const modalInstance = new bootstrap.Modal(this.element, this.props.options) + if (modalInstance) { + modalInstance.show() + } + } else { + const modalInstance = new bootstrap.Modal(this.element) + if (modalInstance) { + modalInstance.show() + } + } + const self = this + + this.element.addEventListener('shown.bs.modal', function () { + + if (self.props.resizeable) { + // alpha, resizing does not work yet + const resizer = document.createElement('div') + resizer.style.width = '20px' + resizer.style.height = '20px' + resizer.style.background = 'red' + resizer.style.position = 'absolute' + resizer.style.right = '0' + resizer.style.bottom = '0' + resizer.style.cursor = 'se-resize' + + self.modalContent = self.element.querySelector(".modal-content") + self.modalContent.appendChild(resizer) + + resizer.addEventListener('mousedown', initResize, false) + + function initResize(e) { + window.addEventListener('mousemove', resize, false) + window.addEventListener('mouseup', stopResize, false) + self.clientX = e.clientX + self.clientY = e.clientY + } + + function resize(e) { + self.modalContent.style.width = self.modalContent.getBoundingClientRect().width + (e.clientX - self.clientX) + 'px' + self.modalContent.style.height = self.modalContent.getBoundingClientRect().height + (e.clientY - self.clientY) + 'px' + self.clientX = e.clientX + self.clientY = e.clientY + } + + function stopResize() { + window.removeEventListener('mousemove', resize, false) + window.removeEventListener('mouseup', stopResize, false) + } + } + + if (self.props.draggable) { + const dialogHeader = self.element.querySelector('.modal-header') + dialogHeader.style.cursor = 'move' + let pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0 + if (dialogHeader) { + dialogHeader.onmousedown = dragMouseDown + } else { + self.element.onmousedown = dragMouseDown + } + + function dragMouseDown(e) { + // get the mouse cursor position at startup + pos3 = e.clientX + pos4 = e.clientY + document.onmouseup = closeDragElement + // call a function whenever the cursor moves + document.onmousemove = elementDrag + } + + function elementDrag(e) { + // calculate the new cursor position + pos1 = pos3 - e.clientX + pos2 = pos4 - e.clientY + pos3 = e.clientX + pos4 = e.clientY + // set the element's new position + self.element.style.top = (self.element.offsetTop - pos2) + "px" + self.element.style.left = (self.element.offsetLeft - pos1) + "px" + } + + function closeDragElement() { + // stop moving when mouse button is released + document.onmouseup = null + document.onmousemove = null + } + + if (self.props.onShown) { + self.props.onShown(self) + } + } + }) + } else { + const modalInstance = bootstrap.Modal.getInstance(this.element) + if (modalInstance) { + modalInstance.show() + } + } + if (this.props.title) { + this.titleElement.style.display = "" + this.titleElement.innerHTML = this.props.title + } else { + this.titleElement.style.display = "none" + } + if (this.props.body) { + this.bodyElement.style.display = "" + this.bodyElement.innerHTML = this.props.body + } else { + this.bodyElement.style.display = "none" + } + if (this.props.footer) { + this.footerElement.style.display = "" + this.footerElement.innerHTML = this.props.footer + } else { + this.footerElement.style.display = "none" + } + } + + Modal.prototype.hide = function () { + const modalInstance = bootstrap.Modal.getInstance(this.element) + if (modalInstance) { + modalInstance.hide() + } + } + + Modal.prototype.dispose = function () { + const modalInstance = bootstrap.Modal.getInstance(this.element) + if (modalInstance) { + modalInstance.dispose() + } + document.body.removeChild(this.element) + if (this.props.onDispose) { + this.props.onDispose(this) + } + } + + bootstrap.showModal = function (props) { + if (props.buttons) { + let footer = "" + for (let key in props.buttons) { + // noinspection JSUnfilteredForInLoop + const buttonText = props.buttons[key] + footer += '' + } + props.footer = footer + } + return new Modal(props) + } + bootstrap.showAlert = function (props) { + props.buttons = {OK: 'OK'} + return this.showModal(props) + } + bootstrap.showConfirm = function (props) { + props.footer = '' + props.onCreate = function (modal) { + const modalInstance = bootstrap.Modal.getInstance(modal.element) + modal.element.querySelector(".btn-false").addEventListener("click", function () { + if (modalInstance) { + modalInstance.hide() + } + modal.props.onSubmit(false, modal) + }) + modal.element.querySelector(".btn-true").addEventListener("click", function () { + if (modalInstance) { + modalInstance.hide() + } + modal.props.onSubmit(true, modal) + }) + } + return this.showModal(props) + } + +}(bootstrap)) diff --git a/public/config.json b/public/config.json new file mode 100644 index 0000000..3d756d4 --- /dev/null +++ b/public/config.json @@ -0,0 +1,19 @@ +{ + "sounds": { + "gift": { + "rose": "/sounds/enchanted.wav", + "finger heart": "/sounds/cute-level-up.mp3", + "heart me": "/sounds/bruh.mp3", + "default": "/sounds/enchanted.wav" + }, + "subscribe": "/sounds/enchanted.wav", + "follow": "/sounds/bruh.mp3" + }, + "enabled": { + "gift": true, + "subscribe": false, + "follow": true + }, + "firstFollowOnly": true, + "volume": 0.2 +} diff --git a/public/index.html b/public/index.html index d2fbd41..f559a0d 100644 --- a/public/index.html +++ b/public/index.html @@ -9,17 +9,17 @@ - - + - - + + + + + + + + + + + + +
                                    +
                                    +
                                    +

                                    TikTok LIVE Chat Reader

                                    +

                                    Best to use on a desktop / laptop PC, and the mobile might be slower to load. This is the second beta version for the public that has been published. There will be more updates to come soon.

                                    +

                                    This service does cost me $$ to run, and I will not know for sure how much until the end of the month.

                                    +

                                    The estimates so far is $10-20 for the server resources, but will probably increase the more we use this. Any little bit will help keep this project going. +

                                    +

                                    This is a modified version from: zerodytrash/TikTok-Chat-Reader

                                    +

                                    CashApp: $yohnjohn84      Venmo: @John-BrittainIII

                                    +

                                    After you start your live, type in your @username (without the @) on TikTok in the box below.

                                    +
                                    +
                                    +
                                    +
                                    +
                                    + @ +
                                    + + +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    + + +
                                    + + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + +
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    + + + + + + + + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    Chats
                                    +
                                      +
                                      +
                                      +
                                      +
                                      +
                                      Gifts
                                      +
                                        +
                                        +
                                        +
                                        +
                                        +
                                        + +
                                        +
                                        +
                                        +
                                          +
                                          +
                                          +
                                            +
                                            +
                                            +
                                              +
                                              +
                                              +
                                                +
                                                +
                                                +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  + +
                                                  +
                                                  +
                                                  +
                                                  + + + + + + + + + + + + + +
                                                  UsernameNicknameCoins SentuserIdlikes
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  + + \ No newline at end of file diff --git a/public/sounds/bruh.mp3 b/public/sounds/bruh.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..55d5c442ea4bc932a1edece963cde406108dd524 GIT binary patch literal 27683 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ʮ`~y>>@N0o0P@zqG@$Drzie}8n;fvv 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 RqTE7He}?-1=l}K#{0}2HM8yCA literal 0 HcmV?d00001 diff --git a/public/sounds/cute-level-up.mp3 b/public/sounds/cute-level-up.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b5e47b618b413ef05d160f85ddf60f7439b73060 GIT binary patch literal 65280 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 OgpCa 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Ñ{qn69zG0)5j*&LBcUVLN1kG(cA$i7Q2Vd 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%0DBy07E=Ri#j(L<299g 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

                                                  Fs(Em{78I`7es)5*ZV_nPH$+LJQJtmjO9{)@T_`YrLeZ$ zc%l8H?Kd8SY}#cpk^Kh0Nndao4W*srhPJA3>}q%>>lPS+Quu;kojhT-CP`o>D{0nd z!?h*eBr(l8O^xV4zC+G{eWIdw+glwelX%90AqOTQ)A!J?X;;+BtRt7UWBNc&H5#Ia zd^dazR*~*-I;pK3K-vBO>W6)e)fR9QY(;u2cVU0?v+s&lQ2&Evr){GR?EbbvUhqL6 zEu1aZ(f4kQyHgrc&e>ml$HYNjTP3xSGV7u+%K z0UkDni};wf^qzT@m&Zr6s<57~Grp>xM1J0yT0DzYNMB>==5+$mbC-LE6IStI2{HOX z(n3q83<8U_mF#wGa&a}CpqW#L!~66`N$bQ(H!BUJ{SMGO+x<{+FB8G!1Fa#wOhpni z>-R&Q#S7VP&Y`y^waoW!Gw{+mM-PhS_%C&r_Ec-jA4-GJ0N-YITWcsdf8oyL6YPoj z3+oAQn1|eA{!G>w(V1nYh4o8%M}1oCD9}cqM23oud?EZ(X(isUHqoI;FeyXgV(W@K ziu4d0tOVyt;(EJ>HDB$a4o+4*+2xpMds; zlf}_+BDo!!Bi#}?=tGfDTMZL^ui;T7+uPn9zCdpC@}kP}eLOraJ%4U2bRV%zB#pHI zPK%i8@MsRuRl1+b#FrE8e>XJBx)aU$`fQOsxX#HETTA>*zDGxCzAC*^E@O^fo=)

                                                  t|9+bVH59THIT&i~pB*K*_EQ)c(^C8t35<*qSq2 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 u4QWW3i@UWp?2gHpX(v#+?S0-Xhk$ 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 literal 0 HcmV?d00001 diff --git a/public/style.css b/public/style.css index 95ddae1..c2190fc 100644 --- a/public/style.css +++ b/public/style.css @@ -90,4 +90,18 @@ a { .user-pop { --bs-popover-max-width: 500px; width: 450px; +} + +.gifter-level, .team-level { + background: #7f0edd; + font-size: 12px; + padding: 3px 5px 3px 2px; + border-radius: 5px; + margin:0 2px; +} +.gifter-level { + background: #2b47dd; +} +.team-level { + background: #c63311; } \ No newline at end of file diff --git a/public/users.js b/public/users.js new file mode 100644 index 0000000..2379a3f --- /dev/null +++ b/public/users.js @@ -0,0 +1,45 @@ +/** + * Wrapper for client-side TikTok connection over Socket.IO + * With reconnect functionality. + */ +class YohnsUsers { + constructor(backendUrl) { + this.socket = io(backendUrl); + this.uniqueId = null; + this.options = null; + + this.socket.on('connect', () => { + console.info("Socket connected!"); + }) + + this.socket.on('streamEnd', () => { + console.warn("LIVE has ended!"); + this.uniqueId = null; + }) + + } + + connect(uniqueId, options) { + this.uniqueId = uniqueId; + this.options = options || {}; + + this.setUniqueId(); + + return new Promise((resolve, reject) => { + this.socket.once('tiktokConnected', resolve); + this.socket.once('tiktokDisconnected', reject); + + setTimeout(() => { + reject('Connection Timeout'); + }, 15000) + }) + } + + setUniqueId() { + this.socket.emit('setUniqueId', this.uniqueId, this.options); + } + + on(eventName, eventHandler) { + this.socket.on(eventName, eventHandler); + } +} \ No newline at end of file diff --git a/server.js b/server.js index 3bdae45..6e6e0d3 100644 --- a/server.js +++ b/server.js @@ -6,7 +6,9 @@ const { Server } = require('socket.io'); const { TikTokConnectionWrapper, getGlobalConnectionCount } = require('./connectionWrapper'); const { clientBlocked } = require('./limiter'); const {google} = require('googleapis'); - +// setting up google apis +// https://medium.com/@shkim04/beginner-guide-on-google-sheet-api-for-node-js-4c0b533b071a +// https://github.com/googleworkspace/browser-samples/tree/main/sheets/snippets const app = express(); const httpServer = createServer(app); app.use(express.urlencoded({ extended: true })); @@ -17,8 +19,8 @@ const io = new Server(httpServer, { origin: '*' } }); - -// sheets-api-nodejs helped with th e connection +let isLoggedIn = false, loggedInRow = -1, userRow = {}; +// sheets-api-nodejs helped with the connection const auth = new google.auth.GoogleAuth({ keyFile: "keys.json", //the key file //url to spreadsheets API @@ -92,19 +94,157 @@ io.on('connection', (socket) => { } }); + socket.on('userUpdateSavedHosts', async (data) => { + if(typeof loggedInRow !== undefined){ + console.log('based on when we logged in') + console.log('user row = '+loggedInRow) + console.log(data) + console.log('/ userUpdateSavedHosts') + } + /* + @ from async above + ^ data.body = { + #? "mimeType": "application/json", + ^ "text": "{\n\t\"values\": [\n\t\t[\"patchapi\"]\n\t]\n}" + ^ } + + $ id = data.rowId + $ values = data.body + !googleSheets.spreadsheets.values.update({ + ! auth, + ! spreadsheetId, + ! range: `Sheet1!A${id}`, // {id} = the row # i believe? + ! valueInputOption: "RAW", + ! resource: { + ! values: values + ! } + !}) + */ + }) + + // data.place, data.vals + socket.on('userSaveNote', async (dat)=>{ + //Auth client Object + const authClientObject = await auth.getClient(); + //Google sheets instance + const googleSheetsInstance = google.sheets({ version: "v4", auth: authClientObject }); + + const spreadsheetId = process.env.GOOGLE_USER_SHEET_ID //process.env.GOOGLE_SHEET_ID; + const userNotes = await googleSheetsInstance.spreadsheets.values.get({ + auth, //auth object + spreadsheetId, //spreadsheet id + range: "Notes" //!A1:B1:C1:D1:E1:F1:G1:H1:I1:J1:K1:L1", //sheet name and range of cells + }); + let noteCount = userNotes.data.values.length, n, userNotesRow = {}; + for(n=0;n { + //Auth client Object + const authClientObject = await auth.getClient(); + //Google sheets instance + const googleSheetsInstance = google.sheets({ version: "v4", auth: authClientObject }); + + const spreadsheetId = process.env.GOOGLE_USER_SHEET_ID //process.env.GOOGLE_SHEET_ID; + const userList = await googleSheetsInstance.spreadsheets.values.get({ + auth, //auth object + spreadsheetId, //spreadsheet id + range: "Sheet1" //!A1:B1:C1:D1:E1:F1:G1:H1:I1:J1:K1:L1", //sheet name and range of cells + }); + let allUsers = userList.data.values.length, b + , found = false + , userRowData = {}, newSettingsMenu = ` +

                                                • +
                                                • Saved Hosts
                                                • +
                                                • + ` + + for(b=1;b { //console.log(data) //Auth client Object const authClientObject = await auth.getClient(); //Google sheets instance const googleSheetsInstance = google.sheets({ version: "v4", auth: authClientObject }); + // spreadsheet id const spreadsheetId = process.env.GOOGLE_SHEET_ID //process.env.GOOGLE_SHEET_ID; await googleSheetsInstance.spreadsheets.values.append({ auth, //auth object spreadsheetId, //spreadsheet id range: "Sheet1", //!A1:B1:C1:D1:E1:F1:G1:H1:I1:J1:K1:L1", //sheet name and range of cells - valueInputOption: "USER_ENTERED", // The information will be passed according to what the usere passes in as date, number or text + valueInputOption: "USER_ENTERED", // The information will be passed according to what the user passes in as date, number or text resource: { values: [[ //data.timestamp.toLocaleDateString("en-US"), From da331a8dd1bd8ec8ec067f6313014f063a08484e Mon Sep 17 00:00:00 2001 From: John Brittain Date: Mon, 18 Mar 2024 13:00:50 -0400 Subject: [PATCH 05/35] added sounds and moved datalist of usernames to json file --- public/app.js | 64 +--- public/config.json | 293 +++++++++++++++++- public/index.html | 1 - public/sounds/Hed-P.E.SwanDive.mp3 | Bin 0 -> 188543 bytes public/sounds/Hed-P.E.SwanDive_Segment_0.mp3 | Bin 0 -> 108713 bytes public/sounds/Voicy_Aww.mp3 | Bin 0 -> 7335 bytes .../sounds/Voicy_ColtPewPewPewBrawlstars.mp3 | Bin 0 -> 29818 bytes .../sounds/Voicy_Splashwatersoundeffect.mp3 | Bin 0 -> 39320 bytes public/sounds/Voicy_TrainHornSoundEffect.mp3 | Bin 0 -> 82370 bytes public/sounds/Voicy_Yeeeeehaaaawwww.mp3 | Bin 0 -> 50187 bytes public/tt-usernames.json | 3 + public/ttnames.json | 0 server.js | 12 + tt-usernames.js | 26 ++ 14 files changed, 349 insertions(+), 50 deletions(-) create mode 100644 public/sounds/Hed-P.E.SwanDive.mp3 create mode 100644 public/sounds/Hed-P.E.SwanDive_Segment_0.mp3 create mode 100644 public/sounds/Voicy_Aww.mp3 create mode 100644 public/sounds/Voicy_ColtPewPewPewBrawlstars.mp3 create mode 100644 public/sounds/Voicy_Splashwatersoundeffect.mp3 create mode 100644 public/sounds/Voicy_TrainHornSoundEffect.mp3 create mode 100644 public/sounds/Voicy_Yeeeeehaaaawwww.mp3 create mode 100644 public/tt-usernames.json create mode 100644 public/ttnames.json create mode 100644 tt-usernames.js diff --git a/public/app.js b/public/app.js index 57c7dc5..838ae5b 100644 --- a/public/app.js +++ b/public/app.js @@ -20,6 +20,7 @@ let roomEnd = ''; let playSounds = 1; let saveGifts = 1; +let ttn = []; function hasClass(elem, className) { return elem.classList.contains(className); @@ -186,30 +187,6 @@ class Announcement { const userCog = $('#userCog') $(document).ready(() => { - //$('.form-sgifts input[type="checkbox"]').on('click', function () { - // saveGifts = $(this).is(':checked') ? true : false; - // console.log('save gifts tapped') - // console.log(saveGifts) - //}); - //$('.form-ssounds input[type="checkbox"]').on('click', function () { - // playSounds = $(this).is(':checked') ? true : false; - // console.log('play southnds tapped') - //}); - //$('.form-sgifts').on('click', function () { - // //console.log('save gifts tapped') - // //saveGifts = $(this)).is(':checked') ? true : false; - // //saveGifts = saveGifts === 1 ? 2 : 1; - // if(saveGifts === 1){ saveGifts = 2 } else { saveGifts = 1; } - // //setTimeout(console.log(saveGifts), 500) - // //console.log(saveGifts) - //}); - //$('.form-ssounds').on('click', function () { - // //console.log('play southnds tapped') - // //playSounds = $(this).is(':checked') ? true : false; - // if(playSounds === 1){ playSounds = 2 } else { playSounds = 1; } - // //setTimeout(console.log(playSounds), 500) - // //console.log(playSounds) - //}); $('#s-on').on('click', function(){ playSounds = 2 $('#s-on').addClass('d-none') @@ -231,32 +208,22 @@ $(document).ready(() => { $('#g-on').removeClass('d-none') }) $('#ch').on('click', function(){ + fetch("/tt-usernames.json").then((response) => response.json()).then((json) => { + //ttn = Object.assign({}, [], json); + //console.log(ttn) + //let h, hl = ttn.length,sels + let datalist = document.getElementById('datalistOptions'); + for(const item of json) datalist.appendChild(new Option(item,item)); + //json.forEach(na => datalist.appendChild(new Option('', na))) + //for(h=0;h'; + //} + //datalistOptions.html(sels) + }); console.log('playSounds = '+playSounds) console.log('saveGifts = '+saveGifts) console.log('------------') }) - /*$('#sendToGS').on('click', function(){ - $(this).prop('disabled', true) - let gt = $('#gifter-table') - gt.find('.save').removeClass('d-none') - let rows = gt.html().split("\n"), rowLength = rows.length, a //, fin = text.split("\t") - let obj = [] - let date2 = new Date(); - for(a=0;a { +// console.log(data) +//}) socket.on('loginTry', (data) => { userCog.find('.switch-toggle').toggleClass('d-none') @@ -891,7 +861,7 @@ socket.on('loginTry', (data) => { // userList: '{"yohn.john", "dancehallwifi", "aviannaav", "imanalyn31"}'*/ console.log(data) } else { - console.log('could not login.') + console.log('could not login - 1') } }) diff --git a/public/config.json b/public/config.json index 3d756d4..febe3c1 100644 --- a/public/config.json +++ b/public/config.json @@ -4,7 +4,296 @@ "rose": "/sounds/enchanted.wav", "finger heart": "/sounds/cute-level-up.mp3", "heart me": "/sounds/bruh.mp3", - "default": "/sounds/enchanted.wav" + + "swan": "/sounds/Hed-P.E.SwanDive.mp3", + + "hat and mustache": "/sounds/Voicy_Yeeeeehaaaawwww.mp3", + + "whale diving": "/sounds/Voicy_Splashwatersoundeffect.mp3", + + "it’s a match!": "/sounds/Voicy_Aww.mp3", + "cuddle with me": "/sounds/Voicy_Aww.mp3", + "you’re sweet": "/sounds/Voicy_Aww.mp3", + "falling for you": "/sounds/Voicy_Aww.mp3", + "lover’s glasses": "/sounds/Voicy_Aww.mp3", + "lock and key": "/sounds/Voicy_Aww.mp3", + "forever rosa": "/sounds/Voicy_Aww.mp3", + "love you": "/sounds/Voicy_Aww.mp3", + "hand hearts": "/sounds/Voicy_Aww.mp3", + "hand heart": "/sounds/Voicy_Aww.mp3", + "hearts": "/sounds/Voicy_Aww.mp3", + + "money gun": "/sounds/Voicy_ColtPewPewPewBrawlstars.mp3", + "gem gun": "/sounds/Voicy_ColtPewPewPewBrawlstars.mp3", + "train": "/sounds/Voicy_TrainHornSoundEffect.mp3", + + "unused": { + "ice cream cone": null, + "tiktok": null, + "friendship necklace": null, + "rosa": null, + "perfume": null, + "doughnut": null, + + "coral": null, + "magic rhythm": null, + "boxing gloves": null, + "duck": null, + "corgi": null, + "franktastic": null, + "gus the groundhog": null, + "henry the hedgehog": null, + "lucy the llama": null, + "sail away": null, + "superpower": null, + "elephant trunk": null, + "crystal shoe": null, + + "mr. orange": null, + + "fruit friends": null, + "reindeer": null, + + "diva’s hat": null, + "crown": null, + "sunglasses": null, + + "hanging lights": null, + "garland headpiece": null, + "cheer for you": null, + "panther paws": null, + "gamer cat": null, + "the passion rose": null, + "knight helmet": null, + "lemond buddy": null, + "cowboy hat": null, + "eye see you": null, + "confetti": null, + "mini star": null, + "paper crane": null, + "little crown": null, + "cap": null, + + "like-pop": null, + "disco love": null, + "tiny diny": null, + "hi bear": null, + "fire": null, + "thumbs up": null, + "superstar": null, + "heart": null, + "lightning bolt ": null, + "cake slice": null, + "it’s corn": null, + "gg": null, + "chili": null, + "heart puff": null, + + "you’re amazing": null, + + "ufo landing": null, + "look! meteor shower": null, + "leon and lili": null, + "greeting card": null, + "starry night tourism": null, + "desert adventure": null, + "dreamy card": null, + "rose carriage": null, + "sweet memories": null, + + "patrick's hat": null, + "hi march": null, + "lucky leprechaun": null, + "rainbow charms": null, + + "aurora": null, + "birthday glasses": null, + "super cake": null, + + + "sam the whale": null, + "happy train": null, + "camping night": null, + "couple": null, + "falcon": null, + "beach house": null, + "rio de janeiro": null, + "rainforest": null, + + "malayan tiger": null, + "gorilla": null, + + "marvelous confetti": null, + "shiny air balloon": null, + "signature jet": null, + "premium shuttle": null, + "tiktok universe+": null, + "thunder falcon": null, + "fire phoenix": null, + "pegasus": null, + "star": null, + + "team bracelet": null, + "cheer you up": null, + "hands up": null, + "here we go": null, + "happy party": null, + "fly love": null, + "trending figure": null, + + "finger heart": null, + + "celebration time": null, + "ellie the elephant": null, + "rave": null, + "spring train": null, + "old famous car": null, + "magic stage": null, + "whale diving": null, + "let us dance": null, + "crystal ball": null, + "asmr starter kit": null, + "diamond crown": null, + "drums": null, + "hot air balloon": null, + "train": null, + "beach date": null, + "love u": null, + "football": null, + "tango": null, + "swan": null, + "applause": null, + "birds": null, + "trophy": null, + "flower show": null, + "autumn leaves": null, + "money gun": null, + "sent you’re amazing": null, + "crystal heart": null, + "forever rosa": null, + "campfire": null, + "diamond ring of love": null, + "bridal veil": null, + "flower": null, + "love bomb": null, + "llama greetings": null, + "pug": null, + "husky": null, + "golden": null, + "falling for you": null, + "gold necklace": null, + "love letter": null, + "tulip box": null, + "coconut": null, + "lock and key": null, + "top live creator": null, + "cheems dog": null, + "blowing bubbles": null, + "love you": null, + "fruits hat": null, + "festa junina’s hat": null, + "kiss": null, + "mishka bear": null, + "hand hearts": null, + "game controller": null, + "play samba": null, + "hat and mustache": null, + "soccer ball": null, + "bouquet flower": null, + "headphones": null, + "asmr time ": null, + "mate tea": null, + "spinning top": null, + "taco": null, + "nachos": null, + "guacamole": null, + "russian crepes": null, + "amazing": null, + "choc chip cookie": null, + "loved": null, + "fantastic": null, + "coffee": null, + "chocolate": null, + "power hug": null, + "birthday cake": null, + "glow stick": null, + "bravo": null, + "health potion": null, + "panettone": null, + "white rose": null, + "happy father’s day": null, + "enchanted guitar": null, + "lucky airdrop box": null, + "travel with you": null, + "blooming ribbons": null, + "glowing jellyfish": null, + "dinosaur ": null, + "feather flock": null, + "watermelon love": null, + "mirror bloom": null, + "email message": null, + "galaxy": null, + "gold mine": null, + "fireworks": null, + "epic gg": null, + "travel in the us": null, + "lover’s lock": null, + "chasing the dream": null, + "champion": null, + "garland ": null, + "love drop": null, + "mystery firework": null, + "cooper flies home": null, + "star of red carpet": null, + "rabbit": null, + "star adventures": null, + "make-up box": null, + "baby dragon": null, + "pink dream": null, + "motorcycle": null, + "rhythmic bear": null, + "golden party": null, + "meteor shower": null, + "ferris wheel": null, + "gift box": null, + "flower overflow": null, + "leon the kitten": null, + "private jet": null, + "pool party": null, + "motorcycle together": null, + "mimi & fifi": null, + "flying jets": null, + "autumn farm": null, + "draco": null, + "wanda the witch": null, + "unicorn fantasy": null, + "lili the leopard": null, + "sports car": null, + "star throne": null, + "monster truck": null, + "sunset speedway": null, + "interstellar": null, + "red lightning": null, + "rosa nebula": null, + "leopard": null, + "amusement park": null, + "yacht": null, + "castle fantasy": null, + "tiktok shuttle": null, + "mystic castle": null, + "adam’s dream": null, + "phoenix": null, + "dragon flame": null, + "lion": null, + "zeus": null, + "leon and lion": null, + "seal and whale": null, + "tiktok stars": null, + "tiktok universe": null, + + "default": null + }, + "default": null }, "subscribe": "/sounds/enchanted.wav", "follow": "/sounds/bruh.mp3" @@ -15,5 +304,5 @@ "follow": true }, "firstFollowOnly": true, - "volume": 0.2 + "volume": 0.7 } diff --git a/public/index.html b/public/index.html index f559a0d..4f6062d 100644 --- a/public/index.html +++ b/public/index.html @@ -78,7 +78,6 @@

                                                  TikTok LIVE Chat Reader

                                                  -
                                                  diff --git a/public/sounds/Hed-P.E.SwanDive.mp3 b/public/sounds/Hed-P.E.SwanDive.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..4655a4de129544e918664a3a49fa71b5921a88e6 GIT binary patch literal 188543 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%0D#bewQdF? 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%0A>WSrBRksZ~!bCzJxg^HqCJ{N`Z)~epY_&xj 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 a4FCP<0tW))zH;DUUv2-Z&o=+5zW)NyC<`qB literal 0 HcmV?d00001 diff --git a/public/sounds/Voicy_ColtPewPewPewBrawlstars.mp3 b/public/sounds/Voicy_ColtPewPewPewBrawlstars.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..ac301dafb3fa538762fafd025b8d6c7fb0dcc2a6 GIT binary patch literal 29818 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 Q_U{Fp|LaNrr@z4e1J>88b^rhX literal 0 HcmV?d00001 diff --git a/public/sounds/Voicy_Splashwatersoundeffect.mp3 b/public/sounds/Voicy_Splashwatersoundeffect.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..fbea2f1162164ecea33174e02fe51170e43145a0 GIT binary patch literal 39320 zcmeFZWl&tt*66)~!CitUxVw9>!CitA+zC#QAcF;W2p(*3m*4?{1&5#k5(w@=0wL&r z$^YJ`>U=r(>wBu6(=}7Ocdy;EyZhIxWp(!`LHQuSqr*_wH83!E^bi05(klx`R}V8w z4+|G-z`@h?74Uy$gnwlYE|0R;HXfc1t}cK85AXj7sUL+_uCLrIyc{f@ZT?Se&wrvn z{siwUH+~*KS4T(g@fA3aPpVqHwiOWJo~9hnzl|rWq4{rRP;J>q8S-NqdAWIcb!9cw{_Uf(8tVT}_89(O z_umruZwdS_EdlWMZwvGPc1kX`u8&XPK7Ne=Ahj2OprT{p5Bk4x|Oo5veXmDdt{ezoOnx1@78csW1zv0wfekBP(+m?)HYb z>yE5Mej@fJKarGSn-agxyVQA_03<@Cs(blS!JU1KxeR!L0sP8{OWKg*c3a+dD&lih_Wg ziG+v%`veql!_ct&`H)E8_E$3{ac6oVhFiE%TMP(+AehXvYGMY0e<*-&C=G0(pJ-1O z_tONZ>CH)YVv*3pppq9rKSBW_K~VF^v`d>%oHmuvi=xw**f=a&Tm+ce&nq?ABX<27ue|;^63GMqt11fUU#7XRc!l8C*JZj*0 zB=D8j|BwG8At(q#wF&2M5i9@>>)*nLbpg`v=?>Sqv=p?w96fyDGPoHt5w|D4wZITM zvg)(y;~Do`bV}aD(;WkC&+E4qpPh*6#<+UAwta5jS8ID{cC66RtBxG;{R}9(lRO3A z2__F^W@4=mw0`vXu5Je^O@W*IZcF|rhG?31-T+#u{o7we!?N`--whD5;5Yv6@?gy_rklnRMyT3dIC-*&) z!*&0k?MO?K)|ab#lHgJ?w=5KR-Y8|Db+kSE;U zN+x)||Eoh7Fr;?2)f0&yfJ`NO{$>q!aKIq3P ze5S1A7bZG2FNJ8Uma+_gw2MZ81FtOewpPZ`>$W;?bXIRx>#A2F#zt*nox^LGkJgTM zyp=dY1CQ_z)k`wOF?$__$WX{uAN8O7@Rv;)xc4db^%0qJD*iJOrWv=;U_?`KM$VSu%vM@*E$D%(3ThXqf5u6H|HtC>2 zuIIPxhFg7nhd_4xd)JlQm0#0!4`jS2Iy1P{!CeoB#%_-r$XAp8U0?}eS#PQ%cf2(&$4(h zV1EhWhY`-0d@bB3wA47l#1S8~$CcJMip=zu#x6b-{*A``VtKfP!IX++Fg^S8a%Jfa zGpurCi-4XTUM|30HmwtZZ_7`b#*?J;gZ}m0pnZL@`9S3mH{M31CZ4A({<2$jZY ziRL=}bydX@sBL%W6R)jSbdv#s2b;o>KZAD+uuJ<Jjd;$= zX`)B!Ws*zvG7*@(8?%Y1lOF5G41D`;*>-P%GI2=2yApYAX|mJ<eWF+gQwBK)19|m)^bYDD&5O7x-k%dhR8%oX@L_`os-KXM%MNcJu5-z zFCnZj!dCS~!+lB_DTmQ230iVIh~rCHqrA&r#CULKA*>3PivBi=SkF>Yo^WYqFEf=| zlg^nY5U@SmWPx7)O9Ax598T=nytRs{Jxyx_q%c>^zjFjWc5ploU#O zcg+uY6axJ6;ExAxuEIcwB$6w5BOE!t_Ng6p*}wsXgk#Rh6?j) ztw+Ve{X3*=LI7$6DYQW}GyZE&H{y6z$8VoFo(C&r*DPv-Q;_>|SMXj_uWasV-7>Ys zC9W0DZ`eK8xzb&HZZix3m^90xqIu(l(!+&YaA+(|C`NVYf57U~OjxN(nCsHVp5p%{ zMEDlzR$Je2pXgk`YP8bahA7#><^^i~ECLh5zCaiyOKkJ@o7yDLUou71tfc#wDdmM> z4wAG*@1O5F!;b^#xDI?c_J#665zj@o#g#X+N2{6srggIxughb#-T=-1aMlWA*}P9x z*zuY!qf}}XY8stAr(OAX{w)BSC^|Jn4K*ZE|6pz2N z&FZ2-Bj=uaQ-hiBn)Z21@E;!`7~c76g|8pp3(qW=iAu~!u1uCb&um$dA5ps;cOB=) z2%JXq^i3N?rKBpg0$u_3CJ%=M`55MzcOK8)&2(Zo$;afz!F`a8h(mP{$?)*m!icNT z;a~WR+J{>?aM06)iC}lO(T05S4t?xt_!nVzKVJoRl8z^L-ZE7m=WrRcKJfWGQ66j> zKdS77VF7NBR_6N>)Zg~zq#W%e@Ha;jvM7VwNhE-0@YN`?e94xhkJ4t(w3+L@QfAxc zrMMn=x1(p}nR^1-pAj6{)^U3ozn3W?Dv|kTol~FSiDO$Kv6a9(5%_39W<>rZ&R;^< zVGv_e-Lsu%Qi6=+f#Q~;cp{Rzk@XXbYfmc!!-&jL(&*)k)@fgy8KsTAaZl$mU^6BD ztdLZaLSEnz-oUrOndbQ2e~)*5&X9|!7$!54s?YrLHMdj+))8^-3Us0W%Z-LXzPI#t zqq%k>Sq>H=rHJ{HvH9VUEQM*ShvGmK%TBLn_{n6|yv;PFtsaPUkUJ@Agx<%TBbcT4 zu8Y=5D;mnc!@QUHiEU;dnv=mEut1G3@1`i{&gTy03f!D_D>T1g?1**-02Ylw+R=ve z+^pDLJN&kb0ultgdR1Xzwk@m8U4-q)Y_{+l^9HAqjrK3shg_oZOedLs1MhQQey`+9 z5YKWM*Vtgp4stkT-xVGgN}mXxnm-~jX~LSIj!_bQ=6*}1^I&Xe-KJjv?CYW}4**0>aaAcX)!Ah*Fgk}S1`9r!F`$0#^kJ0!s>J&Z@p^6!Ih z-tn}EfnYGmA|LjW>M1xj?iBslLeed<WHl9hR&nKN4%URR44QPddg}5}3o?SZrRWQOtDd7=x&h8`4i?u25n2u%vn-L$u#6 z)#M&eW8);J2l)D7r^JHxA7utGza&Ltq80^(V-@8(#S0MF^I72|W3ejLVo@N5#@t%m zK;0A4I^8pf(p`=^bLdvZ6uI$`QYjJBlJFV>+@JVFo>3z_W)Z+2^00Vs$NeR;(a|C9 z?gZc6cM{(nJi%trx}g{qw=C%y399_u`ehdOj`YioofHf+rSl|25lZyM(dF)!s^J7j zKwx2+bazmlFiAPzCs}M~8fHIKWqcHhEyI30zI5zjNFET>@Z2z`rDlZPcx||Sh#ggS zaH!b#lliIrS6g<;-?D?&8Ti7Oo9I!bve>fUym3A3^*xL!AY#Gax3brW1vxp2L%#eL z;4kBj&f&K$?h_vVCHZ5hELf5mfWZK?KS*JQ?x|4GR3iy}aa z8aflr{?s{yGKy!}*Nxfy{)|;Ks6AE!T)cM%_ih^q-1Z_n4?)IAU4R~0)Q+zRU&sdA z>sRo%cO)Jv41N^8-`i0p8>2iFS}^x+`0!=Ik2lDK3in(tIj#5Q0t&Ob>X*y8p9|~=64H3Mzu~-S{ow!P z#;d|!w7hK{UD+9>{)<*3eB_M|BSGR=xPFbctoF=&tm21iazX81YM8y_%?1er51F0L z$XMSck=1!;a(L`swbL-lB3b%_C1Ce#o)6_kOI%&>!gg_Uq)Hmc($bd-seq`;zl3-J zBww8+i%nu)UdxV;;x?pMXLP1^nJ&ZYd92MBY38&DZwAwhw#Dzk=*Rj2A7TdZP*aZS z56|hP{aV9AI`cYV8?0u+F%ovS;C%OoFOoNsR2?_ZZ-TcYRQoyfD4__DN&W&t#p39J zWBJy$@^ntk!g?C&Y?8Ve6wv_jVJEsZrYM)7m=+6Uaw5;x?5vUHw~Eg&80ll0!_-g2g z{Tjne#FnFsN4Y=x=(?O9rW#1VTOsgTR5#xay#BCh0dZ2==aiNNw_jAZtk5&FFb(zA zH>#I$Z4c~J4M@LAX5W|$BaLBCq~4seR_>ry#aB88Wyl_8;iz7jjDF!E8ty4Hz2W;N z&k9*EiI<}1Muvj$A_>rFkoXI_6Il_ru*8F(`!=2KxEm+-z1hAiYYc$w2Sf(H1dpf3 zvFQP%5ImnWMl>n>b4X0oNM_8L`Az~|65HLCSr03kHaJ;X*2PVx#Y1heckq{xCV&(u zy12AM(Z_E-S}i_8fW7VM5J#$mHU&BC>g`elo3023Z)>8E0P-0=X$ztPdz|b)PQ1IO zy{~C@GEb$GdkWxnR7Z7M3g>@dvLWte6`E%5jANE^Mh;HsP8o7GSSJ$`Nkep&88I`v9y zq&qZbBY-YK`&(w`6w&Kt;|Jr`Yz5Wh`8OlK+m5!0GO8V^(OCw?cCQ`;OlmeApEmG} z3GzfD?u%H46Op4K0U_rJZ;KRohMic`!|5qg?BN|)JTt7EsfdMsLYb+f!bm33Fa*H7 z$s8X0WHz+79uatsNH*uXAnFUWsNJVo9paLPv zW*;azsyK|yCHJ}EB6gXIYrls*(jMnLQ~vdbqt~mWrcd$Il+EaKt~{Fk-!lWre6sX-8pr z!_oQ;8tC=yq-S^QjT&0xD3LyCoCI9P(d}>=+S~;y;vvEi#EAEL%bdCTP|2)HL?sMo zTy_1)&d}mwelBwr2ZJl1>>dc-f`7Pvnq6o-6rXMjAj%E!&^&fXT2YFFjzRYI;R3+r z4OAP?ATv``zK=dD^vm;!nRn#}wJT*mXKbPo-}DzJSaAlPn?z047#)>q&OV9KwKX+4 zFKzKOd}kr2e|q)w>D|*sKh9UMIgF;-;Put^wJ}i872Lz)$B;_n-DiBuli2MnrONd# z>%#TsfrAWx+x1Ls?{WG++XI4JH%L?mOS(cQV!;P%>22HYxM=180LXZ}4e?^cm-P#` zEs90En;)YNM0Xww{rHFl}l-0jfO($Wh`g&2ICBM(9+hQYv(B*&`8l1;E^U1 zpiD2)#++cr4~uH1GI0ul6?0CLXlG5^N%s%?FB9?yzNQ3`a{TEeVl^K$#N0@BOL{&M z!A`VjbaCixKgzLWk}pxIJ_LZ0W_wgZl5a;xs3V(;GJRKwGz9E4&|{w(m)JfJodVet zALd(@H-c?kHYBfcs!Z>9MMKTh>}|btxk(EUaDNQ(#?pQ}dXL=??fFZnG=$Jy(QxUA z%#!O53`d6Dbd`p?;2=t62>tnU}wjT4{$m*az?3Gk0Indr^_qe+zp>+ll!Lh{-R z!XJ4~aws@*K7ZeG999VcZ;0c14USMkLZ%aedPx(SJVu@{Z?;S75(}((l9rU# z$<{r_sb6mRn6%5aQ7K8Lu65prWv0r2Qo{0^{>kSw7pL zXyhLyKZYW<#B*3Uy(M*l^*2;a7Z4YbNH}Qu+CD!y?s?;K$0Fxo9N}j!_D?tLLrccd2k(2Pe}iDo86&O z2aQ+m>(sqS>;;!LDJE;|;e6Aevm2kh-q=$_ym)MyAAYQ{4#F%dA+94SC6cFU)?+vn zX#==CPcT&JBeJCykNt)(s^dIZQF;YAgLDq5UwFmq2lUZDWB<`?6tkT)9Q^4_}s zt>XGthp{auip89^w_4whgr$t{pMK^1TkRhIz-J{^I^yakOBc4ZioNN3T6Mgqf>MSx z9S$!tv+aL;7ijqA>7V{ntty~JLST~U3p5nb&vMlYlJ?pECa{(i`@?}`T>8|jDq z`BKooRm4ca7D84yWc8+zH6^xc{B3T=@8cVVEA)K17isBGyvMD!0QHnHdc9YIjw){o zoWrACrH+qnm2!M+Qf)X|g66l8=nxZMv9^6RFNu#DA^AO8m-O!)5ud+=_Ct_vO%2^Q z1vDj{l<%dGXHw3xOd_**qV8&|?vkSXH;%GI0{VtO4{Fe{LQP|Xq1nW=(mT0t&eNPH z1Ye}cLUcF0D@STLn{WafBp!a%l!oc8>NTEQjqwz_s(Wa8E~oHQQls|zG&EccBULhDT% z*pCbde4uSGnR6?(4e6nr3+Pi)oS^YX`2KOxL|yK}yW%VMrrFL`_ruD8?%4qx>QZf9 z4g*9d8t86w{e?Jh7YE4K?%#u&dYh*H5_!5dM;`*SJLJH^1eg>+a$$a%I_-*5odz+e zB_5JZHs4mkyJ84a!*MhZ&9_u`#2DMU{apo(IRonccm~rCI5pvUefvx3dk7@MLjP<> z)sn;9$xPf5NGZuP{S2S&tqFDR`USxw%1vbdrl4b}ikD0xcu{N;N38bxqfAIx*jHrg zePLMY{jVrd`i+7y-k6IqYvcA82TZY0pAhq~E4 zeA%+VC9a?WFTw_!Q8&lp3kSuA9xG#0{}k~+&`N=Jq1G6Qt3|m#!xYUM9kJTTk?b+Kw-_R$LYhzuOO|_PGo}_^t4iMq7i^s5 zLwe;gA=n^3uH{Fj6d4R zD|*KF0FFQYF)`Zu)Jf6;G7i!lRc%vF>dNAu^BprT0?;L3QJR^~vF8um<_>Oj@}A!Vs3c_-R52q`q%u{T+Xo&MR} zICFCJ0K#RaA6na&B6p5bdR=>EVYYfvrmv>6b13O_4)jiO76fV+f%e})q*#t*_YGdNTe_swD*<33}o!{Ystu{E2ArMeWT03{H#O@ z8LeR0ivvJFvod;LCT`!!eTA+wHT*K^ajEb;*p~#{a{HvSQ1arqPGRk1&1s$sxL9fu z1?vUywYXk<HZ9tNvg?nYpKbaR? zzC)$`XtQr=FrJ+<;D`1)`z!~m$EG;}RXs(koW^r1S@Jw}_{veJRMnsgN((Hhpduqr z3Pl=9S~Evm_$sU{cv4x>hHqjp6F5VR~T&(Dq z_J<%Lp8oj6TeSBjn}QX+L$NVwwJM?EJc4p&rsJIN2&0GEp)W+SJ<|kZ|4rX+y5wC-qLI5UuPu#B?L!;jO*#0 z9jOrT!49d!=>WV!SF>^PPs3lcs{_NL(7?Nq4XUu85Bn>PFdig2O=fx++SmJO2Fz~S z@C#2KimdX<_(SksLK0kARVFMeWOLczlVeFWsbRfps;Rht!CF8F{AC4@FgJO=E&FOk z6S(kk87gzS-%sO6bonvsgT|Ukest^`y z>U3R4<$P+z`{T%&-%obu%qphgj^xVabmhuu{!LuNHO=KQMDa0UGNb^4B;!<7z;D5& zwZc&!*Y%|gx?r$u76eUE^3&kR5?nWH>p_Y07xPAqcu*M(aw%bpB(_$XZ-(_q4ns0u zEf>#nQ~SHJrY!j4isMO4a3cu^h8!>E(fW7N_~PduTF_KDiISOuDrm&Imo5Dqt>h`p zn~WrG;(kiXGW1wAp^zM-Gk#tt5Q*H*YJ1n?#n{wbrJ;w1HwtAiSk8>gi%$tTz}N6|CwG|>-}9ExPw)5Htf;(N zC=@wbz%C!dP;gg}7Sr#)H2A)cTP$#B)a)v_SmqcBIef9sY{%5I-SQ{z{pVzrTmJW+ zDd|^HwM`?9j>tJtvZRf-I-qU}D3SqVQ(c|J967mN=FpmZ5;uni;8P_^$Zvk^OIqUG z+h#^HYQ30g2?pnY1D*TksI|f|Pk~@t{ohB2U+&V~7~jfJ16*T%e!cl*(1CLzo&om( zIfBTB9|Lg9f}*7_)xN&>YMF$trn=B+O+BHV;zC*Bqa6 z?XjP7H~Z}WjCh{5YZ2LFEwsbsTO^EDI;c(mMZF>VT+Ss9-uIW#yD%af{jcu(0)4#w zZ`340>66vWEI!wN9&Qgk3PgKcD@arg>cWgW%|kxt3{wHLcqB zc<^#IZ8Ej+3923>`84VS12WQ8HETH^6%QpA@pAapWV9Qaft3s)b#bcFu^c`>`3H0! z=#1LJoA?M~>f=6P))d+#awbx92erdzeh4oW3uOk1N@o>HDSf0!*F)>~#T2`X^CsSX zVeKP7{h7FJf&J6L`tE359-uOnMP1y2Ego*Q-j8$@kC5S`%L9hoa7ZL>`ozV8V7z(X>^A$2_-8_IZ&q@&M0iSl!fh zxQVDPOJH>yEg;wyP8=ELMZNfN)Y|^8I@`@%iAxV1hN9B` zG*T!EgsjNdzGIN=$qk@3V+CNv_D0 z?KWfH$IWZJms8cb?MpOt%~}-o{6$qPJkjvW$WCy6JxD^pK=GVb0R|wB`-L>)j*P(G z)57p>JBV&XT&HDdMRYoJ!Qew5u0%nu?qoccd}%r z_UMjo(=yS>^4Y1fQjol~!QyyA`DozL@?C6zxFEqw)xzgdq$3tqVaV?^q(YzoaYlzM5+x1Nub;}ag?WPCeK??)?y>3lRdp*gEzc7CQx%>^0q#XQXRC znnoWFb4na3j!?*0J5{=CkK~V?4%jltA3=Xw@nL#G90-_Fh%D)&(7DkypN@WJpKrHj z?c6K3{4J?qp{~Tgm7p}TB=<-ETzr#B%=WV)w2d0S+-Nn^Iqw6dS7l(c5i@fULccJS zReS^ii7fx2o9$zwEn%aV;5Px*IgBb7&Tikh3(3{VUH1=EBBraRqD!h9GA=3f(exem z0J@_Qi`UQlLbYa>n#w>b);fJ~5}XBphC;!Io*bX$!w>H-l>9yiMSDXDY4FGow%uZ% zqZ252m_K3E9B0)Pm5PIo+|bcmynY`sT01+P6wN@o&Qg?-htt?pqq`8h&T?fllH=ow z&pnm|w;5$w9r9f#3dW_?owjdQ!Sz;sW4nUl&(Z3twy3`zypzpsI;6N^G;cUy_H z`ab$*?E=S3iU2Cc@fjb%SNelrs@o#Es3NPq=SY_*zpr_I$-Kn~G_TOge>U_`gfVhgYw0v%x?_)KkJE4`)x&NvG@>v;cG8L-6t0?yGY-L>aYowP-D7+qgAZj`A5a?FB^7i9aPq#F9k6a_=+3A;SjhhxvLFYeNGE%x{0Pu9`fO;~F0N}#3 z`Lrf^lJ~}RhZA}ICbyY{aH&srfuWjPS=}v&DHOilTNCO0iiW)Jsc?lEoL4FoP2cdK z+#7C}J;a;C90*k;=kKUt?>L&n&sXT5rIG6n6#V$EFZ|{&p`wFoG%L85*M{1!&9EaT^E!x8GPcso6~Yi%T-V?0M?>;k`&8CENAi6837p&fP5nh5-I-Tg?^w%`Wth36QwsilT6+|WV=8Kn0b}^?nhq(j6cn^pu zNNtLGUJAlIy8D0JdP2>fp70o#4C>N+v`xdlrXo|!{_t24vW#BOoA5P zjll4YSi%XQ#j3(ti0h6&DLtagD&pk4v>E6wQM;uJ`}3Y$H%s%}S45Hb9GxezKu3I> zuN&^xwBR{(3BoD0WpjTJArM*sVQz_F7+&UEDOp>_1TnOVf3_*SMS=tw>AN5CO!Fb$9NQG3 zBs+K-kCXBA4u-RN!!nIZt}2eOY7PGkdPw`HFqBuYLK0Bpl|0ObKMeGpt*uJos()c-u@LGph4-A{3WBF3e1?T}>Z0z|~3-*rY$1f6mb1>>5| z*h`6i^ZTa`V2hI1a~Xz)!J8M3?IPo zXKBXX`M-OuW^keWY)rNa*!#4|B=lkQ%|+^n%v(|G(?@lLX-6XMx^Q)9(>JB>5`D2{ zdR`}zW%0M5q+cKXdqL=Vxw(rCVK9L9e)e@Z3b&=$VIu5)Hm!6Y!?lw9ZyU zOqbMTeR3#pDch6ZaI-(V}oG^Tp{PMR}?J|#GQ-!F3Z za>lrTs!WA8smddutB z0wLlm!c)42Qmd0Z%(RxCa{U|wvq-PO;w7HT0x&DH4VBsQ_B#G#5WKEMJh~o z9>hQR8a34YLBw~nSnOqQQh~TmLf%l%N}U$B>y^mJUqT^akaF7v_kB4xKA9C<@gmV= zwKv9}>qmzB5Dq_vR3laoL=n4dA7w3MIAzLq)#-dH)kx4luX(c$N&UthKhrJ(hQBbeg^XITps!)R`KVJXz%ryj{0xK>m{1l@*Rp!v^11t zC|;^6Ay!LNstp~-RIPR0&0bArw#nca=dt)W)*g>;la&+XwoCoki}Zih<~_#k#2dU16?-&Xoa##@`eqjI!9Im$Ft-;bP34L?l@UTt z)eV-h3S|ciU;(~q9n9%mZCVA}d8diBM(^8NQCLMYR<0A^Gzf8?l{9Z`$z2f8p=d}_ z$Zo%+js*_GSQIsK4m3_~LW0Q5Z-^PjA1l$FbUs3no`x`L0PsaqT11p{vCNG!7~9LvI~vWK@TdFedVlZo@G^8|jOP2) zxxYW+=!a2!YUZVRIfS1cq;Pf|bS6gjJs4BUf?#IQ%UgANlR*7gIa=5+wv0>*Kn8=; zndjMCxoQW(#RFTv;wNVnaYeO%$VwP$Rdgw{=N4FO48F|*1u0X1`~=ul-XghTr~ot! z$<9t%;@f4naaWxOSCY9wd)|~yx!(@kinx5RuU+~A&zYuNneRC21atWX(E&tk-3zgC z37;1Pq^nX~ZY59a?my!6EEgv|)%<~Za~D-DGpzdLBOrGRMKvSEI< zIu_Z`mM^kaDz+6{(A>aYSE>$)EL1}*R*a&VeO!Dy;fJmNX$M2NW;XGTjY ziPVdP`@w1$sBqQjvv+Qv-+3OHbvY)s zpZspRe{O=eG?9@;I=qGS42Ed@CL11_@zFkwlUy_5(q+NwA|P+|*NVX4NA(r`(d(WE zv&GvFcmM(SohTB*b6wKm%dqNW?Beh>D3yG*5%U*@ea5-fT3$adS*dA58KO7*I3K9{ z9r1IhhmZVET8y6jPF;o1!+oP2ChjhsmoSbFU3kQt>y!N@iR!cQNlZ4ahfVS=Me@jo zXuI>_U9y)yY>ZYZ#GZx^+P}QO(3Ez$N$&k+DGVdnL9e1ONz6UnH&! z&2CzM60y$0bdbfb!P<#S#w-5zk-H=fon+_-;TGC=0BRrVXt<8Q&l!`=q|E{M^TM^E zm@NLB-;9?2OXpir#IxSJCHXI5C>I(WJPJ6C+iR~clb^*g<=pc7_Ll1WN%1^M9B7!8EjFE#XyH}fIieILO$03} z(v4EZs{MTHepm?I{>7uX>#{JI!JKk_dOA-Xgm*~yL=g&@!$`2Dg#x|p1Bmwx%Tk0s zC=wAw_ypA%CnVlhgZIHTSHWOa%cI4$5uj!omgOY~#-bP2w zl`*id7yt5w^4K3HZbgt?*{Fajlk{4gEM@*eN-6%L%KNF26RWl}_XBmxw;%L=e!}UD zyJg6Wqrz*wQ6l6XV`)oIE_*H=Yt01)>$fddf_Sy(~$P-WWq(9(++2ZAW>{8e6VL;^lGRMv9 zY8FyF06{fTE@j7S2yc{dNKm_th>73!Iv_QkO`O$S`y~fKhP=z*;`h*Q*=i%iKDjZ$ z^gxe$+f8ML6!A2EMmGqv=mCCF+)nub5Tkg{qJsWchaN}U8U~Mq_&m6z$8ap@Aozo3 zhM()lh8M^W1H;jn75WgAO5WgUhT&LY7s*QEnP%3;DPOk)1-18e)pX4ejyiMCM6sc= z-?+SczE{-QsL2080=I3|ZOLb^$lL%n4ne>J0DUeYPeT~B5|^8qqiC81)3s&|m=4}c zmVsaxIE%6R!b~({6lG8HGDyah3d>abQjoxu$?COIEx|=@TZWZ(!=jFSLLp9KXw&si6ZXn-`1s&IQPTJ6k zOr^BqepBJ)#!t>hdt650Ao*d)F#;^J%L*M}hj|X)Z+&^_sWQ7Cl+5*unK3=-nV`C7 z>yrYImn#V9#%*p0w#J{092e zJL(hgPd~oUY7tVll22WXu=ObJC&zRmO^0?{?Z4PiRm6g_BgD(8rps9NdAadX9ry<- ze-6HftTFt$f2eyf?UURzI~2amWwO(_sf>B#%7}>><8?3G%x)JfG~&R*&UpL|H6(qR zzZL~8$!PsdN9Fa)2E=CGfL~KMvlefEMQ5hIk}F;DZZ8;t*|Y^H6bCMt#2 z!C)P+7k}2q<{u_c21`w{AmKn4k|Ev`2=ksY&WwqD;b&F}!bWWia{RYg&58_kR1x@3 ziD8}>sfm3e81`lw2+}Se+h+!LDC)3OOi8G-kv$#KQ zQy7O$MIBxz=L%2Dw_^)C{Zg0Eb;`j&GQ=q%$`EhsM@~Jqo~4&YoZ!`vK#Z9T^z`uD z5xY`1z8oM5m23};a!Jn-dFa1_^EG}iMh!W!t^7qm2SLA<0+Ro%-{wqP|L&Q)H;>kH zo{fR!AC?D;^K_pyZA2~}jxWXsiY2$N4%uE~KS}2%pne?D0ce`i3GRFNjY9}Z>p$wb zu+jPo|BN5wM+eROzo^fh_b&#hZ%&_*l@z#NKoa+V4YS2*C^H|isz}-pM7K*LsQOPo z-_jb}r8O+YATjPlvOib%CvNuo>0qQ?&=m%6gv2IXPb1$3|0=>-u;}nuw|vMHe5a(8#4q4WvPnhtrJ=4&Y<|95fCIBl0$VT*2dUWXN#|u4unVlsa63-mtvE`w@{h^AIdt$*NwCC%QSvgPIwnf%S zP)oa}4tu~mf8wB;+t!iiQLm9OQ>2sS#N7;Bq2;jvCh)jYHvHz8L7Bm8+`;pv$&z*Z z?xuHF>t2rYZYRcRnM`=*bV|lS-xa(@4h;u@k?Bxc=~6;?3?nabeeF5@XE4zf2U;oiV`_`IG;B;jgy_e)@1I;SE+PP#WUTc;w2F! zmWsJo1dvMnv8UVuoDpOQ?+wGVcUcIY&U6R)(0($4Z>GiAy>G^mjnN&cRU+`ZK10XR z`=fpB3Fk>}9;)p`pMY|DcNfNsLn5Y#ob%9_n}PkB8_f8kaxsGZvdz zceF%j&|;0czq_7*^s7K4pdGoyg(<}qxn!+JxgV%l~F6&7a0rL+FMjoQfE*ZGCN`Ora-(MXHM}ia@>3!N4u;l9Pcn~*7!7nj0 ziF~vv^v19U%%U+jSv{%o{+O56u&=BsyikxXMD=D%Ifv3AgU)fm=Xdqbv)z*RZ_P2d z&mk=HlMg@Dwy~dQq4qqC*n>9jx&}nZY_duuj;=rfrq2Y30@PU1QV2+BJms{lV%BXQ z#V<@<{DZQwWIsM3O9jOqs)A2?-ke2}uFcMZBdjGvQq+RuBt`NDN5}DsIS3lzh{e6m z5~=Y&_+(tom^7`;Bv@EdmCNETNMUDl7e)%2)OQ5>ZxlR5J6jrt*Jpq1EF~Dyp=X=o zrYUdcB)<$$8SjWS!csu%VjT;+d~Ue?;L6eS#(5@L2=ffy!!|13xvcNK@%%g5_rVbx zoc__BtSC1g2rLSMFbrU2EaEMEPkO=qs=^DDE`R-ye+7a@!Ju@c!o9-1Z_NGp|3}g_ z1;*8G(Md9~+1R#i+qRv?w%yo98#fKxsA+85X&SR}qnSJT@58*GGwbaAZLGCEsfQyESF9Gcq1Mg>_RrFIUo z$Lp`hOi=LaKTRE&y5=l6w@0l-T8GJ@2?*SHQIo@_mI7%5?aNOZH7!Pld#lk1(ZF+; zW?&*Qu-t{lj1*Jgnu?Oles;+j$*W-mWK8*<-H_*Ee&Ee=)+q1RvqF&}SUEPa3ap~< zi=0hWS+Ed#YnNl}ch`Dx#UaG&KV+^YR)2q_D?v4&v88qTZ_%7uZdbuZbik^;627KVE}*${Ya%tc@oT^#Rm>op{%nAHx(TQ z?Rr`LdJb}?L_`T*K44#w2JU1Llj0GKJNVb0vfp{Syvt`>d1M4rUc%6wE$;{ z2y}-E!szj(P3g5%Yh^Rn|{s-?4%C`TNwibca8Tq$ao|2lhvKrsq`+mFch+M za|70p+ z!s5;q*zoP=x7cIH-nBQe14>5dun%-{m_K|nPhi|EQ=9!_NgZw4d38+f86~45uqYJS zRnq9s)p>uVZE6!*$HgNNqEc;SZ^uMKwchn;{RAg^hYSkkTeohOD8~F?*dQ zJPS~*Ys&)N_qc{aT6xfWnIWgM zUw&2cwtZa&-*tnJ>ml27uT^RQq`nHvBkOP7F(P7&k^IFPrI`2Jq#Yr}h6hJJgj>W; zhMqx5Dee!HMX=QJHP7y7_BR4XG1fkZ>WsXHP%sRRu>nM@&$Y)^X~aTIXNo!J3IS+g zbTIC`BPtHU1+ZRqT`cUtcJpMlu2oIoFY{@Q=M1d1>q&E_T-wmt8T%T}sF}u;4G=3; zI8eOYS$7-)my0TzD)ytj`8x5;CHy=%SGuG6J!1teY;|){)0c?PZVro|mCk4TDIMxm zfyrJd_y)HPK-Xcddq>anCTf(s^EMwUqbdb{umOW4F5Bk-5@_ydWY#pM<+9j!0?^s) z*qpesAJDj7$b%^X+G-!{@}58MUzHgVcb)gvJ8Ak{{yG%8c-itYUyeRuS2aM->Z;Cb8^6Y zt&~^UzPG&~x_AImnDxiP$U|S72w34W6ntdCF!kj0+XvJcQHTC7XX_iu*DmD%48 zX5<}l-M2w864Tjm%ODfbE9PTWZ*I&95>Uo@ZBlv!vqs}c%~NitV2mtMkyeZUTb*tX zibcodT#!>q8}!W8PmG(-wzPs;^fzW`gZe6d%OI1)Ktt4|Gu29>+6gnAgv#F9=oZDX zs6ViRZ+dt`7)+waZ~K_{a^n15>*0WMHtZKWd29{w#WTa6=M6MMFoB(+pX}Os&fCt; zlcoZwJr$7TqvinN06a7Upgs>n)d8d<2+(ZEpA?<|=@J;wl!CWivn;ZE6*7h!L*BHB zvA1>1+>E%BNw^+5iTp{}IAyi?5xjN6?+As#0NbrrAVVKFCi4v<6e<8#UZNQswLw@f zgth&*5@3f1dfZcBjLW`^8>{qlZbqf=k0zBhPsSxGlb)EGV2?&}{`Q6Sxbkho$)|fe zMQjb*3oqvccUjY221Bo0<{B{Jz*d|-6)@uN=o=(tg>OEzT87R;Lj@2A001Z$y`og&7dXE!$NQ;yht^45fnRuD3)D(z-!>F`HpIZ~EszG5hi<7{)C}_!6HjPe z^P{6KpR-fk(d_|4Ov5DKXC+KtDh@<(9QE9Pa|bLTnW=3wl){BLMbEapXX$r+yU)`F zB=Xms4hp@xa)x8)`iDzh8qMY$dygM3P6^mk%wjU_ys3J)9F40#rHF8aT2`D;IlyA_ zw+~KZ`FO10_B76Sm4o|x=@$}`kCcdBIzaYw@nM*fF#rmuUiN-Fv|UcU20gEepRz+x z<{93}uCMKZub-boXXk`AAj)sB2}*ew)N$t$hJOZL|Erni>4HV!m6~{-a*FQuY2K=l zS5m5dkiR1$`H%w4k7&efj9zU*?HGr5gaY3i*46g~9xG*+3hEwvdRek5B+LDpqI14; zL;iK9*jUf5@dm0=FxYB!Znl?KTMqx$$?BxkSz7KwEX2D>hQZp?J&4Vyw>cBw(g&_^ z6=;k8bira8wQ35@8^w#-+7kJ#ozR)+I-abzA zxb$&21cf|xtp`V;;^+&$M!c%}VYJ|TeJxaUR;6NS{6qL=-}Kgma;9qvK1FL^mdgz3 z>>*~V5YLlccqrfp7wj-5tL7?j(HdKcs@OS|#bj|};3)$Dee4I?IM8>1O~MUx>eXNc zHK|izgGz_QCuB$P!p_?^eP>A*m<^a z#o4?245j49N7_vm?^BwxQO0+Kd|-g~2Kv{BD!({>y@&}j05FTZEk^SA04wn>!I8Nh z?)^?tJ-K6%6tSH>6Igu1U+L?O(J|HR2oG-ZZ?o}S+$wQfr+Gv>>(Q!BV5u3FOm4`w zX`Yo2jzC4{Hwn+WhW0lw_299BPk!wwXy=tbjalVsgcsXyTQg+hgiEEAB@yxgd4u9W zXdvTs7Wp~!b{Ynyr)=XbVN6IHZT)?H@`5S2Enn;)RBB&P_wf`j5&0 z$Kj8$U?6R*CT)=en}sC4M#SN&qoPOem?+_c@N11gv#$mT86g#3ey|!ohmw+uwwNhY zxG^dH(?w<*RcE?mh2&j8d@D_1mP~r3n#njN8_#n@YhI>Ax!t{2c#zH1wEY) zAnU-ULWzI+VU)(@If4aj0mjX&m1C6&`%NW%t3Cw4BAK=mT^Bq2Z?MY%mBG zhhIL=Tw$a>5>1971ONdDJdi0BTJ!L*s`lN~+lTXGijb5G@Wyy<&>t|U4MIXbZI|Jb zf}~0S{9g@ent^>T<%s%yYB^1R%~;a$gGqiZiZ*M%0eL#9(fOO0PZ8vY`7$szxP@$E zP$|7C!k`)Igq%UIbtUCW%)QNL{ zjg0ITqYh`Lq<|<4pWvULdqtI>PhKtP4DFlDm%czRiEf~{$4<^u(n4jz0RYTflDU|z z@cyGzSWGh1H~N8k)ia80;0iF~^J%czsc-%Mi;&nV)4ftcUR)fY6ecGw@*uk6$DJq@ zwDoBQJa>pT^YHIwA|cIpgxn*6DS9iA7}8{y5PajVK}tVJvlu4eLzss?7rsM~?;JuA zNEkbGQpiHXQ~uLOJ|mCUERWc+HWRI~^jlFlnt|)3J`Xw_nT}T+(;iDrTL#BYpdYOw zZ}Ee`!Uii5jV%s{p zZ(A>U$hXB$?cM$dGfGf*HlA-m@oii)DGxGIA!=~;eTM|l_7bB2{nx8?vxYo zhoMBchTD8(5Ys|dZ+`#&+mzdDDpLaQBi)`Q&Sj-HtOATo_1fS^^`{tvbIt1Fv_&j- z)G{q?%F{RLeMcr7Il}mzrH?l=lE{CM$M)r#%Q90a6J%q{OtT}X(hWK^4h(OK2Agk-$@%)$4P4O(ux~5n)=w)HM?;$nrtHJ?4V@np%+gPwTNl z&dsi=97d~$fz_YNM3f9->LH4A`^DzG7?F}5hNgo${V*^SC?1Dz=+^=1hDUSCOY{)`hs_=&crhR zK8JLPfnP|#%b$IyBq8+#AXP1QY;2Mrfn)V&rht*`jeE3mjj5AUBFhIfcLtI#L>@b_ zoNecmRTwkq;i^VQ<;HB#{>m1D%Qp7gjxw%$5NYUi-E|bs)TPKM`Vwi*b>8R1qpqnXE}RGDO_l3 zbpYT;OG^jk^pLXG$Ai%$MZh7$LON~Zb1)hnXiK^i{YcQkw7*xkDir+29U~4c3m}31 z`TCC==Uc{RaFOE^#d{1n!r)k2u3jIK%ya%$Vxwk*OIs^|WVyLt!x>Ef*yE40Q zh58xu^y|tpdkZvA<3)4&F)_&d8|~qHg3X8m3&tk zwYgoJ1;d{#UzRsT!#y@vNm)^+d9#|wU5n$cWO$~Xe>^$f#DhcYxtGAm-G%yQaTz{P zhbzq`v)Fe1cXKBid!i?a)4<@no=ClO9Dy(OW{Y@kSv3$ox8^UByWs~EI3VUdUE|GZ z1h^D51O74dFA~XK1bk4`*&5*Rdpt{u>c4^yMcd#X)gKaLq~Z)5H=k0;uyQvkRxb@$ zY=0p^`L!*2%VPby(cMFD@#i&>{??R<55YCpw1x>aR1)#09_Q5qy!E8v>qGZW8hg+b z(hp-PHa&4Njaq@p!acO*k6tOFib%DM%OvuL$z1pPd6CCs7%q;B))L%jB3l%JTE35{ z(<_@10(P+;$%9NN{rcqP1OUF8dxamhWHm6&yIdaN0x;Mz{TRjdEfll^28AM(Ye_-A zH87Y89rR@>#`7H^t4Ls(h5q%qf;e~L`U?W(7mYU?tC1dxxEi?gpwc9O5I0qR`8NR7 zSjRtsC7Qz{X!b%fyO-NH`~)k3G1TcU!DJG|_HKt2P z_LkK6)?dl|Y;1pkNDngodq`Z-_h?%Z&@?67(7;B)#5%nVF@8t1S{B9Ks$tsLP$Mn9 z2d46gO_f4_gj*EWTE)etHJ71UA1RCM=|&%(*4l%&pbwa7RP2DyVE}P>E|dGmfG(b3 zI%C65=evy83-Ou08Swt|4Lukf`p;G~SDT9C{a`8+pdC&$@4#x8=6@Aap;GaM`XpVz z9l)waU?QfvXJ`ZclK2(5g@zcZv$!Xkar?HDqnguDPB*SKh2qIDFf4a|KGXU3rH6Wi z`Zw)R*_-l3u*;Xp3GC@%XhF{1!73Cj&0d-Hhl(sXDPaU1a)zJde=ZNs@>NSsAz2r8 zDLrQ7dy~20DHbL#*gu*KREiG%eiM4ru37M00;)Qyi+Gb1^TLLp5(?e{eZnHSz%>M5 zT1g}=NX7prPO*UD253O4Z4ygf zFF2bXPlL0xy2g)ux_Le-BabVUVnFM07?uC-7v`spQH*Gs-a{-g>JAJ|tza8!>v6vS z>1(_51O{#GeCgxm=6cU{@R*7m&df5MQpsrx{zu!oCu;J}gp89z_?y-nKuh`!`^>lo zB1JE+@CYwHJPHBQeZ(nBofUjx^})FW3hF~|^{D*pfceGQV`5Eodr$kY1C#Xn7*VPV zUm~BYmNviSlu5dhkUTa*+mAwYUV3)1JXDyCXCg1jZ<$rAi-n>R4&&b`KVU+h1a4Fp zdcXk@tHf}&Mo>ybZh}-l^kX#!qFy4?-|eH#4EPm!lp;>@q&I1Bz3A03kE}ecG&$gl z{CDE2_ZYH;0m>Wbdm?hV@$EX13O53fuqP-&gU8-9u$B+cH0Inl!D7$iSLOI)g+xCkZO&mMHjv#T=jDdbvY$_G5QQ~6 z$RPdFaboNA7UJbv{_So2u;)yUo{#=U9*&+e9RN+MJdomjMT;FM@@a8Nh$-?H7a|5r zLjY{(56u#x#!=VReg|pw(Ad}SCl#RYp~sorlo;>blQpq5<~M3;=>CV8G=O*+yE85{ ze+@#Ri;OiDOxU;8e`uPyE7ajW<5YqC{BiCQeHDE%bL18D75v2XIt@RlRN9trscJ0` z?|k|MIeGESi`^gVF})r&z9#bt$KjHPo%B~JlIXYmL~EHR7dyf z>#73PhRT6sIFb?N!vHX8f+8j~#a|}6j~G&gCd1T6AzCHL=?1Lo=nej|JNY(3bAIyK z{o>5SpV?g48t!rjmAW5ZLqo_;95rGtZ4}4SR=Ah&eQq^%y#upI{kI}4DQX(ItunuYd9G#$2%_py}en96Xr%p0?72C5!eu0 z6Rvow$bc|e z-Yj&A>9Fbi-1O-H*Iz;DkVyQMH=Aoc%{scK`B3>q&WzyYcmi8>-zn#}n+@rf2d2U( zI~69{NDT1@2E)-?jcqww5A#DMX(pV zKX=sYtIe2KLl40D=otQ5E2?(jEKZ&)xP_q@Yv zjb_ZY!SD9zK$(mMK^dnCypnp}m91r859aa;<3A>!b@+23_FTKb9#dqN_*_`MT>0F+Ow!t! z+D%;O>VfGeWi{f{d54fOLuGgj#EJgi7zI-Dqb*WRcGHo$NI^-CJWOkOYH0Kg7`Y`kuPUFWDkfPA(z5^R%k-0q|cj1(OwAhyA;33ZN_qxw6jNPbl zqwu*dZ?BENR@wSP*@34Qv%p+2wO?Y)=>Q)vzbTgR{w6nJtBbmDU-rhg7W{jJ(2vRR zxw2!BnYQxUzIt501%p9es31nlqJ)P#u;J8Q3YQUsIILm&Gq+#2z5!>V=p(|YVS%Ue zr@0))h4ap8c#6CyA7$}wuV0s$%T8N&jA!N7G?!PV6MdFLRX@8hs~p)IOGLGLZ+&}x z%kS5!%!qGlEwb^4)dAvXaM9CT4C-wU;v=#tiIJsJgB`$}frvWqR{cQV{=Kg{J5NPH zIW%=(uJoPAOBAdY)$D{* zb2VddGmcTzG4zvuMBOFOjY6L(jyTAgQ_DFlhD1YS6KPY&wkeJ)0X`8#_@kH z?+7Wv18dEesZh9Y_y!ZvEF$o*=DhV|n;3r0A-e?K=Kk|OB(TIpSd;@mA3N4m+9Kju z2Km4tP~~kXTS(AfamY{#K`*2$G@kDC;PP~T;E9yNFYhC z%+MXC%*_&=xG)zham11dc`!GtxIvJ3umT2Wh$m8=QA7PZ)wJ4&zm>jvb6!&_KDgD4 z87zE`T%+(gHdlj8`NG=U3^0!6obHy@mH{KCjJk!XajPrSBbPCKyE(&%;%NvDTpWKg>I)HidnC4 zBc7EL(bvT|mWrj+cll`4EMbWYTKQt&!i4>%=XlxpN@-v**TcQeBGpVOU9>7xWY9#3& zTjB70`YVcNVnDpqH3gQNPPM(YBp{45tVRpD1>sQ<+Y8D{rDmIS#DBDswUID0-T}Y3iM{M2nzI)M_bK;k z)U0_v@KZj1{208oCM}evte~_(R*uI~a{)t5hx{`?cP-7__C5ki1&p7y z{Ea2MyNw;lSi{RXXhT;$qPP@kqu9hcpnRt#Z|!(ppX7s5VURObt4ijn zxu%^J^gD#OCsxnK5{q)7k{wVW}&+ZH~xrj4X#vHco z{+zY!{hDQ`VUYesYO$+f2;sGF>hR(z?*|KTWf z7qtA9mK+iwY)Te_{9OQ^#cER0R6|_BW)I`*M!ni8BR}o{je1P9HjjW^m|yVKa};xS znlqi$Z}%ZhGE*P+$Pq1XTe9dK%Tq^(Mo&3Yq)$wz%`%u95}qb?C`ymI;PC|;oOQn_ zDHO!Hey52#Nc~j*^O})3&=ob>7wv?)ZsdZlWF>pG!9Dztk(t%6s89c~RR&`^4TD?4 zYUmvyb{HU!$r8n(w1-gHGsuDx4a+88I|gzNT}0LMKYqhHuB{G#-apl299k{Mw_Cx! zo2AXqD!Ybx17ET!uT_M^Y3GL8YtY`cC{bZD0}wh%d1R%qeVwf;4Bg#LzndZqT+UK^X^JtZn<6Ki9u(xFI8OG-=SVv)q| zpQ=Qmz?Qbk$eU9m;(l~a=hCE)uY5(K^ejH?B9-;S1zOj9W(@YU{$u>74g~4G$-4gY za;A+0niwy6qOi{k!oHB2_tU1G1nZ4d`o~QHnT7wBrb;DqyC9ypOHHYy5e7U*9OWx^ zP;P4(YN80wv*90Pbq<3co(WYlHKeQ1W(-@wGYM4*Ov8&=dxx#POuGiq{blKx7|QGj zZ6!V%zLW_PnOB-@lD7=Kw`vc$9yMr?O+MH~EolF*98TUpQPcd$(d@_=2 zQqgiyv&vpl`xtiSgbra|!JqHox4Up9h3F6I_pBSB%JG_l@?8OeY9?S8F8Z@0TN^aA ztl){S4_J+nbe*?YQFXG0Gw}K702YyWxiE0cR=PRDa8Vre$KY%2a#H;)#A4w05@FRh z$5k8JHu!Mr`9-sQ8EL6gVNjJ0ttW_e=LeZzc(TCX8PL@|<5n9H04`7?_i3JZ+l^+c z;AG#hOdjfU{aTSh^xXtOE%84aVl}uS55ZMu4PZsFYKa%2H)}_BF2tt|x$c@?6gu%e zhA3cwa(X&the}vNl18K~dtqs~zIyK>$(d+pft)ymM=|*$R2&h^{`_V*dEQCpo;OP7 zwXMVaaHbC##~`N8H+Rmpu=c=yrPJpSalm+%Q|c16hKUJ_j$$LMvQV&%HBTRjd8> zgf^{GV#q{X;}ifGZtnvxtLhSDfv~6w4px+YTpO5fzoV3br6!TYQclqjq};)xk4ui2 z{LR!#iy{7Ao^6xH!mG&)V=Qn03BC)8u0rZL;hY`CC(sS^%O3%~{qn@2Mm$zrR zv78;jo&w;@Jf@=~AGTnfqXX`v292{HPSC-zcK!=&yR?{mwfg8pA3NfY-OB)b(8T{# z(C3n#>%83=+Ab!doa}4Ci;f&AhsyKWw8e#kDW~8n&`D0+!kLb4yzYP25tacC7h%G% zf4yrgmfen9=fcwH!@@TPK9aIuQ2(3ZLKJrR4I8tS$FVKq?<<97+xYm}NQapn_l^)* zBoJu0bGDJmiHsuBc;m?sm+b3DNjQPkhha6pdpcCm@O&XN-IiT z9Dw`18Vx^hf61*(oTcwtSgE?+YAkdyrE{!pqgO(3yDJe4E_u7aGfKCVh}s#iS*}A# zumm7`Oo!!DZRb=fNy3u~0fkefRQ*nPJc`eM7JBV^>mpD~0%LeWqF(0)KaA>KCai{B!5n=D zrIm&}_7?lvs`P}IehpG8&6$2}=&Xy&a;(6DXdSRo(}*HIsdSEn#Kq)c8cz*l%Ov=RhW&h;AgSLz0&9P)?3B6k_1V!(+UK z_N&r$J6an7Z)zIHyg{Wyvf7n;j>NdjHo{EBy zymq(NS-d7KGSm@NElU86WbR>o@wC50_DyOw{NS<1tS*6tkGFRwaJG1ViodYF^ToNC zpa=aHwD!WqhPLS}?<+--rR+ZCEL@lkgUmMYOChJZT6+DwaQy0#ZtAG7t@{SN)IFR31 z2V!#imp>{1ED}NZX~{@$BxynX82wy$R+O*?*W*eeq719Z>}!4iGUr2%jZU|G%GZnQ z5ti)c*tw(TEK|0Z^SEc`?6 zo9Us()8FKKK{3@A-OJxcpZnxWxO zO40K)sA;4}*{jM|8`~E@@%!ajNJeiG7H|X)P!d^-eqWxg`(BuJioP6pr5pFM*)saj zI6R1ptubAM2G{RHQ+FFu+oONWEJMTG8)17&_Qk}9t7=3W((?nwg$o9ovQMna@<_7*`Yr{ zm}1;IejO5;@AD&Aw;b&FNDFf6&!bO>_`gsAtrLl1ech6Qx-Iy`m2L;=us{~rTaU@v zL+MJFwf)$B1qP1q(l~LLzFh8NyKqA8Va+(PFtJD|j-{rYNz_rB8Yr~y2(d!JEF0^% zpA*ar_Ay>s#9}26X&Fqi+w_rQFm+!Ok|#g&H(zQYRYqzBh{It06GR~xq?|4LAlLP# z=o9p4P?if!io#2UN7}}-ZW?;KTk)Bs}BmoNa^~D%nB!4s+>RDeI7`HTUuj%@^WAvcBb!p%`aiu zBBU5ZN#`kN4Y0N$MJ;+#QGn7}7m2z4@g*wS8pwC>OS@@<6JP4SxWgza0*iS3X~&GD zZbyb9=_!8qz6^;GC5tRFNhfGvVes=HH2}j%iu&(Q_p8urmnTejS`m`FQrX&)2+dw_ zIhJH3Jog?Qk@-JoJ|XPySH3<0*)*sjo}XOrLXGDK3KRq{TN$gX{k^Dg0RV(fc;k;# zwN*};HD!d3Gu3VpR200HB~2F@$CpLfn`zKvl3x7^ zmRS)3_d?2|FE7bHrAfICu2v&3%-pg*WJun#z>eb%yNm#~#NLusel#`KCe0DVW?tch z6jALy+d?A-2H#hKU4Li)P(zYl~(2t|C((c@kWR&3tx68X1JcZ4j_;UYA_5jqz-IoVN^_3XJV7oC>%(>5IO1RZ%w zMv4PUVKwu_P}quAhuzv1e=Rpvkh3jl6fvMkE+)}UssMuyB}*`!%s}-WA>nW!oGB!R z2yetCH?AzGv_AF8=uG0fBNC)Jz1|{x`!=OEai5S6@nXBA$*0Z+KobhxhbsM&SAmLH z+mp$}OP!rAze`$AJ0t_uo#Z1_!J|4x208t5*FX^`e$QPH8I*-fa6-2Hgp8dexo-Bv z-B0K~zEtvqrD>$Vlf5+j06o+>WvfEHRR;b5-@>AhbQLt8h!b2An(gjrmOdHymr`Y; zb>(hW?4HyD5Z>hKTW*Uxa5o?X<>;IiW*=?!M=AK2bpSo1D^}`n*fgbDbZ6Mz1bc}_ z4?}24XUM5xj!wXaJs{adcE9l3p%1)J8ZwI&xS`_mwFj8n++o0cZpijxeJY%78Z}CW z2P6b9c=ld2c%3z*7a%8>yU8QaN?v&T*h9RaFv0*IK8F*ga3M+VcPKOW%cp;*aKjG| zart`f-+uq|Wr@5+xCE0gSu(7{IiWoUE4*2)wY~YPsnAkaxJ7mWy~UyX!MIuAbfINW zXTTr(2$@H3AB8D`V-7)u9$a{A&BQ)cZIdKQ^(*I$F(}r;K~yx_(ElR@%WbpheyCci zuS`^8-p@QO;0!`(`?By5R1&I`IkliGh*8-b!L-R~ za)=)l=O8W(J4odfoD%M5^PNzBNES(4GAc&VeRYJi-@o&aBT)1hWds?9Fl#K2syKk4 z7=L`>?ODgRvUlKyep`=I^Ev8|&kKSCKNUV`E-@!H6d_cMnV+MW;MVy~HvBk?ylE_T zD^{5j-zu~G>}=WJ*BsD@gEg3Y>nt_lL->oT z47tZ|S+$I9P1E}GKfmzRX~a-FgrI3^KAY(N)gMv{eVZoMD)`SCixdjx)Orey;#;rs`5iR9^IC5`N4U~SKaglX(ntd)6IIMTZ7&) z=4|lXQAgd+PW#>yCbE;$7|r$?^x8J{nwAr$nmx3R$A)x)Ygg4u`+a)=z!CXJdX%5+ zZG2PxBF4D{adl!nA4d1d35C8(sjFdNsM*>Z26uDlS!f}pK__0IZSMCRDNf9esMNdx zdyf*dsi^tBhwd>b#_=LYE%quFnsK`3nRA63#rX$Il$Lc<*5IcX!i&un#bFLR-mUGC z@1dIwlRN8nA&<$Spg{Z0^Uw=Hja!{Wf7?qV*VoTSY(Yof%+u|8;7lr=@ri^c{4s*IIN;(j!nrzNh|a#Dxvq%U;cP?kLy73 zER^eUHooS7A47yLDji|}3PGIG#bsUN?0BRwA^HK#CSx?tZ3!EisC(Ru#W!agR_nbi zgwt>56EUdeZDt7nexkGy8BTNlNDcd8Ok|)+PHpSC8M)J(@pWT>6jtot%$3!Doa-;#w&n^% zCp4WEy#2>*{)rszS~ywoyaF600xoT}LE!>Nhg6y-s97CoYU>z&^-|fJY36mbk~cZz*fgjK<$wZ70M8*cTfWx zx1dqtmuA_K>5f(f2fOXRGKg~R8awh%Pi!6{6=S2oxI5dK67*;u*JI(8n{ zNy&$hi_TZa3QMR#asaTM0SnV-?B@+f{Y}EXziP$LI-Q-@bHfi1caGn^jb>nQdnV+z zVzIZ>eNXwy=LVwzbO)=E2#L{T)l=T@v6fI6^Z)=UG3UcZSMI&8`oJ3V z=Eu0_Sv7IJk31-^B4#UZtlq9BkQ007B0Y`DA!2!K7qw2-eT&a4K{9lA*sFD~^7d%U z8eKQ^F41cOd6m7Sck1H>5cOA~m_tFAMPj6;?Z1GVDy(4?W>?q#Ma#2Q;ZzNuuQUkk zdYfp0mUPwulk)1Ca`pt3?j1_;znOz)=Nk;6q%h@fj<~ziZCJWOW(ewwio`I{&Q;}$ z)_Y@<{S{(#q!pOcqJY8XeX>F5H?I|PlAK0)DXW5!O^tpZiW%o_h_!TNrPG-}vdVEa z95%R_xm%vE-}F=KHG09G@ziJ0siyw1m0DO>K!7;^^#We-FT?8g34#sn&@Fw;2Cc#B z665NY8WCNpc!W$v%LQmNrH%(3NL^gK4BqIJRp`Vuxhj?>ovVkit|#bEIkj(J`I zQf-T*0MU~JHAa$_MjznL-oo?b$K&UgmpO&Zd=3Rj^lPJD8zzMhLD?20|lSptD^<57@}V&QY_hYBJYU1`x2G zVA()4MDz%axGv!ok)u$0t85SQ^_tkrj0Xw9B@KjIbGMB2d-b9@nzl|>lbyM#saVwj zDG6h$14Ntz+SoEr4ki0NVIB14xr7h5bDA@{PrgXso;X&ph;x!zKKN;mHlp8gd5XJ8 zipYqh=ZW}|i7;e<(>{dSkRR7eJ~Jp&rWBj1_oAo`pc;b$ZtfEQ%(W8ug}3pA9q1BY z6rjDZpyRvmh-1*v^mJ`%`_fU@Qz9|97$h`qhPcPJtgJ0~$+Z1MJI?0 zW|5c=sV2!PBb9Ey&a&!$+{Kw&YyDjNuo1FWqtv?t_B8SoSR>I+QHQ)v2MvP^yNAY zOahlMA@0#dfEvVh;(b%zYJ@OK$utQ;tY7l9HF>{vDp+kKSjcrrBFclVFF6i}n|R2@ zjnK6D4uKCBUF}@0a{4VC{Fg|oX#X(V<^mJk(Q4qn*;U)3r8NN|R8K?bI(Stvm04f{|`=6UC{quooW?RUt; zYm`-GA*JqZ*ipN56k_IW{31mEQ)2A7J3D6~xhU@3oFL{MA(Tj%Wuy5j5dc6S%JAYK z6Y#(F-OcpA+QPueKT&JnmH>tg0l-7|7sOm_wBT-a-V*$#ahvO`Dyz9A8!nzd^9i_! zq(93eV)b6B1@D&Xum1b;cjG>jP+fr)T|c(3ioV{KYEo?+am~u_%SyX6@AVJf|ByOl zH6`LlhTpHguY2l(7WxRx3dnuUk+NJ$K)_S!a8b6?0t*hFe_Xk*FD@~R<$5A!ynngJ z$6H3<{{J~>p1A1n{=apm^WR8M@3{Z}RM;-1vn;@P6O z?A}q3z@6^0n(ds{ic0m!ch`!Jp5fmzW2Ni<%D(w4@2|U-oAdkk?)`6%WtrYPG0$?l z>(o?FIlHC8Zu0+s@8b2X`KJ0JxA*mr!2i=c?o2u!eo#3{v+7(|+>K{ve=zU+8h6Km zW8nfl;F{J1scqIgjBf(Iul+sI%f5cy>nLW zduUY$9Al1~bC8*#!689|1-MEe*0}=G2b~fa#E%zf-ea&5y4d@J)#96Q zfM5OLDMl?{h4=sL@)CY{EAs!tJnjs2<&3wSFXHO|8_6AAyhGQe@JNt){r^W*;uCLJ zcm}L$`4Cb z(tBFM`;Q;5EAV9S==g8aq1WMA|1H?pdHh*1`I*U;dU>fO<@rU~z{o)WN@R@;jKIq}5vHND{sRCzM(-;C literal 0 HcmV?d00001 diff --git a/public/sounds/Voicy_TrainHornSoundEffect.mp3 b/public/sounds/Voicy_TrainHornSoundEffect.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..896302a247e03fbf20433b4dd8455395d9a6b8ef GIT binary patch literal 82370 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 { //response.send("Gift Saved!") }) + socket.on('readUsernames', async (data) => { + //response.send(readUsernames()) + socket.emit('readUsernames', { + names : readUsernames() + }); + }) }); // Emit global connection statistics @@ -279,6 +287,10 @@ setInterval(() => { io.emit('statistic', { globalConnectionCount: getGlobalConnectionCount() }); }, 5000) +function testing(what){ + console.log(what) +} + // Serve frontend files app.use(express.static('public')); diff --git a/tt-usernames.js b/tt-usernames.js new file mode 100644 index 0000000..03d5dc0 --- /dev/null +++ b/tt-usernames.js @@ -0,0 +1,26 @@ +const fs = require('fs'); +const fileName = './tt-usernames.json'; +const file = require(fileName); + +function updateUsernames(name){ + file.key = "new value"; + + fs.writeFile(fileName, JSON.stringify(file), function writeJSON(err) { + if (err) return console.log(err); + console.log(JSON.stringify(file)); + console.log('writing to ' + fileName); + }); +} + +function readUsernames(){ + return [ + "yohn.john", + "aviannaav", + "babysitterhk", + ]; +} + +module.exports = { + updateUsernames, + readUsernames +}; \ No newline at end of file From b5e5e2b47cca309216406d9ab59402eda0f6cfb2 Mon Sep 17 00:00:00 2001 From: John Brittain Date: Tue, 19 Mar 2024 14:06:52 -0400 Subject: [PATCH 06/35] datalist prefiled --- .gitignore | 1 + public/tt-usernames.json | 30 +++++++++++++++++++++++++++++- server.js | 2 ++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 9be9af8..ca00b44 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ package-lock-old.json +public/tt-usernames.json #Google Spreadsheet API Key File keys.json diff --git a/public/tt-usernames.json b/public/tt-usernames.json index 35776e3..464a87c 100644 --- a/public/tt-usernames.json +++ b/public/tt-usernames.json @@ -1,3 +1,31 @@ [ - "yohn.john" + "yohn.john", + "aviannaav", + "babysitterhk", + "michelleshane01", + "ttk_ruivax", + "imanalyn31", + "rachelthaqueen", + "chelsy_284", + "sharynjamandre", + "welcometomydarkside42", + "a__bruna", + "theonlyonebampylat", + "sad.171988", + "beauty_.22", + "nazrinsalim12", + "leizy416", + "jessaobiedo02", + "vampy_queen01", + "drubaby66", + "kiylajoy05", + "08_skylar_10", + "kanabrewski", + "joshqoh1", + "virgo_tessa18", + "francisgaray8", + "jessafontana8", + "fivespicykitties", + "biarciane", + "zaiahhhoke" ] \ No newline at end of file diff --git a/server.js b/server.js index 2c4d818..ea732ec 100644 --- a/server.js +++ b/server.js @@ -294,6 +294,8 @@ function testing(what){ // Serve frontend files app.use(express.static('public')); + + // Start http listener const port = process.env.PORT || 8081; httpServer.listen(port); From 2a8d8dcfa0a94ea4dedc706ff40fa90b84e4efc1 Mon Sep 17 00:00:00 2001 From: John Brittain Date: Thu, 21 Mar 2024 16:23:17 -0400 Subject: [PATCH 07/35] add / remove preselect usernames based on config.json --- .gitignore | 2 + .vscode/settings.json | 3 + package-lock.json | 142 ++++++++++ package.json | 1 + public/app.js | 84 +++++- public/config.json | 546 +++++++++++++++++++-------------------- public/index.html | 56 +++- public/style.css | 1 + public/tt-usernames.json | 12 +- public/ttnames.json | 0 server.js | 61 ++++- 11 files changed, 597 insertions(+), 311 deletions(-) create mode 100644 .vscode/settings.json delete mode 100644 public/ttnames.json diff --git a/.gitignore b/.gitignore index ca00b44..413bd29 100644 --- a/.gitignore +++ b/.gitignore @@ -108,3 +108,5 @@ dist # TernJS port file .tern-port +/public/tt-usernames.json +/tt-usernames.js \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..a608561 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ +"isGitignoreExtActive": true, +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 7179f6b..c0e0791 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.1", "dependencies": { "dotenv": "^16.3.1", + "edit-json-file": "^1.8.0", "express": "^4.18.2", "googleapis": "^74.1.0", "socket.io": "^4.7.2", @@ -382,6 +383,18 @@ "safe-buffer": "^5.0.1" } }, + "node_modules/edit-json-file": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/edit-json-file/-/edit-json-file-1.8.0.tgz", + "integrity": "sha512-IBOpbe2aQufNl5oZ4jsr2AmNVUy5bO7jS5hk0cCyWhOLdH59Xv41B3XQObE/JB89Ae5qDY9hVsq13/hgGhFBZg==", + "dependencies": { + "find-value": "^1.0.12", + "iterate-object": "^1.3.4", + "r-json": "^1.2.10", + "set-value": "^4.1.0", + "w-json": "^1.3.10" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -587,6 +600,11 @@ "node": ">= 0.8" } }, + "node_modules/find-value": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/find-value/-/find-value-1.0.12.tgz", + "integrity": "sha512-OCpo8LTk8eZ2sdDCwbU2Lc3ivYsdM6yod6jP2jHcNEFcjPhkgH0+POzTIol7xx1LZgtbI5rkO5jqxsG5MWtPjQ==" + }, "node_modules/follow-redirects": { "version": "1.15.4", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", @@ -872,6 +890,25 @@ "node": ">= 0.10" } }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-primitive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz", + "integrity": "sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -888,6 +925,19 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iterate-object": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/iterate-object/-/iterate-object-1.3.4.tgz", + "integrity": "sha512-4dG1D1x/7g8PwHS9aK6QV5V94+ZvyP4+d19qDv43EzImmrndysIl4prmJ1hWWIGCqrZHyaHBm6BSEWHOLnpoNw==" + }, "node_modules/json-bigint": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", @@ -1128,6 +1178,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/r-json": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/r-json/-/r-json-1.3.0.tgz", + "integrity": "sha512-xesd+RHCpymPCYd9DvDvUr1w1IieSChkqYF1EpuAYrvCfLXji9NP36DvyYZJZZB5soVDvZ0WUtBoZaU1g5Yt9A==", + "dependencies": { + "w-json": "1.3.10" + } + }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -1230,6 +1288,23 @@ "node": ">= 0.4" } }, + "node_modules/set-value": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-4.1.0.tgz", + "integrity": "sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==", + "funding": [ + "https://github.com/sponsors/jonschlinkert", + "https://paypal.me/jonathanschlinkert", + "https://jonschlinkert.dev/sponsor" + ], + "dependencies": { + "is-plain-object": "^2.0.4", + "is-primitive": "^3.0.1" + }, + "engines": { + "node": ">=11.0" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -1450,6 +1525,11 @@ "node": ">= 0.8" } }, + "node_modules/w-json": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/w-json/-/w-json-1.3.10.tgz", + "integrity": "sha512-XadVyw0xE+oZ5FGApXsdswv96rOhStzKqL53uSe5UaTadABGkWIg1+DTx8kiZ/VqTZTBneoL0l65RcPe4W3ecw==" + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -1802,6 +1882,18 @@ "safe-buffer": "^5.0.1" } }, + "edit-json-file": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/edit-json-file/-/edit-json-file-1.8.0.tgz", + "integrity": "sha512-IBOpbe2aQufNl5oZ4jsr2AmNVUy5bO7jS5hk0cCyWhOLdH59Xv41B3XQObE/JB89Ae5qDY9hVsq13/hgGhFBZg==", + "requires": { + "find-value": "^1.0.12", + "iterate-object": "^1.3.4", + "r-json": "^1.2.10", + "set-value": "^4.1.0", + "w-json": "^1.3.10" + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -1975,6 +2067,11 @@ "unpipe": "~1.0.0" } }, + "find-value": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/find-value/-/find-value-1.0.12.tgz", + "integrity": "sha512-OCpo8LTk8eZ2sdDCwbU2Lc3ivYsdM6yod6jP2jHcNEFcjPhkgH0+POzTIol7xx1LZgtbI5rkO5jqxsG5MWtPjQ==" + }, "follow-redirects": { "version": "1.15.4", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", @@ -2171,6 +2268,19 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-primitive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz", + "integrity": "sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==" + }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -2181,6 +2291,16 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + }, + "iterate-object": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/iterate-object/-/iterate-object-1.3.4.tgz", + "integrity": "sha512-4dG1D1x/7g8PwHS9aK6QV5V94+ZvyP4+d19qDv43EzImmrndysIl4prmJ1hWWIGCqrZHyaHBm6BSEWHOLnpoNw==" + }, "json-bigint": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", @@ -2352,6 +2472,14 @@ "side-channel": "^1.0.4" } }, + "r-json": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/r-json/-/r-json-1.3.0.tgz", + "integrity": "sha512-xesd+RHCpymPCYd9DvDvUr1w1IieSChkqYF1EpuAYrvCfLXji9NP36DvyYZJZZB5soVDvZ0WUtBoZaU1g5Yt9A==", + "requires": { + "w-json": "1.3.10" + } + }, "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -2427,6 +2555,15 @@ "has-property-descriptors": "^1.0.0" } }, + "set-value": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-4.1.0.tgz", + "integrity": "sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==", + "requires": { + "is-plain-object": "^2.0.4", + "is-primitive": "^3.0.1" + } + }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -2588,6 +2725,11 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" }, + "w-json": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/w-json/-/w-json-1.3.10.tgz", + "integrity": "sha512-XadVyw0xE+oZ5FGApXsdswv96rOhStzKqL53uSe5UaTadABGkWIg1+DTx8kiZ/VqTZTBneoL0l65RcPe4W3ecw==" + }, "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", diff --git a/package.json b/package.json index 4cf0371..1c949c9 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "0.0.1", "dependencies": { "dotenv": "^16.3.1", + "edit-json-file": "^1.8.0", "express": "^4.18.2", "googleapis": "^74.1.0", "socket.io": "^4.7.2", diff --git a/public/app.js b/public/app.js index 838ae5b..ba1211f 100644 --- a/public/app.js +++ b/public/app.js @@ -185,8 +185,60 @@ class Announcement { } } +function removeName(th){ + let th2 = $(th), name = th2.data('name') + socket.emit('removeNames', { + name : name + }) + +} + const userCog = $('#userCog') $(document).ready(() => { + fetch("/config.json").then((response) => response.json()).then((json) => { + let datalist = document.getElementById('datalistOptions'); + //let nameList = document.getElementById('name-list'); + let html = '', gsound = '' + for(const item of json['names']){ + datalist.appendChild(new Option(item,item)); + html += `

                                                • + ${item} + 🗑️ +
                                                • ` + } + $('#name-list').html(html) + for(const sou of json['sounds']['gifts']){ + gsound =+ `
                                                • + ${sou} + + + + + + 🗑️ + +
                                                • ` + } + $('#gift-list').html(gsound) + }); + $('#add-username').on('click', function(){ + let name = $('#new-username'), uname = name.val() + if(uname == ''){ + // make error + name.addClass('is-invalid') + } else { + name.removeClass('is-invalid') + socket.emit('addToNames', { + name : uname + }) + } + }) $('#s-on').on('click', function(){ playSounds = 2 $('#s-on').addClass('d-none') @@ -208,18 +260,10 @@ $(document).ready(() => { $('#g-on').removeClass('d-none') }) $('#ch').on('click', function(){ - fetch("/tt-usernames.json").then((response) => response.json()).then((json) => { - //ttn = Object.assign({}, [], json); - //console.log(ttn) - //let h, hl = ttn.length,sels - let datalist = document.getElementById('datalistOptions'); - for(const item of json) datalist.appendChild(new Option(item,item)); - //json.forEach(na => datalist.appendChild(new Option('', na))) - //for(h=0;h'; - //} - //datalistOptions.html(sels) - }); + + socket.emit('addToNames', { + name : 'another name' + }) console.log('playSounds = '+playSounds) console.log('saveGifts = '+saveGifts) console.log('------------') @@ -829,6 +873,22 @@ function updateTopGifters(viewers){ // console.log(data) //}) +socket.on('addToNames', (data) => { + console.log('-----addToNames return-----') + console.log(data) + console.log('-----addToNames return-----') +}) +socket.on('removeNames', (data) => { + console.log('-----removeNames return-----') + console.log(data) + console.log('-----removeNames return-----') + $('li[data-list-name="'+data.name+'"]').slideUp('fast', function(){$(this).remove();}) +}) +socket.on('soundDirectory', (data) => { + console.log('-----soundDirectory return-----') + console.log(data) + console.log('-----soundDirectory return-----') +}) socket.on('loginTry', (data) => { userCog.find('.switch-toggle').toggleClass('d-none') if(data.r == 'ok'){ diff --git a/public/config.json b/public/config.json index febe3c1..05bac7f 100644 --- a/public/config.json +++ b/public/config.json @@ -4,13 +4,9 @@ "rose": "/sounds/enchanted.wav", "finger heart": "/sounds/cute-level-up.mp3", "heart me": "/sounds/bruh.mp3", - "swan": "/sounds/Hed-P.E.SwanDive.mp3", - "hat and mustache": "/sounds/Voicy_Yeeeeehaaaawwww.mp3", - "whale diving": "/sounds/Voicy_Splashwatersoundeffect.mp3", - "it’s a match!": "/sounds/Voicy_Aww.mp3", "cuddle with me": "/sounds/Voicy_Aww.mp3", "you’re sweet": "/sounds/Voicy_Aww.mp3", @@ -22,281 +18,261 @@ "hand hearts": "/sounds/Voicy_Aww.mp3", "hand heart": "/sounds/Voicy_Aww.mp3", "hearts": "/sounds/Voicy_Aww.mp3", - "money gun": "/sounds/Voicy_ColtPewPewPewBrawlstars.mp3", "gem gun": "/sounds/Voicy_ColtPewPewPewBrawlstars.mp3", "train": "/sounds/Voicy_TrainHornSoundEffect.mp3", - - "unused": { - "ice cream cone": null, - "tiktok": null, - "friendship necklace": null, - "rosa": null, - "perfume": null, - "doughnut": null, - - "coral": null, - "magic rhythm": null, - "boxing gloves": null, - "duck": null, - "corgi": null, - "franktastic": null, - "gus the groundhog": null, - "henry the hedgehog": null, - "lucy the llama": null, - "sail away": null, - "superpower": null, - "elephant trunk": null, - "crystal shoe": null, - - "mr. orange": null, - - "fruit friends": null, - "reindeer": null, - - "diva’s hat": null, - "crown": null, - "sunglasses": null, - - "hanging lights": null, - "garland headpiece": null, - "cheer for you": null, - "panther paws": null, - "gamer cat": null, - "the passion rose": null, - "knight helmet": null, - "lemond buddy": null, - "cowboy hat": null, - "eye see you": null, - "confetti": null, - "mini star": null, - "paper crane": null, - "little crown": null, - "cap": null, - - "like-pop": null, - "disco love": null, - "tiny diny": null, - "hi bear": null, - "fire": null, - "thumbs up": null, - "superstar": null, - "heart": null, - "lightning bolt ": null, - "cake slice": null, - "it’s corn": null, - "gg": null, - "chili": null, - "heart puff": null, - - "you’re amazing": null, - - "ufo landing": null, - "look! meteor shower": null, - "leon and lili": null, - "greeting card": null, - "starry night tourism": null, - "desert adventure": null, - "dreamy card": null, - "rose carriage": null, - "sweet memories": null, - - "patrick's hat": null, - "hi march": null, - "lucky leprechaun": null, - "rainbow charms": null, - - "aurora": null, - "birthday glasses": null, - "super cake": null, - - - "sam the whale": null, - "happy train": null, - "camping night": null, - "couple": null, - "falcon": null, - "beach house": null, - "rio de janeiro": null, - "rainforest": null, - - "malayan tiger": null, - "gorilla": null, - - "marvelous confetti": null, - "shiny air balloon": null, - "signature jet": null, - "premium shuttle": null, - "tiktok universe+": null, - "thunder falcon": null, - "fire phoenix": null, - "pegasus": null, - "star": null, - - "team bracelet": null, - "cheer you up": null, - "hands up": null, - "here we go": null, - "happy party": null, - "fly love": null, - "trending figure": null, - - "finger heart": null, - - "celebration time": null, - "ellie the elephant": null, - "rave": null, - "spring train": null, - "old famous car": null, - "magic stage": null, - "whale diving": null, - "let us dance": null, - "crystal ball": null, - "asmr starter kit": null, - "diamond crown": null, - "drums": null, - "hot air balloon": null, - "train": null, - "beach date": null, - "love u": null, - "football": null, - "tango": null, - "swan": null, - "applause": null, - "birds": null, - "trophy": null, - "flower show": null, - "autumn leaves": null, - "money gun": null, - "sent you’re amazing": null, - "crystal heart": null, - "forever rosa": null, - "campfire": null, - "diamond ring of love": null, - "bridal veil": null, - "flower": null, - "love bomb": null, - "llama greetings": null, - "pug": null, - "husky": null, - "golden": null, - "falling for you": null, - "gold necklace": null, - "love letter": null, - "tulip box": null, - "coconut": null, - "lock and key": null, - "top live creator": null, - "cheems dog": null, - "blowing bubbles": null, - "love you": null, - "fruits hat": null, - "festa junina’s hat": null, - "kiss": null, - "mishka bear": null, - "hand hearts": null, - "game controller": null, - "play samba": null, - "hat and mustache": null, - "soccer ball": null, - "bouquet flower": null, - "headphones": null, - "asmr time ": null, - "mate tea": null, - "spinning top": null, - "taco": null, - "nachos": null, - "guacamole": null, - "russian crepes": null, - "amazing": null, - "choc chip cookie": null, - "loved": null, - "fantastic": null, - "coffee": null, - "chocolate": null, - "power hug": null, - "birthday cake": null, - "glow stick": null, - "bravo": null, - "health potion": null, - "panettone": null, - "white rose": null, - "happy father’s day": null, - "enchanted guitar": null, - "lucky airdrop box": null, - "travel with you": null, - "blooming ribbons": null, - "glowing jellyfish": null, - "dinosaur ": null, - "feather flock": null, - "watermelon love": null, - "mirror bloom": null, - "email message": null, - "galaxy": null, - "gold mine": null, - "fireworks": null, - "epic gg": null, - "travel in the us": null, - "lover’s lock": null, - "chasing the dream": null, - "champion": null, - "garland ": null, - "love drop": null, - "mystery firework": null, - "cooper flies home": null, - "star of red carpet": null, - "rabbit": null, - "star adventures": null, - "make-up box": null, - "baby dragon": null, - "pink dream": null, - "motorcycle": null, - "rhythmic bear": null, - "golden party": null, - "meteor shower": null, - "ferris wheel": null, - "gift box": null, - "flower overflow": null, - "leon the kitten": null, - "private jet": null, - "pool party": null, - "motorcycle together": null, - "mimi & fifi": null, - "flying jets": null, - "autumn farm": null, - "draco": null, - "wanda the witch": null, - "unicorn fantasy": null, - "lili the leopard": null, - "sports car": null, - "star throne": null, - "monster truck": null, - "sunset speedway": null, - "interstellar": null, - "red lightning": null, - "rosa nebula": null, - "leopard": null, - "amusement park": null, - "yacht": null, - "castle fantasy": null, - "tiktok shuttle": null, - "mystic castle": null, - "adam’s dream": null, - "phoenix": null, - "dragon flame": null, - "lion": null, - "zeus": null, - "leon and lion": null, - "seal and whale": null, - "tiktok stars": null, - "tiktok universe": null, - - "default": null - }, "default": null }, "subscribe": "/sounds/enchanted.wav", - "follow": "/sounds/bruh.mp3" + "follow": "/sounds/bruh.mp3", + "unused": { + "ice cream cone": null, + "tiktok": null, + "friendship necklace": null, + "rosa": null, + "perfume": null, + "doughnut": null, + "coral": null, + "magic rhythm": null, + "boxing gloves": null, + "duck": null, + "corgi": null, + "franktastic": null, + "gus the groundhog": null, + "henry the hedgehog": null, + "lucy the llama": null, + "sail away": null, + "superpower": null, + "elephant trunk": null, + "crystal shoe": null, + "mr. orange": null, + "fruit friends": null, + "reindeer": null, + "diva’s hat": null, + "crown": null, + "sunglasses": null, + "hanging lights": null, + "garland headpiece": null, + "cheer for you": null, + "panther paws": null, + "gamer cat": null, + "the passion rose": null, + "knight helmet": null, + "lemond buddy": null, + "cowboy hat": null, + "eye see you": null, + "confetti": null, + "mini star": null, + "paper crane": null, + "little crown": null, + "cap": null, + "like-pop": null, + "disco love": null, + "tiny diny": null, + "hi bear": null, + "fire": null, + "thumbs up": null, + "superstar": null, + "heart": null, + "lightning bolt ": null, + "cake slice": null, + "it’s corn": null, + "gg": null, + "chili": null, + "heart puff": null, + "you’re amazing": null, + "ufo landing": null, + "look! meteor shower": null, + "leon and lili": null, + "greeting card": null, + "starry night tourism": null, + "desert adventure": null, + "dreamy card": null, + "rose carriage": null, + "sweet memories": null, + "patrick's hat": null, + "hi march": null, + "lucky leprechaun": null, + "rainbow charms": null, + "aurora": null, + "birthday glasses": null, + "super cake": null, + "sam the whale": null, + "happy train": null, + "camping night": null, + "couple": null, + "falcon": null, + "beach house": null, + "rio de janeiro": null, + "rainforest": null, + "malayan tiger": null, + "gorilla": null, + "marvelous confetti": null, + "shiny air balloon": null, + "signature jet": null, + "premium shuttle": null, + "tiktok universe+": null, + "thunder falcon": null, + "fire phoenix": null, + "pegasus": null, + "star": null, + "team bracelet": null, + "cheer you up": null, + "hands up": null, + "here we go": null, + "happy party": null, + "fly love": null, + "trending figure": null, + "finger heart": null, + "celebration time": null, + "ellie the elephant": null, + "rave": null, + "spring train": null, + "old famous car": null, + "magic stage": null, + "whale diving": null, + "let us dance": null, + "crystal ball": null, + "asmr starter kit": null, + "diamond crown": null, + "drums": null, + "hot air balloon": null, + "train": null, + "beach date": null, + "love u": null, + "football": null, + "tango": null, + "swan": null, + "applause": null, + "birds": null, + "trophy": null, + "flower show": null, + "autumn leaves": null, + "money gun": null, + "sent you’re amazing": null, + "crystal heart": null, + "forever rosa": null, + "campfire": null, + "diamond ring of love": null, + "bridal veil": null, + "flower": null, + "love bomb": null, + "llama greetings": null, + "pug": null, + "husky": null, + "golden": null, + "falling for you": null, + "gold necklace": null, + "love letter": null, + "tulip box": null, + "coconut": null, + "lock and key": null, + "top live creator": null, + "cheems dog": null, + "blowing bubbles": null, + "love you": null, + "fruits hat": null, + "festa junina’s hat": null, + "kiss": null, + "mishka bear": null, + "hand hearts": null, + "game controller": null, + "play samba": null, + "hat and mustache": null, + "soccer ball": null, + "bouquet flower": null, + "headphones": null, + "asmr time ": null, + "mate tea": null, + "spinning top": null, + "taco": null, + "nachos": null, + "guacamole": null, + "russian crepes": null, + "amazing": null, + "choc chip cookie": null, + "loved": null, + "fantastic": null, + "coffee": null, + "chocolate": null, + "power hug": null, + "birthday cake": null, + "glow stick": null, + "bravo": null, + "health potion": null, + "panettone": null, + "white rose": null, + "happy father’s day": null, + "enchanted guitar": null, + "lucky airdrop box": null, + "travel with you": null, + "blooming ribbons": null, + "glowing jellyfish": null, + "dinosaur ": null, + "feather flock": null, + "watermelon love": null, + "mirror bloom": null, + "email message": null, + "galaxy": null, + "gold mine": null, + "fireworks": null, + "epic gg": null, + "travel in the us": null, + "lover’s lock": null, + "chasing the dream": null, + "champion": null, + "garland ": null, + "love drop": null, + "mystery firework": null, + "cooper flies home": null, + "star of red carpet": null, + "rabbit": null, + "star adventures": null, + "make-up box": null, + "baby dragon": null, + "pink dream": null, + "motorcycle": null, + "rhythmic bear": null, + "golden party": null, + "meteor shower": null, + "ferris wheel": null, + "gift box": null, + "flower overflow": null, + "leon the kitten": null, + "private jet": null, + "pool party": null, + "motorcycle together": null, + "mimi & fifi": null, + "flying jets": null, + "autumn farm": null, + "draco": null, + "wanda the witch": null, + "unicorn fantasy": null, + "lili the leopard": null, + "sports car": null, + "star throne": null, + "monster truck": null, + "sunset speedway": null, + "interstellar": null, + "red lightning": null, + "rosa nebula": null, + "leopard": null, + "amusement park": null, + "yacht": null, + "castle fantasy": null, + "tiktok shuttle": null, + "mystic castle": null, + "adam’s dream": null, + "phoenix": null, + "dragon flame": null, + "lion": null, + "zeus": null, + "leon and lion": null, + "seal and whale": null, + "tiktok stars": null, + "tiktok universe": null, + "default": null + } }, "enabled": { "gift": true, @@ -304,5 +280,25 @@ "follow": true }, "firstFollowOnly": true, - "volume": 0.7 -} + "volume": 0.7, + "names": [ + "yohn.john", + "aviannaav", + "a__bruna", + "babysitterhk", + "michelleshane01", + "ttk_ruivax", + "rachelthaqueen", + "chelsy_284", + "sharynjamandre", + "nazrinsalim12", + "leizy416", + "drubaby66", + "kiylajoy05", + "kanabrewski", + "virgo_tessa18", + "francisgaray8", + "fivespicykitties", + "isafox1994" + ] +} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 4f6062d..c0b7c33 100644 --- a/public/index.html +++ b/public/index.html @@ -15,11 +15,9 @@ - - + + + \ No newline at end of file diff --git a/server.js b/server.js index 1c6bcb6..c9c4587 100644 --- a/server.js +++ b/server.js @@ -6,9 +6,13 @@ const { Server } = require('socket.io'); const { TikTokConnectionWrapper, getGlobalConnectionCount } = require('./connectionWrapper'); const { clientBlocked } = require('./limiter'); //const { updateUsernames, readUsernames } = require('./tt-usernames'); +// https://www.atatus.com/blog/read-write-a-json-file-with-node-js/ +// ^^ Possible alternative use for reading / writing files const editJsonFile = require("edit-json-file"); const {google} = require('googleapis'); +//! used for finding files in the sounds folder + var fs = require('fs'); // setting up google apis @@ -80,7 +84,12 @@ io.on('connection', (socket) => { // Redirect message events tiktokConnectionWrapper.connection.on('roomUser', msg => socket.emit('roomUser', msg)); tiktokConnectionWrapper.connection.on('member', msg => socket.emit('member', msg)); - tiktokConnectionWrapper.connection.on('chat', msg => socket.emit('chat', msg)); + tiktokConnectionWrapper.connection.on('chat', (msg) => { + // lets tranalate before it even comes to the front end, + // instead of sending to front, to back, and again to the front. + // thats too many, come on now + socket.emit('chat', msg) + }); tiktokConnectionWrapper.connection.on('gift', msg => socket.emit('gift', msg)); tiktokConnectionWrapper.connection.on('social', msg => socket.emit('social', msg)); tiktokConnectionWrapper.connection.on('like', msg => socket.emit('like', msg)); @@ -91,7 +100,7 @@ io.on('connection', (socket) => { //tiktokConnectionWrapper.connection.on('emote', msg => socket.emit('emote', msg)); tiktokConnectionWrapper.connection.on('envelope', msg => socket.emit('envelope', msg)); tiktokConnectionWrapper.connection.on('subscribe', msg => socket.emit('subscribe', msg)); - tiktokConnectionWrapper.connection.on('rawData', (messageTypeName, binary) => socket.emit('rawData', messageTypeName)); + //tiktokConnectionWrapper.connection.on('rawData', (messageTypeName, binary) => socket.emit('rawData', messageTypeName)); //console.log(messageTypeName, binary); }); @@ -285,6 +294,29 @@ io.on('connection', (socket) => { r : 'done', files : sounds }); + socket.on('saveGiftSound', async (data) => { + let msg + if(data.gift == '' || data.sound == ''){ + // error + msg = 'Gift or Sound not found.' + } else { + file.set('sounds.gift.'+data.gift, data.sound) + file.save(); + msg = 'Sound had been saved for gift - '+data.gift+'.' + } + socket.emit('saveGiftSound', { + r : `` + }); + }) + socket.on('removeGiftSound', async (data) => { + file.set('sounds.gift.'+data.gift, data.sound) + file.save(); + msg = 'Gift sound had been removed for - '+data.gift+'.' + socket.emit('removeGiftSound', { + r : `` + }); + }) + socket.on('saveNote', async (data) => { let msg = '' if(data.id == 'new'){ @@ -300,14 +332,15 @@ io.on('connection', (socket) => { }); }) socket.on('addToNames', async (data) => { - let dname = data.name - //file.set('sounds.'+dname, 'somestr') - file.append('names', dname) - file.save(); - socket.emit('addToNames', { - r : 'done', - name : dname - }); + let dname = data.name, json = file.get('names') + if(json.includes(dname) == false){ + file.append('names', dname) + file.save(); + socket.emit('addToNames', { + r : 'done', + name : dname + }); + } }) socket.on('removeNames', async (data) => { let dname = data.name, list = file.get('names'), @@ -317,7 +350,7 @@ io.on('connection', (socket) => { //console.log(data) //console.log('remove - '+dname) for(i=0;i { } } //console.log(ob) - file.set('names', ob) + file.set('names', ob.sort().reverse()) file.save(); socket.emit('removeNames', { r : 'done', From 554234e75eb0e5969a5d4829ee6be8c588e66a1d Mon Sep 17 00:00:00 2001 From: John Brittain Date: Thu, 4 Apr 2024 23:23:19 -0400 Subject: [PATCH 11/35] version --- package.json | 2 +- public/app.js | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/package.json b/package.json index e4cae3e..3638915 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "yohns-tiktok-upgrade", - "version": "0.0.1", + "version": "0.2.1", "dependencies": { "dotenv": "^16.3.1", "edit-json-file": "^1.8.0", diff --git a/public/app.js b/public/app.js index deec8d7..c553451 100644 --- a/public/app.js +++ b/public/app.js @@ -305,9 +305,6 @@ let Config = { } } - - - Config.updateConfig(); class Announcement { @@ -678,7 +675,6 @@ function insertEmotes(comment, subEmotes) { subEmotes.forEach(emoteObj => { const position = emoteObj.placeInComment || 0; const emoteImageTag = `emote`; - // Insert the image tag at the specified position comment = comment.slice(0, position) + emoteImageTag + comment.slice(position); }); From f937fac90149917c85231cfd06d0fa2e7ba2a4c9 Mon Sep 17 00:00:00 2001 From: John Brittain Date: Thu, 4 Apr 2024 23:24:49 -0400 Subject: [PATCH 12/35] screenshot --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4938ed3..674e9c2 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ To run the chat reader locally, follow these steps: 1. Install [Node.js](https://nodejs.org/) on your system 2. Clone this repository or download and extract [this ZIP file](https://github.com/zerodytrash/TikTok-Chat-Reader/archive/refs/heads/main.zip) 3. Open a console/terminal in the root directory of the project -4. Enter `npm i` to install all required dependencies +4. Enter `npm i` to install all required dependencies 5. Enter `node server.js` to start the application server Now you should see the following message: `Server running! Please visit http://localhost:8091`
                                                  @@ -20,4 +20,4 @@ This will use the server backend of the [demo site](https://tiktok-chat-reader.z ## Screenshot -![TikTok LIVE Chat Reader (Demo)](https://user-images.githubusercontent.com/59258980/153956504-c585b14b-a50e-43f0-a994-64adcaface2e.png) +![Screen Shot 2023-12-19 at 07 18 11-fullpage](https://github.com/Yohn/TikTok-Chat-Reader/assets/2002591/198baef0-7ef8-4679-87ab-ccb11d8804c7) From ac0c9441e39e19acb80f11522feb7f9524101ac0 Mon Sep 17 00:00:00 2001 From: John Brittain Date: Wed, 10 Apr 2024 03:25:12 -0400 Subject: [PATCH 13/35] notes working, need to remove the delete button --- public/config.json | 331 --------------------------------------------- 1 file changed, 331 deletions(-) delete mode 100644 public/config.json diff --git a/public/config.json b/public/config.json deleted file mode 100644 index 1948e92..0000000 --- a/public/config.json +++ /dev/null @@ -1,331 +0,0 @@ -{ - "sounds": { - "gift": { - "finger heart": "/sounds/cute-level-up.mp3", - "heart me": "/sounds/bruh.mp3", - "swan": "/sounds/Hed-P.E.SwanDive.mp3", - "hat and mustache": "/sounds/Voicy_Yeeeeehaaaawwww.mp3", - "whale diving": "/sounds/Voicy_Splashwatersoundeffect.mp3", - "it’s a match!": "/sounds/Voicy_Aww.mp3", - "cuddle with me": "/sounds/Voicy_Aww.mp3", - "you’re sweet": "/sounds/Voicy_Aww.mp3", - "falling for you": "/sounds/Voicy_Aww.mp3", - "lover’s glasses": "/sounds/Voicy_Aww.mp3", - "lock and key": "/sounds/Voicy_Aww.mp3", - "forever rosa": "/sounds/Voicy_Aww.mp3", - "love you": "/sounds/Voicy_Aww.mp3", - "hand hearts": "/sounds/Voicy_Aww.mp3", - "hand heart": "/sounds/Voicy_Aww.mp3", - "hearts": "/sounds/Voicy_Aww.mp3", - "money gun": "/sounds/Voicy_ColtPewPewPewBrawlstars.mp3", - "gem gun": "/sounds/Voicy_ColtPewPewPewBrawlstars.mp3", - "train": "/sounds/Voicy_TrainHornSoundEffect.mp3", - "motorcycle": "/sounds/motor-sesi.mp3", - "default": null, - "rose": "enchanted.wav" - }, - "subscribe": "/sounds/enchanted.wav", - "follow": "/sounds/bruh.mp3", - "unused": { - "rose": null, - "heart me": null, - "it’s a match": null, - "cuddle with me": null, - "you’re sweet": null, - "lover’s glasses": null, - "hand heart": null, - "hearts": null, - "gem gun": null, - "ice cream cone": null, - "tiktok": null, - "friendship necklace": null, - "rosa": null, - "perfume": null, - "doughnut": null, - "coral": null, - "magic rhythm": null, - "boxing gloves": null, - "duck": null, - "corgi": null, - "franktastic": null, - "gus the groundhog": null, - "henry the hedgehog": null, - "lucy the llama": null, - "sail away": null, - "superpower": null, - "elephant trunk": null, - "crystal shoe": null, - "mr. orange": null, - "fruit friends": null, - "reindeer": null, - "diva’s hat": null, - "crown": null, - "sunglasses": null, - "hanging lights": null, - "garland headpiece": null, - "cheer for you": null, - "panther paws": null, - "gamer cat": null, - "the passion rose": null, - "knight helmet": null, - "lemond buddy": null, - "cowboy hat": null, - "eye see you": null, - "confetti": null, - "mini star": null, - "paper crane": null, - "little crown": null, - "cap": null, - "like-pop": null, - "disco love": null, - "tiny diny": null, - "hi bear": null, - "fire": null, - "thumbs up": null, - "superstar": null, - "heart": null, - "lightning bolt ": null, - "cake slice": null, - "it’s corn": null, - "gg": null, - "chili": null, - "heart puff": null, - "you’re amazing": null, - "ufo landing": null, - "look! meteor shower": null, - "leon and lili": null, - "greeting card": null, - "starry night tourism": null, - "desert adventure": null, - "dreamy card": null, - "rose carriage": null, - "sweet memories": null, - "patrick's hat": null, - "hi march": null, - "lucky leprechaun": null, - "rainbow charms": null, - "aurora": null, - "birthday glasses": null, - "super cake": null, - "sam the whale": null, - "happy train": null, - "camping night": null, - "couple": null, - "falcon": null, - "beach house": null, - "rio de janeiro": null, - "rainforest": null, - "malayan tiger": null, - "gorilla": null, - "marvelous confetti": null, - "shiny air balloon": null, - "signature jet": null, - "premium shuttle": null, - "tiktok universe+": null, - "thunder falcon": null, - "fire phoenix": null, - "pegasus": null, - "star": null, - "team bracelet": null, - "cheer you up": null, - "hands up": null, - "here we go": null, - "happy party": null, - "fly love": null, - "trending figure": null, - "finger heart": null, - "celebration time": null, - "ellie the elephant": null, - "rave": null, - "spring train": null, - "old famous car": null, - "magic stage": null, - "whale diving": null, - "let us dance": null, - "crystal ball": null, - "asmr starter kit": null, - "diamond crown": null, - "drums": null, - "hot air balloon": null, - "train": null, - "beach date": null, - "love u": null, - "football": null, - "tango": null, - "swan": null, - "applause": null, - "birds": null, - "trophy": null, - "flower show": null, - "autumn leaves": null, - "money gun": null, - "sent you’re amazing": null, - "crystal heart": null, - "forever rosa": null, - "campfire": null, - "diamond ring of love": null, - "bridal veil": null, - "flower": null, - "love bomb": null, - "llama greetings": null, - "pug": null, - "husky": null, - "golden": null, - "falling for you": null, - "gold necklace": null, - "love letter": null, - "tulip box": null, - "coconut": null, - "lock and key": null, - "top live creator": null, - "cheems dog": null, - "blowing bubbles": null, - "love you": null, - "fruits hat": null, - "festa junina’s hat": null, - "kiss": null, - "mishka bear": null, - "hand hearts": null, - "game controller": null, - "play samba": null, - "hat and mustache": null, - "soccer ball": null, - "bouquet flower": null, - "headphones": null, - "asmr time ": null, - "mate tea": null, - "spinning top": null, - "taco": null, - "nachos": null, - "guacamole": null, - "russian crepes": null, - "amazing": null, - "choc chip cookie": null, - "loved": null, - "fantastic": null, - "coffee": null, - "chocolate": null, - "power hug": null, - "birthday cake": null, - "glow stick": null, - "bravo": null, - "health potion": null, - "panettone": null, - "white rose": null, - "happy father’s day": null, - "enchanted guitar": null, - "lucky airdrop box": null, - "travel with you": null, - "blooming ribbons": null, - "glowing jellyfish": null, - "dinosaur ": null, - "feather flock": null, - "watermelon love": null, - "mirror bloom": null, - "email message": null, - "galaxy": null, - "gold mine": null, - "fireworks": null, - "epic gg": null, - "travel in the us": null, - "lover’s lock": null, - "chasing the dream": null, - "champion": null, - "garland ": null, - "love drop": null, - "mystery firework": null, - "cooper flies home": null, - "star of red carpet": null, - "rabbit": null, - "star adventures": null, - "make-up box": null, - "baby dragon": null, - "pink dream": null, - "motorcycle": null, - "rhythmic bear": null, - "golden party": null, - "meteor shower": null, - "ferris wheel": null, - "gift box": null, - "flower overflow": null, - "leon the kitten": null, - "private jet": null, - "pool party": null, - "motorcycle together": null, - "mimi & fifi": null, - "flying jets": null, - "autumn farm": null, - "draco": null, - "wanda the witch": null, - "unicorn fantasy": null, - "lili the leopard": null, - "sports car": null, - "star throne": null, - "monster truck": null, - "sunset speedway": null, - "interstellar": null, - "red lightning": null, - "rosa nebula": null, - "leopard": null, - "amusement park": null, - "yacht": null, - "castle fantasy": null, - "tiktok shuttle": null, - "mystic castle": null, - "adam’s dream": null, - "phoenix": null, - "dragon flame": null, - "lion": null, - "zeus": null, - "leon and lion": null, - "seal and whale": null, - "tiktok stars": null, - "tiktok universe": null - } - }, - "enabled": { - "gift": true, - "subscribe": false, - "follow": true - }, - "firstFollowOnly": true, - "volume": 0.7, - "notes": { - "Invite to My Live": "dance hall ray ray\nspade \nglowrosen\nhigh class\ndmf savage\nisa\njimmy / rowdy\ncrunchy", - "Upcoming PKs": "Too freaking many", - "testing": "what up testing", - "hello": "again 1 yeah!", - "why": "whod this happen?", - "ok": "what the hell yo!!\n\nLets go!\nwhere we going?" - }, - "names": [ - "yohn.john", - "a__bruna", - "aviannaav", - "babysitterhk", - "michelleshane01", - "ttk_ruivax", - "chelsy_284", - "sharynjamandre", - "nazrinsalim12", - "leizy416", - "drubaby66", - "kliyjoy22", - "kanabrewski", - "virgo_tessa18", - "francisgaray8", - "fivespicykitties", - "isafox1994", - "bryon518", - "biarciane", - "rachelthaqueen", - "realrecognizereal1086", - "lya.lya16", - "lukethegreatt", - "boomingheart", - "boss.tambii", - "brown_sassy_rica", - "its_meaiai24", - "catheryn.j02" - ] -} \ No newline at end of file From cf48568eeffbc63f746256df1bd20906c98f8b53 Mon Sep 17 00:00:00 2001 From: John Brittain Date: Wed, 10 Apr 2024 03:28:09 -0400 Subject: [PATCH 14/35] fixed notes --- .editorconfig | 13 + .gitignore | 5 +- public/app.js | 2629 +++++++++++++++++------------------- public/config.example.json | 313 +++++ public/index.html | 821 ++++++----- public/style.css | 1 + server.js | 73 +- 7 files changed, 2118 insertions(+), 1737 deletions(-) create mode 100644 .editorconfig create mode 100644 public/config.example.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..13dabfb --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = tab +indent_size = 2 +insert_final_newline = false +trim_trailing_whitespace = true + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/.gitignore b/.gitignore index 413bd29..351148f 100644 --- a/.gitignore +++ b/.gitignore @@ -109,4 +109,7 @@ dist # TernJS port file .tern-port /public/tt-usernames.json -/tt-usernames.js \ No newline at end of file +/tt-usernames.js +/public/config.json +public/config.json +**/config.json \ No newline at end of file diff --git a/public/app.js b/public/app.js index c553451..3d57872 100644 --- a/public/app.js +++ b/public/app.js @@ -25,1526 +25,1419 @@ let voiceComments = 1; let ttn = []; String.prototype.removeLast = function(n) { - var string = this.split('') - string.length = string.length - n - return string.join('') + var string = this.split('') + string.length = string.length - n + return string.join('') } let playingSound = false, soundQue = [] function addToQue(url){ - if(playingSound == false){ - playingSound = true - } else { + if(playingSound == false){ + playingSound = true + } else { - } + } } function hasClass(elem, className) { - return elem.classList.contains(className); + return elem.classList.contains(className); } function calcDate(date1, date2) { - /* - * calcDate() : Calculates the difference between two dates - * @date1 : "First Date in the format MM-DD-YYYY" - * @date2 : "Second Date in the format MM-DD-YYYY" - * return : Array - */ - - //new date instance - const dt_date1 = new Date(date1); - const dt_date2 = new Date(date2); - - //Get the Timestamp - const date1_time_stamp = dt_date1.getTime(); - const date2_time_stamp = dt_date2.getTime(); - - let calc; - - //Check which timestamp is greater - if (date1_time_stamp > date2_time_stamp) { - calc = new Date(date1_time_stamp - date2_time_stamp); - } else { - calc = new Date(date2_time_stamp - date1_time_stamp); - } - //Retrieve the date, month and year - const calcFormatTmp = calc.getDate() + '-' + (calc.getMonth() + 1) + '-' + calc.getFullYear(); - //Convert to an array and store - const calcFormat = calcFormatTmp.split("-"); - //Subtract each member of our array from the default date - const days_passed = Number(Math.abs(calcFormat[0]) - 1); - const months_passed = Number(Math.abs(calcFormat[1]) - 1); - const years_passed = Number(Math.abs(calcFormat[2]) - 1970); - - //Set up custom text - const yrsTxt = ["year", "years"]; - const mnthsTxt = ["month", "months"]; - const daysTxt = ["day", "days"]; - - //Convert to days and sum together - const total_days = (years_passed * 365) + (months_passed * 30.417) + days_passed; - const total_secs = total_days * 24 * 60 * 60; - const total_mins = total_days * 24 * 60; - const total_hours = total_days * 24; - const total_weeks = ( total_days >= 7 ) ? total_days / 7 : 0; - - //display result with custom text - const result = ((years_passed == 1) ? years_passed + ' ' + yrsTxt[0] + ' ' : (years_passed > 1) ? - years_passed + ' ' + yrsTxt[1] + ' ' : '') + - ((months_passed == 1) ? months_passed + ' ' + mnthsTxt[0] : (months_passed > 1) ? - months_passed + ' ' + mnthsTxt[1] + ' ' : '') + - ((days_passed == 1) ? days_passed + ' ' + daysTxt[0] : (days_passed > 1) ? - days_passed + ' ' + daysTxt[1] : ''); - - //return the result - return { - "total_days": Math.round(total_days), - "total_weeks": Math.round(total_weeks), - "total_hours" : Math.round(total_hours), - "total_minutes" : Math.round(total_mins), - "total_seconds": Math.round(total_secs), - "result": result.trim() - } + /* + * calcDate() : Calculates the difference between two dates + * @date1 : "First Date in the format MM-DD-YYYY" + * @date2 : "Second Date in the format MM-DD-YYYY" + * return : Array + */ + + //new date instance + const dt_date1 = new Date(date1); + const dt_date2 = new Date(date2); + + //Get the Timestamp + const date1_time_stamp = dt_date1.getTime(); + const date2_time_stamp = dt_date2.getTime(); + + let calc; + + //Check which timestamp is greater + if (date1_time_stamp > date2_time_stamp) { + calc = new Date(date1_time_stamp - date2_time_stamp); + } else { + calc = new Date(date2_time_stamp - date1_time_stamp); + } + //Retrieve the date, month and year + const calcFormatTmp = calc.getDate() + '-' + (calc.getMonth() + 1) + '-' + calc.getFullYear(); + //Convert to an array and store + const calcFormat = calcFormatTmp.split("-"); + //Subtract each member of our array from the default date + const days_passed = Number(Math.abs(calcFormat[0]) - 1); + const months_passed = Number(Math.abs(calcFormat[1]) - 1); + const years_passed = Number(Math.abs(calcFormat[2]) - 1970); + + //Set up custom text + const yrsTxt = ["year", "years"]; + const mnthsTxt = ["month", "months"]; + const daysTxt = ["day", "days"]; + + //Convert to days and sum together + const total_days = (years_passed * 365) + (months_passed * 30.417) + days_passed; + const total_secs = total_days * 24 * 60 * 60; + const total_mins = total_days * 24 * 60; + const total_hours = total_days * 24; + const total_weeks = ( total_days >= 7 ) ? total_days / 7 : 0; + + //display result with custom text + const result = ((years_passed == 1) ? years_passed + ' ' + yrsTxt[0] + ' ' : (years_passed > 1) ? + years_passed + ' ' + yrsTxt[1] + ' ' : '') + + ((months_passed == 1) ? months_passed + ' ' + mnthsTxt[0] : (months_passed > 1) ? + months_passed + ' ' + mnthsTxt[1] + ' ' : '') + + ((days_passed == 1) ? days_passed + ' ' + daysTxt[0] : (days_passed > 1) ? + days_passed + ' ' + daysTxt[1] : ''); + + //return the result + return { + "total_days": Math.round(total_days), + "total_weeks": Math.round(total_weeks), + "total_hours" : Math.round(total_hours), + "total_minutes" : Math.round(total_mins), + "total_seconds": Math.round(total_secs), + "result": result.trim() + } } function generateOverlay() { - let username = $('#uniqueIdInput').val(); - let url = `/obs.html?username=${username}&showLikes=1&showChats=1&showGifts=1&showFollows=1&showJoins=1&bgColor=rgb(24,23,28)&fontColor=rgb(227,229,235)&fontSize=1.3em`; - - if(username) { - window.open(url, '_blank'); - } else { - alert("Enter username"); - } + let username = $('#uniqueIdInput').val(); + let url = `/obs.html?username=${username}&showLikes=1&showChats=1&showGifts=1&showFollows=1&showJoins=1&bgColor=rgb(24,23,28)&fontColor=rgb(227,229,235)&fontSize=1.3em`; + + if(username) { + window.open(url, '_blank'); + } else { + alert("Enter username"); + } } // These settings are defined by obs.html if (!window.settings) window.settings = {}; function sendToDb(table, state, data){ - /*let letData = { - table: table, - state: state, - room: { - roomId: roomId, - uniqueId: uniqueId, - roomDisplayId: roomDisplayId, - roomDisplayNickname - }, - "data": data - } - //letData.table = table - //letData.data = data - $.ajax({ - type: 'POST', - url: 'https://somewebsites/api/in.php', - crossDomain: true, - data: letData, - dataType: 'text', //'json', - success: function(responseData, textStatus, jqXHR) { - //var value = responseData.someKey; - //console.log(responseData) - //console.log('/ response') - //console.log(textStatus) - //console.log('/ text') - //console.log(jqXHR) - //console.log('/ XHR') - }, - error: function (responseData, textStatus, errorThrown) { - console.log('POST failed.'); - console.log(responseData) - console.log('/ response') - //console.log(textStatus) - //console.log('/ text') - //console.log(jqXHR) - //console.log('/ XHR') - } - });*/ + /*let letData = { + table: table, + state: state, + room: { + roomId: roomId, + uniqueId: uniqueId, + roomDisplayId: roomDisplayId, + roomDisplayNickname + }, + "data": data + } + //letData.table = table + //letData.data = data + $.ajax({ + type: 'POST', + url: 'https://somewebsites/api/in.php', + crossDomain: true, + data: letData, + dataType: 'text', //'json', + success: function(responseData, textStatus, jqXHR) { + //var value = responseData.someKey; + //console.log(responseData) + //console.log('/ response') + //console.log(textStatus) + //console.log('/ text') + //console.log(jqXHR) + //console.log('/ XHR') + }, + error: function (responseData, textStatus, errorThrown) { + console.log('POST failed.'); + console.log(responseData) + console.log('/ response') + //console.log(textStatus) + //console.log('/ text') + //console.log(jqXHR) + //console.log('/ XHR') + } + });*/ } function timeConverter(UNIX_timestamp){ - var a = new Date(UNIX_timestamp * 1000); - - var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']; - const nthNumber = (number) => { - if (number > 3 && number < 21) return "th"; - switch (number % 10) { - case 1: - return "st"; - case 2: - return "nd"; - case 3: - return "rd"; - default: - return "th"; - } - }; - var year = a.getFullYear(); - var month = months[a.getMonth()]; - var date = a.getDate(); - var hour = a.getHours(); - var min = a.getMinutes(); - //var sec = a.getSeconds(); - var add0 = min < 10 ? 0 : '' - var time = month+' '+date+nthNumber(date)+' '+year+' '+hour+':'+add0+min; // + ':' + sec ; - return time; + var a = new Date(UNIX_timestamp * 1000); + + var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']; + const nthNumber = (number) => { + if (number > 3 && number < 21) return "th"; + switch (number % 10) { + case 1: + return "st"; + case 2: + return "nd"; + case 3: + return "rd"; + default: + return "th"; + } + }; + var year = a.getFullYear(); + var month = months[a.getMonth()]; + var date = a.getDate(); + var hour = a.getHours(); + var min = a.getMinutes(); + //var sec = a.getSeconds(); + var add0 = min < 10 ? 0 : '' + var time = month+' '+date+nthNumber(date)+' '+year+' '+hour+':'+add0+min; // + ':' + sec ; + return time; } function loadNote(title){ // , note - let box = Array.isArray(Config.notes[title]) ? Config.notes[title][0] : Config.notes[title] - $('#note-id').val(title) - $('#new-note-name').val(title) - //$('#new-note-info').val(note.replace("
                                                  ", "\n")) - $('#new-note-info').val(box.replace("
                                                  ", "\n")) - $('#new-note-form').collapse('show') + let box = Array.isArray(Config.notes[title]) ? Config.notes[title][0] : Config.notes[title] + for(const note in Config['notes']){ + if(Config.notes[note].name == title){ + $('#note-id').val(title) + $('#new-note-name').val(title) + $('#new-note-info').val(Config.notes[note].note.replace("
                                                  ", "\n")) + $('#new-note-form').collapse('show') + //$('#new-note').slideUp('fast') + $('#delete-note').slideUp('fast', function(){ + $('#delete-note').attr('data-note-title', title) + .removeClass('d-none').slideDown('fast') + }) + } + } } function removeGift(th){ - let t = $(th), gift = t.data('name') - t.closest('li').slideUp() - socket.emit('removeGiftSound', { - gift : gift - }) + let t = $(th), gift = t.data('name') + t.closest('li').slideUp() + socket.emit('removeGiftSound', { + gift : gift + }) } function playSound(th){ - let t = $(th), url = t.data('url') - , announcement = new Announcement(url); - t.find('.s-on').removeClass('d-none') - t.find('.s-off').addClass('d-none') - announcement.sound(); -} -let Config = { - buildNames(json){ - let datalist = document.getElementById('datalistOptions'); - datalist.innerHTML = '' - //let nameList = document.getElementById('name-list'); - let html = '', gsound = '', notes = '' - for(const item of json['names']){ - datalist.appendChild(new Option(item,item)); - html += `
                                                • - ${item} - 🗑️ -
                                                • ` - } - $('#name-list').html(html) - }, - buildNotes(json){ - let notes = '' - for(const note in json['notes']){ - console.log(note) - notes += `
                                                  - ${$('#note-list').html()}` - // , \''+no2.replace("
                                                  ", "\n")+'\' - ) - } else { - //$(`#note-list button[onclick="loadNote('${na2}')]`) - } - $('#new-note-form').collapse('hide') - $('#note-id').val('new') - $('#new-note-name').val('') - $('#new-note-info').val('') - Config.updateConfig(); - //if(Array.isArray(json['notes'][note])){ - // box = json['notes'][note][0].replace("'", "\'") - //} else { - // box = json['notes'][note].replace("'", "\'") - //} - } - }) - $('#add-username').on('click', function(){ - let name = $('#new-username'), uname = name.val() - if(uname == ''){ - // make error - name.addClass('is-invalid') - } else { - if(Config.names.includes(uname)){ - - } else { - name.removeClass('is-invalid') - socket.emit('addToNames', { - name : uname - }) - } - } - }) - $('#vc-on').on('click', function(){ - voiceComments = 2 - $('#vc-on').addClass('d-none') - $('#vc-off').removeClass('d-none') - }) - $('#vc-off').on('click', function(){ - voiceComments = 1 - $('#vc-off').addClass('d-none') - $('#vc-on').removeClass('d-none') - }) - $('#s-on').on('click', function(){ - playSounds = 2 - $('#s-on').addClass('d-none') - $('#s-off').removeClass('d-none') - }) - $('#s-off').on('click', function(){ - playSounds = 1 - $('#s-off').addClass('d-none') - $('#s-on').removeClass('d-none') - }) - $('#g-on').on('click', function(){ - saveGifts = 2 - $('#g-on').addClass('d-none') - $('#g-off').removeClass('d-none') - }) - $('#g-off').on('click', function(){ - saveGifts = 1 - $('#g-off').addClass('d-none') - $('#g-on').removeClass('d-none') - }) - $('#ch').on('click', function(){ - - socket.emit('addToNames', { - name : 'another name' - }) - console.log('playSounds = '+playSounds) - console.log('saveGifts = '+saveGifts) - console.log('------------') - }) - $('#userSignUpLink').on('click', function(){ - bootstrap.showAlert({title: "Sign Up Closed", body: "During testing phases, our sign up process will be closed. If you would like to test some new features, please contact Yohn."}) - }) - - $('#userLogin').on('click', function(){ - userCog.find('.switch-toggle').toggleClass('d-none') - socket.emit('userLogin', { - email : $('#userEmail').val(), - pass : $('#userPassword').val() - }) - }) - - $('#copy-table').on('click', function(){ - //console.log('copy btn clicked') - let gt = $('#gifter-table') - gt.find('save').removeClass('d-none') - let text = gt.html(), textarea = document.getElementById('hidden') - textarea.value = text; //.split(" ").join(','); - - //console.log('copy') - textarea.select(); - textarea.setSelectionRange(0, textarea.value.length) - navigator.clipboard.writeText(textarea.value); - textarea.setSelectionRange(0,0) - }) - $('#connectButton').click(connect); - $('#uniqueIdInput').on('keyup', function (e) { - if (e.key === 'Enter') { - connect(); - } - }); - - if (window.settings.username) connect(); - let pops = { - sanitize: false, - html: true, - trigger: 'focus' - }; - let chatcont = $('#chatcontainer') - $('#add-row').on('click', function(){ - let row = $('#the-row').html() - chatcont.prepend(row) - chatcont.find('li[data-bs-toggle="popover"]:first').popover(pops) - }) - $('[data-bs-toggle="popover"]').popover(pops); -}) function connect() { - let uniqueId = window.settings.username || $('#uniqueIdInput').val(); - - if(!Config.names.includes(uniqueId)){ - socket.emit('addToNames', { - name : uniqueId - }) - } - - if (uniqueId !== '') { - $('#stateText').text('Connecting...'); - connection.connect(uniqueId, { - enableExtendedGiftInfo: true - }).then(state => { - //$('#stateText').text(`Connected to roomId ${state.roomId}`); - console.log(' -- state --'); - console.log(state) - console.log(' -- /state --'); - //Connected to roomId ${state.roomId} - roomId = state.roomId - // for sounds - - display_start = timeConverter(state.roomInfo.create_time) - $('#HostInfo').html(` -
                                                  -
                                                  -
                                                  - ${state.roomInfo.owner.nickname} -
                                                  - -
                                                  - @${state.roomInfo.owner.display_id} -
                                                  - Started: ${display_start} -
                                                  -
                                                  -
                                                  -
                                                  - ${state.roomInfo.owner.bio_description.replace("\n", "
                                                  ")} -
                                                  -
                                                  -
                                                  `); - $('#stateText').html('

                                                  Connected

                                                  '); - roomDisplayId = state.roomInfo.owner.display_id; - roomDisplayNickname = state.roomInfo.owner.nickname; - roomStart = state.roomInfo.create_time - - document.title = roomDisplayId+' - Yohns TikTok Live Chat Analytics Demo Beta 3'; - - let all_fans = state.roomInfo.top_fans - , total_fans = all_fans.length - , fan_tr = ''; - if(total_fans > 0){ - for(var i=0;i -
                                                • - top gifters pic - ${state.roomInfo.top_fans[i].user.nickname} - (${tick} coins) -
                                                • `; - //fan_tr += 'top gifters pic'+state.roomInfo.top_fans[i].user.nickname+''+state.roomInfo.top_fans[i].fan_ticket+' coins'; - } - $(fan_tr).insertAfter("#topGiftersDivider") - //document.getElementById('topGiftersDivider').innerHTML = fan_tr - } - // reset stats - viewerCount = 0; - likeCount = 0; - diamondsCount = 0; - updateRoomStats(); - - let g_length = state.availableGifts.length, ii, allGifts = [], html = '' - , giftDrop = ''; - for(ii=0;ii' - +state.availableGifts[ii].name+' ('+state.availableGifts[ii].diamond_count+') coins' - +'' - } - console.log(allGifts) - $('#group-gift').html(giftDrop) - $('#save-gift-sound').attr('disabled', false) - //sendToDb('gifts', 'check', allGifts) - - if(roomDisplayId in usernames){} else { - usernames[roomDisplayId] = { - userId : state.roomInfo.owner.id_str, - uniqueId : roomDisplayId, - nickname : roomDisplayNickname, - profilePictureUrl : state.roomInfo.owner.profilePictureUrl - } - userIds[state.roomInfo.owner.id_str] = { - userId : state.roomInfo.owner.id_str, - uniqueId : roomDisplayId, - nickname : roomDisplayNickname, - profilePictureUrl : state.roomInfo.owner.profilePictureUrl - } - } - - }).catch(errorMessage => { - $('#stateText').text(errorMessage); - - // schedule next try if obs username set - if (window.settings.username) { - setTimeout(() => { - connect(window.settings.username); - }, 30000); - } - }) - } else { - alert('no username entered'); - } + let uniqueId = window.settings.username || $('#uniqueIdInput').val(); + + if(!Config.names.includes(uniqueId)){ + socket.emit('addToNames', { + name : uniqueId + }) + } + + if (uniqueId !== '') { + $('#stateText').text('Connecting...'); + connection.connect(uniqueId, { + enableExtendedGiftInfo: true + }).then(state => { + //$('#stateText').text(`Connected to roomId ${state.roomId}`); + console.log(' -- state --'); + console.log(state) + console.log(' -- /state --'); + //Connected to roomId ${state.roomId} + roomId = state.roomId + // for sounds + + display_start = timeConverter(state.roomInfo.create_time) + $('#HostInfo').html(` +
                                                  +
                                                  +
                                                  + ${state.roomInfo.owner.nickname} +
                                                  + +
                                                  + @${state.roomInfo.owner.display_id} +
                                                  + Started: ${display_start} +
                                                  +
                                                  +
                                                  +
                                                  + ${state.roomInfo.owner.bio_description.replace("\n", "
                                                  ")} +
                                                  +
                                                  +
                                                  `); + $('#stateText').html('

                                                  Connected

                                                  '); + roomDisplayId = state.roomInfo.owner.display_id; + roomDisplayNickname = state.roomInfo.owner.nickname; + roomStart = state.roomInfo.create_time + + document.title = roomDisplayId+' - Yohns TikTok Live Chat Analytics Demo Beta 3'; + + let all_fans = state.roomInfo.top_fans + , total_fans = all_fans.length + , fan_tr = ''; + if(total_fans > 0){ + for(var i=0;i +
                                                • + top gifters pic + ${state.roomInfo.top_fans[i].user.nickname} + (${tick} coins) +
                                                • `; + //fan_tr += 'top gifters pic'+state.roomInfo.top_fans[i].user.nickname+''+state.roomInfo.top_fans[i].fan_ticket+' coins'; + } + $(fan_tr).insertAfter("#topGiftersDivider") + //document.getElementById('topGiftersDivider').innerHTML = fan_tr + } + // reset stats + viewerCount = 0; + likeCount = 0; + diamondsCount = 0; + updateRoomStats(); + + let g_length = state.availableGifts.length, ii, allGifts = [], html = '' + , giftDrop = ''; + for(ii=0;ii' + +state.availableGifts[ii].name+' ('+state.availableGifts[ii].diamond_count+') coins' + +'' + } + console.log(allGifts) + $('#group-gift').html(giftDrop) + $('#save-gift-sound').attr('disabled', false) + //sendToDb('gifts', 'check', allGifts) + + if(roomDisplayId in usernames){} else { + usernames[roomDisplayId] = { + userId : state.roomInfo.owner.id_str, + uniqueId : roomDisplayId, + nickname : roomDisplayNickname, + profilePictureUrl : state.roomInfo.owner.profilePictureUrl + } + userIds[state.roomInfo.owner.id_str] = { + userId : state.roomInfo.owner.id_str, + uniqueId : roomDisplayId, + nickname : roomDisplayNickname, + profilePictureUrl : state.roomInfo.owner.profilePictureUrl + } + } + + }).catch(errorMessage => { + $('#stateText').text(errorMessage); + + // schedule next try if obs username set + if (window.settings.username) { + setTimeout(() => { + connect(window.settings.username); + }, 30000); + } + }) + } else { + alert('no username entered'); + } } // Prevent Cross site scripting (XSS) function sanitize(text) { - return text ? text.replace(/ - - - - - - -
                                                  - `) - /* - Viewers: ${viewerCount.toLocaleString()} - Likes: ${likeCount.toLocaleString()} - Earned Diamonds: ${diamondsCount.toLocaleString()} */ + $('#viewerCountStats').val(parseInt(viewerCount).toLocaleString('en')); + $('#likeCountStats').val(parseInt(likeCount).toLocaleString('en')); + $('#diamondsCountStats').val(parseInt(diamondsCount).toLocaleString('en')); } function generateUsernameLink(data) { - //console.log('---') - //console.log(data) - //console.log('---') - return `${data.nickname}`; /*`; */ + return `${data.nickname}`; /*`; */ } function isPendingStreak(data) { - return data.giftType === 1 && !data.repeatEnd; + return data.giftType === 1 && !data.repeatEnd; } /** * Add a new message to the chat container */ function insertEmotes(comment, subEmotes) { - // Sort emotes by placeInComment, in descending order - subEmotes.sort((a, b) => (b.placeInComment || 0) - (a.placeInComment || 0)); - - // Loop through the emotes and splice them into the comment - subEmotes.forEach(emoteObj => { - const position = emoteObj.placeInComment || 0; - const emoteImageTag = `emote`; - // Insert the image tag at the specified position - comment = comment.slice(0, position) + emoteImageTag + comment.slice(position); - }); - return comment; + // Sort emotes by placeInComment, in descending order + subEmotes.sort((a, b) => (b.placeInComment || 0) - (a.placeInComment || 0)); + + // Loop through the emotes and splice them into the comment + subEmotes.forEach(emoteObj => { + const position = emoteObj.placeInComment || 0; + const emoteImageTag = `emote`; + // Insert the image tag at the specified position + comment = comment.slice(0, position) + emoteImageTag + comment.slice(position); + }); + return comment; } const utterance = new SpeechSynthesisUtterance() let currentCharacter utterance.addEventListener('boundary', e => { - currentCharacter = e.charIndex + currentCharacter = e.charIndex }) function playText(text) { - if (speechSynthesis.paused && speechSynthesis.speaking) { - return speechSynthesis.resume() - } - if (speechSynthesis.speaking) return - utterance.text = text - utterance.rate = 1 //speedInput.value || 1 - //textInput.disabled = true - speechSynthesis.speak(utterance) + if (speechSynthesis.paused && speechSynthesis.speaking) { + return speechSynthesis.resume() + } + if (speechSynthesis.speaking) return + utterance.text = text + utterance.rate = 1 //speedInput.value || 1 + //textInput.disabled = true + speechSynthesis.speak(utterance) } function addChatItem(color, data, text, cont) { - let container = location.href.includes('obs.html') ? $('.eventcontainer') : $(cont); - //🚔 👮 - let nickname, badgeLength = data.userBadges.length, afterName = '', b4Name = ''; - if(badgeLength > 0){ - for(let i = 0;i'; - } else if(data.userBadges[i].name == 'Moderator'){ - afterName += '👮'; - } else if(data.userBadges[i].badgeSceneType == 8){ - // gifter level - b4Name += '💎 '+data.userBadges[i].level+'' - } else if(data.userBadges[i].badgeSceneType == 10){ - // team level - b4Name += '💗 '+data.userBadges[i].level+'' - } else { - - } - } - } - nickname = data.nickname.replace("'", "\\'") - let isFoll = '', followInfo - if(data && typeof data === 'object' && data.followInfo){ - isFoll = data.followInfo.followStatus == 2 ? 'Friends w/ Host' - : data.followInfo.followStatus == 1 ? 'Following Host' : 'Not Following Host'; - followInfo = `
                                                  - ${data.followInfo.followerCount} Followers - ${data.followInfo.followingCount} Following -
                                                  `; - } - container.prepend(` -
                                                • @${data.uniqueId}
                                                  -
                                                  - ${isFoll} -
                                                  -
                                                • -
                                                  -
                                                  - ${followInfo} - View TikTok -
                                                  '> -
                                                  -
                                                  - -
                                                  -
                                                  - - ${b4Name}${generateUsernameLink(data)}${afterName}: - ${text} - -
                                                  -
                                                  - `); - //

                                                  ${data.userDetails.bioDescription.replaceAll("'", "'")}

                                                  - if(voiceComments == 1){ - playText(text) - } - container.find('li[data-bs-toggle="popover"]:first').popover({ + let container = location.href.includes('obs.html') ? $('.eventcontainer') : $(cont); + //🚔 👮 + let nickname, badgeLength = data.userBadges.length, afterName = '', b4Name = ''; + if(badgeLength > 0){ + for(let i = 0;i'; + } else if(data.userBadges[i].name == 'Moderator'){ + afterName += '👮'; + } else if(data.userBadges[i].badgeSceneType == 8){ + // gifter level + b4Name += '💎 '+data.userBadges[i].level+'' + } else if(data.userBadges[i].badgeSceneType == 10){ + // team level + b4Name += '💗 '+data.userBadges[i].level+'' + } else { + + } + } + } + nickname = data.nickname.replace("'", "\\'") + let isFoll = '', followInfo + if(data && typeof data === 'object' && data.followInfo){ + isFoll = data.followInfo.followStatus == 2 ? 'Friends w/ Host' + : data.followInfo.followStatus == 1 ? 'Following Host' : 'Not Following Host'; + followInfo = `
                                                  + ${data.followInfo.followerCount} Followers + ${data.followInfo.followingCount} Following +
                                                  `; + } + container.prepend(` +
                                                • @${data.uniqueId}
                                                  +
                                                  + ${isFoll} +
                                                  +
                                                • +
                                                  +
                                                  + ${followInfo} + View TikTok +
                                                  '> +
                                                  +
                                                  + +
                                                  +
                                                  + + ${b4Name}${generateUsernameLink(data)}${afterName}: + ${text} + +
                                                  +
                                                  + `); + //

                                                  ${data.userDetails.bioDescription.replaceAll("'", "'")}

                                                  + if(voiceComments == 1){ + playText(text) + } + container.find('li[data-bs-toggle="popover"]:first').popover({ sanitize: false, html: true, - customClass: 'user-pop', - //trigger: 'click', - //delay: {"show": 200, "hide": 500} + customClass: 'user-pop', + //trigger: 'click', + //delay: {"show": 200, "hide": 500} }).on('show.bs.popover', () => { - $('li[data-bs-toggle="popover"]').not($(this)).popover('hide'); - setTimeout(function(){ - $('li[data-bs-toggle="popover"]').popover('hide'); - },10000) - }) - container.find('[data-bs-toggle="tooltip"]:first').tooltip() - //new bootstrap.Tooltip(this) - //container.stop(); - //container.animate({ - // scrollTop: container[0].scrollHeight - //}, 400); - if(data.uniqueId in usernames){} else { - //let tempuname = {}; - usernames[data.uniqueId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - userIds[data.userId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - } + $('li[data-bs-toggle="popover"]').not($(this)).popover('hide'); + setTimeout(function(){ + $('li[data-bs-toggle="popover"]').popover('hide'); + },10000) + }) + container.find('[data-bs-toggle="tooltip"]:first').tooltip() + //new bootstrap.Tooltip(this) + //container.stop(); + //container.animate({ + // scrollTop: container[0].scrollHeight + //}, 400); + if(data.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[data.uniqueId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + userIds[data.userId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + } } function addShareItem(color, data, text, cont) { - let container = $('.sharecontainer'), sans = sanitize(text); - container.prepend(`
                                                • -
                                                  - - - ${generateUsernameLink(data)}: - ${sans} - -
                                                  -
                                                • `); - if(data.uniqueId in usernames){} else { - //let tempuname = {}; - usernames[data.uniqueId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - userIds[data.userId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - } - sendToDb('share', 'shared', { - timestamp: data.timestamp, - sharer: userIds[data.userId], - count: sans - }) + let container = $('.sharecontainer'), sans = sanitize(text); + container.prepend(`
                                                • +
                                                  + + + ${generateUsernameLink(data)}: + ${sans} + +
                                                  +
                                                • `); + if(data.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[data.uniqueId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + userIds[data.userId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + } + sendToDb('share', 'shared', { + timestamp: data.timestamp, + sharer: userIds[data.userId], + count: sans + }) } /** * Add a new gift to the gift container */ function addGiftItem(data) { - let container = location.href.includes('obs.html') ? $('.eventcontainer') : $('.giftcontainer'); - if(data.uniqueId in usernames){} else { - //let tempuname = {}; - usernames[data.uniqueId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - userIds[data.userId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - } - let streakId = data.uniqueId.toString() + '_' + data.giftId; - let isPending = isPendingStreak(data) - let diamonds = data.diamondCount * data.repeatCount - let diamondsLocal = parseInt(data.diamondCount * data.repeatCount).toLocaleString() - - /*test */ - let giftFor = '', tapName = ''; - if(data.receiverUserId in userIds){ - giftFor = 'to '+generateUsernameLink(userIds[data.receiverUserId]); - } - - let badgeLength = data.userBadges.length - let afterName = ''; - let b4Name = ''; - if(badgeLength > 0){ - for(let i = 0;i'; - } else if(data.userBadges[i].name == 'Moderator'){ - afterName += '👮'; - } else if(data.userBadges[i].badgeSceneType == 8){ - // gifter level - b4Name += '💎 '+data.userBadges[i].level+'' - } else if(data.userBadges[i].badgeSceneType == 10){ - // team level - b4Name += '💗 '+data.userBadges[i].level+'' - } else { - - } - } - } - - let html = `
                                                • -
                                                  -
                                                  - -
                                                  -
                                                  -

                                                  ${b4Name} ${generateUsernameLink(data)} ${afterName}: ${data.describe} ${giftFor}

                                                  -
                                                  -
                                                  - -
                                                  -
                                                  - Name: ${data.giftName} (ID:${data.giftId})
                                                  - Repeat: x${data.repeatCount.toLocaleString()}
                                                  - Cost: ${diamondsLocal} Diamonds -
                                                  -
                                                  -
                                                  -
                                                  -
                                                • `; - - - let existingStreakItem = container.find(`[data-streakid='${streakId}']`); - - if (existingStreakItem.length) { - existingStreakItem.replaceWith(html); - } else { - container.prepend(html); - } - - - if(!isPending){ - let gifter = data.uniqueId; - if(gifter in gifter_ary){ - gifter_ary[gifter].coins = parseInt(gifter_ary[gifter].coins)+parseInt(diamonds); - $('[data-gifter="'+gifter+'"]').remove() - } else { - gifter_ary[gifter] = { - username: data.nickname, - uniqueId: data.uniqueId, - userId: data.userId, - coins: diamonds, - likes: 0, - shares: 0 - } - } - let gifterTable = $('#gifter-table tbody') - //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].uniqueId+','+gifter_ary[gifter].coins+"\n"; - gifterTable.prepend(` - - ${gifter_ary[gifter].username} - ${gifter_ary[gifter].uniqueId} - ${parseInt(gifter_ary[gifter].coins).toLocaleString('en')} - ${gifter_ary[gifter].userId} - ${gifter_ary[gifter].likes} - - `) - - if(saveGifts == 1){ - socket.emit('addGift', { - giftId: data.giftId, - userId: data.userId, - giftName: data.giftName, - uniqueId: data.uniqueId, - nickname: data.nickname, - timestamp: data.timestamp, - repeatCount: data.repeatCount, - receiverUser: data.receiverUserId in userIds ? userIds[data.receiverUserId].nickname : '', - receiverUserId: data.receiverUserId, - diamondCount: diamondsLocal, - giftPictureUrl: data.giftPictureUrl, - profilePictureUrl: data.profilePictureUrl, - }); - } - - let sPath = Config["sounds"]["gift"][data["giftName"].toLowerCase()] || Config["sounds"]["gift"]["default"] - if(playSounds == 1 && Config["enabled"]["gift"] && sPath){ - console.log('play sound?') - let announcement = new Announcement( - sPath - ); - announcement.sound(); - } - } + let container = location.href.includes('obs.html') ? $('.eventcontainer') : $('.giftcontainer'); + if(data.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[data.uniqueId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + userIds[data.userId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + } + let streakId = data.uniqueId.toString() + '_' + data.giftId; + let isPending = isPendingStreak(data) + let diamonds = data.diamondCount * data.repeatCount + let diamondsLocal = parseInt(data.diamondCount * data.repeatCount).toLocaleString() + + /*test */ + let giftFor = '', tapName = ''; + if(data.receiverUserId in userIds){ + giftFor = 'to '+generateUsernameLink(userIds[data.receiverUserId]); + } + + let badgeLength = data.userBadges.length + let afterName = ''; + let b4Name = ''; + if(badgeLength > 0){ + for(let i = 0;i'; + } else if(data.userBadges[i].name == 'Moderator'){ + afterName += '👮'; + } else if(data.userBadges[i].badgeSceneType == 8){ + // gifter level + b4Name += '💎 '+data.userBadges[i].level+'' + } else if(data.userBadges[i].badgeSceneType == 10){ + // team level + b4Name += '💗 '+data.userBadges[i].level+'' + } else { + + } + } + } + + let html = `
                                                • +
                                                  +
                                                  + +
                                                  +
                                                  +

                                                  ${b4Name} ${generateUsernameLink(data)} ${afterName}: ${data.describe} ${giftFor}

                                                  +
                                                  +
                                                  + +
                                                  +
                                                  + Name: ${data.giftName} (ID:${data.giftId})
                                                  + Repeat: x${data.repeatCount.toLocaleString()}
                                                  + Cost: ${diamondsLocal} Diamonds +
                                                  +
                                                  +
                                                  +
                                                  +
                                                • `; + + + let existingStreakItem = container.find(`[data-streakid='${streakId}']`); + + if (existingStreakItem.length) { + existingStreakItem.replaceWith(html); + } else { + container.prepend(html); + } + + + if(!isPending){ + let gifter = data.uniqueId; + if(gifter in gifter_ary){ + gifter_ary[gifter].coins = parseInt(gifter_ary[gifter].coins)+parseInt(diamonds); + $('[data-gifter="'+gifter+'"]').remove() + } else { + gifter_ary[gifter] = { + username: data.nickname, + uniqueId: data.uniqueId, + userId: data.userId, + coins: diamonds, + likes: 0, + shares: 0 + } + } + let gifterTable = $('#gifter-table tbody') + //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].uniqueId+','+gifter_ary[gifter].coins+"\n"; + gifterTable.prepend(` + + ${gifter_ary[gifter].username} + ${gifter_ary[gifter].uniqueId} + ${parseInt(gifter_ary[gifter].coins).toLocaleString('en')} + ${gifter_ary[gifter].userId} + ${gifter_ary[gifter].likes} + + `) + + if(saveGifts == 1){ + socket.emit('addGift', { + giftId: data.giftId, + userId: data.userId, + giftName: data.giftName, + uniqueId: data.uniqueId, + nickname: data.nickname, + timestamp: data.timestamp, + repeatCount: data.repeatCount, + receiverUser: data.receiverUserId in userIds ? userIds[data.receiverUserId].nickname : '', + receiverUserId: data.receiverUserId, + diamondCount: diamondsLocal, + giftPictureUrl: data.giftPictureUrl, + profilePictureUrl: data.profilePictureUrl, + }); + } + + let sPath = Config["sounds"]["gift"][data["giftName"].toLowerCase()] || Config["sounds"]["gift"]["default"] + if(playSounds == 1 && Config["enabled"]["gift"] && sPath){ + console.log('play sound?') + let announcement = new Announcement( + sPath + ); + announcement.sound(); + } + } } function addLikeItem(color, data, text, summarize) { - let container = $('.likecontainer'); - //let tt = sanitize(text); - //console.log(tt); - if (container.find('div').length > 500) { - container.find('div').slice(0, 200).remove(); - } - //container.find('.temporary').remove(); - if(text != ''){ - container.prepend(`
                                                • -
                                                  - - - ${generateUsernameLink(data)}: - ${sanitize(text)} - -
                                                  -
                                                • `); - } + let container = $('.likecontainer'); + //let tt = sanitize(text); + //console.log(tt); + if (container.find('div').length > 500) { + container.find('div').slice(0, 200).remove(); + } + //container.find('.temporary').remove(); + if(text != ''){ + container.prepend(`
                                                • +
                                                  + + + ${generateUsernameLink(data)}: + ${sanitize(text)} + +
                                                  +
                                                • `); + } } function updateTopGifters(viewers){ - let container = $('#topViewers') - container.html('Loading Gifters...') - if(viewers.length > 0){ - let cc = 0, i, top = '', rest = '', drop = `` - for(i=0;i - - - ${viewers[i].user.uniqueId} - (${viewers[i].coinCount} coins) - - ` - } - drop += `` - - if(parseInt(viewers[i].coinCount) > 0 - && typeof viewers[i].user.username != undefined - && viewers[i].user.username != 'undefined' - && viewers[i].user.username != '' - && viewers[i].user.username != null){ - let gifter = viewers[i].user.uniqueId; - - if(msg.uniqueId in usernames){} else { - //let tempuname = {}; - usernames[viewers[i].user.uniqueId] = { - userId : viewers[i].user.userId, - uniqueId : viewers[i].user.uniqueId, - nickname : viewers[i].user.nickname, - profilePictureUrl : viewers[i].user.profilePictureUrl - } - userIds[viewers[i].user.userId] = { - userId : viewers[i].user.userId, - uniqueId : viewers[i].user.uniqueId, - nickname : viewers[i].user.nickname, - profilePictureUrl : viewers[i].user.profilePictureUrl - } - } - - if(gifter in gifter_ary){ - gifter_ary[gifter].coins = parseInt(viewers[i].coinCount); - $('[data-gifter="'+gifter+'"]').remove() - } else { - gifter_ary[gifter] = { - username: viewers[i].user.nickname, - uniqueId: viewers[i].user.uniqueId, - userId: viewers[i].user.userId, - coins: parseInt(viewers[i].coinCount), - likes: 0, - shares: 0 - } - - } - let gifterTable = $('#gifter-table tbody') - //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].uniqueId+','+gifter_ary[gifter].coins+"\n"; - gifterTable.prepend(` - - ${gifter_ary[gifter].username} - ${gifter_ary[gifter].uniqueId} - ${gifter_ary[gifter].coins} - ${gifter_ary[gifter].userId} - ${gifter_ary[gifter].likes} - - `) - } - } - } - container.html(''); - //console.log(top) - - } else { - container.html('no viewers..?') - //console.log('no viewers') - } + let container = $('#topViewers') + container.html('Loading Gifters...') + if(viewers.length > 0){ + let cc = 0, i, top = '', rest = '', drop = `` + for(i=0;i + + + ${viewers[i].user.uniqueId} + (${viewers[i].coinCount} coins) + + ` + } + drop += `` + + if(parseInt(viewers[i].coinCount) > 0 + && typeof viewers[i].user.username != undefined + && viewers[i].user.username != 'undefined' + && viewers[i].user.username != '' + && viewers[i].user.username != null){ + let gifter = viewers[i].user.uniqueId; + + if(msg.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[viewers[i].user.uniqueId] = { + userId : viewers[i].user.userId, + uniqueId : viewers[i].user.uniqueId, + nickname : viewers[i].user.nickname, + profilePictureUrl : viewers[i].user.profilePictureUrl + } + userIds[viewers[i].user.userId] = { + userId : viewers[i].user.userId, + uniqueId : viewers[i].user.uniqueId, + nickname : viewers[i].user.nickname, + profilePictureUrl : viewers[i].user.profilePictureUrl + } + } + + if(gifter in gifter_ary){ + gifter_ary[gifter].coins = parseInt(viewers[i].coinCount); + $('[data-gifter="'+gifter+'"]').remove() + } else { + gifter_ary[gifter] = { + username: viewers[i].user.nickname, + uniqueId: viewers[i].user.uniqueId, + userId: viewers[i].user.userId, + coins: parseInt(viewers[i].coinCount), + likes: 0, + shares: 0 + } + + } + let gifterTable = $('#gifter-table tbody') + //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].uniqueId+','+gifter_ary[gifter].coins+"\n"; + gifterTable.prepend(` + + ${gifter_ary[gifter].username} + ${gifter_ary[gifter].uniqueId} + ${gifter_ary[gifter].coins} + ${gifter_ary[gifter].userId} + ${gifter_ary[gifter].likes} + + `) + } + } + } + container.html(''); + //console.log(top) + + } else { + container.html('no viewers..?') + //console.log('no viewers') + } +} + +let Config = { + buildNames(json){ + let datalist = document.getElementById('datalistOptions'); + datalist.innerHTML = '' + //let nameList = document.getElementById('name-list'); + let html = '', gsound = '', notes = '' + for(const item of json['names']){ + datalist.appendChild(new Option(item,item)); + html += `
                                                • + ${item} + + + + + +
                                                • ` + } + $('#name-list').html(html) + }, + buildNotes(json){ + let notes = '' + //for(const note in json['notes']){ + // console.log(note) + // notes += ` + ${$('#note-list').html()}` + // , \''+no2.replace("
                                                  ", "\n")+'\' + ) + } else { + //$(`#note-list button[onclick="loadNote('${na2}')]`) + } + $('#new-note-form').collapse('hide') + $('#note-id').val('new') + $('#new-note-name').val('') + $('#new-note-info').val('') + Config.updateConfig(); + //if(Array.isArray(json['notes'][note])){ + // box = json['notes'][note][0].replace("'", "\'") + //} else { + // box = json['notes'][note].replace("'", "\'") + //} + } + }) + $('#add-username').on('click', function(){ + let name = $('#new-username'), uname = name.val() + if(uname == ''){ + // make error + name.addClass('is-invalid') + } else { + if(Config.names.includes(uname)){ + + } else { + name.removeClass('is-invalid') + socket.emit('addToNames', { + name : uname + }) + } + } + }) + $('#vc-on').on('click', function(){ + voiceComments = 2 + $('#vc-on').addClass('d-none') + $('#vc-off').removeClass('d-none') + }) + $('#vc-off').on('click', function(){ + voiceComments = 1 + $('#vc-off').addClass('d-none') + $('#vc-on').removeClass('d-none') + }) + $('#s-on').on('click', function(){ + playSounds = 2 + $('#s-on').addClass('d-none') + $('#s-off').removeClass('d-none') + }) + $('#s-off').on('click', function(){ + playSounds = 1 + $('#s-off').addClass('d-none') + $('#s-on').removeClass('d-none') + }) + $('#g-on').on('click', function(){ + saveGifts = 2 + $('#g-on').addClass('d-none') + $('#g-off').removeClass('d-none') + }) + $('#g-off').on('click', function(){ + saveGifts = 1 + $('#g-off').addClass('d-none') + $('#g-on').removeClass('d-none') + }) + $('#ch').on('click', function(){ + + socket.emit('addToNames', { + name : 'another name' + }) + console.log('playSounds = '+playSounds) + console.log('saveGifts = '+saveGifts) + console.log('------------') + }) + $('#userSignUpLink').on('click', function(){ + bootstrap.showAlert({title: "Sign Up Closed", body: "During testing phases, our sign up process will be closed. If you would like to test some new features, please contact Yohn."}) + }) + + $('#userLogin').on('click', function(){ + userCog.find('.switch-toggle').toggleClass('d-none') + socket.emit('userLogin', { + email : $('#userEmail').val(), + pass : $('#userPassword').val() + }) + }) + + $('#copy-table').on('click', function(){ + //console.log('copy btn clicked') + let gt = $('#gifter-table') + gt.find('save').removeClass('d-none') + let text = gt.html(), textarea = document.getElementById('hidden') + textarea.value = text; //.split(" ").join(','); + + //console.log('copy') + textarea.select(); + textarea.setSelectionRange(0, textarea.value.length) + navigator.clipboard.writeText(textarea.value); + textarea.setSelectionRange(0,0) + }) + $('#connectButton').click(connect); + $('#uniqueIdInput').on('keyup', function (e) { + if (e.key === 'Enter') { + connect(); + } + }); + + if (window.settings.username) connect(); + let pops = { + sanitize: false, + html: true, + trigger: 'focus' + }; + let chatcont = $('#chatcontainer') + $('#add-row').on('click', function(){ + let row = $('#the-row').html() + chatcont.prepend(row) + chatcont.find('li[data-bs-toggle="popover"]:first').popover(pops) + }) + $('[data-bs-toggle="popover"]').popover(pops); +}) + //socket.on('readUsernames', (data) => { -// console.log(data) +// console.log(data) //}) +socket.on('toDoData', (data) => { + console.log(data) +}) socket.on('removeGiftSound', (data) => { - console.log(data) + console.log(data) }) socket.on('saveGiftSound', (data) => { - console.log(data) + console.log(data) +}) +socket.on('deleteNote', (data) => { + $('#note-results').html(``).collapse('show') + $('#note-id').val('new') + $('#new-note-name').val('') + $('#new-note-info').val('') + $('#new-note-form').collapse('hide') + $('#delete-note').slideUp('fast') + setTimeout(function(){ + $('#note-results').collapse('hide') + //Config.updateConfig(); + Config.grabConfig('notes') + }, 2000) }) socket.on('saveNote', (data) => { - $('#note-results').html(data.r).collapse('show') - setTimeout(function(){ - $('#note-results').collapse('hide') - }, 5000) - Config.updateConfig(); + $('#note-results').html(``).collapse('show') + setTimeout(function(){ + $('#note-results').collapse('hide') + //Config.updateConfig(); + Config.grabConfig('notes') + }, 5000) }) socket.on('addToNames', (data) => { - console.log('-----addToNames return-----') - console.log(data) - $('#name-list').prepend(`
                                                • - ${data.name} - 🗑️ -
                                                • `) - console.log('-----addToNames return-----') + console.log('-----addToNames return-----') + console.log(data) + $('#name-list').prepend(`
                                                • + ${data.name} + 🗑️ +
                                                • `) + console.log('-----addToNames return-----') }) socket.on('removeNames', (data) => { - console.log('-----removeNames return-----') - console.log(data) - console.log('-----removeNames return-----') - $('li[data-list-name="'+data.name+'"]').slideUp('fast', function(){$(this).remove();}) + console.log('-----removeNames return-----') + console.log(data) + console.log('-----removeNames return-----') + $('li[data-list-name="'+data.name+'"]').slideUp('fast', function(){$(this).remove();}) }) socket.on('soundDirectory', (data) => { - for(const sound in data.files){ - $('#group-sound').append(``) - } + for(const sound in data.files){ + $('#group-sound').append(``) + } }) socket.on('loginTry', (data) => { - userCog.find('.switch-toggle').toggleClass('d-none') - if(data.r == 'ok'){ - console.log('logged in successful') - console.log(data) - console.log('/login in data') - let list = JSON.parse(data.info.userList) - , userListLen = list.length, u, usersHtml = '', userTags = ''; - if(userListLen > 0){ - for(u=0;u'; - } - $('#datalistOptions').html(usersHtml); - } - $('#settingLoginLi').html(`
                                                • - Autofill Hosts -
                                                • -
                                                • - Notes Hosts -
                                                • `)//addClass('d-none').after(data.replaceForm) - //$('#settingLoginLi') - // created: "12/21/2023 4:24:59" - // email: "yohns@live.com" - // keyFile: "Some key file" - // lastLogin: "" - // name: "Yohn" - // premiumUntil: "" - // sheetId: "", - // sounds: '{"rose":"rose"}', - // userList: '{"yohn.john", "dancehallwifi", "aviannaav", "imanalyn31"}'*/ - console.log(data) - } else { - console.log('could not login - 1') - } + userCog.find('.switch-toggle').toggleClass('d-none') + if(data.r == 'ok'){ + console.log('logged in successful') + console.log(data) + console.log('/login in data') + let list = JSON.parse(data.info.userList) + , userListLen = list.length, u, usersHtml = '', userTags = ''; + if(userListLen > 0){ + for(u=0;u'; + } + $('#datalistOptions').html(usersHtml); + } + $('#settingLoginLi').html(`
                                                • + Autofill Hosts +
                                                • +
                                                • + Notes Hosts +
                                                • `)//addClass('d-none').after(data.replaceForm) + //$('#settingLoginLi') + // created: "12/21/2023 4:24:59" + // email: "yohns@live.com" + // keyFile: "Some key file" + // lastLogin: "" + // name: "Yohn" + // premiumUntil: "" + // sheetId: "", + // sounds: '{"rose":"rose"}', + // userList: '{"yohn.john", "dancehallwifi", "aviannaav", "imanalyn31"}'*/ + console.log(data) + } else { + console.log('could not login - 1') + } }) // viewer stats connection.on('roomUser', (msg) => { - //console.log('-- roomUser --') - //console.log(msg) - //console.log('-- roomUser --') - if (typeof msg.viewerCount === 'number') { - viewerCount = msg.viewerCount; - updateRoomStats(); - updateTopGifters(msg.topViewers); - } + //console.log('-- roomUser --') + //console.log(msg) + //console.log('-- roomUser --') + if (typeof msg.viewerCount === 'number') { + viewerCount = msg.viewerCount; + updateRoomStats(); + updateTopGifters(msg.topViewers); + } }) // like stats connection.on('like', (msg) => { - //console.log('-- likes --') - //console.log(msg) - //console.log('-- /likes --') - if (typeof msg.totalLikeCount === 'number') { - likeCount = msg.totalLikeCount; - updateRoomStats(); - } - - if (window.settings.showLikes === "0") return; - - if (typeof msg.likeCount === 'number') { - var uname = msg.uniqueId; - if(uname in link_ary){ - link_ary[uname] = link_ary[uname]+1 - } else { - link_ary[uname] = 1 - } - - let tlike = $('#likestotalcontainer,#alltotalcontainer') - $(`[data-uname="${msg.uniqueId}"]`).remove() - let thename = generateUsernameLink(msg) - tlike.prepend(` -
                                                • -
                                                  -
                                                  - -
                                                  -
                                                  - - ${thename}: - sent ${link_ary[uname]} likes - -
                                                  -
                                                  -
                                                • `) - if(msg.uniqueId in usernames){} else { - //let tempuname = {}; - usernames[msg.uniqueId] = { - userId : msg.userId, - uniqueId : msg.uniqueId, - nickname : msg.nickname, - profilePictureUrl : msg.profilePictureUrl - } - userIds[msg.userId] = { - userId : msg.userId, - uniqueId : msg.uniqueId, - nickname : msg.nickname, - profilePictureUrl : msg.profilePictureUrl - } - } - } + //console.log('-- likes --') + //console.log(msg) + //console.log('-- /likes --') + if (typeof msg.totalLikeCount === 'number') { + likeCount = msg.totalLikeCount; + updateRoomStats(); + } + + if (window.settings.showLikes === "0") return; + + if (typeof msg.likeCount === 'number') { + var uname = msg.uniqueId; + if(uname in link_ary){ + link_ary[uname] = link_ary[uname]+1 + } else { + link_ary[uname] = 1 + } + + let tlike = $('#likestotalcontainer,#alltotalcontainer') + $(`[data-uname="${msg.uniqueId}"]`).remove() + let thename = generateUsernameLink(msg) + tlike.prepend(` +
                                                • +
                                                  +
                                                  + +
                                                  +
                                                  + + ${thename}: + sent ${link_ary[uname]} likes + +
                                                  +
                                                  +
                                                • `) + if(msg.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[msg.uniqueId] = { + userId : msg.userId, + uniqueId : msg.uniqueId, + nickname : msg.nickname, + profilePictureUrl : msg.profilePictureUrl + } + userIds[msg.userId] = { + userId : msg.userId, + uniqueId : msg.uniqueId, + nickname : msg.nickname, + profilePictureUrl : msg.profilePictureUrl + } + } + } }) // Member join let joinMsgDelay = 0; connection.on('member', (msg) => { - //console.log('-- member --') - //console.log(msg) - //console.log('-- member --') - if (window.settings.showJoins === "0") return; - - let addDelay = 250; - if (joinMsgDelay > 500) addDelay = 100; - if (joinMsgDelay > 1000) addDelay = 0; - - joinMsgDelay += addDelay; - - setTimeout(() => { - joinMsgDelay -= addDelay; - addChatItem('#21b2c2', msg, msg.label.replace('{0:user}', ''), '#joinstotalcontainer,#alltotalcontainer'); //.joincontainer'); - }, joinMsgDelay); - // - sendToDb('member', 'join', { - userId: msg.userId, - uniqueId: msg.uniqueId, - nickname: msg.nickname, - timestamp: msg.createTime, - profilePictureUrl: msg.profilePictureUrl, - displayType: msg.displayType - }) - if(msg.uniqueId in usernames){} else { - //let tempuname = {}; - usernames[msg.uniqueId] = { - userId : msg.userId, - uniqueId : msg.uniqueId, - nickname : msg.nickname, - profilePictureUrl : msg.profilePictureUrl - } - userIds[msg.userId] = { - userId : msg.userId, - uniqueId : msg.uniqueId, - nickname : msg.nickname, - profilePictureUrl : msg.profilePictureUrl - } - } + //console.log('-- member --') + //console.log(msg) + //console.log('-- member --') + if (window.settings.showJoins === "0") return; + + let addDelay = 250; + if (joinMsgDelay > 500) addDelay = 100; + if (joinMsgDelay > 1000) addDelay = 0; + + joinMsgDelay += addDelay; + + setTimeout(() => { + joinMsgDelay -= addDelay; + addChatItem('#21b2c2', msg, msg.label.replace('{0:user}', ''), '#joinstotalcontainer,#alltotalcontainer'); //.joincontainer'); + }, joinMsgDelay); + // + sendToDb('member', 'join', { + userId: msg.userId, + uniqueId: msg.uniqueId, + nickname: msg.nickname, + timestamp: msg.createTime, + profilePictureUrl: msg.profilePictureUrl, + displayType: msg.displayType + }) + if(msg.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[msg.uniqueId] = { + userId : msg.userId, + uniqueId : msg.uniqueId, + nickname : msg.nickname, + profilePictureUrl : msg.profilePictureUrl + } + userIds[msg.userId] = { + userId : msg.userId, + uniqueId : msg.uniqueId, + nickname : msg.nickname, + profilePictureUrl : msg.profilePictureUrl + } + } }) // New chat comment received connection.on('chat', (msg) => { - console.log('-- chat --') - console.log(msg) - console.log('-- chat --') - if (window.settings.showChats === "0") return; - - //let msgcom = msg.hasOwnProperty('subemotes') ? insertEmotes(sanitize(msg.comment), msg.subemotes) : sanitize(msg.comment); - let msgcom = insertEmotes(sanitize(msg.comment), msg.emotes); - addChatItem('', msg, msgcom, '.chatcontainer'); + console.log('-- chat --') + console.log(msg) + console.log('-- chat --') + if (window.settings.showChats === "0") return; + + //let msgcom = msg.hasOwnProperty('subemotes') ? insertEmotes(sanitize(msg.comment), msg.subemotes) : sanitize(msg.comment); + let msgcom = insertEmotes(sanitize(msg.comment), msg.emotes); + addChatItem('', msg, msgcom, '.chatcontainer'); }) // New gift received connection.on('gift', (data) => { //if(data.giftName == 'Gift Box'){ - console.log('-- gift --') - console.log(data) - console.log('-- gift --') + console.log('-- gift --') + console.log(data) + console.log('-- gift --') //} - if (!isPendingStreak(data) && data.diamondCount > 0) { - diamondsCount += (data.diamondCount * data.repeatCount); - updateRoomStats(); - } + if (!isPendingStreak(data) && data.diamondCount > 0) { + diamondsCount += (data.diamondCount * data.repeatCount); + updateRoomStats(); + } - if (window.settings.showGifts === "0") return; + if (window.settings.showGifts === "0") return; - addGiftItem(data); + addGiftItem(data); }) // share, follow connection.on('social', (data) => { - //console.log('-- social --') - //console.log(data) - //console.log('-- social --') - if (window.settings.showFollows === "0") return; + //console.log('-- social --') + //console.log(data) + //console.log('-- social --') + if (window.settings.showFollows === "0") return; - let color = data.displayType.includes('follow') ? '#ff005e' : '#2fb816'; - let conta = data.displayType.includes('follow') ? '#followstotalcontainer,#alltotalcontainer' : '#sharestotalcontainer,#alltotalcontainer'; - addChatItem(color, data, data.label.replace('{0:user}', ''), conta); //'.sharecontainer'); + let color = data.displayType.includes('follow') ? '#ff005e' : '#2fb816'; + let conta = data.displayType.includes('follow') ? '#followstotalcontainer,#alltotalcontainer' : '#sharestotalcontainer,#alltotalcontainer'; + addChatItem(color, data, data.label.replace('{0:user}', ''), conta); //'.sharecontainer'); }) connection.on('questionNew', (data) => { - console.log('--- questionNew') - console.log(data) - console.log('--- questionNew') + console.log('--- questionNew') + console.log(data) + console.log('--- questionNew') }) let battleStats = $('#battleParties') connection.on('linkMicBattle', (data) => { - console.log('---- linkMicBattle') - console.log(data) - console.log('---- linkMicBattle') - let peopleSpan = 6 - if(data.battleUsers.length == 4){ - peopleSpan = 3 - } - let i, str = '' - } - str += '
                                                  ' - //console.log(str) - $('#battleParties').html(str) - console.log('inserted battle stuff..') + console.log('---- linkMicBattle') + console.log(data) + console.log('---- linkMicBattle') + let peopleSpan = 6 + if(data.battleUsers.length == 4){ + peopleSpan = 3 + } + let i, str = '' + } + str += '
                                                  ' + //console.log(str) + $('#battleParties').html(str) + console.log('inserted battle stuff..') }) connection.on('linkMicArmies', (data) => { - console.log('linkMicArmies') - console.log(data) - console.log('/linkMicArmies') - let i; - //$('#battleStats').removeClass('d-none') - for(i=0;i'+helpers+'

                                                  ' - $('#battle-'+data.battleArmies[i].hostUserId).html(''+data.battleArmies[i].points+''+giftersHere) - //$(helpers)('#battle-'+data.battleArmies[i].hostUserId) - } - console.log('inserted info') - /* -{ - "battleStatus": 3, - "battleArmies": [ - { - "hostUserId": "7157616909898531867", - "points": 12, - "participants": [ - { - "userId": "7129370635487708161", - "secUid": "", - "nickname": "🌲For ever🌲", - "profilePictureUrl": null, - "userBadges": [], - "userDetails": { - "createTime": "0", - "bioDescription": "" - }, - "isModerator": false, - "isNewGifter": false, - "isSubscriber": false, - "topGifterRank": null - }, - { - "userId": "6913656025014993922", - "secUid": "", - "nickname": "ramildegoma", - "profilePictureUrl": null, - "userBadges": [], - "userDetails": { - "createTime": "0", - "bioDescription": "" - }, - "isModerator": false, - "isNewGifter": false, - "isSubscriber": false, - "topGifterRank": null - } - ] - }, - { - "hostUserId": "7175748192565265435", - "points": 21, - "participants": [ - { - "userId": "7102300554365338629", - "secUid": "", - "nickname": "noushi389", - "profilePictureUrl": null, - "userBadges": [], - "userDetails": { - "createTime": "0", - "bioDescription": "" - }, - "isModerator": false, - "isNewGifter": false, - "isSubscriber": false, - "topGifterRank": null - }, - { - "userId": "6877725127146374146", - "secUid": "", - "nickname": "Ms. Single💔", - "profilePictureUrl": null, - "userBadges": [], - "userDetails": { - "createTime": "0", - "bioDescription": "" - }, - "isModerator": false, - "isNewGifter": false, - "isSubscriber": false, - "topGifterRank": null - } - ] - } - ] -} - { - "hostUserId": "7005525148082390022", - "points": 124911, - "participants": [ - { - "userId": "6989266413383746566", - "secUid": "", - "nickname": "Santa_Chris", - "profilePictureUrl": null, - "userBadges": [], - "userDetails": { - "createTime": "0", - "bioDescription": "" - }, - "isModerator": false, - "isNewGifter": false, - "isSubscriber": false, - "topGifterRank": null - }, - { - "userId": "6814348056319443973", - "secUid": "", - "nickname": "Danny 🥵🇭🇳", - "profilePictureUrl": null, - "userBadges": [], - "userDetails": { - "createTime": "0", - "bioDescription": "" - }, - "isModerator": false, - "isNewGifter": false, - "isSubscriber": false, - "topGifterRank": null - }, - { - "userId": "6770103586569143301", - "secUid": "", - "nickname": "Steph ❤️", - "profilePictureUrl": null, - "userBadges": [], - "userDetails": { - "createTime": "0", - "bioDescription": "" - }, - "isModerator": false, - "isNewGifter": false, - "isSubscriber": false, - "topGifterRank": null - } - ] -}*/ + console.log('linkMicArmies') + console.log(data) + console.log('/linkMicArmies') + let i; + //$('#battleStats').removeClass('d-none') + for(i=0;i'+helpers+'

                                                  ' + $('#battle-'+data.battleArmies[i].hostUserId).html(''+data.battleArmies[i].points+''+giftersHere) + //$(helpers)('#battle-'+data.battleArmies[i].hostUserId) + } + //console.log('inserted info') }) connection.on('liveIntro', (data) => { - //console.log('liveIntro') - //console.log(data) - //console.log('/liveIntro') - - addChatItem('#ff00cc', data, data.description, '.chatcontainer'); - - if(data.uniqueId in usernames){} else { - usernames[data.uniqueId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - userIds[data.userId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - } + //console.log('liveIntro') + //console.log(data) + //console.log('/liveIntro') + + addChatItem('#ff00cc', data, data.description, '.chatcontainer'); + + if(data.uniqueId in usernames){} else { + usernames[data.uniqueId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + userIds[data.userId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + } }) connection.on('envelope', (data) => { - console.log('envelope') - console.log(data) - console.log('/envelope') + console.log('envelope') + console.log(data) + console.log('/envelope') }) connection.on('subscribe', (data) => { - console.log('subscribe') - console.log(data) - console.log('/subscribe') + console.log('subscribe') + console.log(data) + console.log('/subscribe') }) -//connection.on('emote', (data) => { -// console.log('emote') -// console.log(data) -// console.log('/emote') -//}) -//connection.on('rawData', (data) => { //(messageTypeName, binary) => { -// console.log('Raw Data') -// console.log(data); -// console.log('/Raw Data') -//}) - connection.on('streamEnd', (actionId) => { - let msg = 'Stream Ended'; - if (actionId === 3) { - msg = 'Stream ended by user'; - } - if (actionId === 4) { - msg = 'Stream ended by platform moderator (ban)'; - } - //let tim = Date.now(); - //var a = new Date(roomStart * 1000); - //let diff = calcDate(tim,a); - var today = new Date(); - var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate(); - var time = today.getHours() + ":" + today.getMinutes(); // + ":" + today.getSeconds(); - var dateTime = date+' '+time; - //document.getElementById('dt').innerHTML = dateTime - $('#stateText').text(msg+'
                                                  Ended At: '+dateTime); - - // schedule next try if obs username set - if (window.settings.username) { - setTimeout(() => { - connect(window.settings.username); - }, 30000); - } + let msg = 'Stream Ended'; + if (actionId === 3) { + msg = 'Stream ended by user'; + } + if (actionId === 4) { + msg = 'Stream ended by platform moderator (ban)'; + } + + var today = new Date(); + var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate(); + var time = today.getHours() + ":" + today.getMinutes(); // + ":" + today.getSeconds(); + var dateTime = date+' '+time; + //document.getElementById('dt').innerHTML = dateTime + $('#stateText').html(msg+'
                                                  Ended At: '+dateTime); + + // schedule next try if obs username set + if (window.settings.username) { + setTimeout(() => { + connect(window.settings.username); + }, 30000); + } }) window.addEventListener("beforeunload", function (e) { - e.preventDefault(); - e.returnValue = "" + e.preventDefault(); + e.returnValue = "" }); \ No newline at end of file diff --git a/public/config.example.json b/public/config.example.json new file mode 100644 index 0000000..cf6ff8a --- /dev/null +++ b/public/config.example.json @@ -0,0 +1,313 @@ +{ + "sounds": { + "gift": { + "finger heart": "/sounds/cute-level-up.mp3", + "heart me": "/sounds/bruh.mp3", + "swan": "/sounds/Hed-P.E.SwanDive.mp3", + "hat and mustache": "/sounds/Voicy_Yeeeeehaaaawwww.mp3", + "whale diving": "/sounds/Voicy_Splashwatersoundeffect.mp3", + "it’s a match!": "/sounds/Voicy_Aww.mp3", + "cuddle with me": "/sounds/Voicy_Aww.mp3", + "you’re sweet": "/sounds/Voicy_Aww.mp3", + "falling for you": "/sounds/Voicy_Aww.mp3", + "lover’s glasses": "/sounds/Voicy_Aww.mp3", + "lock and key": "/sounds/Voicy_Aww.mp3", + "forever rosa": "/sounds/Voicy_Aww.mp3", + "love you": "/sounds/Voicy_Aww.mp3", + "hand hearts": "/sounds/Voicy_Aww.mp3", + "hand heart": "/sounds/Voicy_Aww.mp3", + "hearts": "/sounds/Voicy_Aww.mp3", + "money gun": "/sounds/Voicy_ColtPewPewPewBrawlstars.mp3", + "gem gun": "/sounds/Voicy_ColtPewPewPewBrawlstars.mp3", + "train": "/sounds/Voicy_TrainHornSoundEffect.mp3", + "motorcycle": "/sounds/motor-sesi.mp3", + "default": null, + "rose": "enchanted.wav" + }, + "subscribe": "/sounds/enchanted.wav", + "follow": "/sounds/bruh.mp3", + "unused": { + "rose": null, + "heart me": null, + "it’s a match": null, + "cuddle with me": null, + "you’re sweet": null, + "lover’s glasses": null, + "hand heart": null, + "hearts": null, + "gem gun": null, + "ice cream cone": null, + "tiktok": null, + "friendship necklace": null, + "rosa": null, + "perfume": null, + "doughnut": null, + "coral": null, + "magic rhythm": null, + "boxing gloves": null, + "duck": null, + "corgi": null, + "franktastic": null, + "gus the groundhog": null, + "henry the hedgehog": null, + "lucy the llama": null, + "sail away": null, + "superpower": null, + "elephant trunk": null, + "crystal shoe": null, + "mr. orange": null, + "fruit friends": null, + "reindeer": null, + "diva’s hat": null, + "crown": null, + "sunglasses": null, + "hanging lights": null, + "garland headpiece": null, + "cheer for you": null, + "panther paws": null, + "gamer cat": null, + "the passion rose": null, + "knight helmet": null, + "lemond buddy": null, + "cowboy hat": null, + "eye see you": null, + "confetti": null, + "mini star": null, + "paper crane": null, + "little crown": null, + "cap": null, + "like-pop": null, + "disco love": null, + "tiny diny": null, + "hi bear": null, + "fire": null, + "thumbs up": null, + "superstar": null, + "heart": null, + "lightning bolt ": null, + "cake slice": null, + "it’s corn": null, + "gg": null, + "chili": null, + "heart puff": null, + "you’re amazing": null, + "ufo landing": null, + "look! meteor shower": null, + "leon and lili": null, + "greeting card": null, + "starry night tourism": null, + "desert adventure": null, + "dreamy card": null, + "rose carriage": null, + "sweet memories": null, + "patrick's hat": null, + "hi march": null, + "lucky leprechaun": null, + "rainbow charms": null, + "aurora": null, + "birthday glasses": null, + "super cake": null, + "sam the whale": null, + "happy train": null, + "camping night": null, + "couple": null, + "falcon": null, + "beach house": null, + "rio de janeiro": null, + "rainforest": null, + "malayan tiger": null, + "gorilla": null, + "marvelous confetti": null, + "shiny air balloon": null, + "signature jet": null, + "premium shuttle": null, + "tiktok universe+": null, + "thunder falcon": null, + "fire phoenix": null, + "pegasus": null, + "star": null, + "team bracelet": null, + "cheer you up": null, + "hands up": null, + "here we go": null, + "happy party": null, + "fly love": null, + "trending figure": null, + "finger heart": null, + "celebration time": null, + "ellie the elephant": null, + "rave": null, + "spring train": null, + "old famous car": null, + "magic stage": null, + "whale diving": null, + "let us dance": null, + "crystal ball": null, + "asmr starter kit": null, + "diamond crown": null, + "drums": null, + "hot air balloon": null, + "train": null, + "beach date": null, + "love u": null, + "football": null, + "tango": null, + "swan": null, + "applause": null, + "birds": null, + "trophy": null, + "flower show": null, + "autumn leaves": null, + "money gun": null, + "sent you’re amazing": null, + "crystal heart": null, + "forever rosa": null, + "campfire": null, + "diamond ring of love": null, + "bridal veil": null, + "flower": null, + "love bomb": null, + "llama greetings": null, + "pug": null, + "husky": null, + "golden": null, + "falling for you": null, + "gold necklace": null, + "love letter": null, + "tulip box": null, + "coconut": null, + "lock and key": null, + "top live creator": null, + "cheems dog": null, + "blowing bubbles": null, + "love you": null, + "fruits hat": null, + "festa junina’s hat": null, + "kiss": null, + "mishka bear": null, + "hand hearts": null, + "game controller": null, + "play samba": null, + "hat and mustache": null, + "soccer ball": null, + "bouquet flower": null, + "headphones": null, + "asmr time ": null, + "mate tea": null, + "spinning top": null, + "taco": null, + "nachos": null, + "guacamole": null, + "russian crepes": null, + "amazing": null, + "choc chip cookie": null, + "loved": null, + "fantastic": null, + "coffee": null, + "chocolate": null, + "power hug": null, + "birthday cake": null, + "glow stick": null, + "bravo": null, + "health potion": null, + "panettone": null, + "white rose": null, + "happy father’s day": null, + "enchanted guitar": null, + "lucky airdrop box": null, + "travel with you": null, + "blooming ribbons": null, + "glowing jellyfish": null, + "dinosaur ": null, + "feather flock": null, + "watermelon love": null, + "mirror bloom": null, + "email message": null, + "galaxy": null, + "gold mine": null, + "fireworks": null, + "epic gg": null, + "travel in the us": null, + "lover’s lock": null, + "chasing the dream": null, + "champion": null, + "garland ": null, + "love drop": null, + "mystery firework": null, + "cooper flies home": null, + "star of red carpet": null, + "rabbit": null, + "star adventures": null, + "make-up box": null, + "baby dragon": null, + "pink dream": null, + "motorcycle": null, + "rhythmic bear": null, + "golden party": null, + "meteor shower": null, + "ferris wheel": null, + "gift box": null, + "flower overflow": null, + "leon the kitten": null, + "private jet": null, + "pool party": null, + "motorcycle together": null, + "mimi & fifi": null, + "flying jets": null, + "autumn farm": null, + "draco": null, + "wanda the witch": null, + "unicorn fantasy": null, + "lili the leopard": null, + "sports car": null, + "star throne": null, + "monster truck": null, + "sunset speedway": null, + "interstellar": null, + "red lightning": null, + "rosa nebula": null, + "leopard": null, + "amusement park": null, + "yacht": null, + "castle fantasy": null, + "tiktok shuttle": null, + "mystic castle": null, + "adam’s dream": null, + "phoenix": null, + "dragon flame": null, + "lion": null, + "zeus": null, + "leon and lion": null, + "seal and whale": null, + "tiktok stars": null, + "tiktok universe": null + } + }, + "enabled": { + "gift": true, + "subscribe": false, + "follow": true + }, + "firstFollowOnly": true, + "volume": 0.7, + "names": [ + "yohn.john", + "a__bruna", + "aviannaav", + "biarciane" + ], + "notes": [ + { + "name": "Invite to My Live", + "note": "dance hall ray ray\nspade \nglowrosen\nhigh class\ndmf savage\nisa\njimmy / rowdy\ncrunchy" + }, + { + "name": "Upcoming PKs", + "note": "April 13 7pm Joe / five spicy\n" + }, + { + "name": "To-Do", + "note": "- display delete note correctly\n- put sounds in playlist \n so they dont overlap" + } + ] +} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 17d955a..4d4c27e 100644 --- a/public/index.html +++ b/public/index.html @@ -1,394 +1,491 @@ - - - - Yohn's TikTok Live Chat Analytics Demo Beta 1 - - - + + + + Yohn's TikTok Live Chat Analytics Demo Beta 1 + + + - - + + - - - - - + + + + + - + if(username) { + window.open(url, '_blank'); + } else { + alert("Enter username"); + } + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                  -
                                                  -
                                                  -

                                                  TikTok LIVE Chat Reader

                                                  -

                                                  Best to use on a desktop / laptop PC, and the mobile might be slower to load. This is the second beta version for the public that has been published. There will be more updates to come soon.

                                                  -

                                                  This service does cost me $$ to run, and I will not know for sure how much until the end of the month.

                                                  -

                                                  The estimates so far is $10-20 for the server resources, but will probably increase the more we use this. Any little bit will help keep this project going. -

                                                  -

                                                  This is a modified version from: zerodytrash/TikTok-Chat-Reader

                                                  -

                                                  CashApp: $yohnjohn84      Venmo: @John-BrittainIII

                                                  -

                                                  After you start your live, type in your @username (without the @) on TikTok in the box below.

                                                  -
                                                  -
                                                  -
                                                  -
                                                  -
                                                  - - - @ -
                                                  - - -
                                                  - - +
                                                  +
                                                  +

                                                  TikTok LIVE Chat Reader

                                                  +

                                                  Best to use on a desktop / laptop PC, and the mobile might be slower to load. This is the second beta version for the public that has been published. There will be more updates to come soon.

                                                  +

                                                  This service does cost me $$ to run, and I will not know for sure how much until the end of the month.

                                                  +

                                                  The estimates so far is $10-20 for the server resources, but will probably increase the more we use this. Any little bit will help keep this project going. +

                                                  This is a modified version from: zerodytrash/TikTok-Chat-Reader

                                                  +

                                                  Icons made by iconmonstr

                                                  +

                                                  CashApp: $yohnjohn84      Venmo: @John-BrittainIII

                                                  +

                                                  After you start your live, type in your @username (without the @) on TikTok in the box below.

                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  + + + @ +
                                                  + + +
                                                  + + -
                                                  - - -
                                                  +
                                                  + + +
                                                  - -
                                                  -
                                                  -
                                                  -
                                                  -
                                                  -
                                                  -
                                                  -
                                                  -
                                                  -
                                                  - -
                                                  -
                                                  + +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  + +
                                                  +
                                                  -
                                                  -
                                                  -
                                                  -
                                                  - - - - - - - - -
                                                  -
                                                  -
                                                  -
                                                  -
                                                  -
                                                  -
                                                  -
                                                  +
                                                  +
                                                  +
                                                  +
                                                  + + + + + + + + + + + + + + + + + + + + +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  -
                                                  -
                                                  -
                                                  -
                                                  - Chats - - - -     - - -
                                                  -
                                                    -
                                                    -
                                                    -
                                                    -
                                                    -
                                                    - Gifts - - - -     - - - -
                                                    -
                                                      -
                                                      -
                                                      -
                                                      -
                                                      -
                                                      - -
                                                      -
                                                      -
                                                      -
                                                        -
                                                        -
                                                        -
                                                          -
                                                          -
                                                          -
                                                            -
                                                            -
                                                            -
                                                              -
                                                              -
                                                              -
                                                                -
                                                                -
                                                                -
                                                                -
                                                                -
                                                                - -
                                                                -
                                                                -
                                                                -
                                                                - - - - - - - - - - - - - -
                                                                UsernameNicknameCoins SentuserIdlikes
                                                                -
                                                                -
                                                                -
                                                                -
                                                                -
                                                                -
                                                                +
                                                                +
                                                                +
                                                                +
                                                                + Chats + + + + + + + +     + + + + +
                                                                +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  + Gifts + + + + + + + +     + + + + + + + +
                                                                  +
                                                                    +
                                                                    +
                                                                    +
                                                                    +
                                                                    +
                                                                    + +
                                                                    +
                                                                    +
                                                                    +
                                                                      +
                                                                      +
                                                                      +
                                                                        +
                                                                        +
                                                                        +
                                                                          +
                                                                          +
                                                                          +
                                                                            +
                                                                            +
                                                                            +
                                                                              +
                                                                              +
                                                                              +
                                                                              +
                                                                              +
                                                                              + +
                                                                              +
                                                                              +
                                                                              +
                                                                              + + + + + + + + + + + + + +
                                                                              UsernameNicknameCoins SentuserIdlikes
                                                                              +
                                                                              +
                                                                              +
                                                                              +
                                                                              +
                                                                              +
                                                                              - \ No newline at end of file + diff --git a/public/style.css b/public/style.css index a22fc5c..70b5112 100644 --- a/public/style.css +++ b/public/style.css @@ -3,6 +3,7 @@ body { /*min-width: 800px;*/ } .c-pointer {cursor: pointer;} +.c-pointer svg:hover {fill: #087990;} h1 { font-size: 1.8em; diff --git a/server.js b/server.js index c9c4587..7e83ac8 100644 --- a/server.js +++ b/server.js @@ -23,6 +23,7 @@ const httpServer = createServer(app); app.use(express.urlencoded({ extended: true })); let file = editJsonFile(`${__dirname}/public/config.json`); +let toDoData = editJsonFile(`${__dirname}/toDoData.json`); // Enable cross origin resource sharing const io = new Server(httpServer, { @@ -93,13 +94,25 @@ io.on('connection', (socket) => { tiktokConnectionWrapper.connection.on('gift', msg => socket.emit('gift', msg)); tiktokConnectionWrapper.connection.on('social', msg => socket.emit('social', msg)); tiktokConnectionWrapper.connection.on('like', msg => socket.emit('like', msg)); - tiktokConnectionWrapper.connection.on('questionNew', msg => socket.emit('questionNew', msg)); + tiktokConnectionWrapper.connection.on('questionNew', (msg) => { + socket.emit('questionNew', msg); + toDoData.append('toDoData.questionNew', data) + toDoData.save(); + }) tiktokConnectionWrapper.connection.on('linkMicBattle', msg => socket.emit('linkMicBattle', msg)); tiktokConnectionWrapper.connection.on('linkMicArmies', msg => socket.emit('linkMicArmies', msg)); tiktokConnectionWrapper.connection.on('liveIntro', msg => socket.emit('liveIntro', msg)); //tiktokConnectionWrapper.connection.on('emote', msg => socket.emit('emote', msg)); - tiktokConnectionWrapper.connection.on('envelope', msg => socket.emit('envelope', msg)); - tiktokConnectionWrapper.connection.on('subscribe', msg => socket.emit('subscribe', msg)); + tiktokConnectionWrapper.connection.on('envelope', (msg) => { + socket.emit('envelope', msg); + toDoData.append('toDoData.questionNew', msg) + toDoData.save(); + }) + tiktokConnectionWrapper.connection.on('subscribe', (msg) => { + socket.emit('subscribe', msg); + toDoData.append('toDoData.subscribe', msg) + toDoData.save(); + }) //tiktokConnectionWrapper.connection.on('rawData', (messageTypeName, binary) => socket.emit('rawData', messageTypeName)); //console.log(messageTypeName, binary); }); @@ -139,6 +152,7 @@ io.on('connection', (socket) => { }) // data.place, data.vals + // google sheets socket.on('userSaveNote', async (dat)=>{ //Auth client Object const authClientObject = await auth.getClient(); @@ -317,18 +331,65 @@ io.on('connection', (socket) => { }); }) + socket.on('toDoData', async (data) => { + toDoData.append('toDoData'+data.socket, data.data) + toDoData.save(); + socket.emit('toDoData', { + r : `Saved to-do Data!` + }); + }) + socket.on('deleteNote', async (data) => { + let find = data.name, list = file.get('notes'), + list_len = list.length, i, ob = [] + file.unset('notes') + console.log('find -- '+find+' --- find') + console.log(list_len+' total notes') + for(i=0;i { let msg = '' if(data.id == 'new'){ - file.append('notes.'+data.name, data.note) + //file.append('notes.'+data.name, data.note) + file.append('notes', {name : data.name, note : data.note}) msg = 'New Note Saved!' } else { - file.set('notes.'+data.id, data.note) + let find = data.id, list = file.get('notes'), + list_len = list.length, i, ob = [] + //console.log(list) + //file.set('notes', undefined) + //console.log(find) + //console.log('----find') + ////console.log('remove - '+dname) + for(i=0;i${msg}
                                                                              ` + r : msg }); }) socket.on('addToNames', async (data) => { From 9c57084e965c1c5a521e1fcfff0140a0c339fd91 Mon Sep 17 00:00:00 2001 From: John Brittain Date: Sun, 14 Apr 2024 02:09:28 -0400 Subject: [PATCH 15/35] settings panel improved --- public/index_gh.html | 249 --------------------------------------- public/tt-usernames.json | 23 ---- 2 files changed, 272 deletions(-) delete mode 100644 public/index_gh.html delete mode 100644 public/tt-usernames.json diff --git a/public/index_gh.html b/public/index_gh.html deleted file mode 100644 index 3755446..0000000 --- a/public/index_gh.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - - Yohn's TikTok Live Chat Analytics Demo Beta 1 - - - - - - - - - - - - - - - - - - -
                                                                              -
                                                                              -
                                                                              -

                                                                              TikTok LIVE Chat Reader

                                                                              -

                                                                              Best to use on a desktop / laptop PC, and the mobile might be slower to load. This is the second beta version for the public that has been published. There will be more updates to come soon.

                                                                              -

                                                                              This service does cost me $$ to run, and I will not know for sure how much until the end of the month.

                                                                              -

                                                                              The estimates so far is $10-20 for the server resources, but will probably increase the more we use this. Any little bit will help keep this project going. -

                                                                              -

                                                                              This is a modified version from: zerodytrash/TikTok-Chat-Reader

                                                                              -

                                                                              CashApp: $yohnjohn84      Venmo: @John-BrittainIII

                                                                              -

                                                                              After you start your live, type in your @username (without the @) on TikTok in the box below.

                                                                              -
                                                                              -
                                                                              -
                                                                              -
                                                                              -
                                                                              - @ -
                                                                              - - -
                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                              - - -
                                                                              - - -
                                                                              -
                                                                              -
                                                                              -
                                                                              -
                                                                              -
                                                                              -
                                                                              - -
                                                                              -
                                                                              - -
                                                                              -
                                                                              -
                                                                              -
                                                                              -
                                                                              - -
                                                                              -
                                                                              -
                                                                              -
                                                                              - - - - - - - - -
                                                                              -
                                                                              -
                                                                              -
                                                                              -
                                                                              -
                                                                              -
                                                                              -
                                                                              - -
                                                                              -
                                                                              -
                                                                              -
                                                                              Chats
                                                                              -
                                                                                -
                                                                                -
                                                                                -
                                                                                -
                                                                                -
                                                                                Gifts
                                                                                -
                                                                                  -
                                                                                  -
                                                                                  -
                                                                                  -
                                                                                  -
                                                                                  - -
                                                                                  -
                                                                                  -
                                                                                  -
                                                                                    -
                                                                                    -
                                                                                    -
                                                                                      -
                                                                                      -
                                                                                      -
                                                                                        -
                                                                                        -
                                                                                        -
                                                                                          -
                                                                                          -
                                                                                          -
                                                                                            -
                                                                                            -
                                                                                            -
                                                                                            -
                                                                                            -
                                                                                            - -
                                                                                            -
                                                                                            -
                                                                                            -
                                                                                            - - - - - - - - - - - - - -
                                                                                            UsernameNicknameCoins SentuserIdlikes
                                                                                            -
                                                                                            -
                                                                                            -
                                                                                            -
                                                                                            -
                                                                                            -
                                                                                            -
                                                                                            - - \ No newline at end of file diff --git a/public/tt-usernames.json b/public/tt-usernames.json deleted file mode 100644 index 205580b..0000000 --- a/public/tt-usernames.json +++ /dev/null @@ -1,23 +0,0 @@ -[ - "yohn.john", - "aviannaav", - "a__bruna", - "babysitterhk", - "michelleshane01", - "ttk_ruivax", - "rachelthaqueen", - "chelsy_284", - "sharynjamandre", - "welcometomydarkside42", - "beauty_.22", - "nazrinsalim12", - "leizy416", - "jessaobiedo02", - "drubaby66", - "kiylajoy05", - "kanabrewski", - "virgo_tessa18", - "francisgaray8", - "fivespicykitties", - "biarciane" -] \ No newline at end of file From 387b561de0872af8b52e357943132111d29b9a6d Mon Sep 17 00:00:00 2001 From: John Brittain Date: Sun, 14 Apr 2024 02:09:51 -0400 Subject: [PATCH 16/35] settings panel improved --- .gitignore | 3 +- public/app.js | 846 +++++--------------------------------------- public/b5toast.js | 43 +++ public/classes.js | 163 +++++++++ public/functions.js | 647 +++++++++++++++++++++++++++++++++ public/index.html | 75 +++- public/style.css | 727 ++++++++++++++++++++++++++++++++++++- toDoData.json | 383 ++++++++++++++++++++ 8 files changed, 2114 insertions(+), 773 deletions(-) create mode 100644 public/b5toast.js create mode 100644 public/classes.js create mode 100644 public/functions.js create mode 100644 toDoData.json diff --git a/.gitignore b/.gitignore index 351148f..d64ed9f 100644 --- a/.gitignore +++ b/.gitignore @@ -112,4 +112,5 @@ dist /tt-usernames.js /public/config.json public/config.json -**/config.json \ No newline at end of file +**/config.json +.vscode/TikTok-Chat-Reader.code-workspace diff --git a/public/app.js b/public/app.js index 3d57872..a7aad07 100644 --- a/public/app.js +++ b/public/app.js @@ -24,217 +24,22 @@ let voiceComments = 1; let ttn = []; -String.prototype.removeLast = function(n) { - var string = this.split('') - string.length = string.length - n - return string.join('') -} - -let playingSound = false, soundQue = [] -function addToQue(url){ - if(playingSound == false){ - playingSound = true - } else { - - } -} - -function hasClass(elem, className) { - return elem.classList.contains(className); -} - -function calcDate(date1, date2) { - /* - * calcDate() : Calculates the difference between two dates - * @date1 : "First Date in the format MM-DD-YYYY" - * @date2 : "Second Date in the format MM-DD-YYYY" - * return : Array - */ - - //new date instance - const dt_date1 = new Date(date1); - const dt_date2 = new Date(date2); - - //Get the Timestamp - const date1_time_stamp = dt_date1.getTime(); - const date2_time_stamp = dt_date2.getTime(); - - let calc; - - //Check which timestamp is greater - if (date1_time_stamp > date2_time_stamp) { - calc = new Date(date1_time_stamp - date2_time_stamp); - } else { - calc = new Date(date2_time_stamp - date1_time_stamp); - } - //Retrieve the date, month and year - const calcFormatTmp = calc.getDate() + '-' + (calc.getMonth() + 1) + '-' + calc.getFullYear(); - //Convert to an array and store - const calcFormat = calcFormatTmp.split("-"); - //Subtract each member of our array from the default date - const days_passed = Number(Math.abs(calcFormat[0]) - 1); - const months_passed = Number(Math.abs(calcFormat[1]) - 1); - const years_passed = Number(Math.abs(calcFormat[2]) - 1970); - - //Set up custom text - const yrsTxt = ["year", "years"]; - const mnthsTxt = ["month", "months"]; - const daysTxt = ["day", "days"]; - - //Convert to days and sum together - const total_days = (years_passed * 365) + (months_passed * 30.417) + days_passed; - const total_secs = total_days * 24 * 60 * 60; - const total_mins = total_days * 24 * 60; - const total_hours = total_days * 24; - const total_weeks = ( total_days >= 7 ) ? total_days / 7 : 0; - - //display result with custom text - const result = ((years_passed == 1) ? years_passed + ' ' + yrsTxt[0] + ' ' : (years_passed > 1) ? - years_passed + ' ' + yrsTxt[1] + ' ' : '') + - ((months_passed == 1) ? months_passed + ' ' + mnthsTxt[0] : (months_passed > 1) ? - months_passed + ' ' + mnthsTxt[1] + ' ' : '') + - ((days_passed == 1) ? days_passed + ' ' + daysTxt[0] : (days_passed > 1) ? - days_passed + ' ' + daysTxt[1] : ''); - - //return the result - return { - "total_days": Math.round(total_days), - "total_weeks": Math.round(total_weeks), - "total_hours" : Math.round(total_hours), - "total_minutes" : Math.round(total_mins), - "total_seconds": Math.round(total_secs), - "result": result.trim() - } - -} - -function generateOverlay() { - let username = $('#uniqueIdInput').val(); - let url = `/obs.html?username=${username}&showLikes=1&showChats=1&showGifts=1&showFollows=1&showJoins=1&bgColor=rgb(24,23,28)&fontColor=rgb(227,229,235)&fontSize=1.3em`; - - if(username) { - window.open(url, '_blank'); - } else { - alert("Enter username"); - } -} - -// These settings are defined by obs.html -if (!window.settings) window.settings = {}; - -function sendToDb(table, state, data){ - /*let letData = { - table: table, - state: state, - room: { - roomId: roomId, - uniqueId: uniqueId, - roomDisplayId: roomDisplayId, - roomDisplayNickname - }, - "data": data - } - //letData.table = table - //letData.data = data - $.ajax({ - type: 'POST', - url: 'https://somewebsites/api/in.php', - crossDomain: true, - data: letData, - dataType: 'text', //'json', - success: function(responseData, textStatus, jqXHR) { - //var value = responseData.someKey; - //console.log(responseData) - //console.log('/ response') - //console.log(textStatus) - //console.log('/ text') - //console.log(jqXHR) - //console.log('/ XHR') - }, - error: function (responseData, textStatus, errorThrown) { - console.log('POST failed.'); - console.log(responseData) - console.log('/ response') - //console.log(textStatus) - //console.log('/ text') - //console.log(jqXHR) - //console.log('/ XHR') - } - });*/ -} - -function timeConverter(UNIX_timestamp){ - var a = new Date(UNIX_timestamp * 1000); - - var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']; - const nthNumber = (number) => { - if (number > 3 && number < 21) return "th"; - switch (number % 10) { - case 1: - return "st"; - case 2: - return "nd"; - case 3: - return "rd"; - default: - return "th"; - } - }; - var year = a.getFullYear(); - var month = months[a.getMonth()]; - var date = a.getDate(); - var hour = a.getHours(); - var min = a.getMinutes(); - //var sec = a.getSeconds(); - var add0 = min < 10 ? 0 : '' - var time = month+' '+date+nthNumber(date)+' '+year+' '+hour+':'+add0+min; // + ':' + sec ; - return time; -} - -function loadNote(title){ // , note - let box = Array.isArray(Config.notes[title]) ? Config.notes[title][0] : Config.notes[title] - for(const note in Config['notes']){ - if(Config.notes[note].name == title){ - $('#note-id').val(title) - $('#new-note-name').val(title) - $('#new-note-info').val(Config.notes[note].note.replace("
                                                                                            ", "\n")) - $('#new-note-form').collapse('show') - //$('#new-note').slideUp('fast') - $('#delete-note').slideUp('fast', function(){ - $('#delete-note').attr('data-note-title', title) - .removeClass('d-none').slideDown('fast') - }) - } - } -} - -function removeGift(th){ - let t = $(th), gift = t.data('name') - t.closest('li').slideUp() - socket.emit('removeGiftSound', { - gift : gift - }) -} - -function playSound(th){ - let t = $(th), url = t.data('url') - , announcement = new Announcement(url); - t.find('.s-on').removeClass('d-none') - t.find('.s-off').addClass('d-none') - announcement.sound(); +let select2Options = { + theme: 'bootstrap-5', + dropdownParent: $('#soundModal') } function connect() { let uniqueId = window.settings.username || $('#uniqueIdInput').val(); - if(!Config.names.includes(uniqueId)){ - socket.emit('addToNames', { - name : uniqueId - }) - } - if (uniqueId !== '') { + if(uniqueId !== ''){ + if(!Config.names.includes(uniqueId)){ + socket.emit('addToNames', { + name : uniqueId + }) + } $('#stateText').text('Connecting...'); connection.connect(uniqueId, { enableExtendedGiftInfo: true @@ -310,12 +115,33 @@ function connect() { url: state.availableGifts[ii].icon.url_list[0], } allGifts.push(list) //state.availableGifts[i] - giftDrop += '' + giftDrop += `` } - console.log(allGifts) - $('#group-gift').html(giftDrop) + //console.log(allGifts) + //var data = $.map(giftDrop, function (obj, two) { + // obj.text = obj.text || obj.name; // replace name with the property used for the text + // obj.oid = obj.id + // obj.id = obj.name + // return obj; + //}); + function select2Gifts(state){ + if (!state.id) { + return state.text; + } + //console.log('-- select2 gifts ---') + //console.log(state) + //console.log('-- /select2 gifts ---') + // + const coins = state.element.dataset.coins + const img = state.element.dataset.img + var $state = $(`
                                                                                             ${state.text} ${coins} coins
                                                                                            `); + return $state; + } + $('#group-gift').html(giftDrop).select2({ + //data : data, + templateResult: select2Gifts, + templateSelection: select2Gifts + }).trigger('change') $('#save-gift-sound').attr('disabled', false) //sendToDb('gifts', 'check', allGifts) @@ -334,6 +160,30 @@ function connect() { } } + // the scores when connected + //? state.link_mic.battle_scores + /*[ + { + "score": 15193, + "user_id": 7028441764432709000 + }, + { + "score": 111, + "user_id": 6932573195062085000 + } + ],*/ + //? state.link_mic.battle_settings + /*{ + "battle_id": 7357466536107855000, + "channel_id": 7357464768338349000, + "duration": 301, + "finished": 0, + "match_type": 0, + "start_time": 1713043672, + "start_time_ms": 1713043672732, + "theme": "" + },*/ + //? state.link_mic.rival_anchor_id": 6932573195062085000, }).catch(errorMessage => { $('#stateText').text(errorMessage); @@ -349,41 +199,18 @@ function connect() { } } -// Prevent Cross site scripting (XSS) -function sanitize(text) { - return text ? text.replace(/${data.nickname}`; /*`; */ +String.prototype.removeLast = function(n) { + var string = this.split('') + string.length = string.length - n + return string.join('') } -function isPendingStreak(data) { - return data.giftType === 1 && !data.repeatEnd; -} +let playingSound = false, soundQue = [] -/** - * Add a new message to the chat container - */ -function insertEmotes(comment, subEmotes) { - // Sort emotes by placeInComment, in descending order - subEmotes.sort((a, b) => (b.placeInComment || 0) - (a.placeInComment || 0)); +// These settings are defined by obs.html +if (!window.settings) window.settings = {}; - // Loop through the emotes and splice them into the comment - subEmotes.forEach(emoteObj => { - const position = emoteObj.placeInComment || 0; - const emoteImageTag = `emote`; - // Insert the image tag at the specified position - comment = comment.slice(0, position) + emoteImageTag + comment.slice(position); - }); - return comment; -} const utterance = new SpeechSynthesisUtterance() let currentCharacter @@ -391,516 +218,8 @@ utterance.addEventListener('boundary', e => { currentCharacter = e.charIndex }) -function playText(text) { - if (speechSynthesis.paused && speechSynthesis.speaking) { - return speechSynthesis.resume() - } - if (speechSynthesis.speaking) return - utterance.text = text - utterance.rate = 1 //speedInput.value || 1 - //textInput.disabled = true - speechSynthesis.speak(utterance) -} -function addChatItem(color, data, text, cont) { - let container = location.href.includes('obs.html') ? $('.eventcontainer') : $(cont); - //🚔 👮 - let nickname, badgeLength = data.userBadges.length, afterName = '', b4Name = ''; - if(badgeLength > 0){ - for(let i = 0;i'; - } else if(data.userBadges[i].name == 'Moderator'){ - afterName += '👮'; - } else if(data.userBadges[i].badgeSceneType == 8){ - // gifter level - b4Name += '💎 '+data.userBadges[i].level+'' - } else if(data.userBadges[i].badgeSceneType == 10){ - // team level - b4Name += '💗 '+data.userBadges[i].level+'' - } else { - - } - } - } - nickname = data.nickname.replace("'", "\\'") - let isFoll = '', followInfo - if(data && typeof data === 'object' && data.followInfo){ - isFoll = data.followInfo.followStatus == 2 ? 'Friends w/ Host' - : data.followInfo.followStatus == 1 ? 'Following Host' : 'Not Following Host'; - followInfo = `
                                                                                            - ${data.followInfo.followerCount} Followers - ${data.followInfo.followingCount} Following -
                                                                                            `; - } - container.prepend(` -
                                                                                          • @${data.uniqueId}
                                                                                            -
                                                                                            - ${isFoll} -
                                                                                            -
                                                                                          • -
                                                                                            -
                                                                                            - ${followInfo} - View TikTok -
                                                                                            '> -
                                                                                            -
                                                                                            - -
                                                                                            -
                                                                                            - - ${b4Name}${generateUsernameLink(data)}${afterName}: - ${text} - -
                                                                                            -
                                                                                            - `); - //

                                                                                            ${data.userDetails.bioDescription.replaceAll("'", "'")}

                                                                                            - if(voiceComments == 1){ - playText(text) - } - container.find('li[data-bs-toggle="popover"]:first').popover({ - sanitize: false, - html: true, - customClass: 'user-pop', - //trigger: 'click', - //delay: {"show": 200, "hide": 500} - }).on('show.bs.popover', () => { - $('li[data-bs-toggle="popover"]').not($(this)).popover('hide'); - setTimeout(function(){ - $('li[data-bs-toggle="popover"]').popover('hide'); - },10000) - }) - container.find('[data-bs-toggle="tooltip"]:first').tooltip() - //new bootstrap.Tooltip(this) - //container.stop(); - //container.animate({ - // scrollTop: container[0].scrollHeight - //}, 400); - if(data.uniqueId in usernames){} else { - //let tempuname = {}; - usernames[data.uniqueId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - userIds[data.userId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - } -} - -function addShareItem(color, data, text, cont) { - let container = $('.sharecontainer'), sans = sanitize(text); - container.prepend(`
                                                                                          • -
                                                                                            - - - ${generateUsernameLink(data)}: - ${sans} - -
                                                                                            -
                                                                                          • `); - if(data.uniqueId in usernames){} else { - //let tempuname = {}; - usernames[data.uniqueId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - userIds[data.userId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - } - sendToDb('share', 'shared', { - timestamp: data.timestamp, - sharer: userIds[data.userId], - count: sans - }) -} -/** - * Add a new gift to the gift container - */ -function addGiftItem(data) { - let container = location.href.includes('obs.html') ? $('.eventcontainer') : $('.giftcontainer'); - if(data.uniqueId in usernames){} else { - //let tempuname = {}; - usernames[data.uniqueId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - userIds[data.userId] = { - userId : data.userId, - uniqueId : data.uniqueId, - nickname : data.nickname, - profilePictureUrl : data.profilePictureUrl - } - } - let streakId = data.uniqueId.toString() + '_' + data.giftId; - let isPending = isPendingStreak(data) - let diamonds = data.diamondCount * data.repeatCount - let diamondsLocal = parseInt(data.diamondCount * data.repeatCount).toLocaleString() - - /*test */ - let giftFor = '', tapName = ''; - if(data.receiverUserId in userIds){ - giftFor = 'to '+generateUsernameLink(userIds[data.receiverUserId]); - } - - let badgeLength = data.userBadges.length - let afterName = ''; - let b4Name = ''; - if(badgeLength > 0){ - for(let i = 0;i'; - } else if(data.userBadges[i].name == 'Moderator'){ - afterName += '👮'; - } else if(data.userBadges[i].badgeSceneType == 8){ - // gifter level - b4Name += '💎 '+data.userBadges[i].level+'' - } else if(data.userBadges[i].badgeSceneType == 10){ - // team level - b4Name += '💗 '+data.userBadges[i].level+'' - } else { - - } - } - } - - let html = `
                                                                                          • -
                                                                                            -
                                                                                            - -
                                                                                            -
                                                                                            -

                                                                                            ${b4Name} ${generateUsernameLink(data)} ${afterName}: ${data.describe} ${giftFor}

                                                                                            -
                                                                                            -
                                                                                            - -
                                                                                            -
                                                                                            - Name: ${data.giftName} (ID:${data.giftId})
                                                                                            - Repeat: x${data.repeatCount.toLocaleString()}
                                                                                            - Cost: ${diamondsLocal} Diamonds -
                                                                                            -
                                                                                            -
                                                                                            -
                                                                                            -
                                                                                          • `; - - - let existingStreakItem = container.find(`[data-streakid='${streakId}']`); - - if (existingStreakItem.length) { - existingStreakItem.replaceWith(html); - } else { - container.prepend(html); - } - - - if(!isPending){ - let gifter = data.uniqueId; - if(gifter in gifter_ary){ - gifter_ary[gifter].coins = parseInt(gifter_ary[gifter].coins)+parseInt(diamonds); - $('[data-gifter="'+gifter+'"]').remove() - } else { - gifter_ary[gifter] = { - username: data.nickname, - uniqueId: data.uniqueId, - userId: data.userId, - coins: diamonds, - likes: 0, - shares: 0 - } - } - let gifterTable = $('#gifter-table tbody') - //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].uniqueId+','+gifter_ary[gifter].coins+"\n"; - gifterTable.prepend(` - - ${gifter_ary[gifter].username} - ${gifter_ary[gifter].uniqueId} - ${parseInt(gifter_ary[gifter].coins).toLocaleString('en')} - ${gifter_ary[gifter].userId} - ${gifter_ary[gifter].likes} - - `) - - if(saveGifts == 1){ - socket.emit('addGift', { - giftId: data.giftId, - userId: data.userId, - giftName: data.giftName, - uniqueId: data.uniqueId, - nickname: data.nickname, - timestamp: data.timestamp, - repeatCount: data.repeatCount, - receiverUser: data.receiverUserId in userIds ? userIds[data.receiverUserId].nickname : '', - receiverUserId: data.receiverUserId, - diamondCount: diamondsLocal, - giftPictureUrl: data.giftPictureUrl, - profilePictureUrl: data.profilePictureUrl, - }); - } - - let sPath = Config["sounds"]["gift"][data["giftName"].toLowerCase()] || Config["sounds"]["gift"]["default"] - if(playSounds == 1 && Config["enabled"]["gift"] && sPath){ - console.log('play sound?') - let announcement = new Announcement( - sPath - ); - announcement.sound(); - } - } -} - -function addLikeItem(color, data, text, summarize) { - let container = $('.likecontainer'); - //let tt = sanitize(text); - //console.log(tt); - if (container.find('div').length > 500) { - container.find('div').slice(0, 200).remove(); - } - //container.find('.temporary').remove(); - if(text != ''){ - container.prepend(`
                                                                                          • -
                                                                                            - - - ${generateUsernameLink(data)}: - ${sanitize(text)} - -
                                                                                            -
                                                                                          • `); - } -} - -function updateTopGifters(viewers){ - let container = $('#topViewers') - container.html('Loading Gifters...') - if(viewers.length > 0){ - let cc = 0, i, top = '', rest = '', drop = `` - for(i=0;i - - - ${viewers[i].user.uniqueId} - (${viewers[i].coinCount} coins) - - ` - } - drop += `` - - if(parseInt(viewers[i].coinCount) > 0 - && typeof viewers[i].user.username != undefined - && viewers[i].user.username != 'undefined' - && viewers[i].user.username != '' - && viewers[i].user.username != null){ - let gifter = viewers[i].user.uniqueId; - - if(msg.uniqueId in usernames){} else { - //let tempuname = {}; - usernames[viewers[i].user.uniqueId] = { - userId : viewers[i].user.userId, - uniqueId : viewers[i].user.uniqueId, - nickname : viewers[i].user.nickname, - profilePictureUrl : viewers[i].user.profilePictureUrl - } - userIds[viewers[i].user.userId] = { - userId : viewers[i].user.userId, - uniqueId : viewers[i].user.uniqueId, - nickname : viewers[i].user.nickname, - profilePictureUrl : viewers[i].user.profilePictureUrl - } - } - - if(gifter in gifter_ary){ - gifter_ary[gifter].coins = parseInt(viewers[i].coinCount); - $('[data-gifter="'+gifter+'"]').remove() - } else { - gifter_ary[gifter] = { - username: viewers[i].user.nickname, - uniqueId: viewers[i].user.uniqueId, - userId: viewers[i].user.userId, - coins: parseInt(viewers[i].coinCount), - likes: 0, - shares: 0 - } - - } - let gifterTable = $('#gifter-table tbody') - //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].uniqueId+','+gifter_ary[gifter].coins+"\n"; - gifterTable.prepend(` - - ${gifter_ary[gifter].username} - ${gifter_ary[gifter].uniqueId} - ${gifter_ary[gifter].coins} - ${gifter_ary[gifter].userId} - ${gifter_ary[gifter].likes} - - `) - } - } - } - container.html(''); - //console.log(top) - - } else { - container.html('no viewers..?') - //console.log('no viewers') - } -} - -let Config = { - buildNames(json){ - let datalist = document.getElementById('datalistOptions'); - datalist.innerHTML = '' - //let nameList = document.getElementById('name-list'); - let html = '', gsound = '', notes = '' - for(const item of json['names']){ - datalist.appendChild(new Option(item,item)); - html += `
                                                                                          • - ${item} - - - - - -
                                                                                          • ` - } - $('#name-list').html(html) - }, - buildNotes(json){ - let notes = '' - //for(const note in json['notes']){ - // console.log(note) - // notes += `
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            5:00
                                                                                            +
                                                                                            ` //console.log(str) $('#battleParties').html(str) + updateCountDown(299) console.log('inserted battle stuff..') }) connection.on('linkMicArmies', (data) => { - console.log('linkMicArmies') - console.log(data) - console.log('/linkMicArmies') + //console.log('linkMicArmies') + //console.log(data) + //console.log('/linkMicArmies') let i; //$('#battleStats').removeClass('d-none') for(i=0;i { //console.log('inserted info') }) connection.on('liveIntro', (data) => { - //console.log('liveIntro') - //console.log(data) - //console.log('/liveIntro') + console.log('liveIntro') + console.log(data) + console.log('/liveIntro') addChatItem('#ff00cc', data, data.description, '.chatcontainer'); diff --git a/public/b5toast.js b/public/b5toast.js new file mode 100644 index 0000000..b3b7b96 --- /dev/null +++ b/public/b5toast.js @@ -0,0 +1,43 @@ +//change some settings +// https://github.com/AucT/b5toast +// https://auct.github.io/b5toast/b5toast_demo +// b5toast.show('warning', 'my message', 'optional title', optionalDelay); +const b5toastContainerElement = document.getElementById("toast-container"); + +//don't touch code below if you don't know what are you doing +const b5toast = { + delayInMilliseconds: 7000, + htmlToElement: function (html) { + const template = document.createElement("template"); + html = html.trim(); + template.innerHTML = html; + return template.content.firstChild; + }, + show: function (color, message, title, delay) { + title = title ? title : ""; + const html = ``; + const toastElement = b5toast.htmlToElement(html); + b5toastContainerElement.appendChild(toastElement); + const toast = new bootstrap.Toast(toastElement, { + delay: delay?delay:b5toast.delayInMilliseconds, + animation: true + }); + toast.show(); + setTimeout(() => toastElement.remove(), delay?delay:b5toast.delayInMilliseconds + 3000); // let a certain margin to allow the "hiding toast animation" + }, + + error: function (message, title, delay) { + b5toast.show("danger", message, title, delay); + }, + success: function (message, title, delay) { + b5toast.show("success", message, title, delay); + }, +}; \ No newline at end of file diff --git a/public/classes.js b/public/classes.js new file mode 100644 index 0000000..c50f2ec --- /dev/null +++ b/public/classes.js @@ -0,0 +1,163 @@ +let Config = { + buildNames(json){ + let datalist = document.getElementById('datalistOptions'); + datalist.innerHTML = '' + //let nameList = document.getElementById('name-list'); + let html = '', gsound = '', notes = '' + for(const item of json['names']){ + datalist.appendChild(new Option(item,item)); + html += `
                                                                                          • + ${item} + + + + + +
                                                                                          • ` + } + $('#name-list').html(html) + }, + buildNotes(json){ + let notes = '' + //for(const note in json['notes']){ + // console.log(note) + // notes += ` +
                                                                                            +
                                                                                            `; + const toastElement = b5toast.htmlToElement(html); + b5toastContainerElement.appendChild(toastElement); + const toast = new bootstrap.Toast(toastElement, { + delay: delay?delay:b5toast.delayInMilliseconds, + animation: true + }); + toast.show(); + setTimeout(() => toastElement.remove(), delay?delay:b5toast.delayInMilliseconds + 3000); // let a certain margin to allow the "hiding toast animation" + }, + + error: function (message, title, delay) { + b5toast.show("danger", message, title, delay); + }, + success: function (message, title, delay) { + b5toast.show("success", message, title, delay); + }, +}; \ No newline at end of file diff --git a/public/functions.js b/public/functions.js new file mode 100644 index 0000000..27b7e5d --- /dev/null +++ b/public/functions.js @@ -0,0 +1,647 @@ + +const updateCountDown = (time) => { + const etime = document.getElementById('battle-time') + const ebar = document.getElementById('battle-bar') + const totalTime = time + const t = setInterval(() => { + const minutes = Math.floor(time / 60) + const seconds = time % 60 + const sec = seconds < 10 ? '0'+seconds : seconds + const result = `${parseInt(minutes)}:${sec}` + const width = parseInt(((totalTime - time)/totalTime)*100) //+'%' + const wid = parseInt(100-width) + if(minutes == 0 && seconds < 31){ + ebar.classList.add("bg-warning") + etime.classList.add("bg-warning") + if(seconds < 11){ + ebar.classList.add("bg-danger") + ebar.classList.remove("bg-warning") + etime.classList.add("bg-danger") + etime.classList.remove("bg-warning") + } + } + etime.innerHTML = result + ebar.style.width = wid+'%' + time-- + if (minutes === 0 && seconds === 0) { + clearInterval(t) + } + }, 1000) +} + +function addToQue(url){ + if(playingSound == false){ + playingSound = true + } else { + + } +} + +function hasClass(elem, className) { + return elem.classList.contains(className); +} + +function calcDate(date1, date2) { + /* + * calcDate() : Calculates the difference between two dates + * @date1 : "First Date in the format MM-DD-YYYY" + * @date2 : "Second Date in the format MM-DD-YYYY" + * return : Array + */ + + //new date instance + const dt_date1 = new Date(date1); + const dt_date2 = new Date(date2); + + //Get the Timestamp + const date1_time_stamp = dt_date1.getTime(); + const date2_time_stamp = dt_date2.getTime(); + + let calc; + + //Check which timestamp is greater + if (date1_time_stamp > date2_time_stamp) { + calc = new Date(date1_time_stamp - date2_time_stamp); + } else { + calc = new Date(date2_time_stamp - date1_time_stamp); + } + //Retrieve the date, month and year + const calcFormatTmp = calc.getDate() + '-' + (calc.getMonth() + 1) + '-' + calc.getFullYear(); + //Convert to an array and store + const calcFormat = calcFormatTmp.split("-"); + //Subtract each member of our array from the default date + const days_passed = Number(Math.abs(calcFormat[0]) - 1); + const months_passed = Number(Math.abs(calcFormat[1]) - 1); + const years_passed = Number(Math.abs(calcFormat[2]) - 1970); + + //Set up custom text + const yrsTxt = ["year", "years"]; + const mnthsTxt = ["month", "months"]; + const daysTxt = ["day", "days"]; + + //Convert to days and sum together + const total_days = (years_passed * 365) + (months_passed * 30.417) + days_passed; + const total_secs = total_days * 24 * 60 * 60; + const total_mins = total_days * 24 * 60; + const total_hours = total_days * 24; + const total_weeks = ( total_days >= 7 ) ? total_days / 7 : 0; + + //display result with custom text + const result = ((years_passed == 1) ? years_passed + ' ' + yrsTxt[0] + ' ' : (years_passed > 1) ? + years_passed + ' ' + yrsTxt[1] + ' ' : '') + + ((months_passed == 1) ? months_passed + ' ' + mnthsTxt[0] : (months_passed > 1) ? + months_passed + ' ' + mnthsTxt[1] + ' ' : '') + + ((days_passed == 1) ? days_passed + ' ' + daysTxt[0] : (days_passed > 1) ? + days_passed + ' ' + daysTxt[1] : ''); + + //return the result + return { + "total_days": Math.round(total_days), + "total_weeks": Math.round(total_weeks), + "total_hours" : Math.round(total_hours), + "total_minutes" : Math.round(total_mins), + "total_seconds": Math.round(total_secs), + "result": result.trim() + } + +} + +function generateOverlay() { + let username = $('#uniqueIdInput').val(); + let url = `/obs.html?username=${username}&showLikes=1&showChats=1&showGifts=1&showFollows=1&showJoins=1&bgColor=rgb(24,23,28)&fontColor=rgb(227,229,235)&fontSize=1.3em`; + + if(username) { + window.open(url, '_blank'); + } else { + alert("Enter username"); + } +} + +function sendToDb(table, state, data){ + /*let letData = { + table: table, + state: state, + room: { + roomId: roomId, + uniqueId: uniqueId, + roomDisplayId: roomDisplayId, + roomDisplayNickname + }, + "data": data + } + //letData.table = table + //letData.data = data + $.ajax({ + type: 'POST', + url: 'https://somewebsites/api/in.php', + crossDomain: true, + data: letData, + dataType: 'text', //'json', + success: function(responseData, textStatus, jqXHR) { + //var value = responseData.someKey; + //console.log(responseData) + //console.log('/ response') + //console.log(textStatus) + //console.log('/ text') + //console.log(jqXHR) + //console.log('/ XHR') + }, + error: function (responseData, textStatus, errorThrown) { + console.log('POST failed.'); + console.log(responseData) + console.log('/ response') + //console.log(textStatus) + //console.log('/ text') + //console.log(jqXHR) + //console.log('/ XHR') + } + });*/ +} + +function timeConverter(UNIX_timestamp){ + var a = new Date(UNIX_timestamp * 1000); + + var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']; + const nthNumber = (number) => { + if (number > 3 && number < 21) return "th"; + switch (number % 10) { + case 1: + return "st"; + case 2: + return "nd"; + case 3: + return "rd"; + default: + return "th"; + } + }; + var year = a.getFullYear(); + var month = months[a.getMonth()]; + var date = a.getDate(); + var hour = a.getHours(); + var min = a.getMinutes(); + //var sec = a.getSeconds(); + var add0 = min < 10 ? 0 : '' + var time = month+' '+date+nthNumber(date)+' '+year+' '+hour+':'+add0+min; // + ':' + sec ; + return time; +} + +function loadNote(title){ // , note + let box = Array.isArray(Config.notes[title]) ? Config.notes[title][0] : Config.notes[title] + for(const note in Config['notes']){ + if(Config.notes[note].name == title){ + $('#note-id').val(title) + $('#new-note-name').val(title) + $('#new-note-info').val(Config.notes[note].note.replace("
                                                                                            ", "\n")) + $('#new-note-form').collapse('show') + //$('#new-note').slideUp('fast') + $('#delete-note').slideUp('fast', function(){ + $('#delete-note').attr('data-note-title', title) + .removeClass('d-none').slideDown('fast') + }) + } + } +} + +function removeGift(th){ + let t = $(th), gift = t.data('name') + t.closest('li').slideUp() + socket.emit('removeGiftSound', { + gift : gift + }) +} + +function playSound(th){ + let t = $(th), url = t.data('url') + , announcement = new Announcement(url); + t.find('.s-on').removeClass('d-none') + t.find('.s-off').addClass('d-none') + announcement.sound(); +} + +// Prevent Cross site scripting (XSS) +function sanitize(text) { + return text ? text.replace(/${data.nickname}`; /*`; */ +} + +function isPendingStreak(data) { + return data.giftType === 1 && !data.repeatEnd; +} + +/** + * Add a new message to the chat container + */ +function insertEmotes(comment, subEmotes) { + // Sort emotes by placeInComment, in descending order + subEmotes.sort((a, b) => (b.placeInComment || 0) - (a.placeInComment || 0)); + + // Loop through the emotes and splice them into the comment + subEmotes.forEach(emoteObj => { + const position = emoteObj.placeInComment || 0; + const emoteImageTag = `emote`; + // Insert the image tag at the specified position + comment = comment.slice(0, position) + emoteImageTag + comment.slice(position); + }); + return comment; +} +function playText(text) { + if (speechSynthesis.paused && speechSynthesis.speaking) { + return speechSynthesis.resume() + } + if (speechSynthesis.speaking) return + utterance.text = text + utterance.rate = 1 //speedInput.value || 1 + //textInput.disabled = true + speechSynthesis.speak(utterance) +} +function addChatItem(color, data, text, cont) { + let container = location.href.includes('obs.html') ? $('.eventcontainer') : $(cont); + //🚔 👮 + let nickname, badgeLength = data.userBadges.length, afterName = '', b4Name = ''; + if(badgeLength > 0){ + for(let i = 0;i'; + } else if(data.userBadges[i].name == 'Moderator'){ + afterName += '👮'; + } else if(data.userBadges[i].badgeSceneType == 8){ + // gifter level + b4Name += '💎 '+data.userBadges[i].level+'' + } else if(data.userBadges[i].badgeSceneType == 10){ + // team level + b4Name += '💗 '+data.userBadges[i].level+'' + } else { + + } + } + } + nickname = data.nickname.replace("'", "\\'") + let isFoll = '', followInfo + if(data && typeof data === 'object' && data.followInfo){ + isFoll = data.followInfo.followStatus == 2 ? 'Friends w/ Host' + : data.followInfo.followStatus == 1 ? 'Following Host' : 'Not Following Host'; + followInfo = `
                                                                                            + ${data.followInfo.followerCount} Followers + ${data.followInfo.followingCount} Following +
                                                                                            `; + } + container.prepend(` +
                                                                                          • @${data.uniqueId}
                                                                                            +
                                                                                            + ${isFoll} +
                                                                                            +
                                                                                          • +
                                                                                            +
                                                                                            + ${followInfo} + View TikTok +
                                                                                            '> +
                                                                                            +
                                                                                            + +
                                                                                            +
                                                                                            + + ${b4Name}${generateUsernameLink(data)}${afterName}: + ${text} + +
                                                                                            +
                                                                                            + `); + //

                                                                                            ${data.userDetails.bioDescription.replaceAll("'", "'")}

                                                                                            + if(voiceComments == 1){ + playText(text) + } + container.find('li[data-bs-toggle="popover"]:first').popover({ + sanitize: false, + html: true, + customClass: 'user-pop', + //trigger: 'click', + //delay: {"show": 200, "hide": 500} + }).on('show.bs.popover', () => { + $('li[data-bs-toggle="popover"]').not($(this)).popover('hide'); + setTimeout(function(){ + $('li[data-bs-toggle="popover"]').popover('hide'); + },10000) + }) + container.find('[data-bs-toggle="tooltip"]:first').tooltip() + //new bootstrap.Tooltip(this) + //container.stop(); + //container.animate({ + // scrollTop: container[0].scrollHeight + //}, 400); + if(data.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[data.uniqueId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + userIds[data.userId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + } +} + +function addShareItem(color, data, text, cont) { + let container = $('.sharecontainer'), sans = sanitize(text); + container.prepend(`
                                                                                          • +
                                                                                            + + + ${generateUsernameLink(data)}: + ${sans} + +
                                                                                            +
                                                                                          • `); + if(data.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[data.uniqueId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + userIds[data.userId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + } + sendToDb('share', 'shared', { + timestamp: data.timestamp, + sharer: userIds[data.userId], + count: sans + }) +} +/** + * Add a new gift to the gift container + */ +function addGiftItem(data) { + let container = location.href.includes('obs.html') ? $('.eventcontainer') : $('.giftcontainer'); + if(data.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[data.uniqueId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + userIds[data.userId] = { + userId : data.userId, + uniqueId : data.uniqueId, + nickname : data.nickname, + profilePictureUrl : data.profilePictureUrl + } + } + let streakId = data.uniqueId.toString() + '_' + data.giftId; + let isPending = isPendingStreak(data) + let diamonds = data.diamondCount * data.repeatCount + let diamondsLocal = parseInt(data.diamondCount * data.repeatCount).toLocaleString() + + /*test */ + let giftFor = '', tapName = ''; + if(data.receiverUserId in userIds){ + giftFor = 'to '+generateUsernameLink(userIds[data.receiverUserId]); + } + + let badgeLength = data.userBadges.length + let afterName = ''; + let b4Name = ''; + if(badgeLength > 0){ + for(let i = 0;i'; + } else if(data.userBadges[i].name == 'Moderator'){ + afterName += '👮'; + } else if(data.userBadges[i].badgeSceneType == 8){ + // gifter level + b4Name += '💎 '+data.userBadges[i].level+'' + } else if(data.userBadges[i].badgeSceneType == 10){ + // team level + b4Name += '💗 '+data.userBadges[i].level+'' + } else { + + } + } + } + + let html = `
                                                                                          • +
                                                                                            +
                                                                                            + +
                                                                                            +
                                                                                            +

                                                                                            ${b4Name} ${generateUsernameLink(data)} ${afterName}: ${data.describe} ${giftFor}

                                                                                            +
                                                                                            +
                                                                                            + +
                                                                                            +
                                                                                            + Name: ${data.giftName} (ID:${data.giftId})
                                                                                            + Repeat: x${data.repeatCount.toLocaleString()}
                                                                                            + Cost: ${diamondsLocal} Diamonds +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                          • `; + + + let existingStreakItem = container.find(`[data-streakid='${streakId}']`); + + if (existingStreakItem.length) { + existingStreakItem.replaceWith(html); + } else { + container.prepend(html); + } + + + if(!isPending){ + let gifter = data.uniqueId; + if(gifter in gifter_ary){ + gifter_ary[gifter].coins = parseInt(gifter_ary[gifter].coins)+parseInt(diamonds); + $('[data-gifter="'+gifter+'"]').remove() + } else { + gifter_ary[gifter] = { + username: data.nickname, + uniqueId: data.uniqueId, + userId: data.userId, + coins: diamonds, + likes: 0, + shares: 0 + } + } + let gifterTable = $('#gifter-table tbody') + //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].uniqueId+','+gifter_ary[gifter].coins+"\n"; + gifterTable.prepend(` + + ${gifter_ary[gifter].username} + ${gifter_ary[gifter].uniqueId} + ${parseInt(gifter_ary[gifter].coins).toLocaleString('en')} + ${gifter_ary[gifter].userId} + ${gifter_ary[gifter].likes} + + `) + + if(saveGifts == 1){ + socket.emit('addGift', { + giftId: data.giftId, + userId: data.userId, + giftName: data.giftName, + uniqueId: data.uniqueId, + nickname: data.nickname, + timestamp: data.timestamp, + repeatCount: data.repeatCount, + receiverUser: data.receiverUserId in userIds ? userIds[data.receiverUserId].nickname : '', + receiverUserId: data.receiverUserId, + diamondCount: diamondsLocal, + giftPictureUrl: data.giftPictureUrl, + profilePictureUrl: data.profilePictureUrl, + }); + } + + let sPath = Config["sounds"]["gift"][data["giftName"].toLowerCase()] || Config["sounds"]["gift"]["default"] + if(playSounds == 1 && Config["enabled"]["gift"] && sPath){ + console.log('play sound?') + let announcement = new Announcement( + sPath + ); + announcement.sound(); + } + } +} + +function addLikeItem(color, data, text, summarize) { + let container = $('.likecontainer'); + //let tt = sanitize(text); + //console.log(tt); + if (container.find('div').length > 500) { + container.find('div').slice(0, 200).remove(); + } + //container.find('.temporary').remove(); + if(text != ''){ + container.prepend(`
                                                                                          • +
                                                                                            + + + ${generateUsernameLink(data)}: + ${sanitize(text)} + +
                                                                                            +
                                                                                          • `); + } +} + +function updateTopGifters(viewers){ + let container = $('#topViewers') + container.html('Loading Gifters...') + if(viewers.length > 0){ + let cc = 0, i, top = '', rest = '', drop = `` + for(i=0;i + + + ${viewers[i].user.uniqueId} + (${viewers[i].coinCount} coins) + + ` + } + drop += `` + + if(parseInt(viewers[i].coinCount) > 0 + && typeof viewers[i].user.username != undefined + && viewers[i].user.username != 'undefined' + && viewers[i].user.username != '' + && viewers[i].user.username != null){ + let gifter = viewers[i].user.uniqueId; + + if(msg.uniqueId in usernames){} else { + //let tempuname = {}; + usernames[viewers[i].user.uniqueId] = { + userId : viewers[i].user.userId, + uniqueId : viewers[i].user.uniqueId, + nickname : viewers[i].user.nickname, + profilePictureUrl : viewers[i].user.profilePictureUrl + } + userIds[viewers[i].user.userId] = { + userId : viewers[i].user.userId, + uniqueId : viewers[i].user.uniqueId, + nickname : viewers[i].user.nickname, + profilePictureUrl : viewers[i].user.profilePictureUrl + } + } + + if(gifter in gifter_ary){ + gifter_ary[gifter].coins = parseInt(viewers[i].coinCount); + $('[data-gifter="'+gifter+'"]').remove() + } else { + gifter_ary[gifter] = { + username: viewers[i].user.nickname, + uniqueId: viewers[i].user.uniqueId, + userId: viewers[i].user.userId, + coins: parseInt(viewers[i].coinCount), + likes: 0, + shares: 0 + } + + } + let gifterTable = $('#gifter-table tbody') + //let tline = gifter_ary[gifter].username+','+gifter_ary[gifter].uniqueId+','+gifter_ary[gifter].coins+"\n"; + gifterTable.prepend(` + + ${gifter_ary[gifter].username} + ${gifter_ary[gifter].uniqueId} + ${gifter_ary[gifter].coins} + ${gifter_ary[gifter].userId} + ${gifter_ary[gifter].likes} + + `) + } + } + } + container.html(''); + //console.log(top) + + } else { + container.html('no viewers..?') + //console.log('no viewers') + } +} + + +function removeName(th){ + let th2 = $(th), name = th2.data('name') + socket.emit('removeNames', { + name : name + }) +} diff --git a/public/index.html b/public/index.html index 4d4c27e..5cc2ad6 100644 --- a/public/index.html +++ b/public/index.html @@ -15,21 +15,12 @@ - - - + + + + @@ -391,6 +382,57 @@

                                                                                            Settings

                                                                                            --> + + `; } container.prepend(` -
                                                                                          • ${data.nickname.replaceAll("'", "'")}

                                                                                            @${data.uniqueId}
                                                                                            @@ -319,12 +346,15 @@ function addChatItem(color, data, text, cont) {
                                                                                          • `); //

                                                                                            ${data.userDetails.bioDescription.replaceAll("'", "'")}

                                                                                            if(voiceComments == 1){ - playText(text) + if(cont == '.chatcontainer'){ + //tts.say() + playText(text) + } } container.find('li[data-bs-toggle="popover"]:first').popover({ sanitize: false, html: true, - customClass: 'user-pop', + customClass: 'user-pop' //trigger: 'click', //delay: {"show": 200, "hide": 500} }).on('show.bs.popover', () => { @@ -632,7 +662,6 @@ function updateTopGifters(viewers){ } } - function removeName(th){ let th2 = $(th), name = th2.data('name') socket.emit('removeNames', { diff --git a/public/index.html b/public/index.html index 94a8ef0..db8fb5d 100644 --- a/public/index.html +++ b/public/index.html @@ -5,7 +5,7 @@ Yohn's TikTok Live Chat Analytics Demo Beta 1 - + @@ -306,8 +306,18 @@
                                                                                            - +