Skip to content

Commit 0b5cc90

Browse files
author
Garza
committed
Add websub support on streamup event
1 parent dadf0d0 commit 0b5cc90

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed

internal/events/types/streamup/streamup.go

+28-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
)
1313

1414
var transportsSupported = map[string]bool{
15-
models.TransportWebSub: false,
15+
models.TransportWebSub: true,
1616
models.TransportEventSub: true,
1717
}
1818

@@ -33,6 +33,10 @@ func (e Event) GenerateEvent(params events.MockEventParameters) (events.MockEven
3333
var event []byte
3434
var err error
3535

36+
if params.StreamTitle == "" {
37+
params.StreamTitle = "Example title from the CLI!"
38+
}
39+
3640
switch params.Transport {
3741
case models.TransportEventSub:
3842
body := &models.EventsubResponse{
@@ -59,6 +63,29 @@ func (e Event) GenerateEvent(params events.MockEventParameters) (events.MockEven
5963
StartedAt: util.GetTimestamp().Format(time.RFC3339Nano),
6064
},
6165
}
66+
event, err = json.Marshal(body)
67+
if err != nil {
68+
return events.MockEventResponse{}, err
69+
}
70+
case models.TransportWebSub:
71+
body := models.StreamUpWebSubResponse{
72+
Data: []models.StreamUpWebSubResponseData{
73+
{
74+
ID: params.ID,
75+
UserID: params.ToUserID,
76+
UserName: params.ToUserName,
77+
GameID: "509658",
78+
CommunityIDs: make([]string, 0),
79+
Type: "live",
80+
Title: params.StreamTitle,
81+
ViewerCount: 1337,
82+
StartedAt: util.GetTimestamp().Format(time.RFC3339),
83+
Language: "en",
84+
ThumbnailURL: "https://static-cdn.jtvnw.net/ttv-static/404_preview-440x248.jpg",
85+
},
86+
},
87+
}
88+
6289
event, err = json.Marshal(body)
6390
if err != nil {
6491
return events.MockEventResponse{}, err

internal/models/streamup.go

+18
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,21 @@ type StreamUpEventSubEvent struct {
1515
Type string `json:"type"`
1616
StartedAt string `json:"started_at"`
1717
}
18+
19+
type StreamUpWebSubResponse struct {
20+
Data []StreamUpWebSubResponseData `json:"data"`
21+
}
22+
23+
type StreamUpWebSubResponseData struct {
24+
ID string `json:"id"`
25+
UserID string `json:"user_id"`
26+
UserName string `json:"user_name"`
27+
GameID string `json:"game_id"`
28+
CommunityIDs []string `json:"community_ids"`
29+
Type string `json:"type"`
30+
Title string `json:"title"`
31+
ViewerCount int64 `json:"viewer_count"`
32+
StartedAt string `json:"started_at"`
33+
Language string `json:language`
34+
ThumbnailURL string `json:thumbnail_url`
35+
}

0 commit comments

Comments
 (0)