feat: 添加steam上线速报
This commit is contained in:
67
handler/steamplaying/model.go
Normal file
67
handler/steamplaying/model.go
Normal file
@@ -0,0 +1,67 @@
|
||||
package steamplaying
|
||||
|
||||
type SteamUser struct {
|
||||
ID int64 `json:"id" db:"id"`
|
||||
QQID int64 `json:"qqid" db:"qqid"`
|
||||
SteamID string `json:"steamid" db:"steamid"`
|
||||
}
|
||||
|
||||
type SteamUserForGroup struct {
|
||||
ID int64 `json:"id" db:"id"`
|
||||
GroupID string `json:"group_id" db:"group_id"`
|
||||
SteamID string `json:"steamid" db:"steamid"`
|
||||
}
|
||||
|
||||
type PlayerSummary struct {
|
||||
SteamID string `json:"steamid"` // 64位SteamID
|
||||
PersonaName string `json:"personaname"` // 显示名称
|
||||
ProfileURL string `json:"profileurl"` // Steam社区个人资料链接
|
||||
Avatar string `json:"avatar"` // 32x32px头像URL
|
||||
AvatarMedium string `json:"avatarmedium"` // 64x64px头像URL
|
||||
AvatarFull string `json:"avatarfull"` // 184x184px头像URL
|
||||
PersonaState int `json:"personastate"` // 用户状态
|
||||
CommunityVisibilityState int `json:"communityvisibilitystate"` // 社区可见性状态
|
||||
ProfileState int `json:"profilestate,omitempty"` // 用户是否配置了社区个人资料
|
||||
LastLogOff int64 `json:"lastlogoff,omitempty"` // 上次在线时间,Unix时间戳
|
||||
CommentPermission int `json:"commentpermission,omitempty"` // 是否允许评论
|
||||
|
||||
// 私有数据,可能根据用户隐私设置而不可见
|
||||
RealName string `json:"realname,omitempty"` // 真实姓名
|
||||
PrimaryClanID string `json:"primaryclanid,omitempty"` // 用户的主要组ID
|
||||
TimeCreated int64 `json:"timecreated,omitempty"` // 账号创建时间
|
||||
GameID string `json:"gameid,omitempty"` // 当前游戏ID
|
||||
GameServerIP string `json:"gameserverip,omitempty"` // 游戏服务器IP
|
||||
GameExtraInfo string `json:"gameextrainfo,omitempty"` // 当前游戏名称
|
||||
CityID int `json:"cityid,omitempty"` // 已弃用
|
||||
LocCountryCode string `json:"loccountrycode,omitempty"` // 用户的国家代码
|
||||
LocStateCode string `json:"locstatecode,omitempty"` // 用户的州/省代码
|
||||
LocCityID int `json:"loccityid,omitempty"` // 用户的城市ID
|
||||
}
|
||||
|
||||
// 封装返回的数据结构,用于处理 API 的整体返回
|
||||
type GetPlayerSummariesResponse struct {
|
||||
Response struct {
|
||||
Players []PlayerSummary `json:"players"`
|
||||
} `json:"response"`
|
||||
}
|
||||
|
||||
func (s PlayerSummary) ToGameStatus() string {
|
||||
UserName := s.PersonaName
|
||||
GameName := s.GameExtraInfo
|
||||
if GameName == "" {
|
||||
return ""
|
||||
}
|
||||
if UserName == "" {
|
||||
UserName = s.RealName
|
||||
}
|
||||
if UserName == "" {
|
||||
UserName = s.SteamID
|
||||
}
|
||||
return UserName + "正在玩" + GameName
|
||||
}
|
||||
|
||||
type LastTimeStatus struct {
|
||||
SteamID string `json:"steamid"`
|
||||
GameID string `json:"gameid"`
|
||||
Trigger bool `json:"trigger"`
|
||||
}
|
||||
Reference in New Issue
Block a user