Table of Contents

Class Format

Namespace
Kook
Assembly
Kook.Net.Core.dll

提供用于格式化字符的帮助类。

public static class Format
Inheritance
Format
Inherited Members

Methods

BlockQuote(string?, bool)

返回一个使用引用块格式的 KMarkdown 格式化字符串。

public static string BlockQuote(this string? text, bool sanitize = true)

Parameters

text string

要格式化的文本。

sanitize bool

是否要先对 text 中与当前格式化操作有冲突的字符进行转义。

Returns

string

获取格式化后的引用文本。

Remarks

warning

此方法默认会在文本中的第一个空行之前和每个空行之间插入零宽连接符特殊字符 (\u200d),以便渲染器能够将整个文本显示为单个引用。 当用户复制引用内的文本时,他们不会复制这个特殊字符。但是,如果通过消息相关的 API 从服务器获取消息文本, 它将包含此方法插入的特殊字符。


设置 sanitizetrue 将会对文本中出现的所有 > 字符转义为 \>
See Also

Bold(string?, bool)

返回一个使用粗体格式的 KMarkdown 格式化字符串。

public static string Bold(this string? text, bool sanitize = true)

Parameters

text string

要格式化的文本。

sanitize bool

是否要先对 text 中与当前格式化操作有冲突的字符进行转义。

Returns

string

获取格式化后的文本。

Remarks

设置 sanitizetrue 将会对文本中出现的所有 * 字符转义为 *

BoldItalics(string?, bool)

返回一个使用粗斜体格式的 KMarkdown 格式化字符串。

public static string BoldItalics(this string? text, bool sanitize = true)

Parameters

text string

要格式化的文本。

sanitize bool

是否要先对 text 中与当前格式化操作有冲突的字符进行转义。

Returns

string

获取格式化后的文本。

Remarks

设置 sanitizetrue 将会对文本中出现的所有 * 字符转义为 *

Code(string?, string?, bool)

返回一个使用代码格式的 KMarkdown 格式化字符串。

public static string Code(this string? text, string? language = null, bool sanitize = true)

Parameters

text string

要格式化的文本。

language string

代码块的语言。

sanitize bool

是否要先对 text 中与当前格式化操作有冲突的字符进行转义。

Returns

string

获取格式化后的内联代码或代码块。

Remarks

设置 sanitizetrue 将会对文本中出现的所有 </code> 字符转义为 <code>\
language 不为 nulltext 中包含换行符时,将返回一个代码块; 否则,将返回一个内联代码块。

CodeBlock(string?, string?, bool)

返回一个使用代码块格式的 KMarkdown 格式化字符串。

public static string CodeBlock(this string? text, string? language = null, bool sanitize = true)

Parameters

text string

要格式化的文本。

language string

代码块的语言。

sanitize bool

是否要先对 text 中与当前格式化操作有冲突的字符进行转义。

Returns

string

获取格式化后的代码块。

Remarks

设置 sanitizetrue 将会对文本中出现的所有 </code> 字符转义为 <code>\

Colorize(string?, TextTheme, bool)

返回一个使用彩色文本格式的 KMarkdown 格式化字符串。

public static string Colorize(this string? text, TextTheme theme, bool sanitize = true)

Parameters

text string

要格式化的文本。

theme TextTheme

要应用的文本颜色。

sanitize bool

是否要先对 text 中与当前格式化操作有冲突的字符进行转义。

Returns

string

获取格式化后的文本。

Remarks

warning

目前,KOOK 仅支持在卡片消息中使用 KMarkdown 彩色文本格式。

Italics(string?, bool)

返回一个使用斜体格式的 KMarkdown 格式化字符串。

public static string Italics(this string? text, bool sanitize = true)

Parameters

text string

要格式化的文本。

sanitize bool

是否要先对 text 中与当前格式化操作有冲突的字符进行转义。

Returns

string

获取格式化后的文本。

Remarks

设置 sanitizetrue 将会对文本中出现的所有 * 字符转义为 *

Quote(string?, bool)

将字符串格式化为由多个换行符分隔的引用字符串。

public static string? Quote(this string? text, bool sanitize = true)

Parameters

text string

要格式化的文本。

sanitize bool

是否要先对 text 中与当前格式化操作有冲突的字符进行转义。

Returns

string

获取格式化后的引用文本。

Remarks

此方法尽可能地保持字符串在 KOOK 中的渲染排版,保留换行与空格,各个文本块会被分别引用。

warning

此方法会将两个或更多连续的换行符识别多个独立文本块,并将每个块分别格式化为引用块。 对于每个文本块,在字符串的开头插入一个大于号 (>) 和一个空格;如果块的开头是一个空白字符,则还会插入一个 零宽连接符 (\u200d),以确保引用的正确显示。当用户复制引用内的文本时,他们不会复制到这个特殊字符。 但是,如果通过消息相关的 API 从服务器获取消息文本,返回的消息文本将包含此方法插入的特殊字符。 另外,在块的末尾还会附加一个额外的换行符,以修正由于引用格式化引起的换行缺失问题。附加的换行符与附近的换行符样式一致。 如果要引用整个文本块,请使用 BlockQuote(string?, bool)


此方法会尝试分析字符串中的行分隔符,并在需要因要保持排版时插入行分隔符时,尽可能地使用原有的行分隔符。
设置 sanitizetrue 将会对文本中出现的所有 > 字符转义为 \>
See Also

Sanitize(string?, params string[])

转义字符串,安全地转义任何 KMarkdown 序列。

public static string? Sanitize(this string? text, params string[] sensitiveCharacters)

Parameters

text string

要转义的文本。

sensitiveCharacters string[]

要转义的字符。

Returns

string

获取转义后的文本。

Remarks

如果未指定要转移的字符,则将使用默认的转义字符列表。默认的待转义字符包括:
</code>、*~`:-])>

Spoiler(string?, bool)

返回一个使用剧透格式的 KMarkdown 格式化字符串。

public static string Spoiler(this string? text, bool sanitize = true)

Parameters

text string

要格式化的文本。

sanitize bool

是否要先对 text 中与当前格式化操作有冲突的字符进行转义。

Returns

string

获取格式化后的文本。

Remarks

设置 sanitizetrue 将会对文本中出现的所有 () 字符分别转义为 ()

Strikethrough(string?, bool)

返回一个使用删除线格式的 KMarkdown 格式化字符串。

public static string Strikethrough(this string? text, bool sanitize = true)

Parameters

text string

要格式化的文本。

sanitize bool

是否要先对 text 中与当前格式化操作有冲突的字符进行转义。

Returns

string

获取格式化后的文本。

Remarks

设置 sanitizetrue 将会对文本中出现的所有 ~ 字符转义为 ~

StripMarkDown(string)

移除文本中的 KMarkdown 格式字符。

[Obsolete("Use StripMarkdown instead.")]
public static string StripMarkDown(this string text)

Parameters

text string

要移除 KMarkdown 格式字符的文本。

Returns

string

获取移除 KMarkdown 格式字符后的文本。

Remarks

此方法不会过多地分析 KMarkdown 的复杂格式,只会简单地移除 KMarkdown 中的以下字符:
*(ins)(spl)`~></code>、连续两个或更多的 -

StripMarkdown(string)

移除文本中的 KMarkdown 格式字符。

public static string StripMarkdown(this string text)

Parameters

text string

要移除 KMarkdown 格式字符的文本。

Returns

string

获取移除 KMarkdown 格式字符后的文本。

Remarks

此方法不会过多地分析 KMarkdown 的复杂格式,只会简单地移除 KMarkdown 中的以下字符:
*(ins)(spl)`~></code>、连续两个或更多的 -

Underline(string?, bool)

返回一个使用下划线格式的 KMarkdown 格式化字符串。

public static string Underline(this string? text, bool sanitize = true)

Parameters

text string

要格式化的文本。

sanitize bool

是否要先对 text 中与当前格式化操作有冲突的字符进行转义。

Returns

string

获取格式化后的文本。

Remarks

设置 sanitizetrue 将会对文本中出现的所有 () 字符分别转义为 ()

Url(string?, string, bool)

返回格式化后的 KMarkdown 链接。

public static string Url(this string? text, string url, bool sanitize = true)

Parameters

text string

要格式化的文本。

url string

要链接到的 URL。

sanitize bool

是否要先对 texturl 中与当前格式化操作有冲突的字符进行转义。

Returns

string

获取格式化后的链接文本。

Remarks

设置 sanitizetrue 将会对文本中出现的所有 [] 字符分别转义为 [],并对 URL 中出现的所有 () 字符分别转义为 ()

Url(string?, Uri, bool)

返回格式化后的 KMarkdown 链接。

public static string Url(this string? text, Uri url, bool sanitize = true)

Parameters

text string

要格式化的文本。

url Uri

要链接到的 URL。

sanitize bool

是否要先对 texturl 中与当前格式化操作有冲突的字符进行转义。

Returns

string

获取格式化后的链接文本。

Remarks

设置 sanitizetrue 将会对文本中出现的所有 [] 字符分别转义为 [],并对 URL 中出现的所有 () 字符分别转义为 ()

UsernameAndIdentifyNumber(IUser, bool)

保持双向 Unicode 格式化的情况下格式化用户的用户名称 + 识别号。

public static string UsernameAndIdentifyNumber(this IUser user, bool doBidirectional)

Parameters

user IUser

要格式化其用户名称与识别号的用户。

doBidirectional bool

是否要保持双向 Unicode 进行格式化。

Returns

string

获取格式化后的用户名称与识别号。

See Also