diff --git a/app/Services/UpdateEmotes.php b/app/Services/UpdateEmotes.php new file mode 100644 index 0000000..317601c --- /dev/null +++ b/app/Services/UpdateEmotes.php @@ -0,0 +1,46 @@ +discord->guilds->get('id', $guildId); + if (! $guild) { + return; + } + + foreach ($guild->emojis as $emoji) { + $emote = \App\Models\Emote::where('emote_id', $emoji->id)->first(); + + if (! $emote) { + $emoteModel = \App\Models\Emote::create([ + 'emote_id' => $emoji->id, + 'guild_id' => $guildId, + 'emote_name' => $emoji->name, + 'type' => $emoji->animated ? 'ANIMATED' : 'STATIC', + ]); + + \App\Models\EmoteGuildStat::firstOrCreate( + ['emote_id' => $emoteModel->emote_id, 'guild_id' => $guildId], + ['usage_count' => 0] + ); + } elseif ($emote->emote_name !== $emoji->name) { + $emote->emote_name = $emoji->name; + $emote->save(); + } + } + } +}