diff --git a/server.js b/server.js index b662b60..a6f1341 100644 --- a/server.js +++ b/server.js @@ -469,4 +469,17 @@ chain.startIndexer(evt=>{ } } }catch(e){console.error('auto-direct error',e.message)} + // Queue level sync: when a queue member upgrades on-chain, their Level in the + // rotation queue follows automatically (same op as the admin level dropdown). + try{ + if(evt.type==='upgraded'&&evt.id!=null){ + const sponsors=getSponsors(); + const idx=sponsors.findIndex(x=>String(x.id)===String(evt.id)); + if(idx>=0&&LEVELS.includes(evt.levelName)&&sponsors[idx].level!==evt.levelName){ + sponsors[idx].level=evt.levelName; + saveSponsors(sponsors); + sendTelegram(`🤖 AUTO-LEVEL: queue sponsor #${sponsors[idx].id}${sponsors[idx].name?` (${sponsors[idx].name})`:''} upgraded on-chain — queue level updated to ${evt.levelName}.`); + } + } + }catch(e){console.error('auto-level error',e.message)} });