]> git.localhorst.tv Git - alttp.git/blobdiff - app/DiscordBotCommands/SyncUserCommand.php
periodically sync avatars
[alttp.git] / app / DiscordBotCommands / SyncUserCommand.php
index b9ba6d362f7efbaefa27448ec16c2da92d47abb3..520565ce9ffa810448cc6bb916789febbdb40ec7 100644 (file)
@@ -30,16 +30,18 @@ class SyncUserCommand extends BaseCommand {
                                }
                                $user->avatar = $discordUser->avatarhash ?: null;
 
-                               if ($user->avatar) {
+                               $media = Storage::disk('media');
+                               if ($user->avatar && $media->missing('avatar/'.$user->id.'/'.$user->avatar.'.png')) {
                                        try {
                                                $url = $discordUser->getAvatarAttribute('png');
                                                $content = Http::get($url)->body();
-                                               $media = Storage::disk('media');
                                                $media->makeDirectory('avatar/'.$user->id);
-                                               $media->put('avatar/'.$user->id.'/'.$discordUser->avatarhash.'.png', $content);
+                                               $media->put('avatar/'.$user->id.'/'.$user->avatar.'.png', $content);
                                                $user->avatar_cached = now();
                                        } catch (\Exception $e) {
                                        }
+                               } else {
+                                       $user->avatar_cached = now();
                                }
                                $user->save();
                        });