Bueno, ya tenemos una tómbola que reparte números únicos para un sorteo determinado.
Tiene pedillos pero esta fue la mejor implementación que pude sin complicarnos tanto UwU
Simplemente ponen la función tómbola (4, 8, 16) y el nombre de su sorteo en el campo de asunto/subject, si OP no participa pos nomas sugiere lo que se va poner en el asunto y de cuántas bolitas es la tómbola.
Funciona más o menos así:
Se triggerea con #tombola en el campo de email
Usamos el campo de asunto/subject para nuestro sorteo, si está vacío lo pide ahuevo
Crea un registro con ese nombre que le dimos
Genera un numero random entre 1 y la cantidad de bolitas de la tómbola (4, 8, 16)
Lurkea en el registro si ya está ese número
Si no está, pos lo postea y lo agrega al array
Si está, primero checa si todavía se puede
Si no se puede, te manda a la verga
Si se puede, pos toma el array, digamos [3,4,1] y lo ordena [1,3,4] y compara contra uno lleno [1, $max_bolitas]
Tons ve que falta el 2 y lo postea y lo mete al array
Y ya!
Pedos que tiene:
>Se puede tirar tómbola de cualquier valor en cualquier sorteo hasta agotar sus posibilidades (16)<Para eso imprimimos mientras cuántas bolas y en qué sorteo fue, así los usuarios se dan cuenta, pero igual hay que ver cómo mejorarlo>Usamos reset, in_array y el siempre confiable $i++ para topar el primer número ausente<Se siente random mientras ningún negro se ponga a joder con tómbolas de 16 en un sorteo de 4 :T>Maneja los errores con la propia función de vichan para desplegar las ventanitas y eso<Pos ta bien, no? Nos ahorramos el javascript del diablo y las llamadas a la DB, okno igual se necesita algo mejor después de tanto else lel>No es posible repetir sorteos, el registro necesita algo como Asunto + que jale internamente el número de post y así pueda haber un Sorteo124666 y luego otro Sorteo126999 pero que para el usuario se vea como nada mas "Sorteo"<Eso implica usar la DB Y ME INTIMIDA USAR MYSQL PORQUE HAY QUE GRITAR TODOS LOS COMANDOS Y ME DA MIEDO CAER EN EL MEME DEL DELETE SIN WHEREOpiniones?
Sorteo «TEST» de 16 bolitas, salió : 5