Aller au contenu principal

Premiers pas

Bêta

Cette bibliothèque est actuellement en bêta. L'implémentation de l'API est complète, mais la couverture de tests est minimale. Les modèles de réponse et les signatures de méthodes peuvent évoluer suite aux résultats des tests.

Si vous constatez des modèles de réponse incorrects ou un comportement inattendu, veuillez le signaler via GitHub Issues ou soumettre une Pull Request.

misskey_client est une bibliothèque cliente Misskey API écrite en Dart pur. Elle fonctionne dans tout environnement Dart : Flutter, Dart côté serveur, outils CLI, et bien d'autres.

Installation

Ajoutez la dépendance à votre pubspec.yaml :

dependencies:
misskey_client: ^1.0.0-beta.1

Puis récupérez-la :

dart pub get

Utilisation de base

Initialisation du client

import 'package:misskey_client/misskey_client.dart';

final client = MisskeyClient(
config: MisskeyClientConfig(
baseUrl: Uri.parse('https://misskey.example.com'),
),
tokenProvider: () => 'your_access_token',
);

baseUrl doit être un Uri incluant le schéma (par exemple https://). tokenProvider est un rappel qui retourne un FutureOr<String?>. Il peut être omis si vous n'utilisez que des points d'accès ne nécessitant pas d'authentification.

Votre premier appel API

Récupérer les informations du serveur (aucune authentification requise) :

final serverInfo = await client.meta.fetch();
print(serverInfo.name); // Nom du serveur
print(serverInfo.description); // Description du serveur

Récupérer le compte de l'utilisateur authentifié :

final me = await client.account.i();
print(me.name); // Nom d'affichage
print(me.username); // Nom d'utilisateur (sans @)

Structure de l'API

Chaque domaine d'API est exposé en tant que propriété de MisskeyClient :

client.account       // Gestion du compte et du profil (/api/i/*)
client.announcements // Annonces du serveur
client.antennas // Gestion des antennes (surveillance par mots-clés)
client.ap // Points d'accès ActivityPub
client.blocking // Blocage d'utilisateurs
client.channels // Gestion des canaux
client.charts // Graphiques statistiques
client.chat // Messagerie directe
client.clips // Gestion des clips de notes
client.drive // Stockage de fichiers (drive.files, drive.folders, drive.stats)
client.federation // Informations sur les instances fédérées
client.flash // Gestion de Play (Flash)
client.following // Opérations d'abonnement / désabonnement
client.gallery // Gestion des publications de galerie
client.hashtags // Informations sur les hashtags
client.invite // Gestion des codes d'invitation
client.meta // Métadonnées du serveur
client.mute // Mise en sourdine d'utilisateurs
client.notes // Opérations sur les notes (fils d'actualité, création, réactions, etc.)
client.notifications // Récupération et gestion des notifications
client.pages // Gestion des pages
client.renoteMute // Gestion de la mise en sourdine des renotes
client.roles // Gestion des rôles
client.sw // Enregistrement des notifications push Service Worker
client.users // Recherche d'utilisateurs, listes d'abonnements, listes d'utilisateurs

Contrôle des journaux

Les journaux des requêtes et réponses HTTP sont désactivés par défaut. Activez-les via MisskeyClientConfig :

final client = MisskeyClient(
config: MisskeyClientConfig(
baseUrl: Uri.parse('https://misskey.example.com'),
enableLog: true,
),
tokenProvider: () => 'token',
);

Pour rediriger les journaux vers votre propre destination, passez une implémentation de Logger au constructeur :

final client = MisskeyClient(
config: MisskeyClientConfig(
baseUrl: Uri.parse('https://misskey.example.com'),
),
tokenProvider: () => 'token',
logger: FunctionLogger((level, message) {
// level is one of: 'debug', 'info', 'warn', 'error'
myLogger.log(level, message);
}),
);

Consultez Journalisation pour plus de détails.

Étapes suivantes