Проблемы с Телеграмом и Esp8266

Тема в разделе "Arduino & Shields", создана пользователем lexa, 17 апр 2017.

  1. lexa

    lexa Нуб

    Всем доброго времени суток,такая проблема не могу вычеслить ip бота созданого в телеграм выдает такую ошибку {"ok":false,"error_code":409,"description":"Conflict: can't use getUpdates method while webhook is active"}" ,и ботов уже новых создавал,и кучу видео пересмотрел , и по сайтам iшарил ошибка та же,сможете помочь,ибо уже два дня убил и всё ни как(((
     
  2. alp69

    alp69 Форумчанин

    Так Вам IP или API нужен? Выполните внимательно и вдумчиво по шагам все, что Вы возможно видели в теме про умный дом. здесь.
     
  3. ИгорьК

    ИгорьК Гуру

    Здесь речь идёт о прямом запросе с Esp на Телеграм.
    Я, кстати, баловался слегка тоже этим, но реализация https на Lua почему-то не конектится к api.telegram.org. А на сях лень время тратить.
     
    arkadyf нравится это.
  4. alp69

    alp69 Форумчанин

    Даже с библиотекой Нехаба?
     
  5. ИгорьК

    ИгорьК Гуру

    Это что?
     
  6. alp69

    alp69 Форумчанин

    LuaSocket. Хотя... Там http. А вот насчет https не уверен.
     
    Последнее редактирование: 19 апр 2017
  7. ИгорьК

    ИгорьК Гуру

    Вот код:
    Код (Lua):
    do
    --
    host = "msdn.microsoft.com"
    -- host = "github.com"
    -- host = "api.telegram.org"
    -- host = "yandex.ru"
    -- host = "rambler.ru"
    -- host = "core.telegram.org"
    -- host = "google.com"
    -- host = "github.com"

    curl = "GET / HTTP/1.1\r\n\r\n"
    srv = tls.createConnection()
    srv:on("receive", function(sck, c) print(c); srv:close(); srv = nil end)
    srv:on("connection", function(sck, c)
      sck:send(curl)
    end)
    srv:connect(443,host)
    end
    Работает со всем, кроме Телеграм.

    И этот не работает, хотя должен бы, составлен по всем правилам API Telegram:
    Код (Lua):
    do
    bot="mysmart_bot"
    chatId="11111111"
    token="123456789:ABcdEfGksf9sdvosmv-aaaaaaaaaaaaaaa"

    --[[
    "https://api.telegram.org/bot <YourBotApi>/sendMessage?chat_id=<YourChatId>&text=#MESSAGE"
    "https://api.telegram.org/bot156156695:AAFz2oOiq9qa7JtKug-md1MuUTaY6ur5nOQ/sendMessage?chat_id=11111111&text="..message
    "https://api.telegram.org/bot156156695:AAFz2oOiq9qa7JtKug-md1MuUTaY6ur5nOQ/getMe"
    --]]


    curl = "GET /bot156156695:AAFz2oOiq9qa7JtKug-md1MuUTaY6ur5nOQ/sendMessage?chat_id=11111111&text=Stop HTTP/1.1\r\n"
    --[[
    .."Host: api.telegram.org\r\n"..
    "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0\r\n"..
    "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"..
    "Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\r\n"..
    "Accept-Encoding: gzip, deflate, br\r\n"..
    "X-Compress: 1\r\n"..
    "Proxy-Authorization: 54495f3e874590a4585ca46f4c3b31c3b11e3a1d94f57e12bfa13f12f77e43e19710a493632a1c55\r\n"..
    "Connection: keep-alive\r\n"..
    "Upgrade-Insecure-Requests: 1\r\n"..
    "Cache-Control: max-age=01\r\n\r\n"
    --]]

    srv = tls.createConnection()
    srv:on("receive", function(sck, c) print(c) end)
    srv:on("connection", function(sck, c)
      sck:send(curl)
    end)
    srv:connect(443,"api.telegram.org")
    end
     
     
  8. alp69

    alp69 Форумчанин

    Из строки браузера запрос вида:
    Код (C++):
    https://api.telegram.org/bot156156695:AAFz2oOiq9qa7JtKug-md1MuUTaY6ur5nOQ/sendMessage?chat_id=11111111&text="..messagе.."
    работает.
    А соединение устанавливается в приведенном коде http или https? Прошу прощения за ламерский вопрос.
     
  9. ИгорьК

    ИгорьК Гуру

    Https, естественно. И, да - из строки браузера работает. Что-то ребята из NodeMCU недопилили. Ну, со временем, думаю. А так - было бы здорово, чтобы ESP-8266 отправлял важную инфорацию прямо в Telegram, минуя OpenHab.
     
    Последнее редактирование: 20 апр 2017
  10. ИгорьК

    ИгорьК Гуру