Aller au contenu principal

Listes

L'API client.lists vous permet de créer et gérer des listes, d'ajouter ou retirer des comptes, et de lire les fils de listes.

Récupérer les listes

Toutes les listes

final lists = await client.lists.fetch();
for (final list in lists) {
print('${list.id}: ${list.title}');
}

Retourne List<MastodonList> contenant toutes les listes appartenant à l'utilisateur authentifié.

Liste unique

final list = await client.lists.fetchById('42');
print(list.title);
print(list.repliesPolicy); // "followed" | "list" | "none"
print(list.exclusive); // true if home timeline excludes list members

Créer une liste

final list = await client.lists.create(
title: 'Developer friends',
repliesPolicy: 'list', // show replies between list members
exclusive: false,
);
print(list.id);

repliesPolicy accepte :

  • followed — afficher les réponses aux utilisateurs que l'utilisateur suit
  • list — afficher les réponses aux autres membres de la liste
  • none — masquer toutes les réponses

Quand exclusive vaut true, les publications des membres de la liste sont exclues du fil personnel.

Mettre à jour une liste

final updated = await client.lists.update(
'42',
title: 'Close friends',
repliesPolicy: 'followed',
exclusive: true,
);

Supprimer une liste

await client.lists.delete('42');

Gérer les comptes

Récupérer les comptes d'une liste

final page = await client.lists.fetchAccounts(
'42',
limit: 40,
);

for (final account in page.items) {
print(account.acct);
}

Retourne MastodonPage<MastodonAccount>. Utilisez nextMaxId et prevMinId pour la pagination :

MastodonPage<MastodonAccount>? page = await client.lists.fetchAccounts('42');

while (page != null && page.nextMaxId != null) {
page = await client.lists.fetchAccounts(
'42',
maxId: page.nextMaxId,
);
for (final account in page.items) {
print(account.acct);
}
}

Paramètres de pagination :

ParamètreDescription
limitNombre maximum de résultats (défaut : 40, max : 80 ; passez 0 pour tous)
maxIdRetourner les résultats plus anciens que cet ID
sinceIdRetourner les résultats plus récents que cet ID
minIdRetourner les résultats immédiatement après cet ID (pagination en avant)

Ajouter des comptes

Les comptes doivent être suivis par l'utilisateur authentifié.

await client.lists.addAccounts(
'42',
accountIds: ['100', '101', '102'],
);

Retirer des comptes

await client.lists.removeAccounts(
'42',
accountIds: ['101'],
);

Le modèle MastodonList

ChampTypeDescription
idStringID interne de la liste
titleStringTitre de la liste
repliesPolicyStringPolitique d'affichage des réponses (followed / list / none)
exclusiveboolIndique si les membres de la liste sont exclus du fil personnel