QBot/services/qqapi.js

39 lines
940 B
JavaScript
Raw Normal View History

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,
};