constants.mjs
1 export const ENDLESS = "ENDLESS" 2 export const COUNTDOWN = "COUNTDOWN" 3 4 export const DEFAULT_CONFIG = (bitsEnabled) => ({ 5 viewer_points: 333, 6 follower_points: 555, 7 subscriber_points: 777, 8 session_mode: ENDLESS, 9 session_length: 100, 10 exclude_viewers: 0, 11 exclude_followers: 0, 12 enabled_submission_multipliers: bitsEnabled ? ["004","016","024","072","108","240"] : [], 13 enabled_upvote_multipliers: bitsEnabled ? ["004","016","024","072","108","240"] : [], 14 suspended: [] 15 }) 16 17 export const AUTH = "AUTH" 18 export const SUBSCRIBE = "SUBSCRIBE" 19 export const OPEN = "OPEN" 20 export const CLOSE = "CLOSE" 21 export const CHECK = "CHECK" 22 export const CONFIG = "CONFIG" 23 export const GET_QUESTIONS = "GET_QUESTIONS" 24 export const GET_UPVOTES = "GET_UPVOTES" 25 export const GET_NEW = "GET_NEW" 26 export const RANK = "RANK" 27 export const STATS = "STATS" 28 export const SUBMIT = "SUBMIT" 29 export const UPVOTE = "UPVOTE" 30 export const PURCHASE = "PURCHASE" 31 export const PASS = "PASS" 32 export const RATING = "RATING" 33 export const REVEAL = "REVEAL" 34 export const FLAG = "FLAG" 35 export const LOCK = "LOCK" 36 export const UNLOCK = "UNLOCK" 37 export const ATTEND = "ATTEND" 38 export const LEAVE = "LEAVE" 39 export const PEEK = "PEEK" 40 export const SUSPEND = "SUSPEND" 41 export const AVG_VIEWERS = "AVG_VIEWERS" 42 43 export const MULTI_001 = "001" 44 export const MULTI_004 = "004" 45 export const MULTI_016 = "016" 46 export const MULTI_024 = "024" 47 export const MULTI_072 = "072" 48 export const MULTI_108 = "108" 49 export const MULTI_240 = "240" 50 51 export const ALL_MULTI = [ 52 MULTI_001, MULTI_004, MULTI_016, 53 MULTI_024, MULTI_072, MULTI_108, 54 MULTI_240 55 ] 56 export const PAID_MULTI = [ 57 MULTI_004, MULTI_016, MULTI_024, 58 MULTI_072, MULTI_108, MULTI_240 59 ] 60 61 62 export const PRODUCT_TOP10_REVEAL = "TOP10_REVEAL" 63 export const PRODUCT_TOP10_UPVOTES = "TOP10_UPVOTES" 64 export const PRODUCT_OWN_UPVOTES = "OWN_UPVOTES" 65 66 export const PRODUCT_UPVOTE_004 = "UPVOTE_004" 67 export const PRODUCT_UPVOTE_016 = "UPVOTE_016" 68 export const PRODUCT_UPVOTE_024 = "UPVOTE_024" 69 export const PRODUCT_UPVOTE_072 = "UPVOTE_072" 70 export const PRODUCT_UPVOTE_108 = "UPVOTE_108" 71 export const PRODUCT_UPVOTE_240 = "UPVOTE_240" 72 73 export const PRODUCT_SUBMIT_004 = "SUBMIT_004" 74 export const PRODUCT_SUBMIT_016 = "SUBMIT_016" 75 export const PRODUCT_SUBMIT_024 = "SUBMIT_024" 76 export const PRODUCT_SUBMIT_072 = "SUBMIT_072" 77 export const PRODUCT_SUBMIT_108 = "SUBMIT_108" 78 export const PRODUCT_SUBMIT_240 = "SUBMIT_240" 79 80 export const UPVOTE_PRODUCTS = new Map([ 81 [MULTI_004, PRODUCT_UPVOTE_004], 82 [MULTI_016, PRODUCT_UPVOTE_016], 83 [MULTI_024, PRODUCT_UPVOTE_024], 84 [MULTI_072, PRODUCT_UPVOTE_072], 85 [MULTI_108, PRODUCT_UPVOTE_108], 86 [MULTI_240, PRODUCT_UPVOTE_240], 87 ]) 88 89 export const SUBMIT_PRODUCTS = new Map([ 90 [MULTI_004, PRODUCT_SUBMIT_004], 91 [MULTI_016, PRODUCT_SUBMIT_016], 92 [MULTI_024, PRODUCT_SUBMIT_024], 93 [MULTI_072, PRODUCT_SUBMIT_072], 94 [MULTI_108, PRODUCT_SUBMIT_108], 95 [MULTI_240, PRODUCT_SUBMIT_240], 96 ]) 97 98 export const SUSPENSION_FLAG_THRESHOLD = 0.75 99 export const RANKING_BROADCAST_INTERVAL = 60e3 // 60 seconds 100 101 export const CLIENT_VIEWER_TYPE_VIEWER = "viewer" 102 export const CLIENT_VIEWER_TYPE_FOLLOWER = "follower" 103 export const CLIENT_VIEWER_TYPE_SUBSCRIBER = "subscriber" 104 105 export const CLIENT_ROLE_VIEWER = "viewer" 106 export const CLIENT_ROLE_BROADCASTER = "broadcaster" 107 export const CLIENT_ROLE_MODERATOR = "moderator" 108 109 export const FLAG_VALUES = new Map([ 110 [CLIENT_VIEWER_TYPE_VIEWER, 1], 111 [CLIENT_VIEWER_TYPE_FOLLOWER, 2], 112 [CLIENT_VIEWER_TYPE_SUBSCRIBER, 3], 113 [CLIENT_ROLE_MODERATOR, 10], 114 [CLIENT_ROLE_BROADCASTER, 100], 115 ]) 116 117 export const MULTI_PRICES = new Map([ 118 [MULTI_004, 25], 119 [MULTI_016, 84], 120 [MULTI_024, 192], 121 [MULTI_072, 696], 122 [MULTI_108, 1097], 123 [MULTI_240, 2662] 124 ])