Tengo algunos problemas con mi bot de Discord y realmente me vendría bien un poco de ayuda.
Actualmente, mi bot ejecuta este fragmento de código y funciona perfectamente la mayor parte del tiempo:
if (message.member.roles.cache.has('917521104908742736')) //muted role { return message.delete(); }Sin embargo, de vez en cuando, el bot se bloquea aleatoriamente y muestra el siguiente error:
TypeError: Cannot read property 'roles' of nullYa no sé qué hacer, y lo que es peor, el programa falla aleatoriamente, por lo que no sé exactamente qué causa el error. ¿Usted me podría ayudar por favor?
El objeto del mensaje no parece tener la propiedad de miembro (tal vez porque el mensaje se envió en DM), intente agregar la marca de interrogación para el encadenamiento opcional :
if(message.member?.roles.cache.has('917521104908742736')) { return message.delete(); }Tal vez deberías probar esto
if (message.member.roles.cache.some(role => role.id === 'RoleId')) { return message.delete(); }El bot simplemente recibe DM. Verifique si es un DM y regrese temprano si es:
if (!message.guild) return;