package Ġcom . kot l ind is cord . k ord . extensions . commands . converters . impl Ċ Ċ import Ġcom . kot l ind is cord . k ord . extensions . Ext ensible Bot Ċ import Ġcom . kot l ind is cord . k ord . extensions . ParseException Ċ import Ġcom . kot l ind is cord . k ord . extensions . commands . Command Context Ċ import Ġcom . kot l ind is cord . k ord . extensions . commands . converters . Single Converter Ċ import Ġcom . kot l ind is cord . k ord . extensions . commands . converters . user Ċ import Ġcom . kot l ind is cord . k ord . extensions . commands . converters . user List Ċ import Ġcom . kot l ind is cord . k ord . extensions . commands . parser . Argument Ċ import Ġcom . kot l ind is cord . k ord . extensions . utils . users Ċ import Ġdev . k ord . common . annotation . K ord Preview Ċ import Ġdev . k ord . common . entity . Snow flake Ċ import Ġdev . k ord . core . entity . User Ċ import Ġdev . k ord . rest . builder . interaction . Options Builder Ċ import Ġdev . k ord . rest . builder . interaction . User Builder Ċ import Ġkotlinx . coroutines . flow . first OrNull Ċ Ċ /** Ċ Ġ* ĠArgument Ġconverter Ġfor Ġdiscord Ġ[ User ] Ġarguments . Ċ Ġ* Ċ Ġ* ĠThis Ġconverter Ġsupports Ġspecifying Ġmembers Ġby Ġsupply ing : Ċ Ġ* Ġ* ĠA Ġuser Ġor Ġmember Ġmention Ċ Ġ* Ġ* ĠA Ġuser ĠID Ċ Ġ* Ġ* ĠThe Ġuser 's Ġtag Ġ(` username # dis criminator `) Ċ Ġ* Ċ Ġ* Ġ@ see Ġuser Ċ Ġ* Ġ@ see Ġuser List Ċ Ġ*/ Ċ @ Opt In ( K ord Preview :: class ) Ċ public Ġclass ĠUser Converter Ġ: ĠSingle Converter < User >() Ġ{ ĊĠĠĠ Ġoverride Ġval Ġsignature TypeString : ĠString Ġ= Ġ" user " ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġparse ( arg : ĠString , Ġcontext : ĠCommand Context , Ġbot : ĠExt ensible Bot ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġfind User ( arg , Ġbot ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠParseException (" Unable Ġto Ġfind Ġuser : Ġ$ arg ") ĊĊĠĠĠĠĠĠĠ Ġparsed Ġ= Ġuser ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġfind User ( arg : ĠString , Ġbot : ĠExt ensible Bot ): ĠUser ? Ġ= ĊĠĠĠĠĠĠĠ Ġif Ġ( arg . startsWith ("< @ ") Ġ&& Ġarg . endsWith ("> ")) Ġ{ Ġ// ĠIt 's Ġa Ġmention ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġarg . substring ( 2 , Ġarg . length Ġ- Ġ 1 ). replace (" !", Ġ"") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbot . k ord . getUser ( Snow flake ( id )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNumber FormatException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠParseException (" Value Ġ'$ id ' Ġis Ġnot Ġa Ġvalid Ġuser ĠID .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ Ġ// ĠTry Ġfor Ġa Ġuser ĠID Ġfirst ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbot . k ord . getUser ( Snow flake ( arg )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNumber FormatException ) Ġ{ Ġ// ĠIt 's Ġnot Ġan ĠID , Ġlet 's Ġtry Ġthe Ġtag ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! arg . contains ("# ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbot . k ord . users . first OrNull Ġ{ Ġuser Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser . tag . equals ( arg , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġto Slash Option ( arg : ĠArgument < *> ): ĠOptions Builder Ġ= ĊĠĠĠĠĠĠĠ ĠUser Builder ( arg . displayName , Ġarg . description ). apply Ġ{ Ġrequired Ġ= Ġtrue Ġ} Ċ } Ċ