import ssl, socket, json, os, sys, time
H = os.environ.get("TG_HOST", "api.telegram.org")
P = int(os.environ.get("TG_PORT", "443"))
TOKEN = "8781986513:AAFnD-EYQPUiv4noJgZjk_9CsEHPvcTsEN4"
print("Connecting to %s:%d..." % (H, P))
sys.stdout.flush()
sock = socket.create_connection((H, P), timeout=10)
print("Connected")
sys.stdout.flush()
ctx = ssl.SSLContext(ssl.PROTOCOL_TLS)
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
ss = ctx.wrap_socket(sock, server_hostname="api.telegram.org")
print("SSL wrapped")
sys.stdout.flush()
ss.settimeout(15)
body = b"timeout=0&offset=476029587"
req = ("POST /bot" + TOKEN + "/getUpdates HTTP/1.1\r\nHost: api.telegram.org\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: " + str(len(body)) + "\r\nConnection: close\r\n\r\n")
ss.sendall(req.encode() + body)
print("Sent")
sys.stdout.flush()
resp = b""
t0 = time.time()
while True:
    try:
        d = ss.read(4096)
        if not d:
            break
        resp += d
    except socket.timeout:
        print("Timeout after %.1fs, got %d bytes" % (time.time()-t0, len(resp)))
        break
_, _, body = resp.partition(b"\r\n\r\n")
if body:
    data = json.loads(body.decode("utf-8", errors="replace"))
    print("OK:", data.get("ok"))
    print("Results:", len(data.get("result", [])))
    if data.get("result"):
        for u in data["result"]:
            print("Update %d: %s" % (u["update_id"], u.get("message", {}).get("text", "")))
else:
    print("No body")
ss.close()
