setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); if ($type === 'channel.cheer') { $u = strtolower($ev['user_login'] ?? ''); $n = $ev['user_name'] ?? $u; $bits = (int)($ev['bits'] ?? 0); $st = $db->prepare('INSERT INTO events(type,user_login,user_name,value,ts) VALUES(?,?,?,?,?)'); $st->execute(['cheer', $u, $n, $bits, gmdate('c')]); } if ( $type === 'channel.subscribe' || $type === 'channel.subscription.message' || $type === 'channel.subscription.gift' ) { $u = strtolower($ev['user_login'] ?? $ev['gifter_login'] ?? ''); $n = $ev['user_name'] ?? $ev['gifter_name'] ?? $u; $val = (int)($ev['tier'] ?? $ev['total'] ?? 1); $st = $db->prepare('INSERT INTO events(type,user_login,user_name,value,ts) VALUES(?,?,?,?,?)'); $st->execute([ ($type === 'channel.subscription.gift' ? 'subgift' : 'sub'), $u, $n, $val, gmdate('c') ]); } } catch (PDOException $e) { error_log('Database error: ' . $e->getMessage()); http_response_code(500); echo 'db error'; exit; } echo 'ok'; exit; } echo 'ok';