Documentation ¶
Overview ¶
SPDX-License-Identifier: AGPL-3.0-only
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>
SPDX-License-Identifier: AGPL-3.0-only
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>
SPDX-License-Identifier: AGPL-3.0-only
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>
SPDX-License-Identifier: AGPL-3.0-only
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>
Index ¶
- Constants
- func CharacterRevisionTypes() []uint8
- func EpisodeRevisionTypes() []uint8
- func PersonRevisionTypes() []uint8
- func SubjectTypeString(s uint8) string
- type Character
- type CharacterID
- type CharacterRevision
- type CharacterRevisionData
- type CharacterRevisionDataItem
- type CollectPrivacy
- type Comment
- type CommentID
- type CommentState
- type Count
- type EpType
- type Episode
- type EpisodeCollection
- type EpisodeID
- type EpisodeRevision
- type EpisodeRevisionData
- type EpisodeRevisionDataItem
- type Extra
- type Group
- type GroupID
- type GroupMember
- type Index
- type IndexID
- type Notification
- type NotificationField
- type NotificationFieldID
- type NotificationID
- type NotificationStatus
- type NotificationType
- type Person
- type PersonCharacterRelation
- type PersonID
- type PersonRevision
- type PersonRevisionData
- type PersonRevisionDataItem
- type Platform
- type PrivateMessage
- type PrivateMessageFolderType
- type PrivateMessageID
- type PrivateMessageListItem
- type PrivateMessageTypeCounts
- type Profession
- type Rating
- type RevisionCommon
- type RevisionID
- type RevisionType
- type SubComment
- type Subject
- type SubjectCharacterRelation
- type SubjectCollection
- type SubjectID
- type SubjectInternalRelation
- type SubjectPersonRelation
- type SubjectRevision
- type SubjectRevisionData
- type SubjectType
- type Tag
- type TimeLine
- type TimeLineBlogMemo
- type TimeLineCat
- type TimeLineDoujinMemo
- type TimeLineGroupMemo
- type TimeLineID
- type TimeLineImage
- type TimeLineImages
- type TimeLineIndexMemo
- type TimeLineMemo
- type TimeLineMemoContent
- type TimeLineMeta
- type TimeLineMonoMemo
- type TimeLineProgressMemo
- type TimeLineRelationMemo
- type TimeLineSay
- type TimeLineSayEdit
- type TimeLineSayMemo
- type TimeLineSubjectMemo
- type TimeLineWikiMemo
- type Topic
- type TopicDetail
- type TopicDisplay
- type TopicID
- type User
- type UserEpisodeCollection
- type UserFields
- type UserGroupID
- type UserID
- type UserPrivacySettings
- type UserPrivacySettingsField
- type UserReceiveFilter
- type UserSubjectCollection
- type UserSubjectEpisodesCollection
Constants ¶
const ( RevisionTypeSubject = 1 // 条目 RevisionTypeSubjectCharacterRelation = 5 // 条目->角色关联 RevisionTypeSubjectCastRelation = 6 // 条目->声优关联 RevisionTypeSubjectPersonRelation = 10 // 条目->人物关联 RevisionTypeSubjectMerge = 11 // 条目管理 RevisionTypeSubjectErase = 12 RevisionTypeSubjectRelation = 17 // 条目关联 RevisionTypeSubjectLock = 103 RevisionTypeSubjectUnlock = 104 RevisionTypeCharacter = 2 // 角色 RevisionTypeCharacterSubjectRelation = 4 // 角色->条目关联 RevisionTypeCharacterCastRelation = 7 // 角色->声优关联 RevisionTypeCharacterMerge = 13 // 角色管理 RevisionTypeCharacterErase = 14 RevisionTypePerson = 3 // 人物 RevisionTypePersonCastRelation = 8 // 人物->声优关联 RevisionTypePersonSubjectRelation = 9 // 人物->条目关联 RevisionTypePersonMerge = 15 // 人物管理 RevisionTypePersonErase = 16 RevisionTypeEp = 18 // 章节 RevisionTypeEpMerge = 181 // 章节管理 RevisionTypeEpMove = 182 RevisionTypeEpLock = 183 RevisionTypeEpUnlock = 184 RevisionTypeEpErase = 185 )
Variables ¶
This section is empty.
Functions ¶
func CharacterRevisionTypes ¶
func CharacterRevisionTypes() []uint8
func EpisodeRevisionTypes ¶ added in v0.30.0
func EpisodeRevisionTypes() []uint8
func PersonRevisionTypes ¶
func PersonRevisionTypes() []uint8
func SubjectTypeString ¶
Types ¶
type Character ¶
type Character struct { Name string Image string Infobox string Summary string ID CharacterID Redirect CharacterID CollectCount uint32 CommentCount uint32 FieldBirthYear uint16 Producer bool Type uint8 Artist bool Seiyu bool Writer bool Illustrator bool Actor bool FieldBloodType uint8 FieldGender uint8 FieldBirthMon uint8 Locked bool FieldBirthDay uint8 NSFW bool }
type CharacterID ¶ added in v0.20.2
type CharacterID uint32
type CharacterRevision ¶
type CharacterRevision struct { Data CharacterRevisionData RevisionCommon }
CharacterRevision concrete revision data type.
type CharacterRevisionData ¶
type CharacterRevisionData map[string]CharacterRevisionDataItem
type CharacterRevisionDataItem ¶ added in v0.16.9
type CollectPrivacy ¶ added in v0.23.8
type CollectPrivacy uint8
const ( // CollectPrivacyNone 默认公开收藏。 CollectPrivacyNone CollectPrivacy = 0 // CollectPrivacySelf 私有收藏,正常计入评分。 CollectPrivacySelf CollectPrivacy = 1 // CollectPrivacyBan Shadow Ban, 显示为私有收藏,不计入评分。 CollectPrivacyBan CollectPrivacy = 2 )
type Comment ¶ added in v0.22.0
type Comment struct { CreatedAt time.Time Content string SubComments []SubComment CreatorID UserID ID CommentID State CommentState }
type CommentState ¶ added in v0.22.0
type CommentState uint8
const ( CommentStateNone CommentState = 0 // 正常 // CommentStateAdminCloseTopic 管理员关闭主题 https://bgm.tv/subject/topic/12629#post_108127 CommentStateAdminCloseTopic CommentState = 1 // 关闭 CommentStateAdminReopen CommentState = 2 // 重开 CommentStateAdminPin CommentState = 3 // 置顶 CommentStateAdminMerge CommentState = 4 // 合并 // CommentStateAdminSilentTopic 管理员下沉 https://bgm.tv/subject/topic/18784#post_160402 CommentStateAdminSilentTopic CommentState = 5 // 下沉 CommentStateUserDelete CommentState = 6 // 自行删除 CommentStateAdminDelete CommentState = 7 // 管理员删除 )
type Episode ¶
type EpisodeCollection ¶ added in v0.22.5
type EpisodeCollection uint8
const ( EpisodeCollectionNone EpisodeCollection = 0 // 撤消/删除 EpisodeCollectionAll EpisodeCollection = 0 // 全部 EpisodeCollectionWish EpisodeCollection = 1 // 想看 EpisodeCollectionDone EpisodeCollection = 2 // 看过 EpisodeCollectionDropped EpisodeCollection = 3 // 抛弃 )
func (*EpisodeCollection) UnmarshalJSON ¶ added in v0.27.0
func (s *EpisodeCollection) UnmarshalJSON(bytes []byte) error
type EpisodeRevision ¶ added in v0.30.0
type EpisodeRevision struct { Data EpisodeRevisionData RevisionCommon }
EpisodeRevision concrete revision data type.
type EpisodeRevisionData ¶ added in v0.30.0
type EpisodeRevisionData map[string]EpisodeRevisionDataItem
type EpisodeRevisionDataItem ¶ added in v0.30.0
type EpisodeRevisionDataItem struct { Airdate string `json:"airdate" mapstructure:"ep_airdate"` Desc string `json:"desc" mapstructure:"ep_desc"` Duration string `json:"duration" mapstructure:"ep_duration"` Name string `json:"name" mapstructure:"ep_name"` NameCn string `json:"name_cn" mapstructure:"ep_name_cn"` Sort string `json:"sort" mapstructure:"ep_sort"` Type string `json:"type" mapstructure:"ep_type"` }
type GroupMember ¶ added in v0.20.9
type Notification ¶ added in v0.29.0
type Notification struct { CreatedTime time.Time ID NotificationID ReceiverID UserID SenderID UserID FieldID NotificationFieldID RelatedID uint32 // 触发通知的实际事项id,如回复的 Type NotificationType Status NotificationStatus }
type NotificationField ¶ added in v0.29.0
type NotificationField struct { Title string ID NotificationFieldID RelatedID uint32 // 关联的主体事项的id,条目讨论,日志的 RelatedType uint8 // 关联的主体事项的分类 }
type NotificationFieldID ¶ added in v0.29.0
type NotificationFieldID uint32
type NotificationID ¶ added in v0.29.0
type NotificationID uint32
type NotificationStatus ¶ added in v0.29.0
type NotificationStatus uint8
const ( NotificationStatusRead NotificationStatus = 0 NotificationStatusUnread NotificationStatus = 1 )
type NotificationType ¶ added in v0.29.0
type NotificationType uint8
const ( NotificationTypeGroupTopicReply NotificationType = 1 // 发起的小组话题有新回复 NotificationTypeReplyToGroupTopicReply NotificationType = 2 // 在小组话题收到回复 NotificationTypeSubjectTopicReply NotificationType = 3 // 发起的条目讨论有新回复 NotificationTypeReplyToSubjectTopicReply NotificationType = 4 // 在条目讨论收到回复 NotificationTypeCharacterMessage NotificationType = 5 // 关注的角色讨论有新回复 NotificationTypeReplyToCharacterMessage NotificationType = 6 // 在角色讨论收到回复 NotificationTypeBlogMessage NotificationType = 7 // 日志留言 NotificationTypeReplyToBlogMessage NotificationType = 8 // 日志留言的回复 NotificationTypeEpisodeTopicReply NotificationType = 9 // 章节讨论有新回复 NotificationTypeReplyToEpisodeTopic NotificationType = 10 // 在章节讨论收到回复 NotificationTypeIndexMessage NotificationType = 11 // 目录有新留言 NotificationTypeReplyToIndexMessage NotificationType = 12 // 目录留言收到回复 NotificationTypeReplyToPersonMessage NotificationType = 13 // 人物留言收到回复 NotificationTypeFriendRequest NotificationType = 14 // 收到好友申请 NotificationTypePassFriendRequest NotificationType = 15 // 好友申请通过 NotificationTypeDoujinClubTopicReply NotificationType = 17 // 同人社团讨论有新回复 NotificationTypeReplyToDoujinClubTopicReply NotificationType = 18 // 在同人社团讨论收到回复 NotificationTypeReplyToDoujinSubjectTopicReply NotificationType = 19 // 同人作品讨论有新回复 NotificationTypeDoujinEventTopicReply NotificationType = 20 // 同人展会讨论有新回复 NotificationTypeReplyToDoujinEventTopicReply NotificationType = 21 // 在同人展会讨论收到回复 NotificationTypeTsukkomiReply NotificationType = 22 // 吐槽有新回复 NotificationTypeGroupTopicMention NotificationType = 23 // 在小组讨论中被提及 NotificationTypeSubjectTopicMention NotificationType = 24 // 在条目讨论中被提及 NotificationTypeCharacterMessageMention NotificationType = 25 // 在角色留言中被提及 NotificationTypePersonMessageMention NotificationType = 26 // 在人物留言中被提及 NotificationTypeIndexMessageMention NotificationType = 27 // 在目录留言中被提及 NotificationTypeTukkomiMention NotificationType = 28 // 在吐槽中被提及 NotificationTypeBlogMessageMention NotificationType = 29 // 在日志留言中被提及 NotificationTypeEpisodeTopicMention NotificationType = 30 // 在章节讨论中被提及 NotificationTypeDoujinClubMessageMention NotificationType = 31 // 在同人社团留言中被提及 NotificationTypeDoujinClubTopicMention NotificationType = 32 // 在同人社团讨论中被提及 NotificationTypeDoujinSubjectMessageMention NotificationType = 33 // 在同人作品留言中被提及 NotificationTypeDoujinEventTopicMention NotificationType = 34 // 在同人展会讨论中被提及 )
type Person ¶
type Person struct { Name string Image string Infobox string Summary string ID PersonID Redirect PersonID CollectCount uint32 CommentCount uint32 FieldBirthYear uint16 Producer bool Mangaka bool Type uint8 Artist bool Seiyu bool Writer bool Illustrator bool Actor bool FieldBloodType uint8 FieldGender uint8 FieldBirthMon uint8 Locked bool FieldBirthDay uint8 }
type PersonCharacterRelation ¶
type PersonRevision ¶ added in v0.16.9
type PersonRevision struct { Data PersonRevisionData RevisionCommon }
type PersonRevisionData ¶ added in v0.16.9
type PersonRevisionData map[string]PersonRevisionDataItem
type PersonRevisionDataItem ¶
type PersonRevisionDataItem struct { Name string `json:"name" mapstructure:"prsn_name"` InfoBox string `json:"infobox" mapstructure:"prsn_infobox"` Summary string `json:"summary" mapstructure:"prsn_summary"` Profession Profession `json:"profession"` Extra Extra `json:"extra"` }
type Platform ¶
type PrivateMessage ¶ added in v0.29.0
type PrivateMessage struct { CreatedTime time.Time Title string Content string Folder PrivateMessageFolderType SenderID UserID ReceiverID UserID ID PrivateMessageID MainMessageID PrivateMessageID // 如果当前是首条私信,则为当前私信的id,否则为0 RelatedMessageID PrivateMessageID // 首条私信的id New bool DeletedBySender bool DeletedByReceiver bool }
type PrivateMessageFolderType ¶ added in v0.29.0
type PrivateMessageFolderType string
const ( PrivateMessageFolderTypeInbox PrivateMessageFolderType = "inbox" PrivateMessageFolderTypeOutbox PrivateMessageFolderType = "outbox" )
type PrivateMessageID ¶ added in v0.29.0
type PrivateMessageID uint32
type PrivateMessageListItem ¶ added in v0.29.0
type PrivateMessageListItem struct { Main PrivateMessage Self PrivateMessage }
type PrivateMessageTypeCounts ¶ added in v0.29.0
type Profession ¶
type Profession struct { Writer string `json:"writer,omitempty"` Producer string `json:"producer,omitempty"` Mangaka string `json:"mangaka,omitempty"` Artist string `json:"artist,omitempty"` Seiyu string `json:"seiyu,omitempty"` Illustrator string `json:"illustrator,omitempty"` Actor string `json:"actor,omitempty"` }
type RevisionCommon ¶
type RevisionCommon struct { CreatedAt time.Time Summary string ID RevisionID CreatorID UserID Type uint8 }
RevisionCommon common parts in revision.
type RevisionID ¶ added in v0.20.2
type RevisionID = uint32
type RevisionType ¶ added in v0.20.2
type RevisionType = uint8
type SubComment ¶ added in v0.22.0
type Subject ¶
type Subject struct { Image string Summary string Name string Date string // first release date NameCN string Infobox string CompatRawTags []byte // compat field for old tags Tags []Tag OnHold uint32 Dropped uint32 Series bool Volumes uint32 Eps uint32 Wish uint32 Collect uint32 Doing uint32 ID SubjectID PlatformID uint16 TypeID SubjectType Ban uint8 Airtime uint8 // air weekday, start from NSFW bool Rating Rating Redirect SubjectID }
type SubjectCollection ¶ added in v0.20.9
type SubjectCollection uint8
const ( SubjectCollectionAll SubjectCollection = 0 // 全部 SubjectCollectionWish SubjectCollection = 1 // 想看 SubjectCollectionDone SubjectCollection = 2 // 看过 SubjectCollectionDoing SubjectCollection = 3 // 在看 SubjectCollectionOnHold SubjectCollection = 4 // 搁置 SubjectCollectionDropped SubjectCollection = 5 // 抛弃 )
func (*SubjectCollection) UnmarshalJSON ¶ added in v0.27.0
func (s *SubjectCollection) UnmarshalJSON(bytes []byte) error
type SubjectInternalRelation ¶
type SubjectPersonRelation ¶
type SubjectRevision ¶ added in v0.16.9
type SubjectRevision struct { Data *SubjectRevisionData RevisionCommon }
type SubjectRevisionData ¶
type SubjectType ¶
type SubjectType = uint8
const ( SubjectTypeAll SubjectType = 0 SubjectTypeBook SubjectType = 1 // 书籍 SubjectTypeAnime SubjectType = 2 // 动画 SubjectTypeMusic SubjectType = 3 // 音乐 SubjectTypeGame SubjectType = 4 // 游戏 SubjectTypeReal SubjectType = 6 // 三次元 )
type TimeLine ¶ added in v0.25.7
type TimeLine struct { *TimeLineMeta *TimeLineMemo TimeLineImages }
type TimeLineBlogMemo ¶ added in v0.25.7
type TimeLineCat ¶ added in v0.25.7
type TimeLineCat = uint16
const ( TimeLineCatRelation TimeLineCat = 1 TimeLineCatGroup TimeLineCat = 1 TimeLineCatWiki TimeLineCat = 2 TimeLineCatSubject TimeLineCat = 3 TimeLineCatProgress TimeLineCat = 4 TimeLineCatSay TimeLineCat = 5 TimeLineCatBlog TimeLineCat = 6 TimeLineCatIndex TimeLineCat = 7 TimeLineCatMono TimeLineCat = 8 TimeLineCatDoujin TimeLineCat = 9 )
type TimeLineDoujinMemo ¶ added in v0.25.7
type TimeLineGroupMemo ¶ added in v0.25.7
type TimeLineID ¶ added in v0.25.7
type TimeLineID uint32
type TimeLineImage ¶ added in v0.25.7
type TimeLineImages ¶ added in v0.25.7
type TimeLineImages []TimeLineImage
type TimeLineIndexMemo ¶ added in v0.25.7
type TimeLineMemo ¶ added in v0.25.7
type TimeLineMemo struct { Cat TimeLineCat // Category Type uint16 Content *TimeLineMemoContent }
type TimeLineMemoContent ¶ added in v0.25.7
type TimeLineMemoContent struct { *TimeLineRelationMemo *TimeLineGroupMemo *TimeLineWikiMemo *TimeLineSubjectMemo *TimeLineProgressMemo *TimeLineSayMemo *TimeLineBlogMemo *TimeLineIndexMemo *TimeLineMonoMemo *TimeLineDoujinMemo }
type TimeLineMeta ¶ added in v0.25.7
type TimeLineMonoMemo ¶ added in v0.25.7
type TimeLineProgressMemo ¶ added in v0.25.7
type TimeLineRelationMemo ¶ added in v0.25.7
type TimeLineSay ¶ added in v0.25.7
type TimeLineSay string
type TimeLineSayEdit ¶ added in v0.25.7
type TimeLineSayMemo ¶ added in v0.25.7
type TimeLineSayMemo struct { *TimeLineSay *TimeLineSayEdit }
type TimeLineSubjectMemo ¶ added in v0.25.7
type TimeLineWikiMemo ¶ added in v0.25.7
type TopicDetail ¶ added in v0.23.2
type TopicDisplay ¶ added in v0.25.9
type TopicDisplay uint8
const ( TopicDisplayBan TopicDisplay = 0 // 软删除 TopicDisplayNormal TopicDisplay = 1 TopicDisplayReview TopicDisplay = 2 )
type User ¶
type User struct { RegistrationTime time.Time NickName string Avatar string Sign string UserName string ID UserID UserGroup UserGroupID }
User is visible for everyone.
type UserEpisodeCollection ¶ added in v0.23.0
type UserEpisodeCollection struct { ID EpisodeID Type EpisodeCollection }
type UserFields ¶ added in v0.29.0
type UserGroupID ¶ added in v0.20.2
type UserGroupID = uint8
type UserPrivacySettings ¶ added in v0.29.0
type UserPrivacySettings struct { ReceivePrivateMessage UserReceiveFilter ReceiveTimelineReply UserReceiveFilter ReceiveMentionNotification UserReceiveFilter ReceiveCommentNotification UserReceiveFilter }
func (*UserPrivacySettings) Unmarshal ¶ added in v0.29.0
func (settings *UserPrivacySettings) Unmarshal(s []byte)
type UserPrivacySettingsField ¶ added in v0.29.0
type UserPrivacySettingsField int
const ( UserPrivacyReceivePrivateMessage UserPrivacySettingsField = 1 UserPrivacyReceiveTimelineReply UserPrivacySettingsField = 30 UserPrivacyReceiveMentionNotification UserPrivacySettingsField = 20 UserPrivacyReceiveCommentNotification UserPrivacySettingsField = 21 )
type UserReceiveFilter ¶ added in v0.29.0
type UserReceiveFilter uint8
const ( UserReceiveFilterAll UserReceiveFilter = iota UserReceiveFilterFriends UserReceiveFilterNone )
type UserSubjectCollection ¶ added in v0.22.5
type UserSubjectEpisodesCollection ¶ added in v0.23.0
type UserSubjectEpisodesCollection map[EpisodeID]UserEpisodeCollection
Source Files ¶
- character.go
- collect.go
- collection_type.go
- collection_type_json.go
- comment.go
- episode.go
- group.go
- index.go
- notification.go
- notification_type.go
- person.go
- private_message.go
- private_message_type.go
- relation.go
- revision.go
- revision.type.go
- subject.go
- subject_type.go
- timeline.go
- topic.go
- type.go
- user.go