Advertisement
DreamWolf

Nova

Dec 26th, 2024 (edited)
9
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. -- NovaComm.lua
  2. local component = require("component")
  3. local internet = require("internet")
  4.  
  5. local NovaComm = {}
  6.  
  7. -- Функция для отправки сообщения
  8. function NovaComm.send(telegramToken, chatId, message)
  9. -- Проверяем, что передается сообщение
  10. if not message or message == "" then
  11. print("Ошибка: Сообщение пустое!")
  12. return "Сообщение пустое!"
  13. end
  14.  
  15. -- Преобразуем в строку (если это не строка)
  16. message = tostring(message)
  17. print("Сообщение перед отправкой: " .. message)
  18.  
  19. -- Кодируем сообщение для URL
  20. local encodedMessage = message:gsub("([%s])", function(s) return "%" .. string.format("%02X", string.byte(s)) end)
  21. print("Закодированное сообщение: " .. encodedMessage)
  22.  
  23. local url = string.format(
  24. "https://api.telegram.org/bot%s/sendMessage?chat_id=%s&text=%s",
  25. telegramToken,
  26. chatId,
  27. encodedMessage
  28. )
  29.  
  30. print("URL для отправки: " .. url)
  31.  
  32. local result, response = pcall(function()
  33. local handle = internet.request(url)
  34. local responseData = ""
  35. for chunk in handle do
  36. responseData = responseData .. chunk
  37. end
  38. return responseData
  39. end)
  40.  
  41. if not result or not response then
  42. return "Ошибка отправки"
  43. end
  44.  
  45. print("Ответ от Telegram: " .. response)
  46. return response
  47. end
  48.  
  49. return NovaComm
  50.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement