Не работает телегам бот с ESP8266

и вот строчка на которую указало bot.deleteMessage(bot.messages[i].chat_id, bot.messages[i].message_id);

.Где то пол года назад работало а сейчас нет.Библиотеки установил бота создал токен вставил и ничего просто ошибка.Не используется : C:\Users\artem\Documents\Arduino\libraries\Universal-Arduino-Telegram-Bot exit status

// YouTube канал автора https://www.youtube.com/c/TryTech

#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>

#define BOTtoken "xxxxx:xxxxxxxxxxxxxxx"  // Токен бота в формате xxxxx:xxxxxxxxxxxxxxx, начните беседу с ботом "BotFather" в Telegram и, 
                                                                  // следуя инструкциям, создайте нового бота. Вам будет выдан секретный токен. Никому его не сообщайте.
char ssid[] = "WiFi_Name";         // SSID (имя) вашей WiFi сети
char password[] = "12345678";     // пароль wifi сети
String buttons[] = {"light", "Socket"};  // имена подключенных устройств, с кириллицей НЕ РАБОТАЕТ!
int pin[] = {5, 4};                      // номер вывода, к которому подключено исполняющее устройство (реле, транзистор и т.д.)

bool protection = 0;                      // права доступа: 0 - доступно всем пользователям, 1 - доступ по Chat ID, если оно внесено в chatID_acces.
int chatID_acces[] = {}; // Chat ID, которым разрешен доступ, игнорируется, если protection = 0.
                                          // Примечание: по команде /start в Telegram, если у пользователя нет прав доступа на управление устройством, бот выдаст Chat ID
                                          // этого пользователя, чтобы его можно было внести в chatID_acces. Chat ID - это уникальный номер чата, который выдается
                                          // пользователю, начавшему общение с ботом.

String on_symbol="✅ ";  // Индикатор включенного состояния, можно заменить, например, на "Вкл."
String off_symbol="☑ "; // Индикатор выключенного состояния.

//Дальше ничего интересного, но если хотите, можете посмотреть.

WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);
int quantity;
int Bot_mtbs = 3000;
long Bot_lasttime;   
bool Start = false;
const int ledPin = 2;
int ledStatus = 0;
String keyboardJson = "";

//int messageID;

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 m_id = String(bot.messages[i].message_id);
    if (bot.messages[i].type == "callback_query") {
      String statusMessage;
      for (int i1=0; i1<quantity; i1++) {
       if (bot.messages[i].text == buttons[i1]) {
       digitalWrite (pin[i1], !digitalRead(pin[i1]));
       }
      digitalRead(pin[i1])?statusMessage+=on_symbol:statusMessage+=off_symbol;
      statusMessage+=buttons[i1]; 
      statusMessage+='\n';
      }
      bot.deleteMessage(bot.messages[i].chat_id, bot.messages[i].message_id);
      bot.sendMessageWithInlineKeyboard(bot.messages[i].chat_id, statusMessage, "", keyboardJson);
      
    } else {
    String text = bot.messages[i].text;
    Serial.println(m_id);
    String from_name = bot.messages[i].from_name;
    if (from_name == "") from_name = "Guest";
    int i2=0;
    do{
    if (!protection || String(chatID_acces[i2]) == chat_id) {
      if (text == "/control") {
      String statusMessage;
      for (int i=0; i<quantity; i++) {
      digitalRead(pin[i])?statusMessage+=on_symbol:statusMessage+=off_symbol;
      statusMessage+=buttons[i];  
      statusMessage+='\n';
      }
      bot.sendMessageWithInlineKeyboard(chat_id, statusMessage, "", keyboardJson);
      }

      if (text == "/start") {
      String welcome = "Приветствую " + from_name + ".\n";
      welcome += "Это умный выключатель на микроконтроллере ESP8266, управляемый через Telegram.\n\n";
      welcome += "/control : перейти к управлению.\n";
      String keyboardStart = "[[{ \"text\" : \"YouTube канал автора\", \"url\" : \"https://www.youtube.com/c/TryTech\" }]]";
      bot.sendMessageWithInlineKeyboard(chat_id, welcome, "", keyboardStart);
      }
      break;
    }else{
      if (i2==((sizeof(chatID_acces)/sizeof(int))-1)&&text == "/start"||(sizeof(chatID_acces)/sizeof(int))==0&&text == "/start") {
      bot.sendMessage(chat_id, "No access, Chat ID: "+chat_id, "");
      }
    }

    i2++;
    }while (i2<(sizeof(chatID_acces)/sizeof(int)));
    }
  }
}

void setup() {
  Serial.begin(115200);

  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);

  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());
  
  quantity=sizeof(pin)/sizeof(int);
  for (int i=0; i<quantity; i++) {
  pinMode(pin[i], OUTPUT);
      }

  for (int i=0; i<quantity; i++) {
  if(i==0) keyboardJson += "[";
  keyboardJson += "[{ \"text\" : \"";
  keyboardJson += buttons[i];
  keyboardJson += "\", \"callback_data\" : \"";
  keyboardJson += buttons[i];
  keyboardJson += "\" }]";
  if(i==quantity-1){
    keyboardJson += "]";
    }else{
  keyboardJson += ",";  
  }
  }
  delay(10);
  client.setInsecure();
}

void loop() {
  if (millis() > Bot_lasttime + Bot_mtbs)  {
    int numNewMessages = bot.getUpdates(bot.last_message_received + 1);

    while(numNewMessages) {
      handleNewMessages(numNewMessages);
      numNewMessages = bot.getUpdates(bot.last_message_received + 1);
    }
    Bot_lasttime = millis();
  }[quote="homt60, post:1, topic:9056, full:true"]
```#define LED_PIN 3
#define LED_NUM 60

#include "FastLED.h"

CRGB leds[LED_NUM];

int BRIGHT = 0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, LED_NUM);
  FastLED.setBrightness(1);
  Serial.println("efdes");
  FastLED.showColor(CRGB::Blue);
}

void loop() {
  FastLED.setBrightness(100);
  delay(2000);
}```
Лента после выполнения светиться с яркостью 1 а не 100
[/quote]

полное сообщение об ошибке покажите

у него ДВА сетапа… зачем отвечать? Можно просто поржать…

1 лайк

да и лупа тоже два

1 лайк

каждой твари по паре
ноев ковчег прям

1 лайк

да и Chat ID не задан

1 лайк

Зато код вставлен по правилам.

2 лайка

лупа тоже два! а это уже и напица можно!

У атамана Казалупа
В скетчЕ объявлено два лупа…
:wink:

1 лайк

Можно и проще сказать, что этой функции в библиотеке нет, замаркируй!

/*
Copyright (c) 2018 Brian Lough. All right reserved.

UniversalTelegramBot - Library to create your own Telegram Bot using
ESP8266 or ESP32 on Arduino IDE.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/

#ifndef UniversalTelegramBot_h
#define UniversalTelegramBot_h

//#define TELEGRAM_DEBUG 1
#define ARDUINOJSON_DECODE_UNICODE 1
#define ARDUINOJSON_USE_LONG_LONG 1
#include <Arduino.h>
#include <ArduinoJson.h>
#include <Client.h>
#include <TelegramCertificate.h>

#define TELEGRAM_HOST "api.telegram.org"
#define TELEGRAM_SSL_PORT 443
#define HANDLE_MESSAGES 1

//unmark following line to enable debug mode
//#define _debug

typedef bool (*MoreDataAvailable)();
typedef byte (*GetNextByte)();
typedef byte* (*GetNextBuffer)();
typedef int (GetNextBufferLen)();

struct telegramMessage {
  String text;
  String chat_id;
  String chat_title;
  String from_id;
  String from_name;
  String date;
  String type;
  String file_caption;
  String file_path;
  String file_name;
  bool hasDocument;
  long file_size;
  float longitude;
  float latitude;
  int update_id;
  int message_id;  

  int reply_to_message_id;
  String reply_to_text;
  String query_id;
};

class UniversalTelegramBot {
public:
  UniversalTelegramBot(const String& token, Client &client);
  void updateToken(const String& token);
  String getToken();
  String sendGetToTelegram(const String& command);
  String sendPostToTelegram(const String& command, JsonObject payload);
  String
  sendMultipartFormDataToTelegram(const String& command, const String& binaryPropertyName,
                                  const String& fileName, const String& contentType,
                                  const String& chat_id, int fileSize,
                                  MoreDataAvailable moreDataAvailableCallback,
                                  GetNextByte getNextByteCallback, 
                                  GetNextBuffer getNextBufferCallback, 
                                  GetNextBufferLen getNextBufferLenCallback);

  bool readHTTPAnswer(String &body, String &headers);
  bool getMe();

  bool sendSimpleMessage(const String& chat_id, const String& text, const String& parse_mode);
  bool sendMessage(const String& chat_id, const String& text, const String& parse_mode = "", int message_id = 0);
  bool sendMessageWithReplyKeyboard(const String& chat_id, const String& text,
                                    const String& parse_mode, const String& keyboard,
                                    bool resize = false, bool oneTime = false,
                                    bool selective = false);
  bool sendMessageWithInlineKeyboard(const String& chat_id, const String& text,
                                     const String& parse_mode, const String& keyboard, int message_id = 0);

  bool sendChatAction(const String& chat_id, const String& text);

  bool sendPostMessage(JsonObject payload, bool edit = false); 
  String sendPostPhoto(JsonObject payload);
  String sendPhotoByBinary(const String& chat_id, const String& contentType, int fileSize,
                           MoreDataAvailable moreDataAvailableCallback,
                           GetNextByte getNextByteCallback, 
                           GetNextBuffer getNextBufferCallback, 
                           GetNextBufferLen getNextBufferLenCallback);
  String sendPhoto(const String& chat_id, const String& photo, const String& caption = "",
                   bool disable_notification = false,
                   int reply_to_message_id = 0, const String& keyboard = "");

  bool answerCallbackQuery(const String &query_id,
                           const String &text = "",
                           bool show_alert = false,
                           const String &url = "",
                           int cache_time = 0);

  bool setMyCommands(const String& commandArray);

  String buildCommand(const String& cmd);

  int getUpdates(long offset);
  bool checkForOkResponse(const String& response);
  telegramMessage messages[HANDLE_MESSAGES];
  long last_message_received;
  String name;
  String userName;
  int longPoll = 0;
  unsigned int waitForResponse = 1500;
  int _lastError;
  int last_sent_message_id = 0;
  int maxMessageLength = 1500;

private:
  // JsonObject * parseUpdates(String response);
  String _token;
  Client *client;
  void closeClient();
  bool getFile(String& file_path, long& file_size, const String& file_id);
  bool processResult(JsonObject result, int messageIndex);
};

#endif

Отрываешься от коллектива, не смешно шутишь )))

не шутю, там её действительно нет