+ private function updateChannelInfos($channels) {
+ $ids = $channels->pluck('twitch_id')->toArray();
+ $rsp = $this->token->request()
+ ->get('/streams', Query::build([
+ 'user_id' => $ids,
+ ]))
+ ->throw();
+ foreach ($channels as $channel) {
+ $data = null;
+ foreach ($rsp['data'] as $info) {
+ if ($info['user_id'] == $channel->twitch_id) {
+ $data = $info;
+ break;
+ }
+ }
+ if (is_null($data)) {
+ $channel->twitch_live = false;
+ $channel->twitch_viewers = 0;
+ } else {
+ $channel->twitch_live = true;
+ $channel->twitch_category = $data['game_id'];
+ $channel->twitch_viewers = $data['viewer_count'];
+ }
+ $channel->save();
+ }
+ }
+