Aller au contenu principal

Modération

Cette page couvre les APIs pour gérer les comptes bloqués, les comptes masqués, les blocages de domaines et les signalements d'utilisateurs.

Toutes les méthodes de liste retournent MastodonPage<T>, qui contient les éléments de résultat ainsi que les curseurs nextMaxId et prevMinId extraits de l'en-tête de réponse Link. Consultez le guide Pagination pour plus de détails.


Comptes bloqués

Lister les blocages

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

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

Paramètres :

ParamètreDéfautMaxDescription
limit4080Nombre de résultats
maxIdRetourner les résultats plus anciens que cet ID
sinceIdRetourner les résultats plus récents que cet ID
minIdRetourner les résultats les plus anciens après cet ID (pagination inverse)

Pour bloquer ou débloquer un compte, utilisez client.accounts.block() et client.accounts.unblock().


Comptes masqués

Lister les masquages

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

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

Paramètres :

ParamètreDéfautMaxDescription
limit4080Nombre de résultats
maxIdRetourner les résultats plus anciens que cet ID
sinceIdRetourner les résultats plus récents que cet ID

Pour masquer ou démasquer un compte, utilisez client.accounts.mute() et client.accounts.unmute().


Blocages de domaines

Les blocages de domaines au niveau utilisateur masquent les publications et notifications d'un domaine entier. Cela est distinct des blocages de domaines au niveau de l'instance (voir client.instance.fetchDomainBlocks()).

Lister les domaines bloqués

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

Paramètres :

ParamètreDéfautMaxDescription
limit100200Nombre de résultats
maxIdRetourner les résultats plus anciens que cet ID
sinceIdRetourner les résultats plus récents que cet ID
minIdRetourner les résultats les plus anciens après cet ID (pagination inverse)

Bloquer un domaine

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

Bloquer un domaine masque toutes les publications publiques et notifications des comptes de ce domaine, supprime les abonnés existants de ce domaine, et empêche de nouveaux abonnements vers des comptes de ce domaine.

Débloquer un domaine

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

Signalements

Signaler un compte

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

Signaler des statuts spécifiques

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

Transférer à un administrateur distant

Définissez forward: true pour envoyer une copie du signalement aux administrateurs du serveur d'accueil du compte signalé.

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

Champs de la requête

ChampObligatoireDescription
accountIdOuiID du compte à signaler
statusIdsNonIDs de statuts à joindre comme preuves
commentNonMotif du signalement (max 1000 caractères)
forwardNonTransférer à l'administrateur du serveur distant
categoryNonspam, legal, violation ou other
ruleIdsNonIDs des règles enfreintes (utilisé avec la catégorie violation)