markji package
- class markji.Markji(token: str)[源代码]
基类:
object
客户端
- 参数:
token (str) -- 用户令牌
from markji import Markji from markji.auth import Auth auth = Auth("username", "password") token = await auth.login() client = Markji(token)
- async get_profile() Profile [源代码]
获取用户信息
- 返回:
用户信息
- 返回类型:
- 抛出:
aiohttp.ClientResponseError -- 获取用户信息失败
- async search_users(nickname: str, offset: int = 0, limit: int = 10) tuple[list[User], int] [源代码]
搜索用户
昵称长度必须在 1 到 8000 个字符之间
offset 和 limit 必须大于等于 0
offset + limit 必须小于等于 10000
- 参数:
nickname (str) -- 用户昵称
- 返回:
用户列表, 总数
- 返回类型:
tuple[list[User], int]
- 抛出:
ValueError -- 昵称长度错误
ValueError -- offset 或 limit 错误
ValueError -- offset + limit 错误
aiohttp.ClientResponseError -- 搜索用户失败
- async search_collaborators(deck_id: DeckID | str, keyword: str | UserID | int) list[Collaborator] [源代码]
搜索协作者
关键词长度必须在 1 到 8000 个字符之间
- 参数:
- 返回:
协作者列表
- 返回类型:
list[Collaborator]
- 抛出:
ValueError -- 关键词长度错误
aiohttp.ClientResponseError -- 搜索协作者失败
- async get_folder(folder_id: FolderID | str) Folder | RootFolder [源代码]
获取文件夹
- 参数:
folder_id (FolderID | str) -- 文件夹ID
- 返回:
文件夹
- 返回类型:
- 抛出:
aiohttp.ClientResponseError -- 获取文件夹失败
- async get_root_folder() RootFolder [源代码]
获取根文件夹
- 返回:
根文件夹
- 返回类型:
- 抛出:
aiohttp.ClientResponseError -- 获取根文件夹失败
FileNotFoundError -- 未找到根文件夹
- async list_folders() list[Folder] [源代码]
获取用户的所有文件夹
不包含根文件夹
使用 get_root_folder 获取根文件夹
- 返回:
文件夹列表
- 返回类型:
list[Folder]
- 抛出:
aiohttp.ClientResponseError -- 获取文件夹列表失败
- async new_folder(name: str) Folder [源代码]
创建文件夹
文件名长度必须在 2 到 8 个字符之间
- 参数:
name (str) -- 文件夹名
- 返回:
创建的文件夹
- 返回类型:
- 抛出:
ValueError -- 文件夹名长度错误
aiohttp.ClientResponseError -- 创建文件夹失败
- async delete_folder(folder_id: FolderID | str) RootFolder [源代码]
删除文件夹
- 参数:
folder_id (FolderID | str) -- 文件夹ID
- 返回:
删除后的根文件
- 返回类型:
- 抛出:
aiohttp.ClientResponseError -- 删除文件夹失败
- async sort_folders(folder_ids: Iterable[FolderID | str]) RootFolder [源代码]
排序文件夹
- 参数:
folder_ids (Iterable[FolderID | str]) -- 排序后的文件夹ID列表
- 返回:
排序后的根文件夹
- 返回类型:
- 抛出:
aiohttp.ClientResponseError -- 排序文件夹失败
- async get_deck(deck_id: str) Deck [源代码]
获取卡组
- 参数:
deck_id (str) -- 卡组ID
- 返回:
卡组
- 返回类型:
- 抛出:
aiohttp.ClientResponseError -- 获取卡组失败
- async new_deck(folder_id: FolderID | str, name: str, description: str = '', is_private: bool = False) DeckBrief [源代码]
创建卡组
卡组名长度必须在 2 到 48 个字符之间
- async delete_deck(deck_id: DeckID | str)[源代码]
删除卡组
或取消收藏卡组
- 参数:
deck_id (DeckID | str) -- 卡组ID
- 抛出:
aiohttp.ClientResponseError -- 删除卡组失败
- async update_deck_info(deck_id: DeckID | str, name: str | None = None, description: str | None = None, is_private: bool | None = None, card_price: int | None = None) DeckBrief [源代码]
更新卡组信息
卡组名长度必须在 2 到 48 个字符之间
卡片价格必须大于等于 0,且只有可用马克量大于 10000 的用户才能设置为0
- async update_deck_name(deck_id: DeckID | str, name: str) DeckBrief [源代码]
重命名卡组
卡组名长度必须在 2 到 48 个字符之间
- async update_deck_card_price(deck_id: DeckID | str, card_price: int) DeckBrief [源代码]
更新卡组卡片价格
卡片价格必须大于等于 0,且只有可用马克量大于 10000 的用户才能设置为0
- async update_deck_access_setting(deck_id: DeckID | str, is_searchable: bool | None = None, validation_request_access: bool | None = None, validation_password: str | None = None) DeckAccessSettingBrief | DeckAccessSettingInfo | DeckAccessSetting [源代码]
更新卡组访问设置
密码必须为 4 ~ 12 位,,由数字字母组成
密码为空则取消密码
- 参数:
deck_id (DeckID | str) -- 卡组ID
is_searchable (bool | None) -- 是否可被搜索
validation_request_access (bool | None) -- 是否需要验证访问
validation_password (str | None) -- 验证密码
- 返回:
更新后的卡组
- 返回类型:
DeckAccessSettingBrief | DeckAccessSettingInfo | DeckAccessSetting
- 抛出:
ValueError -- 更新设置为空
ValueError -- 密码长度错误
ValueError -- 密码格式错误
aiohttp.ClientResponseError -- 更新卡组设置失败
- async update_deck_searchable(deck_id: DeckID | str, is_searchable: bool) DeckAccessSettingBrief | DeckAccessSettingInfo | DeckAccessSetting [源代码]
更新卡组是否可被搜索
- 参数:
deck_id (DeckID | str) -- 卡组ID
is_searchable (bool) -- 是否可被搜索
- 返回:
更新后的卡组
- 返回类型:
DeckAccessSettingBrief | DeckAccessSettingInfo | DeckAccessSetting
- async update_deck_validation_request_access(deck_id: DeckID | str, validation_request_access: bool) DeckAccessSettingBrief | DeckAccessSettingInfo | DeckAccessSetting [源代码]
更新卡组是否需要验证访问
- 参数:
deck_id (DeckID | str) -- 卡组ID
validation_request_access (bool) -- 是否需要验证访问
- 返回:
更新后的卡组
- 返回类型:
DeckAccessSettingBrief | DeckAccessSettingInfo | DeckAccessSetting
- async update_deck_validation_password(deck_id: DeckID | str, validation_password: str) DeckAccessSettingInfo | DeckAccessSetting [源代码]
更新卡组验证密码
密码必须为 4 ~ 12 位,,由数字字母组成
密码为空则取消密码
- 参数:
deck_id (DeckID | str) -- 卡组ID
validation_password (str) -- 验证密码
- 返回:
更新后的卡组
- 返回类型:
- 抛出:
ValueError -- 密码长度错误
ValueError -- 密码格式错误
- async move_decks(folder_id_from: FolderID | str, folder_id_to: FolderID | str, deck_ids: Iterable[DeckID | str], order: int | None = None) FolderDiff [源代码]
移动卡组
- 参数:
- 返回:
文件夹变化
- 返回类型:
- 抛出:
aiohttp.ClientResponseError -- 移动卡组失败
- async search_decks(keyword: str, offset: int = 0, limit: int = 10, self_only: bool = False) tuple[list[DeckBasic], int] [源代码]
搜索卡组
关键词长度必须在 1 到 8000 个字符之间
offset 必须在 0 到 1000 之间
limit 必须在 1 到 100 之间
- 参数:
keyword (str) -- 关键词
offset (int) -- 偏移
limit (int) -- 限制
self_only (bool) -- 仅自己
- 返回:
卡组基本信息列表, 总数
- 返回类型:
tuple[list[DeckBasic], int]
- 抛出:
ValueError -- 关键词长度错误
ValueError -- offset 错误
ValueError -- limit 错误
aiohttp.ClientResponseError -- 搜索卡组失败
- async fork_deck(deck_id: DeckID | str) DeckForked [源代码]
收藏卡组
无法收藏自己的卡组
- 参数:
deck_id (DeckID | str) -- 卡组ID
- 返回:
复制的卡组
- 返回类型:
- 抛出:
aiohttp.ClientResponseError -- 复制卡组失败
- async get_deck_access_link(deck_id: DeckID | str) str [源代码]
获取卡组访问链接
- 参数:
deck_id (DeckID | str) -- 卡组ID
- 返回:
访问链接
- 返回类型:
str
- 抛出:
aiohttp.ClientResponseError -- 获取访问链接失败
- async get_chapter_set(deck_id: DeckID | str) ChapterSet [源代码]
获取章节集合
- 参数:
deck_id (DeckID | str) -- 卡组ID
- 返回:
章节集合
- 返回类型:
- 抛出:
aiohttp.ClientResponseError -- 获取章节集合失败
- async delete_chapter(deck_id: DeckID | str, chapter_id: ChapterID | str) ChapterSet [源代码]
删除章节
- 参数:
- 返回:
删除后的章节集
- 返回类型:
- 抛出:
aiohttp.ClientResponseError -- 删除章节失败
- async rename_chapter(deck_id: DeckID | str, chapter_id: ChapterID | str, name: str) Chapter [源代码]
重命名章节
章节名长度必须在 1 到 48 个字符之间
- async sort_chapters(deck_id: DeckID | str, chapter_ids: Iterable[ChapterID | str]) ChapterSet [源代码]
排序章节
- 参数:
- 返回:
排序后的章节集合
- 返回类型:
- 抛出:
aiohttp.ClientResponseError -- 排序章节失败
- async new_card(deck_id: DeckID | str, chapter_id: ChapterID | str, content: str, grammar_version: int = 3) Card [源代码]
创建卡片
卡片内容长度必须在 1 到 2500 个字符之间
- async delete_card(chapter_id: ChapterID | str, deck_id: DeckID | str, card_id: str) Chapter [源代码]
删除卡片
- async edit_card(deck_id: DeckID | str, card_id: str, content: str, grammar_version: int = 3) Card [源代码]
编辑卡片
卡片内容长度必须在 1 到 2500 个字符之间
- async sort_cards(deck_id: DeckID | str, chapter_id: ChapterID | str, card_ids: Iterable[CardID | str]) Chapter [源代码]
排序卡片
- async move_cards(deck_id: DeckID | str, chapter_id_from: ChapterID | str, chapter_id_to: ChapterID | str, card_ids: Iterable[CardID | str], order: int | None = None) ChapterDiff [源代码]
移动卡片
- 参数:
- 返回:
章节变化
- 返回类型:
- 抛出:
aiohttp.ClientResponseError -- 移动卡片失败
- async search_cards(keyword: str, offset: int = 0, limit: int = 10, self_only: bool = False, deck_id: DeckID | str | None = None) tuple[list[CardResult], int] [源代码]
搜索卡片
关键词长度必须在 1 到 8000 个字符之间
offset 必须在 0 到 1000 之间
limit 必须在 10 到 100 之间
设置 deck_id 时,self_only 无效
- async tts(text: str, lang: LanguageCode | str) File [源代码]
语音合成
- 参数:
text (str) -- 文本
lang (LanguageCode | str) -- 语言代码
- 返回:
语音文件
- 返回类型:
- 抛出:
aiohttp.ClientResponseError -- 语音合成失败
aiohttp.ClientResponseError -- 获取语音文件失败
Subpackages
- markji.editor package
FontBuilder
FontColor
FontBackgroundColor
FontScript
ParagraphBuilder
ClozeBuilder
ChoiceBuilder
ChoiceItem
FormulaBuilder
ReferenceBuilder
ImageBuilder
AudioBuilder
AnswerLine
- Submodules
- markji.editor.choice module
- markji.editor.cloze module
- markji.editor.font module
- markji.editor.formula module
- markji.editor.media module
- markji.editor.paragraph module
- markji.editor.reference module
- markji.types package
Path
UserID
FolderID
DeckID
ChapterID
ChapterSetID
CardID
CardRootID
FileID
AccessSettingID
UserGender
Status
ItemObjectClass
DeckSource
FileSource
LanguageCode
LanguageCode.AR_DZ
LanguageCode.AR_AE
LanguageCode.AR_EG
LanguageCode.AR_BH
LanguageCode.AR_QA
LanguageCode.AR_KW
LanguageCode.AR_LY
LanguageCode.AR_MA
LanguageCode.AR_SA
LanguageCode.AR_TN
LanguageCode.AR_SY
LanguageCode.AR_YE
LanguageCode.AR_IQ
LanguageCode.AR_JO
LanguageCode.AM_ET
LanguageCode.GA_IE
LanguageCode.ET_EE
LanguageCode.BG_BG
LanguageCode.PL_PL
LanguageCode.FA_IR
LanguageCode.DA_DK
LanguageCode.DE_AT
LanguageCode.DE_DE
LanguageCode.DE_CH
LanguageCode.RU_RU
LanguageCode.FR_BE
LanguageCode.FR_FR
LanguageCode.FR_CA
LanguageCode.FR_CH
LanguageCode.FIL_PH
LanguageCode.FI_FI
LanguageCode.KM_KH
LanguageCode.GU_IN
LanguageCode.KO_KR
LanguageCode.NL_BE
LanguageCode.NL_NL
LanguageCode.GL_ES
LanguageCode.CA_ES
LanguageCode.CS_CZ
LanguageCode.HR_HR
LanguageCode.LV_LV
LanguageCode.LT_LT
LanguageCode.RO_RO
LanguageCode.MT_MT
LanguageCode.MR_IN
LanguageCode.MS_MY
LanguageCode.BN_BD
LanguageCode.MY_MM
LanguageCode.AF_ZA
LanguageCode.NB_NO
LanguageCode.PT_BR
LanguageCode.PT_PT
LanguageCode.JA_JP
LanguageCode.SV_SE
LanguageCode.SK_SK
LanguageCode.SL_SI
LanguageCode.SW_KE
LanguageCode.SW_TZ
LanguageCode.SO_SO
LanguageCode.TE_IN
LanguageCode.TA_LK
LanguageCode.TA_SG
LanguageCode.TA_IN
LanguageCode.TH_TH
LanguageCode.TR_TR
LanguageCode.CY_GB
LanguageCode.UR_PK
LanguageCode.UR_IN
LanguageCode.UK_UA
LanguageCode.UZ_UZ
LanguageCode.ES_NI
LanguageCode.ES_AR
LanguageCode.ES_PY
LanguageCode.ES_PA
LanguageCode.ES_PR
LanguageCode.ES_BO
LanguageCode.ES_GQ
LanguageCode.ES_DO
LanguageCode.ES_EC
LanguageCode.ES_CO
LanguageCode.ES_CR
LanguageCode.ES_CU
LanguageCode.ES_HN
LanguageCode.ES_US
LanguageCode.ES_PE
LanguageCode.ES_MX
LanguageCode.ES_SV
LanguageCode.ES_GT
LanguageCode.ES_VE
LanguageCode.ES_UY
LanguageCode.ES_ES
LanguageCode.ES_CL
LanguageCode.HE_IL
LanguageCode.EL_GR
LanguageCode.HU_HU
LanguageCode.SU_ID
LanguageCode.IT_IT
LanguageCode.HI_IN
LanguageCode.ID_ID
LanguageCode.EN_IE
LanguageCode.EN_AU
LanguageCode.EN_PH
LanguageCode.EN_CA
LanguageCode.EN_KE
LanguageCode.EN_US
LanguageCode.EN_ZA
LanguageCode.EN_NG
LanguageCode.EN_TZ
LanguageCode.EN_HK
LanguageCode.EN_SG
LanguageCode.EN_NZ
LanguageCode.EN_IN
LanguageCode.EN_GB
LanguageCode.VI_VN
LanguageCode.JV_ID
LanguageCode.ZH_CN
LanguageCode.ZH_TW
LanguageCode.ZH_HK
LanguageCode.ZU_ZA
Datetime
UserLevel
UserOAuth
FolderItem
DeckAccessSettingBasic
DeckAccessSettingBrief
DeckAccessSettingInfo
DeckAccessSetting
CardReference
TTSItem
MaskInfo
ImageInfo
AudioInfo
TTSInfo
File
MaskItem
- Submodules
- markji.types.card module
- markji.types.chapter module
- markji.types.deck module
DeckBasic
DeckBasic.id
DeckBasic.source
DeckBasic.creator
DeckBasic.status
DeckBasic.name
DeckBasic.authors
DeckBasic.description
DeckBasic.is_modified
DeckBasic.is_private
DeckBasic.is_searchable
DeckBasic.like_count
DeckBasic.revision
DeckBasic.card_count
DeckBasic.chapter_count
DeckBasic.created_time
DeckBasic.updated_time
DeckBrief
DeckInfo
DeckForked
Deck
- markji.types.folder module
- markji.types.user module