structures/bot/Loader.js
/**
   * UNLOAD EVENT
   *
   * Used to simplify unloads events from multiple locations
   * @param {String} evtPath
   * @param {String} evtName
   */
UNLOAD EVENT
Used to simplify unloads events from multiple locations
@param {String} evtPath
@param {String} evtName
UNLOAD EVENT Used to simplify unloads events from multiple locations @param { String } evtPath @param { String } evtName
async unloadEvent(evtPath, evtName) {
    let event;
    if (this.client.events.has(evtName)) {
      event = this.client.events.get(evtName);
    } else {
      return `The event '${evtName}' doesn't exist`;
    }
    if (event.shutdown) await event.shutdown(this.client);
    this.client.removeAllListeners(evtName);
    this.client.ws.removeAllListeners(evtName);
    this.client.events.delete(evtName);
    delete require.cache[require.resolve(path.resolve(evtPath, event.conf.fileName))];
    return false;
  }
async unloadEvent ( evtPath , evtName ) { let event ; if ( this . client . events . has ( evtName ) ) { event = this . client . events . get ( evtName ) ; } else { return ` ${ evtName } ` ; } if ( event . shutdown ) await event . shutdown ( this . client ) ; this . client . removeAllListeners ( evtName ) ; this . client . ws . removeAllListeners ( evtName ) ; this . client . events . delete ( evtName ) ; delete require . cache [ require . resolve ( path . resolve ( evtPath , event . conf . fileName ) ) ] ; return false ; }
UNLOAD EVENT
 Used to simplify unloads events from multiple locations
 @param {String} evtPath
 @param {String} evtName
UNLOAD EVENT Used to simplify unloads events from multiple locations @param { String } evtPath @param { String } evtName