package Ġde . sk ys ly cer . dv yne . commands Ċ Ċ import Ġde . sk ys ly cer . dv yne . core . Tables Ċ import Ġnet . dv 8 tion . j da . api . Embed Builder Ċ import Ġnet . dv 8 tion . j da . api . Permission Ċ import Ġnet . dv 8 tion . j da . api . entities . Message Embed Ċ import Ġnet . dv 8 tion . j da . api . events . message . guild . Guild Message Received Event Ċ import Ġorg . jetbrains . ex posed . sql . select Ċ import Ġorg . jetbrains . ex posed . sql . transactions . transaction Ċ import Ġjava . awt . Color Ċ import Ġjava . time . Instant Ċ import Ġjava . time . Z onedDateTime Ċ Ċ class ĠList Reaction Roles Command Ġ{ ĊĠĠĠ Ġfun Ġon Guild Message Received ( event : ĠGuild Message Received Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! event . member !!. has Permission ( Permission . ADMIN ISTR ATOR )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġno Permission Embed Ġ= ĠEmbed Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setColor ( Color . RED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle (" No Ġpermission ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setDescription (" You Ġdon 't Ġhave Ġpermission Ġfor Ġthis Ġcommand !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addField ( Message Embed . Field (" Permission ", Ġ" Administrator ", Ġfalse )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Footer ( event . author . as Tag ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Timestamp ( Instant . from ( Z onedDateTime . now ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent . channel . sendMessage ( no Permission Embed ). queue Ġ{ Ġembed Message Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġembed Message . add Reaction (" ðŁ Ĺ ĳ "). queue () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġchannel Id Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġmessage Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġemoji Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġrole Mention Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġtransaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTables . Re actions . select Ġ{ ĠTables . Re actions . guild Ġeq Ġevent . guild . id Long Ġ}. first OrNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . guild . get Guild Channel ById ( it [ Tables . Re actions . channel ]) ?. let Ġ{ Ġchannel Ġ-> Ġchannel Id Ġ= Ġchannel . id Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġit [ Tables . Re actions . message ]. toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemoji Ġ= Ġif Ġ( it [ Tables . Re actions . emoji ]. matches ("- ? \\ d +( \\. \\ d + )? ". to Regex ())) Ġevent . guild . get Em ote ById ( it [ Tables . Re actions . emoji ]) ?. as Mention . toString () Ġelse Ġit [ Tables . Re actions . emoji ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . guild . get Role ById ( it [ Tables . Re actions . role ]) ?. let Ġ{ Ġrole Ġ-> Ġrole Mention Ġ= Ġrole . as Mention Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( message Ġ== Ġ"" Ġ&& Ġchannel Id Ġ== Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnull Embed Ġ= ĠEmbed Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setColor ( Color . RED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle (" None ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setDescription (" There Ġare Ġno Ġreaction Ġroles Ġin Ġthis Ġguild ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Footer ( event . author . as Tag ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Timestamp ( Instant . from ( Z onedDateTime . now ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent . channel . sendMessage ( null Embed ). queue Ġ{ Ġembed Message Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġembed Message . add Reaction (" ðŁ Ĺ ĳ "). queue () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Embed Ġ= ĠEmbed Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setColor ( Color . OR ANGE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle (" Reaction Ġroles ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setDescription (" This Ġis Ġthe Ġdescription Ġof Ġone Ġreaction Ġrole Ġin Ġthe Ġlist Ġof Ġthis Ġguild ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addField (" Channel ", Ġif Ġ( channelId Ġ!= Ġ"") Ġ"< #$ channelId >" Ġelse Ġ" Unknown Ġchannel ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addField (" Message ĠID ", Ġmessage , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addField (" Emoji ", Ġif Ġ( emoji Ġ!= Ġ" null ") Ġemoji Ġelse Ġ" Unknown Ġemoji ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addField (" Role ", Ġif Ġ( role Mention Ġ== Ġ"") Ġ" Unknown Ġrole " Ġelse Ġrole Mention , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addField (" Index ", Ġ" 1 ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Footer ( event . author . as Tag ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Timestamp ( Instant . from ( Z onedDateTime . now ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġevent . channel . sendMessage ( list Embed ). queue Ġ{ Ġembed Message Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġembed Message . add Reaction (" â ı ª "). queue () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġembed Message . add Reaction (" â ı ¹ "). queue () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġembed Message . add Reaction (" â ı © "). queue () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġembed Message . add Reaction (" ðŁ Ĺ ĳ "). queue () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }