4.4 KiB
MiPAC
概要
MiPAのCoreとなるライブラリです。
MiPACはMisskey v11, 12, 13をサポートしているApi Wrapperです。 本来気にしないといけないバージョンごとのAPIの違い等を吸収してくれます。
サポートしているMisskey
name | version | supported |
---|---|---|
Misskey Official | v13, v12, v11 | 〇 |
Ayuskey | v5, v6 | 〇 |
使い方
import asyncio
from mipac.client import Client
async def main():
client = Client(url, token)
await client.http.login()
api = client.api
note = await api.note.action.send('Hello World')
print(note.author.name, note.content)
if __name__ == '__main__':
asyncio.run(main())
Migration from v0.3.0 to v0.4.0
configの属性が変更されました
is_official
が削除されました
重要 use_version
が追加されました
Misskeyではv11,v12,v13とバージョンがあり、バージョンによっては使用できないAPIがあったりします。MiPACではuse_version
を指定することで事前に使用できるかどうかを確認し、使用できない場合はNotSupportVersion
という例外を返します。このようにご自分のインスタンスのバージョンを書いていただくだけで、よくわからないエラーを事前に防ぐことが出来ます。(issue等にエラーを報告場合は必ず適切に設定されているか確認してください)
v13はまだリリースされて日が浅く、全てのインスタンスがアップデートしたとは考えにくいため、現在のデフォルト値は12
となっています。
Client
のオプションから config
が削除されました
今後configを参照する際は Client.config
を使用してください。
また、値を更新する場合はClient.config.from_dict()を用いることをお勧めします。
通常の変更方法との違いは以下の通りです。
Client.config.is_ayuskey = True
Client.config.use_version = 13
Client.config.from_dict(is_ayuskey=True, use_version=13)
上記のように複数の値を同時に更新する場合特にfrom_dict
は有効な方法になります。
注意事項
モデルを基本的に自分でインスタンス化することは推奨しません
MiPACのモデルでは多くの場合、キーワード引数に client
を受け取り、それを用いてapi
プロパティを生成します。しかし、サポート途中の機能なのではそこが省かれ、リリース後にモデルのインスタンス化に必要な引数として client
が追加されることがあります。また、他にもモデルの更新のために引数が変更される可能性があります。そのため、引数の変更に関することをCHANGELOG等で通知することはありません。
開発者向け情報
このプロジェクトでは blackのforkである、axblackを利用しています。主な違いはダブルクォートがデフォルトではなく、シングルクォートになっている点です
LICENSE
準備中
Documentation * Discord Server