Closed AureliusGemini closed 6 months ago
nvm, i asked co-pilot and it worked
const profiles = [ { token: "account_mid_v2=123xyzabcd_hi; account_id_v2=26XXXXX20; ltoken_v2=v2_CANARIAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX3406; ltmid_v2=123xyzabcd_hi; ltuid_v2=26XXXXX20;", genshin: true, honkai_star_rail: true, honkai_3: false, accountName: "HuTao" } ]; const discord_notify = true const myDiscordID = "240000800000300040" const discordWebhooks = [ "https://discord.com/api/webhooks/10xxxxxxxxxxxxxxx60/6aXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXnB", "https://discord.com/api/webhooks/1050000000000000060/6aXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXnB" ]; /** The above is the config. Please refer to the instructions on https://github.com/canaria3406/hoyolab-auto-sign for configuration. **/ /** The following is the script code has been modified to be in 2 webhooks of 2 diffrent servers. Modified by @AureliusGemini . **/ const urlDict = { Genshin: 'https://sg-hk4e-api.hoyolab.com/event/sol/sign?lang=en-us&act_id=e202102251931481', Star_Rail: 'https://sg-public-api.hoyolab.com/event/luna/os/sign?lang=en-us&act_id=e202303301540311', Honkai_3: 'https://sg-public-api.hoyolab.com/event/mani/sign?lang=en-us&act_id=e202110291205111' }; async function main() { const messages = await Promise.all(profiles.map(autoSignFunction)); const hoyolabResp = `${messages.join('\n\n')}`; if (discord_notify && discordWebhooks.length > 0){ postWebhooks(hoyolabResp); } } function discordPing() { return myDiscordID ? `<@${myDiscordID}> ` : ''; } function autoSignFunction({ token, genshin, honkai_star_rail, honkai_3, accountName }) { const urls = []; if (genshin) urls.push(urlDict.Genshin); if (honkai_star_rail) urls.push(urlDict.Star_Rail); if (honkai_3) urls.push(urlDict.Honkai_3); const header = { Cookie: token, 'Accept': 'application/json, text/plain, */*', 'Accept-Encoding': 'gzip, deflate, br', 'Connection': 'keep-alive', 'x-rpc-app_version': '2.34.1', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36', 'x-rpc-client_type': '4', 'Referer': 'https://act.hoyolab.com/', 'Origin': 'https://act.hoyolab.com' }; const options = { method: 'POST', headers: header, muteHttpExceptions: true, }; let response = `Check-in completed for ${accountName}`; const httpResponses = UrlFetchApp.fetchAll(urls.map(url => ({ url, ...options }))); for (const [i, hoyolabResponse] of httpResponses.entries()) { const responseJson = JSON.parse(hoyolabResponse) const checkInResult = responseJson.message; const gameName = Object.keys(urlDict).find(key => urlDict[key] === urls[i])?.replace(/_/g, ' '); const isError = checkInResult != "OK"; const bannedCheck = responseJson.data?.gt_result?.is_risk; if (bannedCheck) { response += `\n${gameName}: ${discordPing()} Auto check-in failed due to CAPTCHA blocking.`; } else { response += `\n${gameName}: ${isError ? discordPing() : ""}${checkInResult}`; } }; return response; } function postWebhook(data) { let payload = JSON.stringify({ 'username': 'auto-sign', 'avatar_url': 'https://i.imgur.com/LI1D4hP.png', 'content': data }); const options = { method: 'POST', contentType: 'application/json', payload: payload, muteHttpExceptions: true }; UrlFetchApp.fetch(discordWebhook, options); }
now all i need is a dynamic avatar, seems like its not possible
nvm, i asked co-pilot and it worked