mirror of
https://github.com/AynaLivePlayer/blivedm-go.git
synced 2026-04-23 11:39:49 +08:00
✏️ rename danmaku
This commit is contained in:
@@ -11,7 +11,7 @@ import (
|
||||
)
|
||||
|
||||
type eventHandlers struct {
|
||||
danmukuMessageHandlers []func(*message.Danmuku)
|
||||
danmukuMessageHandlers []func(*message.Danmaku)
|
||||
superChatHandlers []func(*message.SuperChat)
|
||||
giftHandlers []func(*message.Gift)
|
||||
guardBuyHandlers []func(*message.GuardBuy)
|
||||
@@ -24,7 +24,7 @@ func (c *Client) RegisterCustomEventHandler(cmd string, handler func(s string))
|
||||
(*c.customEventHandlers)[cmd] = handler
|
||||
}
|
||||
|
||||
func (c *Client) OnDanmuku(f func(*message.Danmuku)) {
|
||||
func (c *Client) OnDanmuku(f func(*message.Danmaku)) {
|
||||
c.eventHandlers.danmukuMessageHandlers = append(c.eventHandlers.danmukuMessageHandlers, f)
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ func (c *Client) Handle(p packet.Packet) {
|
||||
}
|
||||
switch cmd {
|
||||
case "DANMU_MSG":
|
||||
d := new(message.Danmuku)
|
||||
d := new(message.Danmaku)
|
||||
d.Parse(p.Body)
|
||||
for _, fn := range c.eventHandlers.danmukuMessageHandlers {
|
||||
go cover(func() { fn(d) })
|
||||
|
||||
@@ -7,10 +7,11 @@ import (
|
||||
"github.com/tidwall/gjson"
|
||||
)
|
||||
|
||||
type Danmuku struct {
|
||||
Sender User
|
||||
Content string
|
||||
Extra Extra
|
||||
type Danmaku struct {
|
||||
Sender User
|
||||
Content string
|
||||
Extra Extra
|
||||
Timestamp int64
|
||||
}
|
||||
|
||||
type Extra struct {
|
||||
@@ -30,7 +31,7 @@ type Extra struct {
|
||||
SpaceUrl string `json:"space_url"`
|
||||
}
|
||||
|
||||
func (d *Danmuku) Parse(data []byte) {
|
||||
func (d *Danmaku) Parse(data []byte) {
|
||||
sb := bytes.NewBuffer(data).String()
|
||||
info := gjson.Get(sb, "info")
|
||||
d.Content = info.Get("1").String()
|
||||
@@ -49,4 +50,5 @@ func (d *Danmuku) Parse(data []byte) {
|
||||
log.Error("parse danmuku extra failed")
|
||||
}
|
||||
d.Extra = *ext
|
||||
d.Timestamp = info.Get("0.4").Int()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user