package Ġro cks . w aff le . tele kt . network . requests . auto Ċ Ċ import Ġkotlinx . serialization . K Serializer Ċ import Ġkotlinx . serialization . Serial Name Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġkotlinx . serialization . Transient Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġro cks . w aff le . tele kt . network . Telegram Method Ċ import Ġro cks . w aff le . tele kt . network . requests . abstract s . Simple Request Ċ import Ġro cks . w aff le . tele kt . types . File ĊĊ Ċ /** Ċ Ġ* Ġ[ Get File ] Ġrequest . Ċ Ġ* ĠUse Ġthis Ġmethod Ġto Ġget Ġbasic Ġinfo Ġabout Ġa Ġfile Ġand Ġprepare Ġit Ġfor Ġdownloading . ĠFor Ġthe Ġmoment , Ġbots Ġcan Ġdownload Ġfiles Ġof Ġup Ġto Ġ 2 0 MB Ġin Ġsize . ĠOn Ġsuccess , Ġa ĠFile Ġobject Ġis Ġreturned . ĠThe Ġfile Ġcan Ġthen Ġbe Ġdownloaded Ġvia Ġthe Ġlink Ġhttps :// api . telegram . org / file / bot < token >/< file _ path >, Ġwhere Ġ< file _ path > Ġis Ġtaken Ġfrom Ġthe Ġresponse . ĠIt Ġis Ġguaranteed Ġthat Ġthe Ġlink Ġwill Ġbe Ġvalid Ġfor Ġat Ġleast Ġ 1 Ġhour . ĠWhen Ġthe Ġlink Ġexpires , Ġa Ġnew Ġone Ġcan Ġbe Ġrequested Ġby Ġcalling ĠgetFile Ġagain . Ċ Ġ* ĠMore : Ġhttps :// core . telegram . org / bots / api # get file Ċ Ġ*/ Ċ @ Serializable Ġdata Ġclass ĠGet File ( ĊĠĠĠ Ġ/** ĠFile Ġidentifier Ġto Ġget Ġinfo Ġabout ĠNote : ĠThis Ġfunction Ġmay Ġnot Ġpreserve Ġthe Ġoriginal Ġfile Ġname Ġand ĠMIME Ġtype . ĠYou Ġshould Ġsave Ġthe Ġfile 's ĠMIME Ġtype Ġand Ġname Ġ( if Ġavailable ) Ġwhen Ġthe ĠFile Ġobject Ġis Ġreceived . Ġ*/ ĊĠĠĠ Ġ@ Serial Name (" file _ id ") Ġval Ġfile Id : ĠString Ċ ) Ġ: ĠSimple Request < File >() Ġ{ ĊĠĠĠ Ġ@ Transient Ġoverride Ġval Ġmethod Ġ= ĠTelegram Method . getFile ĊĠĠĠ Ġ@ Transient Ġoverride Ġval Ġresult Deserializer : ĠK Serializer < out ĠFile > Ġ= ĠFile . serializer () ĊĠĠĠ Ġoverride Ġfun Ġstringify ( json : ĠJson ): ĠString Ġ= Ġjson . stringify ( Get File . serializer (), Ġthis ) Ċ } Ċ