Misskey API wrapper for .NET Standard 2.0.
Based on Misskey 10.90.x.
Misskey's documentation is not trustworthy.
If you want to contribute to this library, you SHOULD read Misskey's source code implementation.
This is a generic Misskey API wrapper, we do not implement features unique to the instance.
Some Misskey endpoints require privilege permission (requireAdmin, requireModerator or secure set to true).
Disboard does not support these APIs.
var misskey = new MisskeyClient("misskey.xyz");
// register app
var permissions = new List<Permission> {
Permission.AccountRead, Permission.AccountRead2,
Permission.AccountWrite, Permission.AccountWrite2,
Permission.DriveRead, Permission.DriveWrite,
Permission.FavoritesRead, Permission.FavoriteWrite,
Permission.FollowingRead, Permission.FollowingWrite,
Permission.MessagingRead, Permission.MessagingWrite,
Permission.NoteWrite,
Permission.NotificationWrite,
Permission.ReactionWrite,
Permission.VoteWrite,
};
// permission is "string[]", because Misskey's permission is very flexible and possibility that it will increase in the future.
await misskey.App.CreateAsync("Orion", "Orion is generic microblogging client", permissions.Select(w => w.ToStr()).ToArray(), "https://static.mochizuki.moe/callback.html");
// auth
var session = await misskey.Auth.Session.Generate();
Process.Start(session.Url);
// Wait for user accepts client that access to your info
Console.ReadLine();
await misskey.Auth.Session.UserKeyAsync(session.Token);
// If you want to call REST API, please use method that has "Async()" suffix.
await misskey.IAsync();
try
{
// Streaming API
await misskey.Streaming.ConnectAsync();
var disposable = misskey.Streaming.LocalTimelineAsObservable().Subscribe(w => {
w.Dump();
});
await Task.Delay(1000 * 60);
disposable.Dispose();
// If you want to call REST API using WebSocket connection, please use method that has "WsAsync()" suffix.
await misskey.IWsAsync();
}
catch (Exception e)
{
Debug.WriteLine(e);
}
finally
{
misskey.Streaming.Disconnect();
}