✏️ rename danmaku

This commit is contained in:
Akiba
2022-01-19 22:15:13 +08:00
parent 530f588ee2
commit fba4b5ea8e
2 changed files with 10 additions and 8 deletions

View File

@@ -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) })

View File

@@ -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()
}