misskey

package module
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2022 License: GPL-3.0 Imports: 21 Imported by: 6

README

Go Report Card Coverage Status GoDoc Chat on Matrix

Misskey Go SDK

Official Misskey API Documentation: https://misskey.io/api-doc

Check the docs directory for more information.

Progress

Status Endpoint Group Implementation Issue Note
antennas #3
clips #8
drive #9
federation #4
following #10
hashtags #12
meta
notes #6
notifications #15
reactions #14
admin #21 In Progress (84%)
users #17 In Progress
account
app #5
auth
channels
charts #7
groups #19
list #20
messaging #13
pages #16

How to use

For detailed examples, check the example directory.

package main

import (
  "log"

  "github.com/sirupsen/logrus"
  "github.com/yitsushi/go-misskey"
  "github.com/yitsushi/go-misskey/core"
  "github.com/yitsushi/go-misskey/services/meta"
)

func main() {
  client := misskey.NewClient("https://slippy.xyz", "my misskey token")
  client.LogLevel(logrus.DebugLevel)

  stats, err := client.Meta().Stats()
  if err != nil {
    log.Printf("[Meta] Error happened: %s", err)
    return
  }

  log.Printf("[Stats] Instances:          %d", stats.Instances)
  log.Printf("[Stats] NotesCount:         %d", stats.NotesCount)
  log.Printf("[Stats] UsersCount:         %d", stats.UsersCount)
  log.Printf("[Stats] OriginalNotesCount: %d", stats.OriginalNotesCount)
  log.Printf("[Stats] OriginalUsersCount: %d", stats.OriginalUsersCount)
}

How can I get a Misskey Token?

Navigate to Settings > API and there you generate a new token.

How can I debug what's wrong?

There is a logging system, right now it's not very wide spread in the codebase, but if you turn it on, you will be able to see:

  • all request with method, endpoint and body
  • all responds with status code, from what endpoint told and the body

To enable debug mode, just change the LogLevel to DebugLevel:

client := misskey.NewClient("https://slippy.xyz", "my misskey token")
client.LogLevel(logrus.DebugLevel)

The output should look like this:

DEBU[0000] POST https://slippy.xyz/api/antennas/show     _type=request
DEBU[0000] {"antennaId":"8dbpybhulw","i":"my misskey token"}  _type=request
DEBU[0000] {"id":"8dbpybhulw","createdAt":"2020-10-13T16:03:22.674Z","name":"Genshin Impact","keywords":[["genshin"]],"excludeKeywords":[[""]],"src":"all","userListId":null,"userGroupId":null,"users":[""],"caseSensitive":false,"notify":false,"withReplies":true,"withFile":false,"hasUnreadNote":false}  _type=response code=200 from="https://slippy.xyz/api/antennas/show"

Documentation

Index

Constants

View Source
const RequestTimout = 10

RequestTimout is the timeout of a request in seconds.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	BaseURL    string
	Token      string
	HTTPClient core.HTTPClient
	// contains filtered or unexported fields
}

Client is the main Misskey client struct.

func NewClient

func NewClient(baseURL, token string) *Client

NewClient creates a new Misskey Client.

func (*Client) Admin added in v1.0.1

func (c *Client) Admin() *admin.Service

Admin contains all endpoints under /admin.

func (*Client) Antennas

func (c *Client) Antennas() *antennas.Service

Antennas contains all endpoints under /antennas.

func (*Client) Clips

func (c *Client) Clips() *clips.Service

Clips contains all endpoints under /clips.

func (*Client) Drive

func (c *Client) Drive() *drive.Service

Drive contains all endpoints under /drive.

func (*Client) Federation

func (c *Client) Federation() *federation.Service

Federation contains all endpoints under /federation.

func (*Client) Following added in v1.0.2

func (c *Client) Following() *following.Service

Following contains all endpoints under /following.

func (*Client) Hashtags

func (c *Client) Hashtags() *hashtags.Service

Hashtags contains all endpoints under /hashtags.

func (*Client) LogLevel

func (c *Client) LogLevel(level logrus.Level)

LogLevel sets logger level.

func (*Client) Meta

func (c *Client) Meta() *meta.Service

Meta is all the endpoints under Meta in the documentation. They don't have an API pth prefix.

func (*Client) Notes

func (c *Client) Notes() *notes.Service

Notes contains all endpoints under /notes.

func (*Client) Notifications

func (c *Client) Notifications() *notifications.Service

Notifications contains all endpoints under /notifications.

func (*Client) Promo

func (c *Client) Promo() *promo.Service

Promo contains all endpoints under /promo.

func (*Client) Users added in v1.0.4

func (c *Client) Users() *users.Service

Users contains all endpoints under /users.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL