diff --git a/src/services/oauth.svr.ts b/src/services/oauth.svr.ts index 175b5a0..d023813 100644 --- a/src/services/oauth.svr.ts +++ b/src/services/oauth.svr.ts @@ -3,6 +3,7 @@ import { handleFetch, timeoutFetch } from 'zutils/utils/net.util' import { AuthRecord, PlatEnum } from 'models/oauth/AuthRecord' import { ZError, ZRedisClient } from 'zutils' import { getAvableAccessToken, userGuildMember } from './discord.svr' +import { logger } from 'ethers' const SECRET_KEY = process.env.HASH_SALT const DEFAULT_TIMEOUT = 30000 @@ -83,12 +84,17 @@ export async function checkDiscordRole(address: string, gid: string, rid: string console.error(e) } } - let accessToken = await getAvableAccessToken(record) - let data = await userGuildMember(accessToken, gid) - roleSet = new Set(data.roles) - let result = roleSet.has(rid) - new ZRedisClient().pub.set(key, JSON.stringify([...roleSet]), 'EX', 300, () => { - console.log('cache set success: ', key) - }) - return { data: { result }, errcode: 0, errmsg: '' } + try { + let accessToken = await getAvableAccessToken(record) + let data = await userGuildMember(accessToken, gid) + roleSet = new Set(data.roles) + let result = roleSet.has(rid) + new ZRedisClient().pub.set(key, JSON.stringify([...roleSet]), 'EX', 300, () => { + console.log('cache set success: ', key) + }) + return { data: { result }, errcode: 0, errmsg: '' } + } catch (err) { + logger.info('checkDiscordRole', err) + return { data: { result: false }, errcode: 14, errmsg: 'had no role' } + } }