Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*******************************************************************
- * An example of bot that receives commands and turns on and off *
- * an LED. *
- * *
- * written by Giacarlo Bacchio (Gianbacchio on Github) *
- * adapted by Brian Lough *
- *******************************************************************/
- #include <ESP8266WiFi.h>
- #include <WiFiClientSecure.h>
- #include <UniversalTelegramBot.h>
- // Initialize Wifi connection to the router
- char ssid[] = "@wifi.id2"; // your network SSID (name)
- char password[] = "qwertyuiop"; // your network key
- // Initialize Telegram BOT
- #define BOTtoken "763366954:AAHQRyUTmwmI0N98sOPiBtFG3hAIVbEjMdM" // your Bot Token (Get from Botfather)
- WiFiClientSecure client;
- UniversalTelegramBot bot(BOTtoken, client);
- int Bot_mtbs = 1000; //mean time between scan messages
- long Bot_lasttime; //last time messages' scan has been done
- bool Start = false;
- const int ledPin = D6;
- int ledStatus = 0;
- int led = D7;
- void handleNewMessages(int numNewMessages) {
- Serial.println("handleNewMessages");
- Serial.println(String(numNewMessages));
- for (int i=0; i<numNewMessages; i++) {
- String chat_id = String(bot.messages[i].chat_id);
- String text = bot.messages[i].text;
- String from_name = bot.messages[i].from_name;
- if (from_name == "") from_name = "Guest";
- if (text == "/ledon") {
- digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level)
- ledStatus = 1;
- bot.sendMessage(chat_id, "Led is ON", "");
- }
- if (text == "/ledoff") {
- ledStatus = 0;
- digitalWrite(ledPin, LOW); // turn the LED off (LOW is the voltage level)
- bot.sendMessage(chat_id, "Led is OFF", "");
- }
- if (text == "/status") {
- if(ledStatus){
- bot.sendMessage(chat_id, "Led is ON", "");
- } else {
- bot.sendMessage(chat_id, "Led is OFF", "");
- }
- }
- if (text == "/start") {
- String welcome = "Welcome to Universal Arduino Telegram Bot library, " + from_name + ".\n";
- welcome += "This is Flash Led Bot example.\n\n";
- welcome += "/ledon : to switch the Led ON\n";
- welcome += "/ledoff : to switch the Led OFF\n";
- welcome += "/status : Returns current status of LED\n";
- bot.sendMessage(chat_id, welcome, "Markdown");
- }
- }
- }
- void setup() {
- Serial.begin(115200);
- // Set WiFi to station mode and disconnect from an AP if it was Previously
- // connected
- WiFi.mode(WIFI_STA);
- WiFi.disconnect();
- delay(100);
- // attempt to connect to Wifi network:
- Serial.print("Connecting Wifi: ");
- Serial.println(ssid);
- WiFi.begin(ssid, password);
- while (WiFi.status() != WL_CONNECTED) {
- Serial.print(".");
- delay(500);
- }
- Serial.println("");
- Serial.println("WiFi connected");
- Serial.print("IP address: ");
- Serial.println(WiFi.localIP());
- pinMode(ledPin, OUTPUT); // initialize digital ledPin as an output.
- pinMode(led, OUTPUT);
- delay(10);
- digitalWrite(ledPin, LOW); // initialize pin as off
- }
- void loop() {
- #define chat_id "@SampeuBot"
- delay(5000);
- digitalWrite(led, HIGH);
- delay(5000);
- digitalWrite(led, LOW);
- if (led == HIGH){
- bot.sendMessage(chat_id, "Led 2 is ON", "");
- }
- if (led == LOW){
- bot.sendMessage(chat_id, "Led 2 is OFF", "");
- }
- if (millis() > Bot_lasttime + Bot_mtbs) {
- int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
- while(numNewMessages) {
- Serial.println("got response");
- handleNewMessages(numNewMessages);
- numNewMessages = bot.getUpdates(bot.last_message_received + 1);
- }
- Bot_lasttime = millis();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement