const axios = require('../utils/request'); const logger = require('../utils/logger'); const APPID = process.env.BOT_APPID; const CLIENT_SECRET = process.env.BOT_CLIENT_SECRET; let accessToken = ''; let expireAt = 0; async function getAccessToken() { const now = Date.now() / 1000; if (accessToken && expireAt - now > 60) { return accessToken; } const url = 'https://bots.qq.com/app/getAppAccessToken'; const res = await axios.post(url, { appId: APPID, clientSecret: CLIENT_SECRET }); accessToken = res.data.access_token; expireAt = now + parseInt(res.data.expires_in, 10); logger.info('获取access_token成功'); return accessToken; } async function getGuildList() { const token = await getAccessToken(); const res = await axios.get('/users/@me/guilds', { headers: { Authorization: `QQBot ${token}` } }); return res.data; } module.exports = { getAccessToken, getGuildList, };