package Ġjp . j ug g ler . sub way to oter . api . entity čĊč Ċ import Ġjp . j ug g ler . sub way to oter . api . To ot Parser č Ċ import Ġjp . j ug g ler . util .* čĊč Ċ object ĠT oot Payload Ġ{ čĊčĊĠĠĠ Ġval Ġlog Ġ= ĠLog Category (" To ot Payload ") čĊčĊĠĠĠ Ġprivate Ġval Ġre Number Ġ= Ġ" ([- ]? \\ d +) ". ascii Pattern () čĊčĊĠĠĠ Ġ// Ġ ãĤ¹ãĥĪ ãĥª ãĥ¼ãĥ Ł ãĥ³ãĤ° API ãģ® ãĥļ ãĤ¤ ãĥŃ ãĥ¼ãĥī éĥ¨åĪĨ ãĤĴ To ot Status , To ot Notification , æķ´æķ° ID ãģ® ãģ© ãĤĮ ãģĭ ãģ« è§£ éĩ Ī ãģĻãĤĭ čĊĠĠĠ Ġfun Ġparse Payload ( čĊĠĠĠĠĠĠĠ Ġparser : ĠT oot Parser , čĊĠĠĠĠĠĠĠ Ġevent : ĠString , čĊĠĠĠĠĠĠĠ Ġparent : ĠJsonObject , čĊĠĠĠĠĠĠĠ Ġparent Text : ĠString , čĊĠĠĠ Ġ): ĠAny ? Ġ{ čĊĠĠĠĠĠĠĠ Ġtry Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpayload Ġ= Ġparent [" payload "] Ġ?: Ġreturn Ġnull čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( payload Ġis ĠJsonObject ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( event ) Ġ{ čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ãģĵ ãģĵ ãĤĴ éĢļ ãĤĭ ãĤ± ãĥ¼ãĤ¹ ãģ¯ ãģ¾ ãģł ç¢ºèªį ãģ§ãģį ãģ¦ãģĦ ãģªãģĦ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" update " Ġ-> Ġparser . status ( payload ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ãģĵ ãģĵ ãĤĴ éĢļ ãĤĭ ãĤ± ãĥ¼ãĤ¹ ãģ¯ ãģ¾ ãģł ç¢ºèªį ãģ§ãģį ãģ¦ãģĦ ãģªãģĦ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" notification " Ġ-> Ġparser . notification ( payload ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ãģĵ ãģĵ ãĤĴ éĢļ ãĤĭ ãĤ± ãĥ¼ãĤ¹ ãģ¯ ãģ¾ ãģł ç¢ºèªį ãģ§ãģį ãģ¦ãģĦ ãģªãģĦ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . e (" unknown Ġpayload ( 1 ). Ġmessage =$ parent Text ") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( payload Ġis ĠJson Array ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . e (" unknown Ġpayload ( 1 b ). Ġmessage =$ parent Text ") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( payload Ġis ĠNumber ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ 2 0 1 7 / 8 / 2 4 Ġ 1 8 : 3 7 Ġm ast od on . j ug g ler . jp ãģ§ ãģĵ ãģĵ ãĤĴ éĢļ ãģ£ãģŁ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpayload . to Long () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( payload Ġis ĠString ) Ġ{ čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( payload [ 0 ] Ġ== Ġ'{ ') Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsrc Ġ= Ġpayload . decode JsonObject () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( event ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ 2 0 1 7 / 8 / 2 4 Ġ 1 8 : 3 7 Ġm ast od on . j ug g ler . jp ãģ§ ãģĵ ãģĵ ãĤĴ éĢļ ãģ£ãģŁ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" update " Ġ-> Ġparser . status ( src ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ 2 0 1 7 / 8 / 2 4 Ġ 1 8 : 3 7 Ġm ast od on . j ug g ler . jp ãģ§ ãģĵ ãģĵ ãĤĴ éĢļ ãģ£ãģŁ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" notification " Ġ-> Ġparser . notification ( src ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" conversation " Ġ-> Ġparse Item (:: To ot Conversation Summary , Ġparser , Ġsrc ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" announcement " Ġ-> Ġparse Item (:: To ot Anno uncement , Ġparser , Ġsrc ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" emoji _ reaction ", čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" announcement . reaction ", čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġparse Item ( To ot Reaction :: parse Fed ib ird , Ġsrc ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . e (" unknown Ġpayload ( 2 ). Ġmessage =$ parent Text ") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ãģĵ ãģĵ ãĤĴ éĢļ ãĤĭ ãĤ± ãĥ¼ãĤ¹ ãģ¯ ãģ¾ ãģł ç¢ºèªį ãģ§ãģį ãģ¦ãģĦ ãģªãģĦ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( payload [ 0 ] Ġ== Ġ'[ ') Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . e (" unknown Ġpayload ( 2 b ). Ġmessage =$ parent Text ") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ 2 0 1 7 / 8 / 2 4 Ġ 1 8 : 3 7 Ġm dx . gg tea . org Ġãģ§ ãģĵ ãģĵ ãĤĴ éĢļ ãģ£ãģŁ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm Ġ= Ġre Number . matcher ( payload ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m . find ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġm . group Ex ( 1 ) !!. to Long ( 1 0 ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ãģĵ ãģĵ ãĤĴ éĢļ ãĤĭ ãĤ± ãĥ¼ãĤ¹ ãģ¯ ãģ¾ ãģł ç¢ºèªį ãģ§ãģį ãģ¦ãģĦ ãģªãģĦ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . e (" unknown Ġpayload ( 3 ). Ġmessage =$ parent Text ") čĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠThrowable ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . trace ( ex ) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġreturn Ġnull čĊĠĠĠ Ġ} č Ċ } čĊ