package Ġcom . s br ati . spring . boot . starter . kotlin . telegram . util Ċ Ċ import Ġcom . github . kot l inte le gram bot . entities . Update Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġkotlin . properties . ReadOnly Property Ċ import Ġkotlin . reflect . K Property Ċ import Ġkotlin . reflect . full . comp anion Object Ċ Ċ class ĠLogger Delegate < in ĠR Ġ: ĠAny > Ġ: ĠReadOnly Property < R , ĠLogger > Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠgetValue ( this Ref : ĠR , Ġproperty : ĠK Property < *> ): ĠLogger Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLoggerFactory . getLogger ( getClass For Logging ( this Ref . java Class )) Ċ } Ċ Ċ fun Ġ< T Ġ: ĠAny > ĠgetClass For Logging ( java Class : ĠClass < T >): ĠClass < *> Ġ{ ĊĠĠĠ Ġreturn Ġjava Class . enc lo sing Class ?. take If Ġ{ Ġit . kotlin . comp anion Object ?. java Ġ== Ġjava Class Ġ} Ġ?: Ġjava Class Ċ } Ċ Ċ fun Ġ< T > ĠT ?. orElse ( t : ĠT ): ĠT Ġ{ ĊĠĠĠ Ġreturn Ġthis Ġ?: Ġt Ċ } Ċ Ċ fun Ġ< T > ĠT ?. orElse ( t : Ġ() Ġ-> ĠT ): ĠT Ġ{ ĊĠĠĠ Ġreturn Ġthis Ġ?: Ġt () Ċ } Ċ Ċ fun ĠUpdate . fullName (): ĠString Ġ{ ĊĠĠĠ Ġval Ġfrom Ġ= Ġthis . message ?. from Ġ?: Ġreturn Ġ"< unknown >" ĊĠĠĠ Ġreturn Ġfrom . firstName Ġ+ Ġ( from . lastName ?. prepend Indent (" Ġ") Ġ?: Ġ"") Ċ } Ċ Ċ fun ĠUpdate . chat Id (): ĠLong ? Ġ{ ĊĠĠĠ Ġreturn Ġthis . message ?. chat ?. id ĊĠĠĠĠĠĠĠ Ġ?: Ġthis . callback Query ?. message ?. chat ?. id ĊĠĠĠĠĠĠĠ Ġ?: Ġthis . pre Checkout Query ?. from ?. id Ċ }