github.com/Mrs4s/MiraiGo@v0.0.0-20240226124653-54bdd873e3fe/utils/group.go (about) 1 package utils 2 3 func ToGroupUin(groupCode int64) int64 { 4 left := groupCode / 1000000 5 switch { 6 case left >= 0 && left <= 10: 7 left += 202 8 case left >= 11 && left <= 19: 9 left += 480 - 11 10 case left >= 20 && left <= 66: 11 left += 2100 - 20 12 case left >= 67 && left <= 156: 13 left += 2010 - 67 14 case left >= 157 && left <= 209: 15 left += 2147 - 157 16 case left >= 210 && left <= 309: 17 left += 4100 - 210 18 case left >= 310 && left <= 335: 19 left += 3800 - 310 20 case left >= 336 && left <= 386: 21 left += 2265 22 case left >= 387 && left <= 499: 23 left += 3490 24 } 25 return left*1000000 + groupCode%1000000 26 } 27 28 func ToGroupCode(groupUin int64) int64 { 29 left := groupUin / 1000000 30 switch { 31 case left >= 202 && left <= 212: 32 left -= 202 33 case left >= 480 && left <= 488: 34 left -= 480 - 11 35 case left >= 2100 && left <= 2146: 36 left -= 2100 - 20 37 case left >= 2010 && left <= 2099: 38 left -= 2010 - 67 39 case left >= 2147 && left <= 2199: 40 left -= 2147 - 157 41 case left >= 2600 && left <= 2651: 42 left -= 2265 43 case left >= 4100 && left <= 4199: 44 left -= 4100 - 210 45 case left >= 3800 && left <= 3989: 46 left -= 3800 - 310 47 } 48 return left*1000000 + groupUin%1000000 49 }