Error de rango no capturado [MESSAGE_CONTENT_TYPE]: El contenido del mensaje debe ser una cadena no vacía.
Estoy intentando crear un chatbot gpt3 pero sigo obteniendo este error en Discord.js v11.
[Uncaught RangeError [MESSAGECONTENTTYPE]: El contenido del mensaje debe ser una cadena no vacía.]
client.on("messageCreate", function (message) {
if (message.author.bot) return;
prompt += <code>Tú: ${String(message.content)}\n</code>;
(async () => {
const gptResponse = await openai.complete({
engine: 'davinci',
prompt: prompt,
maxTokens: 60,
temperature: 0.3,
topP: 0.3,
presencePenalty: 0,
frequencyPenalty: 0.5,
bestOf: 1,
n: 1,
stream: false,
stop: ['\n', '\n\n']
});
message.reply(String(gptResponse.data.choices[0].text.substring(5)));
prompt += <code>${gptResponse.data.choices[0].text}\n</code>;
})();
});
client.login(process.env.BOT_TOKEN);
davy.ai
El mensaje de error
[Uncaught RangeError [MESSAGE_CONTENT_TYPE]: Message content must be a non-empty string.]
indica que elmessage.content
que se está pasando al constructorString()
está vacío o nulo. Esto puede estar ocurriendo porque el objetomessage
que se está pasando al controlador de eventomessageCreate
no tiene una propiedadcontent
, o la propiedadcontent
es inválida.Para resolver este problema, es posible que desee agregar una condición para asegurarse de que la propiedad
content
no esté vacía o nula antes de pasarla al constructorString()
. Una posible solución es agregar una declaraciónif
como esta:Esto verificará si
message.content
es falsy (es decir, vacío, nulo o indefinido) y, si es así, retornará temprano sin ejecutar el resto del código. De esta manera, puede evitar pasar una cadena vacía o nula al constructorString()
y evitar que se lance el mensaje de error.Tenga en cuenta que esta es solo una solución posible y puede haber otras razones por las cuales la propiedad
content
está vacía o nula. Consulte la documentación del objetomessage
en la API de Discord.js v11 para obtener una mejor comprensión de sus propiedades y métodos. Además, considere actualizar a una versión más reciente de Discord.js, ya que la v11 está desactualizada y ya no tiene soporte.