DM中的AwaitMessages?

时间:2020-07-21 22:08:36

标签: javascript discord.js

我想在DM中等待消息!

但是它是如何工作的?


import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;

@ManagedBean()
@SessionScoped
public class producto {

    public String codigo = "";
    public String nombre = "";
    public String precio = "";
    public String mensaje = "";
    public float prom = 0;
    EntityManagerFactory factory = Persistence.createEntityManagerFactory("lab_CRUD_PFPU");
    EntityManager em1 = factory.createEntityManager();

    public producto() {
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getPrecio() {
        return precio;
    }

    public void setPrecio(String precio) {
        this.precio = precio;
    }

    public String getMensaje() {
        return mensaje;
    }

    public void setMensaje(String mensaje) {
        this.mensaje = mensaje;
    }

    public void insertar() {
        String sql = "insert into producto (codigo,nombre, precio) values ('" + codigo + "'" + "," + "'" + nombre + "'" + "," + precio + ")";
        em1.getTransaction().begin();
        Query qe = em1.createNativeQuery(sql);
        try {
            qe.executeUpdate();
            em1.getTransaction().commit();
            //mensaje = "Se insertó satisfactoriamente";
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Se insertó satisfactoriamente", "Se insertó satisfactoriamente"));

        } catch (Exception ex) {
            em1.getTransaction().rollback();
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "No se insertó satisfactoriamente", "Se insertó satisfactoriamente"));
        }

    }

    public void eliminar() {
        String sql = "delete from producto where codigo='" + codigo + "'";
        em1.getTransaction().begin();
        Query qe = em1.createNativeQuery(sql);

        int li_filas = qe.executeUpdate();
        if (li_filas >= 1) {
            em1.getTransaction().commit();
            //mensaje = "Se eliminó satisfactoriamente";
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Se eliminó satisfactoriamente", "Se insertó satisfactoriamente"));

        } else {
            em1.getTransaction().rollback();
            //mensaje = "No se pudo eliminar";
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "No se pudo eliminar", "Se insertó satisfactoriamente"));
        }
    }

    public void modificar() {
        String sql = "update producto set nombre='" + nombre + "', precio=" + precio + " where codigo='" + codigo + "'";
        //String sql = "update vehiculo set marca='" + marca + "' where placa='" + placa + "'";
        em1.getTransaction().begin();
        Query qe = em1.createNativeQuery(sql);

        int li_filas = qe.executeUpdate();
        if (li_filas >= 1) {
            em1.getTransaction().commit();
            //mensaje = "Se actualizó satisfactoriamente";
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Se modificó satisfactoriamente", "Se insertó satisfactoriamente"));

        } else {
            em1.getTransaction().rollback();
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "No se pudo modificar", "Se insertó satisfactoriamente"));
        }

    }

    public void buscar() {
        String sql = "select * from producto where codigo=" + "'" + codigo + "'";
        Query qe = em1.createNativeQuery(sql);
        List l1 = qe.getResultList();
        if (l1.size() >= 1) {
            Object[] ar_objeto = (Object[]) (l1.get(0));
            String ls_nombre = ar_objeto[1].toString();
            String ls_precio = ar_objeto[2].toString();
            nombre = ls_nombre;
            precio = ls_precio;
            mensaje = "";
        } else {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "No se pudo buscar el producto", "Se insertó satisfactoriamente"));
        }

    }

    public void promedio() {
        String sql = "SELECT AVG(precio) from producto";
        Query qe = em1.createNativeQuery(sql);
        String aa = String.valueOf(qe.getSingleResult());
        mensaje = " Promedio: " + aa;
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, mensaje, "Se insertó satisfactoriamente"));
    }
}```


1 个答案:

答案 0 :(得分:0)

TextChannel中的工作方式几乎相同,

在您的选项中,您还需要设置属性错误并将时间定义为错误。

//msg.author.dmChannel doesn't always exist and if it doesn't it will throw an error 
//so call <User>.createDM() first if you don't know it exists yet
msg.author.dmChannel.awaitMessages({ max: 1, time: 10000, errors: ["time"] })
    .then(async collected => {
    })
    .catch(() => {});

https://discord.js.org/#/docs/main/stable/class/DMChannel?scrollTo=awaitMessages