package Ġju ke bot čĊč Ċ import Ġju ke bot . utils . Helpers č Ċ import Ġnet . dv 8 tion . j da . core . events . message . guild . Guild Message Received Event č Ċ import Ġnet . dv 8 tion . j da . core . hooks . Listener Adapter č Ċ import Ġjava . util .* č Ċ import Ġjava . util . concurrent . TimeUnit čĊč Ċ class ĠAction Wait er Ġ: ĠListener Adapter () Ġ{ čĊčĊĠĠĠ Ġprivate Ġval Ġselection Menus Ġ= ĠHashMap < Long , Ġ( String ?) Ġ-> ĠUnit >() čĊčĊĠĠĠ Ġfun ĠwaitFor Selection ( userID : ĠLong , Ġselection : Ġ( String ?) Ġ-> ĠUnit , Ġdelay : ĠInt Ġ= Ġ 1 0 , Ġunit : ĠTimeUnit Ġ= ĠTimeUnit . SECONDS ) Ġ{ čĊĠĠĠĠĠĠĠ Ġselection Menus [ userID ] Ġ= Ġselection čĊĠĠĠĠĠĠĠ ĠHelpers . schedule ({ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( selection Menus . contains Value ( selection )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselection Menus . remove ( userID )?. invoke ( null ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ}, Ġdelay , Ġunit ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Guild Message Received ( e : ĠGuild Message Received Event ) Ġ{ čĊĠĠĠĠĠĠĠ Ġselection Menus . remove ( e . author . id Long )?. invoke ( e . message . content Display ) čĊĠĠĠ Ġ} čĊč Ċ } čĊ