#Como puedo hacer que el bot YAGPDB borre sus mensajes cada cierto tiempo?
1 messages · Page 1 of 1 (latest)
Muestra tu código
No es código es un bot verificado
¿Necesitas el código?
Tengo uno aquí que sirve para comandos
YAGPDB trabaja con códigos (CCS custom commands), no pregunté por el supuesto bot del que sacas conclusión.
@gritty hollow
Yo entendí que se refiere a que el bot elimine sus propios mensajes luego de un tiempo determinado, no de otros usuarios
Usuario envia palabra -> Bot envia respuesta -> Pasa tiempo X -> Bot elimina solo su respuesta
Yo entendi que el staff realiza el llamado del bot, por ende se elimina el mensaje junto con el ping
igual se puede... aunque no imagino para que llamarian al bot los usuarios.
Bueno, ya que no respondiste. No puedo dar por hecho exactamente qué tienes por código, pero intentaré ayudar. La manera de hacerlo cambia dependiendo de cómo tengas tu código.
Primer ejemplo
Para eliminar una respuesta simple del bot, después de 1 minuto, utiliza deleteResponse [delay].
{{if Condición}}
Esto es un mensaje enviado por el bot, es simple y directo.
{{deleteResponse 60}}
{{end}}
El argumento debe ser en segundos (60 = 1 min). Máximo se puede aumentar hasta 1 día (en segundos). Si no hay un argumento por default se elimina después de 10s.
Segundo ejemplo
Si estás enviando con el bot un mensaje más avanzado (complexMessage) o es un mensaje embed, necesitarás la ID de ese mensaje para luego eliminarla.
- Obtienes el ID del mensaje con sendMessageRetID.
- Luego, almacenas esa ID en una variable creada, por ejemp $id.
- Después, eliminas ese mensaje con deleteMessage <channelID> <messageID> [delay] SOLO APLICA para los tipos de mensaje que especifiqué, no para eliminar mensaje comunes.
Si tienes algo como lo siguiente y quieres eliminar su respuesta después de 1 min sería algo como:
{{if Condición}}
{{$embed := sdict}}
{{$embed.Set "Description" "Esto es un mensaje enviado por el bot"}}
{{$id := sendMessageRetID nil (cembed $embed)}}
{{deleteMessage nil $id 60}}
{{end}}
El argumento debe ser en segundos (60 = 1 min). Máximo se puede aumentar hasta 1 día (en segundos), si no hay un argumento por default se elimina después de 10s.
Conclusión
Si es un mensaje de respuesta "simple", se utiliza deleteResponse, si el mensaje de respuesta es un embed por ejemp, etc. se utiliza obligatoriamente deleteMessage.
Más información y ejemplos en la documentación.
Lo complicarte un poco la explicación. Ya esto está un poco avanzando