package Ġnet . source bot . api . response Ċ Ċ import Ġnet . dv 8 tion . j da . api . Embed Builder Ċ import Ġnet . dv 8 tion . j da . api . Message Builder Ċ import Ġnet . dv 8 tion . j da . api . entities . Message Ċ import Ġnet . dv 8 tion . j da . api . entities . Message Embed Ċ import Ġnet . dv 8 tion . j da . api . entities . User Ċ import Ġjava . awt . Color Ċ import Ġjava . time . Instant Ċ Ċ /** Ċ Ġ* ĠAn ĠAlert Ġrepresents Ġan Ġembed Ġwith Ġsome Ġbasic Ġinformation Ġpre - attached . Ċ Ġ* ĠAlert s Ġshould Ġbe Ġbuilt Ġfor Ġa Ġspecific Ġ[ User ] Ċ Ġ* ĠResult ant Ġembed s Ġwill Ġbe Ġpersonal ized Ġfor Ġa Ġ[ User ] Ġby Ġrendering Ġtheir Ġprofile Ġphoto Ġas Ġthe Ġauthor Ġthumbnail . Ċ Ġ* ĠAlert s Ġalso Ġhave Ġa Ġtimestamp Ġand Ġfooter . Ċ Ġ*/ Ċ fun Ġinterface ĠResponse Ġ{ ĊĠĠĠ Ġfun Ġas Message ( user : ĠUser ): ĠMessage Ċ } Ċ Ċ class ĠEmpty Response Ġ: ĠResponse Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġas Message ( user : ĠUser ): ĠMessage Ġ= Ġthrow ĠUnsupportedOperationException () Ċ } Ċ Ċ abstract Ġclass ĠEmbed Response Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġprotected Ġvar Ġtitle : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġprotected Ġvar Ġdescription : ĠString ? Ġ= Ġnull Ċ ) Ġ: ĠEmbed Builder (), ĠResponse Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġvar Ġfooter : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ} ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġset Description ( description ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġas Message ( ĊĠĠĠĠĠĠĠ Ġuser : ĠUser ĊĠĠĠ Ġ): ĠMessage Ġ= ĠMessage Builder ( as Embed ( user )). build () ĊĊĠĠĠ Ġfun Ġas Embed ( user : ĠUser ): ĠMessage Embed Ġ{ ĊĠĠĠĠĠĠĠ Ġset Author ( title Ġ?: ĠString . format ("% # s ", Ġuser ), Ġnull , Ġuser . effective Avatar Url ) ĊĠĠĠĠĠĠĠ Ġset Timestamp ( Instant . now ()) ĊĠĠĠĠĠĠĠ Ġset Footer ( footer ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Unsupported OperationException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġbuild () Ġ= ĊĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Alerts Ġmay Ġnot Ġbe Ġbuilt Ġraw ! ĠUse Ġbuild For Ġinstead !") Ċ } Ċ Ċ /** Ċ Ġ* ĠRepresents Ġan ĠEmbed Alert Ġwith Ġa Ġgiven Ġcolor . Ċ Ġ*/ Ċ abstract Ġclass ĠCo lo red Response Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġtitle : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġdescription : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġcolor : ĠColor Ċ ) Ġ: ĠEmbed Response ( title , Ġdescription ) Ġ{ ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġtitle : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġdescription : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġsource Color : ĠSource Color ĊĠĠĠ Ġ) Ġ: Ġthis ( title , Ġdescription , Ġsource Color . color ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġset Color ( color ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġ[ Colo red Response ] Ġusing Ġthe Ġcolor Ġ[ Source Color . INFO ] Ċ Ġ*/ Ċ open Ġclass ĠInfo Response Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġtitle : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġdescription : ĠString ? Ġ= Ġnull Ċ ) Ġ: ĠCo lo red Response ( title , Ġdescription , ĠSource Color . INFO ) Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġ[ Colo red Response ] Ġusing Ġthe Ġcolor Ġ[ Source Color . SUCCESS ] Ċ Ġ*/ Ċ open Ġclass ĠSuccess Response Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġtitle : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġdescription : ĠString ? Ġ= Ġnull Ċ ) Ġ: ĠCo lo red Response ( title , Ġdescription , ĠSource Color . SUCCESS ) Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġ[ Colo red Response ] Ġusing Ġthe Ġcolor Ġ[ Source Color . WARNING ] Ċ Ġ*/ Ċ open Ġclass ĠWarning Response Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġtitle : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġdescription : ĠString ? Ġ= Ġnull Ċ ) Ġ: ĠCo lo red Response ( title , Ġdescription , ĠSource Color . WARNING ) Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġ[ Colo red Response ] Ġusing Ġthe Ġcolor Ġ[ Source Color . ERROR ] Ċ Ġ*/ Ċ open Ġclass ĠError Response Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġtitle : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġdescription : ĠString ? Ġ= Ġnull Ċ ) Ġ: ĠCo lo red Response ( title , Ġdescription , ĠSource Color . ERROR )