'Blynk' does not name a type

I am doing an arduino project with my Esp32 and I got the code off an instructable. And 9/10 times the code never works on instructables and the person isn’t responding to my comments. Anyways, it is supposed to be a IOT garden that uses the sensor DHT 22 and a capacitive moisture sensor. It’s suppose to run through the Blynk app but the code is all messed up. The initial code had a lot of unnecessary libraries and didn’t even finish. It would just say"include#…" and have nothing else. After I deleted the unnecessary bits I keep getting the error 'Blynk" does not name a type. Can anyone help? Thank you ahead of time.

#define BLYNK_PRINT Serial #include "DHT.h" //DHT sensor information #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Digital pin connected to the DHT sensor DHT dht(DHTPIN, DHTTYPE); // Initialize DHT sensor. //define input pins and outputs int soil_sensor = 34; //define analog input pin number connected to moisture sensor int output_value ;//define as output int moisturelevel;//define as output int notified = 0; //define notifed as 0 int timedelay= 60000L; //set timer to run get data once every minute or 60,000 miliseconds //set minimum values for plant int min_moisture =20; int min_temperature =75; int min_humidity =60; // You should get Auth Token in the Blynk App. char auth[] = "Auth_Token_Here"; // Your WiFi credentials. char ssid[] = "Wifi_Network_Here"; char pass[] = "Wifi_Password_Here"; BlynkTimer timer; // This function sends Arduino's up time every second to Virtual Pin (5). // In the app, Widget's reading frequency should be set to PUSH. This means // that you define how often to send data to Blynk App. void Sensors () //main function to read sensors and push to blynk { output_value = analogRead(soil_sensor);// Read analog signal from soil_sensor and define as output_value //Map output_vlaue from min,max values to 100,0 and constrain between 0,100 //Use sample code and serial monitor to find min and max values for individual sensor and soil type for better calibration moisturelevel = constrain ( map(output_value, 1000, 4095, 100, 0), 0, 100); float h = dht.readHumidity(); // Read humidity float t = dht.readTemperature(); // Read temperature as Celsius (the default) float f = dht.readTemperature(true); // Read temperature as Fahrenheit (isFahrenheit = true) // Compute heat index in Fahrenheit (the default) float hif = dht.computeHeatIndex(f, h); // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Failed to read from DHT sensor!")); return; } //This connects vales to virtual pins defined in the widgets in the Blynk app Blynk.virtualWrite(V5, moisturelevel );// Send moisture level to virtual pin 5 Blynk.virtualWrite(V6,f);// Send temperature to virtual pin 6 Blynk.virtualWrite(V7,h);// Send humidity to virtual pin 7 Blynk.virtualWrite(V8,hif);// Send heat index to virtual pin 8 if (notified==0) { if (moisturelevel <= min_moisture) // If moisturelevel is equal to or below min value { Blynk.email("Email_Here", "Plant Monitor", "Water Plant!"); // Send email to water plant } delay (15000); // Blynk emails must be 15 seconds apart. Delay 15000 millisecons if (f <= min_temperature) // If temperature is equal to or below min value { Blynk.email("Email_Here", "Plant Monitor", "Temperature Low!"); // Send email that temperature is low } delay (15000); // Blynk emails must be 15 seconds apart. Delay 15000 millisecons if (h <= min_humidity) // If humidity is equal to or below min value { Blynk.email("Emial_Here", "Plant Monitor", "Humidity Low!"); // Send email that humidity is low } notified = 1; timer.setTimeout(timedelay *5, resetNotified); // multipy timedelay by number of minutes wanted between repeat warning emails } } void resetNotified() //function called to reset email frequency { notified = 0; } void setup() { Serial.begin(9600); // Debug console Blynk.begin(auth, ssid, pass); // connect to blynk timer.setInterval(timedelay, Sensors); // Setup a function to be called every minute or what timedelay is set to dht.begin(); //run DHT sensor } //Void loop should only contain blynk.run and timer void loop() { Blynk.run(); // Run blynk timer.run(); // Initiates BlynkTimer }