archivo principal
const args = message.content.slice(prefix.length).trim().split(/ +/); const stringSimilarity = require("string-similarity"); const pokemons = require('../../arrays/pokemons.js') const poss = stringSimilarity.findBestMatch(args, pokemons) console.log(poss.bestMatch.target)archivo de matrices
exports.pokemons = [ example1, example2, example3, etc... ] Estoy tratando de obtener el nombre más cercano para el pokemon que ingresa el usuario, pero aparece este error Error: Bad arguments: First argument should be a string, second should be an array of strings y estoy bastante seguro de que hice los argumentos correctamente
Hay dos problemas aquí.
La primera es que está exportando el archivo de matriz como un objeto. Esto es lo que realmente es pokemons , ya que lo estableces como exports.pokemons :
{ pokemons: [ example1, example2 ] }Puedes desestructurarlo:
const { pokemons } = require('../../arrays/pokemons.js') Y el segundo problema es que está pasando la matriz de argumentos. Probablemente solo quieras el primer argumento. Recuerde que las matrices están indexadas en 0 y usted las hizo comenzar con el comando, por lo que debe obtener el índice 1 para el primer argumento.
const poss = stringSimilarity.findBestMatch(args[1], pokemons)Como el error decía que findBestMatch se define donde el primer elemento es una string , pero los args seguramente son una matriz. Vuelva a comprobar los findBestMatch .