import asyncio from bleak import BleakScanner, BleakError from datetime import datetime import requests webhook_url = "https://discord.com/api/webhooks/1403525015818862602/Jh0G0pS9MXzOYRBTmqwH18Qcg0Jg7Ayvw9At3uGe4IauTK1eqRdt8whTXAjvfIDPT9K5" # replace with your actual webhook URL # bunch of random prefixes for testing VENDOR_PREFIXES = ['00:25:DF', '00:58:28', '00:C0:D4', '84:70:03', 'C0:1C:6A', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0B', '77', '99', '0A', '0B', '0C', '0D', '0E', '0F', 'AB', 'C0'] # live # NDOR_PREFIXES = ['00:25:DF', '00:58:28', '00:C0:D4', '84:70:03'] async def main(): print("Scanning for BLE devices...") while True: try: devices = await BleakScanner.discover() filtered_devices = [device for device in devices if any(device.address.upper().startswith(prefix) for prefix in VENDOR_PREFIXES)] if filtered_devices: now = datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")[:-3] # includes miliseconds webhook_payload = { "content": f"VLAT HAS BEEN SPOTTED MAC: {filtered_devices[0].address} TIME: {now}" } print(f"VLAT HAS BEEN SPOTTED MAC: {filtered_devices[0].address} TIME: {now}") requests.post(webhook_url, json=webhook_payload) except BleakError as e: print(f"Error during scanning: {e}") await asyncio.sleep(10) # wait before next scan filtered_devices = [device for device in devices if any(device.address.upper().startswith(prefix) for prefix in VENDOR_PREFIXES)] if __name__ == "__main__": asyncio.run(main())