Thermostat mods

Well, I understand what it says in a way. I understand the principle of it, just don't fully. But can you guess from code what precisely Auto mode is doing, what Manual mode is doing, and Prog mode?? It's thermostat and is using Telegram. I will not copy the code with Telegram because I understand it. Please don't reply me with "It's changing mode of your thermostat in auto mode" lol

/*************************************************
  MANUAL
 ************************************************/

void Manual() {

  AutoMode = false;

  if (buttonEnterPressed) {
    timer = millis();
    if (ManualMode == true) {
      ManualMode = false;
      digitalWrite(RELAY_PIN, LOW);
      RelayStatus = false;
    }
    else {
      ManualMode = true;
      RelayStatus = true;
    }

    Display_Manual();
    buttonEnterPressed = false;
  }

  if (flag == true && millis() - timer > 4 * 1000) {
    flag = false;
    counter = 0;
    STATE = 0;
    Display_Home();
  }
}

/*************************************************
  PROG
 ************************************************/

void Prog() {

  

  if (buttonUpPressed) {
    timer = millis();
    counter++;
    if (counter > 23) {
      counter = -2;
    }
    Display_Prog();
    buttonUpPressed = false;
  }

  else if (buttonEnterPressed) {
    timer = millis();

    if (counter >= 0 && counter <= 23) {
      set_prog( day_counter , counter);
      Display_Prog();
    }
    else if (counter == -1) {
      day_counter++;
      if (day_counter > 6) day_counter = 0;
      Display_Prog();
      Serial.println(day_counter);
    }
    else if (counter == -2) {
      my_flash_store_two.write(days);
      STATE = 0;
      Display_Home();
      counter = 0;
      flag = false;
    }


    buttonEnterPressed = false;
  }

  else if (buttonDownPressed) {
    timer = millis();
    counter--;
    if (counter < -2) counter = 23;
    Display_Prog();
    buttonDownPressed = false;
  }
  else if ( millis() - timer > 4 * 1000) {
    flag = false;
    counter = 0;
    STATE = 0;
    Display_Home();
  }

}

/*************************************************
  AUTO
 ************************************************/

void Auto() {

  ManualMode = false;

  if (buttonEnterPressed) {
    timer = millis();
    AutoMode = ! (AutoMode);
    Display_Auto();
    buttonEnterPressed = false;
  }

  if (flag == true && millis() - timer > 4 * 1000) {
    flag = false;
    counter = 0;
    STATE = 0;
    Display_Home();
  }

}

......

/*************************************************
  OTHER FUNCTIONS
 ************************************************/

void set_prog(int d , int h) {
  days.days[d].hours[h] = !(days.days[d].hours[h]);
}

bool get_prog(int d, int h) {
  return days.days[d].hours[h];
}


void Keep_Temp() {

  if (DHTSensor.GetTemp() < default_temp) {
    digitalWrite(RELAY_PIN, LOW);
    RelayStatus = false;
  }
  else if (DHTSensor.GetTemp() > default_temp) {
    digitalWrite(RELAY_PIN, HIGH);
    RelayStatus = true;
  }
}

String Get_Therm_Status() {
  String therm_status = "";

  if (ManualMode == false && AutoMode == false) {
    therm_status = "OFF";
  }
  else if (ManualMode == true) {
    therm_status = "in Manual Mode";
  }
  else if (AutoMode == true) {
    therm_status = "in Auto Mode";
  }
  return therm_status;
}

String Get_Relay_Status() {
  String relay_status = "";
  if (RelayStatus == false) {
    relay_status = "Off";
  }
  else if (RelayStatus == true) {
    relay_status = "On";
  }
  return relay_status;
}

Please don't reply me with "It's changing mode of your thermostat in auto mode" lol

But that's all that the posted code is doing. If you want more information, post complete code as you obviously failed to select the relevant portion.