code: public static boolean checkPermission(Channel channel, Member member, Permission... permissions)
      {
          Checks.notNull(channel, "Channel");
          Checks.notNull(member, "Member");
          Checks.notNull(permissions, "Permissions");
  
          GuildImpl guild = (GuildImpl) channel.getGuild();
          checkGuild(guild, member.getGuild(), "Member");
  
          long effectivePerms = getEffectivePermission(channel, member);
          return isApplied(effectivePerms, Permission.getRaw(permissions));
      }
docs: Checks to see if the {@link net.dv8tion.jda.core.entities.Member Member} has the specified {@link net.dv8tion.jda.core.Permission Permissions}
  in the specified {@link net.dv8tion.jda.core.entities.Channel Channel}. This method properly deals with
  {@link net.dv8tion.jda.core.entities.PermissionOverride PermissionOverrides} and Owner status.
  
  <p><b>Note:</b> this is based on effective permissions, not literal permissions. If a member has permissions that would
  enable them to do something without the literal permission to do it, this will still return true.
  <br>Example: If a member has the {@link net.dv8tion.jda.core.Permission#ADMINISTRATOR} permission, they will be able to
  {@link net.dv8tion.jda.core.Permission#MESSAGE_WRITE} in every channel.
  
  @param  member
  The {@link net.dv8tion.jda.core.entities.Member Member} whose permissions are being checked.
  @param  channel
  The {@link net.dv8tion.jda.core.entities.Channel Channel} being checked.
  @param  permissions
  The {@link net.dv8tion.jda.core.Permission Permissions} being checked for.
  
  @throws IllegalArgumentException
  if any of the provided parameters is {@code null}
  or the provided entities are not from the same guild
  
  @return True -
  if the {@link net.dv8tion.jda.core.entities.Member Member} effectively has the specified {@link net.dv8tion.jda.core.Permission Permissions}.