From 761a870505799a64c643bdb5a61fd031f9b688a7 Mon Sep 17 00:00:00 2001 From: qydysky Date: Mon, 10 Jul 2023 14:22:35 +0800 Subject: [PATCH] =?utf8?q?Fix=20=E8=90=A5=E6=94=B6goroutine=E6=B3=84?= =?utf8?q?=E9=9C=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Reply/F.go | 27 ++++++++++++++++++++------- Reply/Reply.go | 5 +---- bili_danmu.go | 3 +-- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/Reply/F.go b/Reply/F.go index 094b0be..8da4b15 100644 --- a/Reply/F.go +++ b/Reply/F.go @@ -123,20 +123,33 @@ func selfcross2(a []string) (float32, string) { // 功能区 // ShowRev 显示营收 -var ShowRev_old float64 +var ShowRev sync.Map // 显示营收 -func ShowRevf(counting bool) { +func init() { if !IsOn("统计营收") { return } - for counting { - for c.C.Rev == ShowRev_old { + go func() { + clog := c.C.Log.Base_add(`营收`) + for { + ShowRev.LoadOrStore(c.C.Roomid, 0) + ShowRev.Range(func(key, value any) bool { + if room, ok := key.(int); ok && c.C.Roomid == room { + if rev, ok := value.(float64); ok { + if c.C.Rev != rev { + ShowRev.Store(room, c.C.Rev) + clog.L(`I: `, fmt.Sprintf("营收 %d ¥%.2f", room, c.C.Rev)) + } + return true + } + } + ShowRev.Delete(key) + return true + }) time.Sleep(time.Minute) } - ShowRev_old = c.C.Rev - c.C.Log.Base_add(`营收`).L(`I: `, fmt.Sprintf("营收 ¥%.2f", c.C.Rev)) - } + }() } // Ass 弹幕转字幕 diff --git a/Reply/Reply.go b/Reply/Reply.go index e3081aa..a43700b 100644 --- a/Reply/Reply.go +++ b/Reply/Reply.go @@ -751,10 +751,7 @@ func (replyF) preparing(s string) { msglog.L(`E: `, err) return } else { - { //附加功能 obs结束 savestream结束 - // Obs_R(false) - // Obsf(false) - go ShowRevf(false) + { //附加功能 savestream结束 c.C.Liveing = false // 停止此房间录制 var roomId, _ = strconv.Atoi(type_item.Roomid) diff --git a/bili_danmu.go b/bili_danmu.go index 3b346ea..1a640e5 100644 --- a/bili_danmu.go +++ b/bili_danmu.go @@ -277,11 +277,10 @@ func Start() { //附加功能 弹幕机 无cookie无法发送弹幕 reply.Danmuji_auto() } - { //附加功能 进房间发送弹幕 直播流保存 营收 每日签到 + { //附加功能 进房间发送弹幕 直播流保存 每日签到 go F.Dosign() go reply.Entry_danmu() go reply.StreamOStart(c.C.Roomid) - go reply.ShowRevf(true) go F.RoomEntryAction(c.C.Roomid) } -- 2.39.2