You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: telegram.rs
    path of file: ./repos/git_release_tracker/src
    
    the code of the file until where you have to start completion: extern crate reqwest;
use serde_json::Value;

pub struct TelegramClient<'tel> {
    token: &'tel str,
    chat_id: &'tel str,
}

impl<'tel> TelegramClient<'tel> {
    pub fn new(chat_id: &'tel str, token: &'tel str) -> Self {
        Self {
            token: token,
            chat_id: chat_id,
        }
    }
    /// Get the userid of the bot
    pu
    
    pub async fn get_bot_id(&self) -> String {
        let url = format!("https://api.telegram.org/bot{}/getMe", self.token);
        let req = reqwest::Client::new();
        let resp = req.post(url).send().await.unwrap();
        let json: Value = resp.json().await.unwrap();
        let bot_id = json
            .get("result")
            .unwrap()
            .get("id")
            .unwrap()
            .as_u64()
            .unwrap()
            .to_string();
        return bot_id;
    }