[core] add total_gifted
field for gifts, use numeric values for some fields
Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
parent
6eebc41705
commit
b5932ff534
1 changed files with 24 additions and 9 deletions
33
irc.go
33
irc.go
|
@ -372,7 +372,7 @@ func (i ircHandler) handleTwitchPrivmsg(m *irc.Message) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if bits, err := strconv.ParseInt(string(m.Tags["bits"]), 10, 64); err == nil {
|
if bits := i.tagToNumeric(m, "bits", 0); bits > 0 {
|
||||||
fields := plugins.FieldCollectionFromData(map[string]interface{}{
|
fields := plugins.FieldCollectionFromData(map[string]interface{}{
|
||||||
"bits": bits,
|
"bits": bits,
|
||||||
"channel": i.getChannel(m), // Compatibility to plugins.DeriveChannel
|
"channel": i.getChannel(m), // Compatibility to plugins.DeriveChannel
|
||||||
|
@ -423,10 +423,9 @@ func (i ircHandler) handleTwitchUsernotice(m *irc.Message) {
|
||||||
go handleMessage(i.c, m, eventTypeGiftPaidUpgrade, evtData)
|
go handleMessage(i.c, m, eventTypeGiftPaidUpgrade, evtData)
|
||||||
|
|
||||||
case "raid":
|
case "raid":
|
||||||
vc, _ := strconv.ParseInt(string(m.Tags["msg-param-viewerCount"]), 10, 64)
|
|
||||||
evtData.SetFromData(map[string]interface{}{
|
evtData.SetFromData(map[string]interface{}{
|
||||||
"from": m.Tags["login"],
|
"from": m.Tags["login"],
|
||||||
"viewercount": vc,
|
"viewercount": i.tagToNumeric(m, "msg-param-viewerCount", 0),
|
||||||
})
|
})
|
||||||
log.WithFields(log.Fields(evtData.Data())).Info("Incoming raid")
|
log.WithFields(log.Fields(evtData.Data())).Info("Incoming raid")
|
||||||
|
|
||||||
|
@ -442,7 +441,7 @@ func (i ircHandler) handleTwitchUsernotice(m *irc.Message) {
|
||||||
evtData.SetFromData(map[string]interface{}{
|
evtData.SetFromData(map[string]interface{}{
|
||||||
"from": m.Tags["login"],
|
"from": m.Tags["login"],
|
||||||
"message": message,
|
"message": message,
|
||||||
"subscribed_months": m.Tags["msg-param-cumulative-months"],
|
"subscribed_months": i.tagToNumeric(m, "msg-param-cumulative-months", 0),
|
||||||
"plan": m.Tags["msg-param-sub-plan"],
|
"plan": m.Tags["msg-param-sub-plan"],
|
||||||
})
|
})
|
||||||
log.WithFields(log.Fields(evtData.Data())).Info("User re-subscribed")
|
log.WithFields(log.Fields(evtData.Data())).Info("User re-subscribed")
|
||||||
|
@ -461,10 +460,11 @@ func (i ircHandler) handleTwitchUsernotice(m *irc.Message) {
|
||||||
case "subgift", "anonsubgift":
|
case "subgift", "anonsubgift":
|
||||||
evtData.SetFromData(map[string]interface{}{
|
evtData.SetFromData(map[string]interface{}{
|
||||||
"from": m.Tags["login"],
|
"from": m.Tags["login"],
|
||||||
"gifted_months": m.Tags["msg-param-gift-months"],
|
"gifted_months": i.tagToNumeric(m, "msg-param-gift-months", 1),
|
||||||
"origin_id": m.Tags["msg-param-origin-id"],
|
"origin_id": m.Tags["msg-param-origin-id"],
|
||||||
"plan": m.Tags["msg-param-sub-plan"],
|
"plan": m.Tags["msg-param-sub-plan"],
|
||||||
"to": m.Tags["msg-param-recipient-user-name"],
|
"to": m.Tags["msg-param-recipient-user-name"],
|
||||||
|
"total_gifted": i.tagToNumeric(m, "msg-param-sender-count", 0),
|
||||||
})
|
})
|
||||||
log.WithFields(log.Fields(evtData.Data())).Info("User gifted a sub")
|
log.WithFields(log.Fields(evtData.Data())).Info("User gifted a sub")
|
||||||
|
|
||||||
|
@ -472,10 +472,11 @@ func (i ircHandler) handleTwitchUsernotice(m *irc.Message) {
|
||||||
|
|
||||||
case "submysterygift":
|
case "submysterygift":
|
||||||
evtData.SetFromData(map[string]interface{}{
|
evtData.SetFromData(map[string]interface{}{
|
||||||
"from": m.Tags["login"],
|
"from": m.Tags["login"],
|
||||||
"number": m.Tags["msg-param-mass-gift-count"],
|
"number": i.tagToNumeric(m, "msg-param-mass-gift-count", 0),
|
||||||
"origin_id": m.Tags["msg-param-origin-id"],
|
"origin_id": m.Tags["msg-param-origin-id"],
|
||||||
"plan": m.Tags["msg-param-sub-plan"],
|
"plan": m.Tags["msg-param-sub-plan"],
|
||||||
|
"total_gifted": i.tagToNumeric(m, "msg-param-sender-count", 0),
|
||||||
})
|
})
|
||||||
log.WithFields(log.Fields(evtData.Data())).Info("User gifted subs to the community")
|
log.WithFields(log.Fields(evtData.Data())).Info("User gifted subs to the community")
|
||||||
|
|
||||||
|
@ -497,3 +498,17 @@ func (i ircHandler) handleTwitchUserstate(m *irc.Message) {
|
||||||
func (i ircHandler) handleTwitchWhisper(m *irc.Message) {
|
func (i ircHandler) handleTwitchWhisper(m *irc.Message) {
|
||||||
go handleMessage(i.c, m, eventTypeWhisper, nil)
|
go handleMessage(i.c, m, eventTypeWhisper, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ircHandler) tagToNumeric(m *irc.Message, tag string, fallback int64) int64 {
|
||||||
|
tv := string(m.Tags[tag])
|
||||||
|
if tv == "" {
|
||||||
|
return fallback
|
||||||
|
}
|
||||||
|
|
||||||
|
v, err := strconv.ParseInt(tv, 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
return fallback
|
||||||
|
}
|
||||||
|
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue