Advertisement
Ewgeniy

other signalka

Jan 22nd, 2025
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.78 KB | None | 0 0
  1. local component = require("component")
  2. local event = require("event")
  3. local internet = require("internet")
  4. local tty = require("tty")
  5. local fs = require("filesystem")
  6. local gpu = component.gpu
  7.  
  8. local radar = component.radar -- Используем радар из Computronics
  9.  
  10. local oldback = gpu.getBackground()
  11. local oldfore = gpu.getForeground()
  12.  
  13. -- Запрашиваем у пользователя данные для Telegram
  14. print("Enter your Telegram Bot Token:")
  15. local botToken = io.read()
  16. print("Enter your Telegram Chat ID:")
  17. local chatID = io.read()
  18.  
  19. tty.clear()
  20.  
  21. io.write([===[
  22.                  .-_; ;_-.
  23.                 / /     \ \
  24.                | |       | |
  25.                 \ \.---./ /
  26.             .-"~   .---.   ~"-.
  27.           ,`.-~/ .'`---`'. \~-.`,
  28.           '`   | | \(_)/ | |   `'
  29.           ,    \  \ | | /  /    ,
  30.           ;`'.,_\  `-'-'  /_,.'`;
  31.            '-._  _.-'^'-._  _.-'
  32.                ``         ``  
  33. ]===])
  34. print("Primitive tracking program v2.0")
  35. print("By HappyWindinkg")
  36. print()
  37. print("List of offenders:")
  38.  
  39. -- Функция для кодирования URL
  40. local function urlencode(str)
  41.    if (str) then
  42.       str = string.gsub(str, "\n", "\r\n")
  43.       str = string.gsub(str, "([^%w ])",
  44.          function (c) return string.format("%%%02X", string.byte(c)) end)
  45.       str = string.gsub(str, " ", "+")
  46.    end
  47.    return str    
  48. end
  49.  
  50. -- Функция для отправки данных в Telegram
  51. local function telegramGET(chatid, text)
  52.     local result, reason = internet.request("https://api.telegram.org/bot" .. botToken .. "/sendMessage?chat_id=" .. chatID .. "&text=" .. urlencode(text))
  53.     local info = ""
  54.     if result then
  55.         for chunk in result do
  56.             info = info .. chunk
  57.         end
  58.         return info
  59.     else
  60.         return "Error: " .. (reason or "unknown error")
  61.     end
  62. end
  63.  
  64. -- Функция для записи никнеймов в файл
  65. local function saveToFile(filename, text)
  66.     local file, err = io.open(filename, "a")
  67.     if not file then
  68.         print("Error opening file: " .. (err or "unknown error"))
  69.         return
  70.     end
  71.     file:write(text .. "\n")
  72.     file:close()
  73. end
  74.  
  75. -- Основной цикл программы
  76. local whiteList = {"cloud", "LeShyj", "entity.Cat.name", "reload", "karnel"}
  77. local detectedPlayers = {}
  78.  
  79. while true do
  80.     local players = radar.getPlayers()
  81.     for _, player in ipairs(players) do
  82.         local name = player.name
  83.         if not detectedPlayers[name] then
  84.             detectedPlayers[name] = true
  85.             print(name)
  86.             local unauthorized = true
  87.             for _, whitelisted in ipairs(whiteList) do
  88.                 if whitelisted == name then
  89.                     unauthorized = false
  90.                     break
  91.                 end
  92.             end
  93.             if unauthorized then
  94.                 local alertMessage = "Unauthorized visitor detected: " .. name .. " " .. os.date("%x %X")
  95.                 print(alertMessage)
  96.  
  97.                 local telegramSuccess, telegramResponse = pcall(telegramGET, chatID, alertMessage)
  98.                 if telegramSuccess then
  99.                     gpu.setForeground(0x00FF00)
  100.                     print("Data sent to Telegram successfully.")
  101.                     saveToFile("/home/1.txt", name .. " " .. os.date("%x %X"))
  102.                     gpu.setForeground(oldfore)
  103.                 else
  104.                     gpu.setForeground(0xFF0000)
  105.                     print("Error sending to Telegram.")
  106.                     saveToFile("/home/1.txt", name .. " " .. os.date("%x %X"))
  107.                     gpu.setForeground(oldfore)
  108.                 end
  109.             end
  110.         end
  111.     end
  112.     os.sleep(1) -- Задержка для уменьшения нагрузки на систему
  113. end
  114.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement