API Reference#

このセクションではMi.pyのAPIについて説明します

注釈

このライブラリではloggingを用いてdebug出力が可能です。標準設定では出ないため、起動時の引数として debug を渡すようにしてください

イベントリファレンス#

mi.on_ready(ws)#

botがwebsocketに接続し終えた時点で呼び出されます。

mi.on_message(note: Note)#

ノートが接続しているチャンネル内に投稿された際に呼び出されます

mi.on_emoji_add(emoji: Emoji)#

絵文字がインスタンスに追加された際に呼び出されます

mi.on_mention(mention: Note)#

メンションが含まれたノートなどが投稿された際に呼び出されます

抽象基底クラス#

abstract base class はメソッドなどの一覧を取得するために継承することが可能なクラスです。抽象基底クラスはインスタンス化することはできません。

AbstractBotBase#

class mi.abc.AbstractChat[ソース]#

AbstractChatContent#

class mi.abc.AbstractChatContent[ソース]#

Misskey モデル#

危険

下記のクラスは、 ユーザーによって作成されることを考慮していません 。 独自のインスタンスは作成するべきではなく、値を変更するべきではありません。

Note#

Methods
class mi.Note[ソース]#
await reply(content, cw=None, extract_mentions=True, extract_hashtags=True, extract_emojis=True, renote_id=None, channel_id=None, file_ids=None, poll=None)[ソース]#

ノートに対して返信を送信します

パラメータ
  • content (Optional[str]) -- 返信内容

  • cw (Optional[str]) -- 閲覧注意

  • extract_mentions (bool, optional) -- メンションを展開するか, by default False

  • extract_hashtags (bool, optional) -- ハッシュタグを展開するか, by default False

  • extract_emojis (bool, optional) -- 絵文字を展開するか, by default False

  • renote_id (Optional[str], optional) -- リノート先のid, by default None

  • channel_id (Optional[str], optional) -- チャンネルid, by default None

  • file_ids ([type], optional) -- 添付するファイルのid, by default None

  • poll (Optional[Poll], optional) -- アンケート, by default None

emoji_count()[ソース]#

ノートの本文にemojiが何個含まれているかを返します

戻り値

含まれている絵文字の数

戻り値の型

int

User#

Methods
class mi.User[ソース]#
await get_profile()[ソース]#

ユーザーのプロフィールを取得します

戻り値

ユーザーのプロフィールオブジェクト

戻り値の型

User

get_followers(until_id=None, limit=10, get_all=False)[ソース]#

ユーザーのフォロワー一覧を取得します

パラメータ
  • until_id (str, default=None) -- 前回のフォロワーの続きを取得する場合の起点とするユーザーid

  • limit (int, default=10) -- 最大何人取得するか, max=100

  • get_all (bool, default=False) -- 全てのフォロワーを取得するか否か

戻り値

ユーザーのフォロワー一覧

戻り値の型

AsyncIterator[FollowRequest]

Chat#

Methods
class mi.Chat[ソース]#

チャットオブジェクト

await delete()[ソース]#

チャットを削除します(チャットの作者である必要があります)

戻り値

成功したか否か

戻り値の型

bool

Emoji#

class mi.Emoji[ソース]#

Renote#

Methods
class mi.Renote[ソース]#
emoji_count()[ソース]#

ノートの本文にemojiが何個含まれているかを返します

戻り値

含まれている絵文字の数

戻り値の型

int

Follow#

Methods
class mi.Follow[ソース]#
await follow()[ソース]#

ユーザーをフォローします :returns: * bool -- 成功ならTrue, 失敗ならFalse

  • str -- 実行に失敗した際のエラーコード

await unfollow(user_id=None)[ソース]#

与えられたIDのユーザーのフォローを解除します

パラメータ

user_id (Optional[str] = None) -- フォローを解除したいユーザーのID

戻り値

成功ならTrue, 失敗ならFalse

戻り値の型

status

データクラス#

Properties#

class mi.Properties[ソース]#

File#

class mi.File[ソース]#

Reaction#

class mi.Reaction[ソース]#

例外処理#

NotFoundError#

class mi.NotFoundError[ソース]#

http アクセス時に404が帰ってきた際の例外

TaskNotRunningError#

class mi.TaskNotRunningError[ソース]#

タスクを停止しようとした際、タスクが起動していない場合に発生する例外

ImAi#

class mi.ImAi[ソース]#

私は藍です

InternalServerError#

class mi.InternalServerError[ソース]#

http アクセス時に500が帰ってきた際の例外

ClientError#

class mi.ClientError[ソース]#

http アクセス時に400が帰ってきた際の例外

AuthenticationError#

class mi.AuthenticationError[ソース]#

認証で問題が発生した際の例外

NotExistRequiredParameters#

class mi.NotExistRequiredParameters[ソース]#

必須のパラメーターが存在しない場合の例外

InvalidParameters#

class mi.InvalidParameters[ソース]#

パラメーターが無効

CredentialRequired#

class mi.CredentialRequired[ソース]#

認証情報が不足している

ContentRequired#

class mi.ContentRequired[ソース]#

送信するコンテンツが不足している

CogNameDuplicate#

class mi.CogNameDuplicate[ソース]#

cogの名前が重複している

ExtensionAlreadyLoaded#

class mi.ExtensionAlreadyLoaded[ソース]#

cogがすでに読み込まれている

ExtensionFailed#

class mi.ExtensionFailed[ソース]#

cog周りのエラー

NoEntryPointError#

class mi.NoEntryPointError[ソース]#

cogにsetup関数が無い場合の例外

ExtensionNotFound#

class mi.ExtensionNotFound[ソース]#

指定されたパスにcogが存在しない場合の例外

CommandRegistrationError#

class mi.CommandRegistrationError[ソース]#

コマンド登録時のエラー

CommandError#

class mi.CommandError[ソース]#

コマンドで問題が発生した際の例外

CommandInvokeError#

class mi.CommandInvokeError[ソース]#

コマンドの実行に問題が発生した際の例外

CheckFailure#

class mi.CheckFailure[ソース]#

コマンドの実行可能かのチェックに失敗した際の例外

InvalidCogPath#

class mi.InvalidCogPath[ソース]#

cogのパスが不正

NotExistRequiredData#

class mi.NotExistRequiredData[ソース]#

必要なデータが存在しない場合に発生する例外

Low-Level API#

class mi.Route[ソース]#
class mi.HTTPClient[ソース]#
class mi.ConnectionState[ソース]#
parse_channel(message)[ソース]#

parse_channel is a function to parse channel event

チャンネルタイプのデータを解析後適切なパーサーに移動させます

パラメータ

message (Dict[str, Any]) -- Received message

parse_unfollow(message)[ソース]#

フォローを解除した際のイベントを解析する関数

parse_signin(message)[ソース]#

ログインが発生した際のイベント

parse_receive_follow_request(message)[ソース]#

フォローリクエストを受け取った際のイベントを解析する関数

parse_reply(message)[ソース]#

リプライ

parse_follow(message)[ソース]#

ユーザーをフォローした際のイベントを解析する関数

parse_followed(message)[ソース]#

フォローイベントを解析する関数

parse_mention(message)[ソース]#

メンションイベントを解析する関数

parse_messaging_message(message)[ソース]#

チャットが来た際のデータを処理する関数

parse_unread_messaging_message(message)[ソース]#

チャットが既読になっていない場合のデータを処理する関数

parse_notification(message)[ソース]#

通知イベントを解析する関数

パラメータ

message (Dict[str, Any]) -- Received message

parse_unread_notification(message)[ソース]#

未読の通知を解析する関数

パラメータ

message (Dict[str, Any]) -- Received message

parse_reaction(message)[ソース]#

リアクションに関する情報を解析する関数

parse_note(message)[ソース]#

ノートイベントを解析する関数

await get_user(user_id=None, username=None, host=None)[ソース]#

ユーザーのプロフィールを取得します。一度のみサーバーにアクセスしキャッシュをその後は使います。 fetch_userを使った場合はキャッシュが廃棄され再度サーバーにアクセスします。

パラメータ
  • user_id (str) -- 取得したいユーザーのユーザーID

  • username (str) -- 取得したいユーザーのユーザー名

  • host (str, default=None) -- 取得したいユーザーがいるインスタンスのhost

戻り値

ユーザー情報

戻り値の型

dict

await post_chat(content, *, user_id=None, group_id=None, file_id=None)[ソース]#

チャットを送信します。

パラメータ
  • content (str) -- 送信する内容

  • user_id (str, optional) -- ユーザーid, default=None

  • group_id (str, optional) -- グループid, default=None

  • file_id (str, optional) -- 添付するファイルid, efault=None

戻り値

チャットの内容

戻り値の型

Chat

await delete_chat(message_id)[ソース]#

指定したidのメッセージを削除します。

パラメータ

message_id (str) -- メッセージid

戻り値

成功したか否か

戻り値の型

bool

async for ... in get_followers(user_id=None, username=None, host=None, since_id=None, until_id=None, limit=10, get_all=False)[ソース]#

与えられたユーザーのフォロワーを取得します

パラメータ
  • user_id (str, default=None) -- ユーザーのid

  • username (str, default=None) -- ユーザー名

  • host (str, default=None) -- ユーザーがいるインスタンスのhost名

  • since_id (str, default=None) --

  • until_id (str, default=None) -- 前回の最後の値を与える(既に実行し取得しきれない場合に使用)

  • limit (int, default=10) -- 取得する情報の最大数 max: 100

  • get_all (bool, default=False) -- 全てのフォロワーを取得する

列挙

dict -- フォロワーの情報

例外

InvalidParameters -- limit引数が不正な場合

await get_announcements(limit, with_unreads, since_id, until_id)[ソース]#
パラメータ
  • limit (int) -- 最大取得数

  • with_unreads (bool) -- 既読済みか否か

  • since_id (str) --

  • until_id (str) -- 前回の最後の値を与える(既に実行し取得しきれない場合に使用)

Low-Layer API#

class mi.MisskeyClientWebSocketResponse[ソース]#
class mi.MisskeyWebSocket[ソース]#
class mi.InstanceIterator[ソース]#
async for ... in get_users(limit=10, *, offset=0, sort=None, state='all', origin='local', username=None, hostname=None, get_all=False)[ソース]#
パラメータ
  • limit (int) --

  • offset (int) --

  • sort (str) --

  • state (str) --

  • origin (str) --

  • username (str) --

  • hostname (str) --

  • get_all (bool) --

戻り値の型

Iterator[User]