Cybersecurity
Live-stream disaster: Content creator Lacy hacked by her own followers
The American streamer showed a restaurant’s QR code on Twitch, prompting viewers to order food and drive the bill up to $12,000.
- Cybersecurity alert: phishing campaigns increasingly target hotel staff
- New flaw lets hackers remotely control electric motorcycle
Lacy.
- 1
Live-stream disaster: Content creator Lacy hacked by her own followers
- 2
Demand overwhelms Intel, leaving its budget laptop chips out of stock
- 3
Living near Water-Polluting facilities linked to higher risk of neurodegenerative disease
- 4
U.S. boosts women’s role in Morocco’s military to strengthen its influence in Africa
- 5
Gold remains a safe haven – and is now a security issue

- Alberto Payo
- Technology Journalist
- Published on
02 November 2026 at 06:20
We must be very careful with what we share on the Internet. It’s a message we’ve heard many times, but in these times when we practically share everything that happens to us on social networks, it doesn’t hurt to keep emphasizing it.
This is the lesson that the American Twitch streamerLacyhas learned -the hard way- after receiving the most expensive restaurant bill of his life.
Lacy was in Japan and was showing his followers how to eat in a restaurant in the country. But then he made a huge mistake: showing the establishment’s QR code to the camera for a brief moment. Scanning it with their mobile camera, anyone with access could place orders. And that’s what happened. Some of those watching didn’t think twice.
When Lacy finished eating, he received a bill that amounted to a whopping over 11,000 euros (1.96 million yen). Several of the viewers following his stream had used the QR to open the restaurant’s digital menu and order dish after dish.
Drinks for 20
The content creator became aware of what happened when a waiter approached the table and brought him twenty drinks at once.
Realizing the trolling and live hacking he had been a victim of, Lacy interrupted the broadcast for a while. Then he realized that several receipts had arrived, totaling the mentioned amount.
“I had to pay more than $12,000 because you thought it was funny,”lamented the influencer, blaming the audience for exploiting the ordering system and making the restaurant staff work unnecessarily. “I’m very angry right now,” he acknowledged.
Lacy was furious after viewers used the restaurant’s QR code he accidentally leaked to order food, revealing that he was left with a 1.6 million yen ($12,000 USD) restaurant bill in Japan after telling the staff to give the food to local families because of his chat’s actions… pic.twitter.com/MwYR78XVrD
— corruptmp4 (@thecorruptmp4) October 28, 2026
Although Lacy tried to stop the situation, the language barrier prevented him from making himself understood with the local employees, and he couldn’t stop all the dishes from being prepared. He ultimately took full responsibility, paid the hefty bill, and asked that the leftover food be distributed among other families present to avoid waste.
However, later the restaurant issued a statement indicating that they did not intend to charge the diner for something he hadn’t actually ordered or eaten.
“We verify each customer and the content of their order, and we only charge for the product they actually consume. Initially, we didn’t realize it was a fake/joke order and cooked some dishes, but we discarded some products without serving them because the customer confirmed he hadn’t ordered them. Of course, we don’t charge customers for those products,” they stated.
The stream had lasted more than 5 hours and attracted over 400,000 viewers. Lacy has a community of over 3.5 million followers on Twitch and initially became known thanks to Fortnite game content.
We must be very careful with what we share on the Internet. It’s a message we’ve heard many times, but in these times when we practically share everything that happens to us on social networks, it doesn’t hurt to keep emphasizing it.
This is the lesson that the American Twitch streamerLacyhas learned -the hard way- after receiving the most expensive restaurant bill of his life.
Lacy was in Japan and was showing his followers how to eat in a restaurant in the country. But then he made a huge mistake: showing the establishment’s QR code to the camera for a brief moment. Scanning it with their mobile camera, anyone with access could place orders. And that’s what happened. Some of those watching didn’t think twice.
When Lacy finished eating, he received a bill that amounted to a whopping over 11,000 euros (1.96 million yen). Several of the viewers following his stream had used the QR to open the restaurant’s digital menu and order dish after dish.
Drinks for 20
The content creator became aware of what happened when a waiter approached the table and brought him twenty drinks at once.
Realizing the trolling and live hacking he had been a victim of, Lacy interrupted the broadcast for a while. Then he realized that several receipts had arrived, totaling the mentioned amount.
“I had to pay more than $12,000 because you thought it was funny,”lamented the influencer, blaming the audience for exploiting the ordering system and making the restaurant staff work unnecessarily. “I’m very angry right now,” he acknowledged.
Lacy was furious after viewers used the restaurant’s QR code he accidentally leaked to order food, revealing that he was left with a 1.6 million yen ($12,000 USD) restaurant bill in Japan after telling the staff to give the food to local families because of his chat’s actions… pic.twitter.com/MwYR78XVrD
— corruptmp4 (@thecorruptmp4) October 28, 2026
Although Lacy tried to stop the situation, the language barrier prevented him from making himself understood with the local employees, and he couldn’t stop all the dishes from being prepared. He ultimately took full responsibility, paid the hefty bill, and asked that the leftover food be distributed among other families present to avoid waste.
However, later the restaurant issued a statement indicating that they did not intend to charge the diner for something he hadn’t actually ordered or eaten.
“We verify each customer and the content of their order, and we only charge for the product they actually consume. Initially, we didn’t realize it was a fake/joke order and cooked some dishes, but we discarded some products without serving them because the customer confirmed he hadn’t ordered them. Of course, we don’t charge customers for those products,” they stated.
The stream had lasted more than 5 hours and attracted over 400,000 viewers. Lacy has a community of over 3.5 million followers on Twitch and initially became known thanks to Fortnite game content.
Become a premium member for free!
You may be interested in
- CybersecurityCybersecurity alert: phishing campaigns increasingly target hotel staffAntonio Bustos
- CybersecurityNew flaw lets hackers remotely control electric motorcycleAlberto Payo
- CybersecurityRussia forces Apple and Microsoft to store user data locally and surrender access to security servicesAlberto Payo
- CybersecurityVirtualline taken down: The dark web host tied to child abuse material and cybercrimeAlberto Payo
“;
$(“#container-comentar-comentarios”).html(respuesta);
} else if (data == 2) { //TIEMPO
var respuesta =
“No ha pasado aún un minuto desde tu último comentario. Espera un poco y podrás comentar de nuevo una noticia.
“;
$(“#container-comentar-comentarios”).html(respuesta);
} else if (data == 3) { //PALABROTA
var respuesta = “Por favor, utiliza un lenguaje correcto para comentar las noticias.”;
Swal.fire({
text: respuesta,
icon: “warning”
});
} else { //NO LOGUEADO
var respuesta =
“Lo sentimos, al parecer no tienes una sesión iniciada. Vuelve a Iniciar Sesión y podrás publicar este comentario.”;
Swal.fire({
text: respuesta,
icon: “warning”
});
}
},
error: function (request, error) {
//console.log(error);
}
});
}
function sumarPositivo(id_comentario, id_usuario) {
$.ajax({
type: “POST”,
xhrFields: {
withCredentials: true
},
url: `/api/sumar_reaccion_comentario.php?t=` +
generarCadenaAlfanumerica(),
data: {
tipo: ‘positivo’,
id_comentario: id_comentario,
id_usuario: id_usuario
},
success: function (data) {
//console.log(data);
if (data == 1) {
var likes = parseInt($(“#like_” + id_comentario + ” span”).text());
$(“#like_” + id_comentario + ” span”).text(parseInt(likes + 1));
}
},
error: function (request, error) {
//console.log(error);
}
});
}
function sumarNegativo(id_comentario, id_usuario) {
$.ajax({
type: “POST”,
xhrFields: {
withCredentials: true
},
url: `/api/sumar_reaccion_comentario.php?t=` +
generarCadenaAlfanumerica(),
data: {
tipo: ‘negativo’,
id_comentario: id_comentario,
id_usuario: id_usuario
},
success: function (data) {
//console.log(data);
if (data == 1) {
var dislikes = parseInt($(“#dislike_” + id_comentario + ” span”).text());
$(“#dislike_” + id_comentario + ” span”).text(parseInt(dislikes + 1));
}
},
error: function (request, error) {
//console.log(error);
}
});
}
function recargar_widgets_sesion() {
recargar_cabecero_sesion();
recargar_menu_sesion();
recargar_comentar_sesion();
recargar_comentar_comentar();
comprobar_user_sesion_215_articulo(0);
}
function iniciarSesion() {
var continuar = true;
var msg = “”;
var usuario_log = $(“#usuario_log”).val();
var password_log = $(“#password_log”).val();
var valor_periodico = $(‘#valor_periodico’).val();
// console.log(valor_periodico);
if (usuario_log.length == 0) {
continuar = false;
msg += “Es necesario rellenar el correo electrónico n”;
}
if (password_log.length == 0) {
continuar = false;
msg += “Es necesario rellenar la contraseña.n”;
}
if (continuar) {
$.ajax({
type: “POST”,
data: $(“#formulario_login”).serialize(),
xhrFields: {
withCredentials: true
},
url: `/api/login-user.php?t=` +
generarCadenaAlfanumerica(),
error: function () {
Swal.fire({
text: “No hemos podido conectar con el servidor. Vuelve a intentarlo en unos minutos.”,
icon: “error”
});
},
success: function (data) {
// console.log(data);
if ($.trim(data) == “1”) {
recargar_widgets_sesion();
$(“#modal-login .modal-action.modal-close.close-btn”).trigger(“click”);
$(“#usuario_log”).val(“”);
$(“#password_log”).val(“”);
if (window.location.href.includes(“area-usuario”)) {
// window.location.reload();
}
} else {
var respuesta =
“No hemos encontrado ningún usuario con el correo electrónico y la contraseña introducidos. Por favor, vuelve a intentarlo o recupera la contraseña pulsando el botón inferior.”;
Swal.fire({
text: respuesta,
icon: “warning”
});
}
}
});
} else {
Swal.fire({
text: msg,
icon: “warning”
});
}
}
function comprobar_user_sesion_215_articulo(es_premium) {
$.ajax({
type: “POST”,
xhrFields: {
withCredentials: true
},
url: `/api/comprobar_sesion_user.php?t=` +
generarCadenaAlfanumerica(),
success: function (data) {
console.log(“COMPROBADO SESION USUARIO ” + data);
if (data == 1) {
$(“#art-cuerpo-visible”).removeClass(“d-none”);
$(“#art-cuerpo-visible”).removeClass(“art-cuerpo-no-visible”);
$(“#art-cuerpo-visible”).addClass(“art-cuerpo-visible”);
$(“#art-cuerpo-visible-premium”).removeClass(“art-cuerpo-visible”);
$(“#art-cuerpo-visible-premium”).addClass(“d-none”);
$(“#banner-premium”).addClass(“d-none”);
} else {
// $(“#art-cuerpo-visible”).removeClass(“art-cuerpo-visible”);
// $(“#art-cuerpo-visible”).addClass(“art-cuerpo-no-visible”);
if (es_premium) {
$(“#art-cuerpo-visible”).removeClass(“d-none”);
$(“#art-cuerpo-visible”).removeClass(“art-cuerpo-no-visible”);
$(“#art-cuerpo-visible”).addClass(“d-none”);
$(“#art-cuerpo-visible-premium”).addClass(“art-cuerpo-visible”);
$(“#art-cuerpo-visible-premium”).removeClass(“d-none”);
$(“#banner-premium”).removeClass(“d-none”);
} else {
$(“#art-cuerpo-visible-premium”).removeClass(“art-cuerpo-visible”);
$(“#art-cuerpo-visible-premium”).addClass(“d-none”);
$(“#banner-premium”).addClass(“d-none”);
$(“#art-cuerpo-visible”).removeClass(“d-none”);
$(“#art-cuerpo-visible”).removeClass(“art-cuerpo-no-visible”);
$(“#art-cuerpo-visible”).addClass(“art-cuerpo-visible”);
}
}
}
});
}
function comprobar_user_sesion_215() {
$.ajax({
type: “POST”,
xhrFields: {
withCredentials: true
},
url: `/api/comprobar_sesion_user.php?t=` +
generarCadenaAlfanumerica(),
success: function (data) {
console.log(“COMPROBADO SESION USUARIO ” + data);
if (data == 1) {
$(‘.col-comparador-registro-login’).addClass(‘w-auto’)
} else {
$(‘.col-comparador-registro-login’).removeClass(‘w-auto’)
}
}
});
}
function cerrarSesion() {
$.ajax({
type: “POST”,
xhrFields: {
withCredentials: true
},
url: `/api/delete-session-user.php?t=` +
generarCadenaAlfanumerica(),
success: function (data) {
//console.log(data);
recargar_widgets_sesion();
$(“#offCanvasClose”).trigger(“click”);
if (window.location.href.includes(“area-usuario”)) {
window.location.href = ‘/’;
}
}
});
}
function registrarCuenta() {
var continuar = true;
var msg = “”;
var email_registro = $(“#email_reg”).val();
var pass_registro = $(“#password_reg”).val();
var pass_registro2 = $(“#password_reg_2”).val();
var nombre_registro = $(“#nombre_reg”).val();
var apellidos_registro = $(“#apellidos_reg”).val();
var ref_id_periodico = $(“#ref_id_periodico”).val();
if (pass_registro2 != pass_registro) {
continuar = false;
msg += “Deben coincidir ambas contraseñas. n”;
}
if (email_registro.length == 0) {
continuar = false;
msg += “Es necesario rellenar el correo electrónico. n”;
}
// if (pass_registro.length = 8) {
$.ajax({
type: “POST”,
xhrFields: {
withCredentials: true
},
data: $(‘#resetear-clave’).serialize(),
url: `/api/resetear-pass.php?t=` +
generarCadenaAlfanumerica(),
success: function (data) {
//console.log(data);
$(“#email_recuperar”).val(“”);
var respuesta = “La contraseña se ha actualizado. Ya puedes volver a Iniciar Sesión.”;
Swal.fire({
text: respuesta,
icon: “success”
}).then((result) => {
window.location.href = ‘http://www.escudodigital.com/’;
});
}
});
} else {
var respuesta = “La contraseña debe tener un mínimo de 8 caracteres.”;
Swal.fire({
text: respuesta,
icon: “warning”
});
}
} else {
var respuesta = “Ambas contraseñas deben coincidir.”;
Swal.fire({
text: respuesta,
icon: “warning”
});
}
}
$(document).ready(function () {
recargar_widgets_sesion(); //DESCOMENTAR ESTO
});
‘)
.text(msg)
.insertAfter($el);
}
function esEmailValido(email) {
return /^[^s@]+@[^s@]+.[^s@]{2,}$/.test(String(email).trim());
}
function validar() {
limpiarErrores();
let ok = true;
const $nombre = $(“#nombre”);
const $email = $(“#email”);
const $motivo = $(“#motivo”);
const $check = $(“#checkbox”);
const nombre = $nombre.val().trim();
const email = $email.val().trim();
const motivo = $motivo.val().trim();
if (nombre.length Message sent successfully.
‘);
$form[0].reset();
} else {
$(“#msgFormContacto”).html(‘Message not sent. Try again.
‘);
}
})
.fail(function (xhr) {
$(“#msgFormContacto”).html(‘Connection error. Try again.
‘);
})
.always(function () {
setLoading(false);
});
}
$btn.on(“click”, function (e) {
e.preventDefault();
e.stopPropagation(); // Stop default button behavior if any
if (!validar()) return;
// Execute reCAPTCHA
if (window.grecaptcha) {
grecaptcha.ready(function () {
grecaptcha.execute(RECAPTCHA_SITE_KEY, {
action: ‘submit’
}).then(function (token) {
submitFormWithToken(token);
});
});
} else {
// Fallback or error if grecaptcha not loaded
alert(“reCAPTCHA not loaded. Please refresh.”);
}
});
$(“#nombre,#email,#motivo,#checkbox”).on(“input change”, function () {
$(this).removeClass(“is-invalid”);
$(this).next(“.error-text”).remove();
});
});
// funcion para detectar si el primer mega top existe el primer mega lo oculte
if ($.trim($(‘.BN-MEGATOP’).html()) !== ”) {
console.log(“entra”);
// 1. Busca el container-mega inmediatamente superior a TRIPLE_SUPERIOR
$(‘.TRIPLE_SUPERIOR’).first().prevAll(‘.container-mega’).first().addClass(‘d-none’);
// 2. CORREGIDO: Busca el primer container-mega DENTRO de .wrap-LISTADO
$(‘.wrap-LISTADO’).find(‘.container-mega’).first().addClass(‘d-none’);
}