package Ġdev . in mo . tg bot api . extensions . utils . extensions Ċ Ċ import Ġdev . in mo . tg bot api . Common Abstract s . Text ed With Text Sources Ċ import Ġdev . in mo . tg bot api . types . Message Entity . text sources . Bot Command Text Source Ċ import Ġdev . in mo . tg bot api . types . Message Entity . text sources . Text Source Ċ import Ġdev . in mo . tg bot api . types . message . abstract s . Content Message Ċ import Ġdev . in mo . tg bot api . types . message . content . Text Content ĊĊ Ċ val Ġdefault Args Separator Ġ= ĠRegex (" Ġ") Ċ /** Ċ Ġ* ĠParse Ġcommands Ġand Ġtheir Ġargs . ĠLogic Ġwill Ġfind Ġcommand , Ġget Ġall Ġsubsequent Ġdata Ġas Ġargs Ġuntil Ġnew Ġcommand Ċ Ġ*/ Ċ fun ĠList < Text Source >. parse Command sWith Params ( ĊĠĠĠ Ġargs Separator : ĠRegex Ġ= Ġdefault Args Separator Ċ ): ĠMutable Map < String , ĠArray < String >> Ġ{ ĊĠĠĠ Ġval Ġresult Ġ= Ġmutable Map Of < String , ĠArray < String >>() ĊĠĠĠ Ġvar Ġcurrent Bot Command Source : ĠBot Command Text Source ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġcurrent Args Ġ= Ġ"" ĊĠĠĠ Ġfun Ġinclude Current () Ġ= Ġcurrent Bot Command Source Ġ? . let Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Args Ġ= Ġcurrent Args . trim () ĊĠĠĠĠĠĠĠ Ġresult [ it . command ] Ġ= Ġif Ġ( current Args . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Args . split ( args Separator ). to Typed Array () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty Array () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcurrent Args Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġcurrent Bot Command Source Ġ= Ġnull ĊĠĠĠ Ġ} ĊĠĠĠ Ġfor Ġ( text Source Ġin Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( text Source Ġis ĠBot Command Text Source ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinclude Current () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Bot Command Source Ġ= Ġtext Source ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Args Ġ+= Ġtext Source . source ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġinclude Current () ĊĠĠĠ Ġreturn Ġresult Ċ } Ċ Ċ /** Ċ Ġ* ĠParse Ġcommands Ġand Ġtheir Ġargs . ĠLogic Ġwill Ġfind Ġcommand , Ġget Ġall Ġsubsequent Ġdata Ġas Ġargs Ġuntil Ġnew Ġcommand Ċ Ġ*/ Ċ fun ĠText ed With Text Sources . parse Command sWith Params ( ĊĠĠĠ Ġargs Separator : ĠRegex Ġ= Ġdefault Args Separator Ċ ) Ġ= Ġtext Sources Ġ? . parse Command sWith Params ( args Separator ) Ġ?: Ġempty Map () Ċ Ċ /** Ċ Ġ* ĠParse Ġcommands Ġand Ġtheir Ġargs . ĠLogic Ġwill Ġfind Ġcommand , Ġget Ġall Ġsubsequent Ġdata Ġas Ġargs Ġuntil Ġnew Ġcommand Ċ Ġ*/ Ċ fun ĠContent Message < Text Content >. parse Command sWith Params ( ĊĠĠĠ Ġargs Separator : ĠRegex Ġ= Ġdefault Args Separator Ċ ) Ġ= Ġcontent . parse Command sWith Params ( args Separator ) Ċ