package Ġcom . er is u . cloud . meg umi . set u . service Ċ Ċ import Ġcom . er is u . cloud . meg umi . command . Command Ċ import Ġcom . er is u . cloud . meg umi . command . Command Type Ċ import Ġcom . er is u . cloud . meg umi . pattern . Pattern Ċ import Ġcom . er is u . cloud . meg umi . plugin . pojo . Model Ċ import Ġcom . er is u . cloud . meg umi . random . logic . Random Logic . roll Ċ import Ġcom . er is u . cloud . meg umi . set u . logic . Set u Logic Ċ import Ġnet . mam oe . mir ai . contact . Contact Ċ import Ġnet . mam oe . mir ai . contact . Group Ċ import Ġnet . mam oe . mir ai . contact . User Ċ import Ġnet . mam oe . mir ai . message . data . Message Ċ import Ġnet . mam oe . mir ai . message . data . Message Chain Ċ import Ġnet . mam oe . mir ai . message . data . Plain Text Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġjavax . annotation . Resource Ċ Ċ /** Ċ Ġ*@ Description Ġset u æıĴä»¶ Ċ Ġ*@ Author Ġalice Ċ Ġ*@ Date Ġ 2 0 2 1 / 7 / 7 Ġ 8 : 4 3 Ċ Ġ**/ Ċ @ Component Ċ @ Model ( name Ġ= Ġ" set u ") Ċ class ĠSet u Service Ġ{ ĊĠĠĠ Ġ@ Resource ĊĠĠĠ Ġlateinit Ġvar Ġset u Logic : ĠSet u Logic Ċ Ċ // ĠĠĠ Ġ@ Command ( value Ġ= Ġ" æĿ¥ å¼ł (.* ) èī² åĽ¾ ", Ġcommand Type Ġ= ĠCommand Type . GROUP , Ġpattern Ġ= ĠPattern . REGEX ) Ċ // ĠĠĠ Ġsuspend Ġfun Ġroll ( sender : ĠUser , Ġmessage Chain : ĠMessage Chain , Ġsubject : ĠContact ): ĠMessage ? Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġfind Ġ= ĠRegex (" æĿ¥ å¼ł (.* ) èī² åĽ¾ "). find ( message Chain . content ToString ()) !!. group Values Ċ // ĠĠĠĠĠĠĠ Ġval Ġtag : ĠString Ġ= Ġfind [ 1 ] Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( tag . startsWith (" r 1 8 ")) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġset u Logic . get Roll Set u ( tag . remove Prefix (" r 1 8 "), Ġ 1 , Ġ 1 , Ġsubject Ġas ĠGroup ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġset u Logic . get Roll Set u ( tag , Ġ 1 , Ġ 0 , Ġsubject Ġas ĠGroup ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ@ Command ( value Ġ= Ġ" æĿ¥ ([ 0 - 9 ]+) å¼ł (.* ) èī² åĽ¾ ", Ġcommand Type Ġ= ĠCommand Type . GROUP , Ġpattern Ġ= ĠPattern . REGEX ) Ċ // ĠĠĠ Ġsuspend Ġfun Ġroll With Num ( sender : ĠUser , Ġmessage Chain : ĠMessage Chain , Ġsubject : ĠContact ): ĠMessage ? Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġfind Ġ= ĠRegex (" æĿ¥ ([ 0 - 9 ]+) å¼ł (.* ) èī² åĽ¾ "). find ( message Chain . content ToString ()) !!. group Values Ċ // ĠĠĠĠĠĠĠ Ġval Ġnum : ĠString Ġ= Ġfind [ 1 ] Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( num . toInt () Ġ>= Ġ 5 ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPlain Text (" åĨ² å¤ª å¤ļ å¯¹ èº« ä½ĵ ä¸į å¥½ ãĥ ½ (* ãĢĤ > ÐĶ < ) o ãĤ ľ ") Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġval Ġtag : ĠString Ġ= Ġfind [ 2 ] Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( tag . startsWith (" r 1 8 ")) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġset u Logic . get Roll Set u ( tag . remove Prefix (" r 1 8 "), Ġnum . toInt (), Ġ 1 , Ġsubject Ġas ĠGroup ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġset u Logic . get Roll Set u ( tag , Ġnum . toInt (), Ġ 0 , Ġsubject Ġas ĠGroup ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Command ( value Ġ= Ġ" å°± è¿Ļ ä¸į å¤Ł èī² ", ĊĠĠĠĠĠĠĠ Ġcommand Type Ġ= ĠCommand Type . GROUP , ĊĠĠĠĠĠĠĠ Ġpattern Ġ= ĠPattern . EQUAL S , ĊĠĠĠĠĠĠĠ Ġrecall Time Ġ= Ġ 1 0 , ĊĠĠĠĠĠĠĠ Ġis Re called Ġ= Ġtrue ) ĊĠĠĠ Ġsuspend Ġfun Ġroll ( sender : ĠUser , Ġmessage Chain : ĠMessage Chain , Ġsubject : ĠContact ): ĠMessage Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġset u Logic . getLocal Set u ( subject Ġas ĠGroup ) ĊĊĠĠĠ Ġ} ĊĊ Ċ }