from urllib.parse import urlparse from curl_cffi import requests from loguru import logger session = requests.Session() def connect_dc(dc_auth_token, authUrl): # 1.初始化dc参数 # TODO query = urlparse(authUrl).query url = "https://discord.com/api/v9/oauth2/authorize?" + str(query) headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36', 'Content-Type': 'application/json', 'sec-ch-ua-platform': '"macOS"', 'authorization': dc_auth_token, 'x-debug-options': 'bugReporterEnabled', 'sec-ch-ua': '"Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133"', 'sec-ch-ua-mobile': '?0', 'x-discord-timezone': 'Asia/Shanghai', 'x-super-properties': 'eyJvcyI6Ik1hYyBPUyBYIiwiYnJvd3NlciI6IkNocm9tZSIsImRldmljZSI6IiIsInN5c3RlbV9sb2NhbGUiOiJ6aC1DTiIsImhhc19jbGllbnRfbW9kcyI6ZmFsc2UsImJyb3dzZXJfdXNlcl9hZ2VudCI6Ik1vemlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzE1XzcpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMzMuMC4wLjAgU2FmYXJpLzUzNy4zNiIsImJyb3dzZXJfdmVyc2lvbiI6IjEzMy4wLjAuMCIsIm9zX3ZlcnNpb24iOiIxMC4xNS43IiwicmVmZXJyZXIiOiJodHRwczovL2Rpc2NvcmQuY29tLz9kaXNjb3JkdG9rZW49TVRNeE5UazFPRFUzTXpZM05EWTJNemsxTncuR0NSQldfLllhQXRaMi0zU3VqMHJTZ2VYWHJ4eU5oTlRFalJPX1VKdWRJRmRzIiwicmVmZXJyaW5nX2RvbWFpbiI6ImRpc2NvcmQuY29tIiwicmVmZXJyZXJfY3VycmVudCI6Imh0dHBzOi8vd3d3LmFicy54eXovIiwicmVmZXJyaW5nX2RvbWFpbl9jdXJyZW50Ijoid3d3LmFicy54eXoiLCJyZWxlYXNlX2NoYW5uZWwiOiJzdGFibGUiLCJjbGllbnRfYnVpbGRfbnVtYmVyIjozNjkxOTUsImNsaWVudF9ldmVudF9zb3VyY2UiOm51bGx9', 'x-discord-locale': 'zh-CN', 'origin': 'https://discord.com', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'referer': 'https://discord.com/oauth2/authorize?response_type=code&client_id=1301224774013554708&redirect_uri=https%3A%2F%2Fbackend.portal.abs.xyz%2Fapi%2Fsocial%2Fdiscord%2Fcallback&scope=identify+guilds+guilds.members.read&state=yRdVRTai71NWTwtu8Wj7JXAE37F7qyUNijngr4WtPm1P0HizW2UbiW7FPougN29CfViUUDPJbXhyqiMPyx9U5Ej6cr8nOR8MtpXN7CWYrGX1h74OCaVdWzSdIWA5L9vQfp2J4suaYZhVLBReaNx2ImHsYd2qR2nP2Uxcndmrw1Z3NRKWSir2ky3tv527tW0IFHpZxxSW6BsfYBM7blMgDfXvub0YMT6OMFx5h1x2MG8hKBBuVuIwiU1VCFRLh742%3A0x360D42daA8C381bCe7c3Fa88f5c8Cf9f4812591F%3A0', 'accept-language': 'zh-CN,zh;q=0.9', 'priority': 'u=1, i', } json_data = { 'guild_id': '1248792620067721256', 'permissions': '0', 'authorize': True, 'integration_type': 0, 'location_context': { 'guild_id': '10000', 'channel_id': '10000', 'channel_type': 10000, }, } response = session.post( url, headers=headers, json=json_data, ) logger.info(response.text) location_url = response.json()['location'] # 项目方 回调 # TODO res = session.get(location_url) if res.status_code == 200: return True if __name__ == '__main__': connect_dc(dc_auth_token="MTI4MjkzNzM2NjY5NjQyNzU5Mg.GB6HnN.AQjNUaBFOfYOaOUF6ZCf7muu53-vBRQ31KyIgE")