package Ġnet . source bot . module . mod eration . data Ċ Ċ import Ġnet . dv 8 tion . j da . api . entities . Member Ċ import Ġnet . dv 8 tion . j da . api . entities . Text Channel Ċ import Ġnet . source bot . api . as Message Ċ import Ġnet . source bot . api . formatted Ċ import Ġnet . source bot . api . response . ErrorResponse Ċ Ċ class ĠB an Incident ( ĊĠĠĠ Ġoverride Ġval Ġid : ĠLong , ĊĠĠĠ Ġprivate Ġval Ġsender : ĠMember , ĊĠĠĠ Ġval Ġb anned : ĠMember , ĊĠĠĠ Ġprivate Ġval Ġdel Days : ĠInt , ĊĠĠĠ Ġoverride Ġval Ġreason : ĠString , Ċ ) Ġ: ĠOn esh ot Incident () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġsource Ġ= Ġsender . id ĊĠĠĠ Ġoverride Ġval Ġtarget Ġ= Ġb anned . id ĊĠĠĠ Ġoverride Ġval Ġtype Ġ= ĠInc ident . Type . BAN ĊĠĠĠ Ġprivate Ġval Ġban Ġ= ĠError Response ( ĊĠĠĠĠĠĠĠ Ġ" Ban Ġ- ĠCase Ġ#$ id ", ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ** B anned ĠBy :** Ġ${ sender . formatted ()} Ġ($ source ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ** B anned ĠUser :** Ġ${ b anned . formatted ()} Ġ($ target ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ** Reason :** Ġ$ reason ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġexecute () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ignore ĠDM Ġfailure ĊĠĠĠĠĠĠĠ Ġkotlin . run Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdm Ġ= Ġb anned . user . open Private Channel (). complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdm . sendMessage ( ban . as Message ( b anned )). complete () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġb anned . ban ( del Days , Ġreason ). complete () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend Log ( log Channel : ĠText Channel ) Ġ= Ġlog Channel . sendMessage ( ĊĠĠĠĠĠĠĠ Ġban . as Message ( sender ) ĊĠĠĠ Ġ). queue () Ċ }