package Ġcom . the apache 6 4 . t gb . core Ċ Ċ import Ġcom . the apache 6 4 . telegram bot . api . utils . StringUtils Ċ import Ġcom . the apache 6 4 . t gb . utils . Simple Command Executor Ċ import Ġjava . io . File Ċ Ċ object ĠG if Master Ġ{ ĊĊĠĠĠ Ġprivate Ġconst Ġval ĠTEXT _ SIZE Ġ= Ġ 4 5 ĊĊĠĠĠ Ġfun Ġdraw ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgif File : ĠFile , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Create Gif : ĠBoolean ĊĠĠĠ Ġ): ĠFile ? Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval ĠoutputFile Ġ= ĠFile ("${ gif File . parent }/${ StringUtils . to FileName ("${ text }_${ gif File . name }") }. mp 4 ") ĊĠĠĠĠĠĠĠ Ġval Ġsub Title File Ġ= Ġcreate Sub Title File ( gif File , Ġtext ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcommand Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġffmpeg Ġ- y Ġ- i Ġ"${ gif File . absolute Path }" Ġ- vf Ġ" ĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub titles =' ${ sub Title File . absolute Path } ': ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġforce _ style =' Font name = Impact , Font size =$ TEXT _ SIZE , Primary Colour =& H ffffff &, Outline Colour =& H 0 0 0 0 0 0 &, BorderStyle = 1 , Outline = 2 '" Ġ\ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ outputFile . absolute Path }" ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ ĠSimple Command Executor . execute Command ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommand , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Live Print Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Suppress Error Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Return All Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( outputFile . exists () Ġ&& Ġis Create Gif ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDEBUG ĠPURPOSE ĠONLY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgif Command Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġffmpeg Ġ- y Ġ- i Ġ"${ outputFile . absolute Path }" Ġ- filter _ complex Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ[ 0 : v ] Ġfps = 1 2 , scale = 4 8 0 :- 2 , split Ġ[ a ][ b ]; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ[ a ] Ġpalette gen Ġ[ p ]; [ b ][ p ] Ġpalette use " Ġ"${ outputFile . absolute Path }. gif " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠSimple Command Executor . execute Command ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgif Command , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Live Print Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Suppress Error Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Return All Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsub Title File . delete () ĊĊĠĠĠĠĠĠĠ Ġreturn ĠoutputFile ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Sub Title File ( input : ĠFile , Ġtext : ĠString ): ĠFile Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġ" 1 \ n 0 0 : 0 0 : 0 0 , 0 0 0 Ġ--> Ġ 9 9 : 9 9 : 9 9 , 9 9 9 \ n $ text " ĊĠĠĠĠĠĠĠ Ġreturn ĠFile ("${ input . parent }/${ input . name Without Extension }. s rt "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Text ( content ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }