Ошибка типа: botGuilds.find не является функцией

#node.js #express

Вопрос:

Этот код предназначен для экспресс-сайта для моего бота discord, он нужен мне, чтобы поймать взаимные гильдии, но он выдает эту ошибку:

 TypeError: botGuilds.find is not a function
    at C:Usersnão te interessaDesktopprojetosbotbackendutilsutils.js:3:56
    at Array.filter (<anonymous>)
    at Proxy.methods.<computed> (C:Usersnão te interessaDesktopprojetosbotbackendnode_modulesmongooselibtypesarraymethodsindex.js:956:24)
    at getMutualGuilds (C:Usersnão te interessaDesktopprojetosbotbackendutilsutils.js:3:28)
    at C:Usersnão te interessaDesktopprojetosbotbackendroutesdiscord.js:11:28
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
 

который использует getMutualGuilds:

 const router = require("express").Router()
const { getBotGuilds } = require("../utils/api")
const { getMutualGuilds } = require("../utils/utils")

const User = require('../database/schemas/Users')
router.get('/guilds', async (req, res) => {
    const guilds = await getBotGuilds();
    const user = await User.findOne({ discordId: req.user.discordId });
    if (user) {
        const userGuilds = user.get('guilds');
        const mutualguilds = await getMutualGuilds(userGuilds, guilds);
        res.send(mutualguilds);
    }
});

module.exports = router
 

Получить код MUTUALGUILDS:

 function getMutualGuilds(userGuilds, botGuilds) {
    return userGuilds.filter((guild) => botGuilds.find((botGuild) => (botGuild.id === guild.id) amp;amp; (guild.permissions amp; 0x20) === 0x20))
}
    
module.exports = { getMutualGuilds }
 

Комментарии:

1. регистрируйте botGuilds содержимое и добавляйте его в Q.

2. да, в нем отсутствует код ботГилдов…добавьте, пожалуйста

Ответ №1:

код ботГилдов:

 const fetch = require("node-fetch")
const TOKEN = "token of my bot";

async function getBotGuilds() {
    const response = await fetch('http://discord.com/api/v8/users/@me/guilds', {
        method: 'GET',
        headers:{
            Authorization: `Bot ${TOKEN}`
        }
    })
    return response.json()
}

module.exports = { getBotGuilds }