跳到主要内容

内容管理

本页介绍用于管理已屏蔽账号、已静音账号、域名屏蔽和用户举报的 API。

所有列表方法均返回 MastodonPage<T>,其中包含结果项以及从 Link 响应头中解析出的 nextMaxIdprevMinId 游标。详情请参阅 分页 指南。


已屏蔽账号

列出屏蔽

final page = await client.blocks.fetch(limit: 40);
for (final account in page.items) {
print(account.acct);
}

// 下一页
if (page.nextMaxId != null) {
final next = await client.blocks.fetch(maxId: page.nextMaxId);
}

参数:

参数默认值上限说明
limit4080结果数量
maxId返回比此 ID 更旧的结果
sinceId返回比此 ID 更新的结果
minId返回紧接此 ID 之后最旧的结果(反向分页)

屏蔽或取消屏蔽账号请使用 client.accounts.block()client.accounts.unblock()


已静音账号

列出静音

final page = await client.mutes.fetch(limit: 40);
for (final account in page.items) {
print(account.acct);
}

// 下一页
if (page.nextMaxId != null) {
final next = await client.mutes.fetch(maxId: page.nextMaxId);
}

参数:

参数默认值上限说明
limit4080结果数量
maxId返回比此 ID 更旧的结果
sinceId返回比此 ID 更新的结果

静音或取消静音账号请使用 client.accounts.mute()client.accounts.unmute()


域名屏蔽

用户级别的域名屏蔽可以隐藏整个域名的帖子和通知。这与实例级别的域名屏蔽不同(参见 client.instance.fetchDomainBlocks())。

列出已屏蔽域名

final page = await client.domainBlocks.fetch(limit: 100);
for (final domain in page.items) {
print(domain);
}

参数:

参数默认值上限说明
limit100200结果数量
maxId返回比此 ID 更旧的结果
sinceId返回比此 ID 更新的结果
minId返回紧接此 ID 之后最旧的结果(反向分页)

屏蔽域名

await client.domainBlocks.block('spam.example.com');

屏蔽域名后,该域名上所有账号的公开帖子和通知将被隐藏,现有来自该域名的关注者将被移除,并阻止新的关注。

取消屏蔽域名

await client.domainBlocks.unblock('spam.example.com');

举报

举报账号

final report = await client.reports.create(
MastodonReportCreateRequest(
accountId: '12345',
comment: 'This account is posting spam.',
category: 'spam',
),
);
print(report.id);

举报特定帖子

final report = await client.reports.create(
MastodonReportCreateRequest(
accountId: '12345',
statusIds: ['111', '222'],
comment: 'These posts violate the rules.',
category: 'violation',
ruleIds: ['1', '3'],
),
);

转发至远程管理员

forward 设为 true,可将举报副本发送给被举报账号所在服务器的管理员。

final report = await client.reports.create(
MastodonReportCreateRequest(
accountId: '67890',
comment: 'Harassment from a remote account.',
forward: true,
),
);

请求字段

字段必填说明
accountId被举报账号的 ID
statusIds作为证据附加的帖子 ID
comment举报原因(最多 1000 字符)
forward转发给远程服务器管理员
categoryspamlegalviolationother
ruleIds违反的规则 ID(与 violation 类别配合使用)