Skip to content

Commit cf04084

Browse files
committed
hopefully fixed twitch doing shit
1 parent f975983 commit cf04084

File tree

4 files changed

+21
-10
lines changed

4 files changed

+21
-10
lines changed

src/main/java/de/kittybot/kittybot/modules/AnnouncementModule.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
import net.dv8tion.jda.api.events.guild.GuildJoinEvent;
1212
import net.dv8tion.jda.api.events.guild.member.GuildMemberJoinEvent;
1313
import net.dv8tion.jda.api.events.guild.member.GuildMemberRemoveEvent;
14-
import net.dv8tion.jda.api.events.guild.member.GuildMemberRoleAddEvent;
15-
import net.dv8tion.jda.api.events.guild.member.GuildMemberRoleRemoveEvent;
1614
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
1715
import org.jetbrains.annotations.NotNull;
1816
import org.slf4j.Logger;

src/main/java/de/kittybot/kittybot/modules/StreamModule.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,14 @@ private void checkTwitch(){
7171
if(userIds.isEmpty()){
7272
return;
7373
}
74-
var streams = this.twitchWrapper.getStreams(userIds, false);
74+
var streams = this.twitchWrapper.getStreams(userIds);
7575

7676
for(var streamAnnouncement : this.streams){
7777
var stream = streams.stream().filter(st -> st.getUserId() == streamAnnouncement.getUserId()).findFirst();
78+
if(stream.isPresent() && stream.get().hasError()){
79+
// error while fetching stream skip
80+
continue;
81+
}
7882
if(stream.isPresent() && !streamAnnouncement.getIsLive()){
7983
setLiveStatus(streamAnnouncement, true);
8084
// send online
@@ -133,7 +137,7 @@ private void sendAnnouncementMessage(StreamUsersRecord streamAnnouncement, Strea
133137
break;
134138
}
135139
channel.sendMessage(settings.getStreamAnnouncementMessage().replace("${user}", stream.getUserName()))
136-
.embed(embed
140+
.setEmbeds(embed
137141
.setTimestamp(Instant.now())
138142
.setColor(Colors.TWITCH_PURPLE)
139143
.build()

src/main/java/de/kittybot/kittybot/objects/streams/Stream.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ public class Stream{
1515
private final Instant startedAt;
1616
private final Language language;
1717
private final StreamType type;
18+
private final boolean error;
1819
private Game game;
1920

20-
public Stream(long streamId, String streamTitle, String thumbnailUrl, long userId, String userName, Game game, int viewerCount, Instant startedAt, Language language, StreamType type){
21+
public Stream(long streamId, String streamTitle, String thumbnailUrl, long userId, String userName, Game game, int viewerCount, Instant startedAt, Language language, StreamType type, boolean error){
2122
this.streamId = streamId;
2223
this.streamTitle = streamTitle;
2324
this.thumbnailUrl = thumbnailUrl;
@@ -28,6 +29,7 @@ public Stream(long streamId, String streamTitle, String thumbnailUrl, long userI
2829
this.startedAt = startedAt;
2930
this.language = language;
3031
this.type = type;
32+
this.error = error;
3133
}
3234

3335
public static Stream fromTwitchJSON(DataObject json){
@@ -42,7 +44,8 @@ public static Stream fromTwitchJSON(DataObject json){
4244
json.getInt("viewer_count"),
4345
Instant.parse(json.getString("started_at")),
4446
lang.orElse(Language.UNKNOWN),
45-
StreamType.TWITCH
47+
StreamType.TWITCH,
48+
false
4649
);
4750
}
4851

@@ -100,4 +103,8 @@ public String getStreamUrl(){
100103
return null;
101104
}
102105

106+
public boolean hasError(){
107+
return this.error;
108+
}
109+
103110
}

src/main/java/de/kittybot/kittybot/objects/streams/twitch/TwitchWrapper.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package de.kittybot.kittybot.objects.streams.twitch;
22

33
import de.kittybot.kittybot.objects.streams.BearerToken;
4+
import de.kittybot.kittybot.objects.streams.Game;
45
import de.kittybot.kittybot.objects.streams.Stream;
6+
import de.kittybot.kittybot.objects.streams.StreamType;
57
import net.dv8tion.jda.api.utils.data.DataObject;
68
import okhttp3.Call;
79
import okhttp3.FormBody;
@@ -100,7 +102,7 @@ private Call newRequest(String url, Object... params){
100102
);
101103
}
102104

103-
public List<Stream> getStreams(List<Long> userIds, boolean reTry){
105+
public List<Stream> getStreams(List<Long> userIds){
104106
var streams = new ArrayList<Stream>();
105107
do{
106108
var users = userIds.subList(0, Math.min(userIds.size(), 100));
@@ -112,9 +114,9 @@ public List<Stream> getStreams(List<Long> userIds, boolean reTry){
112114
LOG.error("Url: {} Code: {} Body: {}", resp.request().url(), resp.code(), body == null ? "null" : body.string());
113115
if(resp.code() == 401){
114116
this.bearerToken = null;
115-
if(!reTry){
116-
return getStreams(userIds, true);
117-
}
117+
}
118+
for(var userId : users){
119+
streams.add(new Stream(0L, "", "", userId, "", Game.getUnknown(), 0, null, null, StreamType.YOUTUBE, true));
118120
}
119121
continue;
120122
}

0 commit comments

Comments
 (0)