package third import ( "fmt" jsoniter "github.com/json-iterator/go" mhayaHttp "github.com/mhaya/extend/http" "github.com/mhaya/game/game_cluster/internal/data" mhayaLogger "github.com/mhaya/logger" ) type GetIfChannelResp struct { //Result struct { // Status string `json:"status"` //} `json:"result"` Ok bool `json:"ok"` Result map[string]interface{} `json:"result"` } // 判断是否是VIP func GetIfPremium(openid int64) int32 { ret := data.SdkConfig.Get(2) params := map[string]string{} rs, _, err := mhayaHttp.GET(fmt.Sprintf("%vbot%v/getChatMember?chat_id=%v&user_id=%v", ret.Params.AppUrl, ret.Params.BotToken, ret.Params.ChatIDName, openid), params) if err != nil { mhayaLogger.Error("third.GetIfChannel 验证频道失败 url = %v, bottoken = %v, ChatIDName = %v, userID = %v", ret.Params.AppUrl, ret.Params.BotToken, ret.Params.ChatIDName, openid, err.Error()) return 0 } var resp GetIfChannelResp err = jsoniter.Unmarshal(rs, &resp) if err != nil { mhayaLogger.Error("third.GetIfChannel 验证频道失败 url = %v, bottoken = %v, ChatIDName = %v, userID = %v", ret.Params.AppUrl, ret.Params.BotToken, ret.Params.ChatIDName, openid, err.Error()) return 0 } if !resp.Ok { mhayaLogger.Error("third.GetIfChannel 验证频道失败 url = %v, bottoken = %v, ChatIDName = %v, userID = %v", ret.Params.AppUrl, ret.Params.BotToken, ret.Params.ChatIDName, openid, resp.Result["description"]) return 0 } isPremium, ok := resp.Result["is_premium"].(bool) if !ok { mhayaLogger.Infof("Warning: 'is_premium' field not found in member info") return 0 } if isPremium { return 1 } return 0 } // 判断用户是否是成员 func GetIfChannel(openid int64) int32 { ret := data.SdkConfig.Get(2) params := map[string]string{} rs, _, err := mhayaHttp.GET(fmt.Sprintf("%vbot%v/getChatMember?chat_id=%v&user_id=%v", ret.Params.AppUrl, ret.Params.BotToken, ret.Params.ChatIDName, openid), params) if err != nil { mhayaLogger.Error("third.GetIfChannel 验证频道失败 url = %v, bottoken = %v, ChatIDName = %v, userID = %v", ret.Params.AppUrl, ret.Params.BotToken, ret.Params.ChatIDName, openid, err.Error()) return 0 } var resp GetIfChannelResp err = jsoniter.Unmarshal(rs, &resp) if err != nil { mhayaLogger.Error("third.GetIfChannel 验证频道失败 url = %v, bottoken = %v, ChatIDName = %v, userID = %v", ret.Params.AppUrl, ret.Params.BotToken, ret.Params.ChatIDName, openid, err.Error()) return 0 } isMember, ok := resp.Result["member"].(bool) if !ok { mhayaLogger.Infof("Warning: 'is_premium' field not found in member info") return 0 } if isMember { return 1 } return 0 }