1414import java .net .http .HttpResponse ;
1515
1616public class RegisterHandler {
17+ // TODO: Unhardcode from Mod Garden: Nature and save role data into backend event.
18+ // TODO: Rewrite this entire thing too, it's very out of date...
1719 public static Response handleEventRegister (SlashCommandInteraction interaction ) {
1820 interaction .event ().deferReply (true ).queue ();
1921 User user = interaction .event ().getUser ();
2022 Guild guild = interaction .event ().getGuild ();
2123
2224 try {
23- HttpResponse <InputStream > stream = ModGardenAPIClient .get ("user/" + user .getId () + "?service=discord" , HttpResponse .BodyHandlers .ofInputStream ());
24- if (stream .statusCode () != 200 ) {
25+ HttpResponse <InputStream > currentEventResult = ModGardenAPIClient .get ("events/current/development" , HttpResponse .BodyHandlers .ofInputStream ());
26+ if (currentEventResult .statusCode () != 200 ) {
27+ return new MessageResponse ()
28+ .setMessage ("There is no currently active event open for registration." )
29+ .markEphemeral ();
30+ }
31+ } catch (Exception ex ) {
32+ GardenBot .LOG .error ("" , ex );
33+ }
34+
35+ try {
36+ HttpResponse <Void > userResult = ModGardenAPIClient .get ("user/" + user .getId () + "?service=discord" , HttpResponse .BodyHandlers .discarding ());
37+ if (userResult .statusCode () != 200 ) {
2538 return new MessageResponse ()
2639 .setMessage ("You do not have a Mod Garden account.\n Please create one with **/account create**." )
2740 .markEphemeral ();
@@ -31,7 +44,6 @@ public static Response handleEventRegister(SlashCommandInteraction interaction)
3144 }
3245
3346 if (guild != null && guild .getId ().equals (GardenBot .DOTENV .get ("GUILD_ID" ))) {
34- // TODO: Unhardcode from Mod Garden: Nature and save data into backend user.
3547 Role role = guild .getRoleById ("1320329531990741053" );
3648 if (role == null ) {
3749 return new MessageResponse ()
@@ -49,7 +61,7 @@ public static Response handleEventRegister(SlashCommandInteraction interaction)
4961 .markEphemeral ();
5062 }
5163 return new MessageResponse ()
52- .setMessage ("This command needs to be run inside the Mod Garden Discord server." )
64+ .setMessage ("This command must be run inside the Mod Garden Discord server." )
5365 .markEphemeral ();
5466 }
5567}
0 commit comments