mirror of
https://github.com/statbate/shiny-potato.git
synced 2026-08-11 03:12:42 +00:00
update
This commit is contained in:
parent
30e7296135
commit
ac13a3fab3
1 changed files with 26 additions and 26 deletions
|
|
@ -1,17 +1,17 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"github.com/gorilla/websocket"
|
|
||||||
"net/http"
|
|
||||||
"net/url"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
"regexp"
|
|
||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"github.com/gorilla/websocket"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
"net/http"
|
||||||
|
"net/url"
|
||||||
|
"regexp"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
var uptime = time.Now().Unix()
|
var uptime = time.Now().Unix()
|
||||||
|
|
@ -74,7 +74,7 @@ func mapRooms() {
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case m := <-rooms.Add:
|
case m := <-rooms.Add:
|
||||||
data[m.room] = &Info{Id: m.Id, Server: m.Server, Proxy: m.Proxy, Start: m.Start, Last: m.Last, Online: m.Online, Income: m.Income, Dons: m.Dons, Tips: m.Tips, ch: m.ch}
|
data[m.room] = &Info{Id: m.Id, Rid: m.Rid, Server: m.Server, Proxy: m.Proxy, Start: m.Start, Last: m.Last, Online: m.Online, Income: m.Income, Dons: m.Dons, Tips: m.Tips, ch: m.ch}
|
||||||
|
|
||||||
case s := <-rooms.Json:
|
case s := <-rooms.Json:
|
||||||
j, err := json.Marshal(data)
|
j, err := json.Marshal(data)
|
||||||
|
|
@ -146,26 +146,26 @@ func getToken(room string) string {
|
||||||
|
|
||||||
func xWorker(workerData Info) {
|
func xWorker(workerData Info) {
|
||||||
fmt.Println("Start", workerData.room, "id", workerData.Id, "proxy", workerData.Proxy)
|
fmt.Println("Start", workerData.room, "id", workerData.Id, "proxy", workerData.Proxy)
|
||||||
|
|
||||||
rooms.Add <- workerData
|
rooms.Add <- workerData
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
rooms.Del <- workerData.room
|
rooms.Del <- workerData.room
|
||||||
}()
|
}()
|
||||||
|
|
||||||
xurl := workerData.Server
|
xurl := workerData.Server
|
||||||
|
|
||||||
if xurl == "" {
|
if xurl == "" {
|
||||||
xurl = getToken(workerData.room)
|
xurl = getToken(workerData.room)
|
||||||
workerData.Server = xurl
|
workerData.Server = xurl
|
||||||
}
|
}
|
||||||
|
|
||||||
u, err := url.Parse(xurl)
|
u, err := url.Parse(xurl)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(xurl, err, workerData.room)
|
fmt.Println(xurl, err, workerData.room)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
Dialer := *websocket.DefaultDialer
|
Dialer := *websocket.DefaultDialer
|
||||||
|
|
||||||
proxyMap := make(map[string]string)
|
proxyMap := make(map[string]string)
|
||||||
|
|
@ -190,9 +190,9 @@ func xWorker(workerData Info) {
|
||||||
}
|
}
|
||||||
|
|
||||||
defer c.Close()
|
defer c.Close()
|
||||||
|
|
||||||
dons := make(map[string]struct{})
|
dons := make(map[string]struct{})
|
||||||
|
|
||||||
for {
|
for {
|
||||||
c.SetReadDeadline(time.Now().Add(30 * time.Minute))
|
c.SetReadDeadline(time.Now().Add(30 * time.Minute))
|
||||||
_, message, err := c.ReadMessage()
|
_, message, err := c.ReadMessage()
|
||||||
|
|
@ -200,18 +200,18 @@ func xWorker(workerData Info) {
|
||||||
fmt.Println(err.Error(), workerData.room)
|
fmt.Println(err.Error(), workerData.room)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
now := time.Now().Unix()
|
now := time.Now().Unix()
|
||||||
|
|
||||||
slog <- saveLog{workerData.Rid, time.Now().Unix(), string(message)}
|
slog <- saveLog{workerData.Rid, time.Now().Unix(), string(message)}
|
||||||
|
|
||||||
m := &ServerResponse{}
|
m := &ServerResponse{}
|
||||||
|
|
||||||
if err = json.Unmarshal(message, m); err != nil {
|
if err = json.Unmarshal(message, m); err != nil {
|
||||||
fmt.Println(err.Error(), workerData.room)
|
fmt.Println(err.Error(), workerData.room)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
workerData.Last = now
|
workerData.Last = now
|
||||||
rooms.Add <- workerData
|
rooms.Add <- workerData
|
||||||
|
|
||||||
|
|
@ -248,29 +248,29 @@ func xWorker(workerData Info) {
|
||||||
if strings.Contains(m.SubscriptionKey, "userUpdated") && m.Params.User.Status == "off" {
|
if strings.Contains(m.SubscriptionKey, "userUpdated") && m.Params.User.Status == "off" {
|
||||||
fmt.Println("user exiting", workerData.room)
|
fmt.Println("user exiting", workerData.room)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if strings.Contains(m.SubscriptionKey, "modelStatusChanged") && m.Params.Model.Status == "off" {
|
if strings.Contains(m.SubscriptionKey, "modelStatusChanged") && m.Params.Model.Status == "off" {
|
||||||
fmt.Println("user exiting", workerData.room)
|
fmt.Println("user exiting", workerData.room)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if m.Params.Message.Type == "tip" {
|
if m.Params.Message.Type == "tip" {
|
||||||
|
|
||||||
if len(m.Params.Message.Userdata.Username) < 3 {
|
if len(m.Params.Message.Userdata.Username) < 3 {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println(m.Params.Message.Userdata.Username, "send", m.Params.Message.Details.Amount.Value(), "tokens")
|
fmt.Println(m.Params.Message.Userdata.Username, "send", m.Params.Message.Details.Amount.Value(), "tokens")
|
||||||
|
|
||||||
workerData.Tips++
|
workerData.Tips++
|
||||||
if _, ok := dons[m.Params.Message.Userdata.Username]; !ok {
|
if _, ok := dons[m.Params.Message.Userdata.Username]; !ok {
|
||||||
dons[m.Params.Message.Userdata.Username] = struct{}{}
|
dons[m.Params.Message.Userdata.Username] = struct{}{}
|
||||||
workerData.Dons++
|
workerData.Dons++
|
||||||
}
|
}
|
||||||
|
|
||||||
save <- saveData{workerData.room, strings.ToLower(m.Params.Message.Userdata.Username), workerData.Rid, m.Params.Message.Details.Amount.Value(), now}
|
save <- saveData{workerData.room, strings.ToLower(m.Params.Message.Userdata.Username), workerData.Rid, m.Params.Message.Details.Amount.Value(), now}
|
||||||
|
|
||||||
workerData.Income += m.Params.Message.Details.Amount.Value()
|
workerData.Income += m.Params.Message.Details.Amount.Value()
|
||||||
rooms.Add <- workerData
|
rooms.Add <- workerData
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue