- インスタンス変数にアクセスできない (1056071)
- Update rst & po (b8f6937)
- UserActions.get_mention メソッドを非推奨に (26d0f4e)
- Yupix (@yupix)
今までは以下のように行う必要がありましたが、新たに admin
変数が追加され、直接そのユーザーに対して処置を行うことが出来るようになります。
async with Client('server url', 'token') as client:
api = client.api
found_user = await api.user.action.get('user_id')
await api.admin.user.action.suspend(user_id=found_user.id)
v0.6.2から
async with Client('server url', 'token') as client:
api = client.api
found_user = await api.user.action.get('user_id')
await found_user.api.admin.action.suspend()
- Get_all_search_by_tag メソッドを追加 (9d07afb)
- AdminAccountActionsを追加 (60eaad7)
- Userに対する管理アクションを容易に行えるように (9785774)
- Yupix (@yupix)
- FollowManagerでActionを再生成しないように (bb93d03)
- FollowActions.add メソッドを非推奨に、代わりにcreateメソッドを追加 (69c89a7)
- FollowActions.remove メソッドを非推奨に、代わりにdeleteメソッドを追加 (df2ba4f)
- サポート状況を更新 (be5e608)
- Yupix (@yupix)
今まで MiAuth やアプリ作成方式でのアクセストークンを取得する際に使用できていた AuthClient
を削除しました。今後は MiAuth
クラスをご利用ください。
この変更は Misskey の Schema に似せた形で再実装するにあたり、Misskey の Schema よりも細かくモデルを作成していたため、そういったものを削除した形となります。
UserDetailed
->UserDetailedNotMe | MeDetailed
MeDetailedModerator
->MeDetailed
UserDetailedModerator
->UserDetailedNotMe | MeDetailed
UserDetailedNotLogined
->UserDetailedNotMe | MeDetailed
AdminAnnouncementClientActions
->ClientAdminAnnouncementActions
AnnouncementSystem
->AnnoucementDetailed
MeRole
->RoleUser
AdminAdvertisingModelActions
->ClientAdminAdActions
AdminAdvertisingActions
->AdminAdActions
AdminAdvertisingModelManager
->ClientAdminAdManager
AdminAdvertisingManager
->AdminAdManager
MutedUser
->Muting
*Actions
系にて *_id
のような引数はすべてキーワード引数に変更されました。これはリスコフの置換法則に則るうえで必要な作業であり、今後のコード変更に対する耐性を上げるためでもあります。ご迷惑をお掛けしますがご理解のほどよろしくお願いいたします。
Announcement.action -> ClientAdminAnnouncementActions
->Announcement.action -> ClientAdminAnnouncementManager
AnnouncementDetailed.action -> ClientAdminAnnouncementActions
->AnnouncementDetailed.action -> ClientAdminAnnouncementManager
今まで多くの配列を返すメソッドをジェネレータとして作成していましたが、少ししかデータは要らないのに async for
を書くのは大変ということで get_all
引数を廃止します。
これにより今まで get_all
引数があった ジェネレータは全て通常の list 等を返すメソッドに変更されます。
今まで通りのジェネレータとしての機能が必要な場合は get_all_*
というメソッドが新しく増えているためそちらをご利用ください。
このリリースは最新の Misskey 向けに最適化された develop
ブランチの物となります。インスタンスで v11
や v12
を利用している場合は更新しないことをおすすめします。
主に削除されたモデルはチャットです。その他にも admin
向けのエンドポイントで既に削除されている物を削除しました。
v13 でのリクエストボディーに合わせて引数の追加なども行っています。
詳しくはこちらの Issueを御覧ください。
今まで通りの全てのバージョンをサポートした MiPAC を利用したい場合は以下のコマンドで shared
ブランチの物をご利用いただけます。
今後 v11
や v12
のブランチを作成しそれぞれの最新のバージョンをサポートする予定です。そのため、shared
ブランチは保守モードに入り、基本的にはバグの修正のみを提供します。機能追加も行う可能性はありますが、v11 や v12、最新の Misskey のサポートが終わってからになります。
pip install git+https://github.com/yupix/Mi.py.git@shared
今まで Lite と Partial が混在していましたが、今回のアップデートを期に Partial
に統一されます
v0.5.0 | v0.6.0 |
---|---|
ClientNoteActions.get_children |
ClientNoteActions.get_all_children |
ClientNoteActions.get_reaction |
ClientNoteActions.get_reactions |
Drive に関する Manager や Actions を全て作り直しました。詳細に記述してるといつまでも終わらないので、ご迷惑をおかけしますが、確認していただけると幸いです 🙏
一部のモデルがより良い形で再実装されました。結果的にモデル名が変わっています。以下がその変更後の表になります。
v0.5.0 | v0.6.0 | 変更理由 |
---|---|---|
UserRole | PartialRole | Role と共通していた為 User よりも Role の Partial クラスにする方が適切だと考えた為 |
PartialNote | Note | 分ける必要性が無かったため(実際どこにも使用していなかった) |
MuteUser | MutedUser | より分かりやすい名前に変更 |
名前 | 削除されるバージョン | 理由 |
---|---|---|
UserRole | 0.7.0 | PartialRole に変更 |
mipac.util
モジュールが削除されました- 例外
CredentialsError
が追加されました
今後は API を使用した際に自動でユーザーが自分自身かを判断し、自身であった場合は UserDetailed
ではなく、 MeDetailed
を返すようになります。
MeDetailed
と UserDetailed
の共有体型の場合は isinstance
を用いて判断が行えます。
また、RoleUser
等のように専用のユーザーモデルがある場合は MeRole
のようなモデルを作成し、どちらかを返すようになります。
※まだ全てのメソッドに適応されたわけではなく、ごく一部のみの適応となっています。
async def main():
async with Client("https://nr.akarinext.org", "token") as client:
api = client.api
users = await api.admin.action.show_users(username="yupix")
for user in users:
if isinstance(user, MeDetailed):
print(user.is_admin)
LiteUser
モデルにbadge_roles
プロパティーが追加されました
エンドポント | MiPAC でのメソッド |
---|---|
/api/admin/invite/create |
api.admin.invite.action.create_invite |
/api/admin/invite/list |
api.admin.invite.action.get_invite_list |
/api/roles/list |
api.role.action.get_list |
/api/roles/show |
api.role.action.get |
/api/roles/users |
api.role.action.get_users |
/api/roles/notes |
api.role.action.get_notes |
RoleUser
モデルでLiteUser
を使用していましたが、正しくはUserDetailed
aiohttp
:3.8.4
=>3.8.5
理由としては axblack
の更新が止まっており、また移行先である blue
も更新が止まっているからです。今後は 通常の black
を使用したフォーマット使用するようにお願いします。
pagination_iterator
関数が新規に追加され、pagination の処理を楽に使えるようになりました。その際に Model 以外のクラスを受け取らないよう識別するのに使用します。
一時的にセッションを作成したい場合などに login
メソッドや close_session
メソッドを使用するのは非常に手間であるため、一時的にセッションを作成したいといった場合におすすめします。
async with Client('server url', 'token') as client:
api = client.api
async for emoji in api.admin.emoji.action.gets():
print(emoji)
サポートされた演算は __eq__
と __ne__
の 2 つです。一意の ID と判断しにくい物は現状サポートしていません。
一意の ID があるにもかかわらず、サポートされていないモデルがある際は Issue を作成してください。
note_one = await api.note.action.get('note one')
note_two = await api.note.action.get('note one')
note_three = await api.note.action.get('note two')
print(note_one == note_two, note_one != note_two)
print(note_one == note_three, note_one != note_three)
今まではモデルに api
プロパティーが無かったため、 api
プロパティーからアクションにアクセスし、対象のメソッドに対してファイル ID などといった引数を自分で渡す必要がありましたが、今後はモデルから直接実行できます。
-async for file in api.drive.file.action.get_files(get_all=True):
- await api.drive.file.action.remove(file.id)
+async for file in api.drive.file.action.get_files(get_all=True):
+ await file.api.action.remove()
指定したパス、または Buffer にファイルをダウンロードできるようになりました。 パスを指定する場合
async for file in api.drive.file.action.get_files(get_all=True):
await file.api.action.save(f'./test/{file.name}')
Buffer を指定する場合:
async for file in api.drive.file.action.get_files(get_all=True):
with open(f'./test/{file.name}', mode='mb') as f:
await file.api.action.save(f)
/api/admin/emoji/set-license-bulk
/api/antennas/create
/api/antennas/delete
/api/antennas/list
/api/antennas/notes
/api/antennas/show
/api/antennas/update
/api/clips/create
/api/clips/delete
/api/clips/list
/api/clips/show
/api/clips/update
/api/notes/clips
/api/clips/add-note
/api/clips/remove-note
/api/clips/notes
/api/clips/my-favorites
/api/users/clips
/api/channels/create
/api/channels/featured
/api/channels/follow
/api/channels/followed
/api/channels/owned
/api/channels/show
/api/channels/unfollow
/api/channels/update
/api/channels/favorite
/api/channels/unfavorite
/api/channels/my-favorites
/api/channels/search
影響を受けるのはキーワード引数を使用していた方です。位置引数を使用していた方は特に問題ありません。
-Client.api.admin.emoji.action.gets(all=True)
+Client.api.admin.emoji.action.gets(get_all=True)
何故あったのか分かりませんが、Manager の責務から逸脱しているためです
NoteActions.get
NoteActions.fetch
メソッドにおいてnote_id
が optional になっているのはおかしいため必須の引数に変更しました
- 一部
all
引数が存在しないが、 built-in のall
が存在することで動作していた箇所が修正されました ClientNoteActions
においてnote_id
が無かった場合の例外処理が無かった為追加
- 新しい実績をサポートしました
- クリップがサポートされました
- ロールの作成時に
is_explorable
を使用できるようになりました。- 最新のインスタンス等で無いと使用できない可能性があります
- update_meta のリクエスト時に
server_rules
パラメータが使用できるようになりました- このパラメータは
13.11.3
以降のバージョン(13.11.3
は含みません)を使用している場合は必須であり、それ以前のバージョンを使用している場合は指定するとエラーが発生する可能性があります。
- このパラメータは
NoteActions.get_replies
がClientNoteActions.getriplies
に移動され、ClientNoteActions
でも使用可能になりました。(NoteActions は ClientNoteActions を継承しているため今後とも使用できます)- 全取得が以下のメソッドでサポートされました。それに伴い、一部のメソッドがジェネレーターになっています。
FederationActions.get_followers
FederationActions.get_following
FederationActions.get_users
AdminAnnouncementActions.gets
AdminRoleModelActions.get_users
AdminAdvertisingActions.get_list
AdminActions.get_moderation_logs
NoteActions.get_replies
NoteActions.gets
FileActions.get_files
ClientFolderActions.get_files
DriveActions.get_folders
Pagination
クラスが追加されました- 基本的にユーザーが使うことは想定されていません
- @omg-xtao can cancel setup_logging when init client.
- models/user にあった
FollowRequest
クラスが削除されました
- 以下のエンドポイントがサポートされます。
emoji
channels/favorite
channels/unfavorite
channels/my-favorites
- 以下のクラスを追加
IChannelNote
PartialNote
Note
クラスでtags
を取得できるようにClient
クラスのコンストラクタ引数に以下を追加use_version
use_version_autodetect
ClientManager
に属性emoji
を追加Channel
にapi
プロパティを追加CustomEmoji
にhost
プロパティを追加ChannelLite
にapi
プロパティを追加Folder
にapi
プロパティを追加File
にapi
プロパティを追加Channel
クラスはChannelLite
を継承しているため必然的にこちらにもapi
プロパティが増えています
FileActions
のremove_file
メソッドが非推奨になります。 今後はremove
メソッドをご利用ください。v0.5.0
で削除されます。INoteRequired
がIPartialNote
に変更されましたmipac.util
モジュールはmipac.utils
配下のauth
,cache
,format
,log
,util
の 5 つに分離しました。そのためv0.5.0
で削除されます。- 今後は
mipac.utils.*
をご利用ください
- 今後は
FileActions
クラスのshow_file
メソッドで引数にデフォルト値が入っていないのを修正Note
のプロパティで一部戻り値が正しくないChannelLite
クラスにis_following
プロパティは存在してはいけないので修正- tip:
Channel
クラスに移動されました
- tip:
LiteUser
からname
プロパティが削除されました。- 今後は
nickname
をご利用ください
- 今後は
MiPAC は v13, v12, v11 という大きな区切りでエンドポイントが利用可能かを確認しています。その都合上、v13 でサポートされいた物、例えばチャットが13.7.0
で廃止されたような場合、MiPAC は最新の Misskey に追従しているため、デフォルトの挙動を変更します。これにより、13.7.0
に更新してなかったり、fork
を使用していてチャットが存在する場合でもチャットを使用すると例外であるNotSupportVersion
が発生してしまいます。その対策としてこの機能が追加されました。
この config の主な役割は以下の通りです。
- 最新の Misskey では使用できないが、自身が使用しているサーバーのバージョンでは使用できる場合に該当する物を有効にすることで例外を返さず、使用できるようにする
使い方は以下の通りです。また、現在サポートされている feature はchat
のみです。
async def main():
client = Client(auth.currentUser.url, auth.currentUser.token)
await client.http.login()
api = client.api
client.config.from_dict(features={'chat': True})
MiPAC では文字数等にデフォルトで最新の Misskey の値を入れています。しかし、一部の Fork で文字数の制限が緩和されている・制限されている場合に正しくエラーを返せなくなる可能性があります。その対策としてこの機能が追加されました。
また、自分で作成・使用している Fork でこれ存在するからデフォルトでサポートしてくれない?という物がありましたら、Issue を作成してくだされば検討します。
- Note 周りのメソッドで
visibility
の型を正確に - 以下のエンドポイントがサポートされます。
i/claim-achievement
blocking/create
blocking/delete
blocking/list
admin/ad/create
admin/ad/delete
admin/ad/list
admin/ad/update
- Added
IT_ACHIEVEMENT_NAME
fixed variable. - Added class the given below.
- Channel
IChannelLite
ChannelLite
ChannelActions
ChannelManager
- Blocking
BlockingUser
IBlockingUser
BlockingActions
BlockingManager
- Ad
AdminAdvertisingModelActions
AdminAdvertisingActions
Ad
IAd
AdminAdvertisingModelManager
AdminAdvertisingManager
- Channel
- Added
block
attribute toUserManager
. - Added
channel
attribute toClientManager
. - Added
reaction_emojis
property toNote
. - Added
reaction_acceptance
property toNote
.
- chat が v13 で廃止された為 v13 を利用している際は例外を返すように変更しました。
- v13 だが、fork や chat が廃止される前のバージョンを使用していてチャットが使用したい際は新しい機能である
config.features
をご利用ください
- v13 だが、fork や chat が廃止される前のバージョンを使用していてチャットが使用したい際は新しい機能である
- aiohttp のバージョンを
3.8.4
に固定 - Token を使用しなくても API が一部使用できるようになりました。当然ですが、認証が必要な API を使用した場合はエラーが出ます。
Config.from_dict
の引数が全てキーワード引数になりました。これは今後 Config に引数が増えた際など、変更に強くするためです。
- サポートする気が無いため、sphinx を用いたドキュメントを削除
Note.reply
のキーがrenote
になっていて取得不可になっていた
これはデフォルトで有効になっており、有効の間は自動的に /api/meta
からバージョンを推論します。機能としては以下の通りです
-
11, 12, 13 にヒットした場合それらにバージョンを変更する - ヒットしなかった場合は何もしない Misskey 公式のバージョンニングを元に判断している為、独自のバージョニングを行っているフォーク等では正常に動作しない可能性があります。その際は
client.config.use_version_autodetect = False
とすることで無効にすることが可能です。また、手動でバージョンを設定する場合も off にしてください。 一部の API はバージョンとフォークの種類で判断しています。そのため公式のバージョン的には使用できないが、フォークの機能として存在するという場合は報告をくださればサポートします。 -
Added
role
property toAdminManager
. -
Added
remove_none
argument to request method. -
Added method to
ClientActions
class the given below.get_announcements
-
Added class the given below.
AdminUserActions
AnnouncementCommon
Announcement
AnnouncementSystem
IMetaAnnouncement
IAnnouncementSystem
AdminAnnouncementClientActions
AdminAnnouncementActions
AdminAnnouncementManager
IModerationLog
ModerationLog
ServerInfoCpu
ServerInfoMem
ServerInfoFs
ServerInfoNet
ServerInfo
IServerInfoCpu
IServerInfoMem
IServerInfoFs
IServerInfoNet
IServerInfo
ITableStats
IIndexStat
IndexStat
IUserIP
UserIP
FederationActions
FederationManager
IFederationInstanceStat
IFederationFollowCommon
IFederationFollower
IFederationFollowing
-
Roles
IRolePolicieValue
IRolePolicies
IRole
RolePolicyValue
RolePolicies
Role
AdminRoleActions
AdminRolesManager
IRoleUser
RoleUser
-
Achievements
- added
IAchievementNf
class. - added
NotificationAchievement
class. - added
Achievement
class. - added
get_achievements
method atUserActions
class. - added
achievements
property atUserDetailed
class.
- added
-
Note
- content field auto convert empty string to None
- Maximum number of characters has been changed from 79 to 99
- The main reason for this change is to solve the problem that the MiPAC code is inevitably longer because of the method chain. We have kept it to the maximum of pep8.
- Changed a method that was returning an
AsyncIterator
to return anAsyncGenerator
.- Generator is more correct than Iterator because it is the correct usage.
- Changed class name the given below.
IAnnouncement
->IMetaAnnouncement
cache
decorator no longer usesdynamic_args
decorator
- Delete
dynamic_args
decorator. - Delete debug log.
- added DocString.
- added
get_state
method atClientNoteActions
class. - added
INoteState
class. - added
NoteState
class. - added
IBasePoll
class. - added
ICreatePoll
class. - added
MiPoll
class. - added
PollManager
class. - added
PollActions
class. - added
AdminEmojiActions
class. - added
AdminManager
class. - added
AdminModeratorManager
class. - added
ActiveUsersChart
class. - added
IDriveChart
class. - added
IDriveLocalChart
class. - added
IDriveRemoteChart
class. - added attribute
is_official
atConfig
class.- became
is_ayuskey
attribute is deprecated(I'll remove with v0.4.0)
- became
- added
get_exception_from_id
function. - Return an exception appropriate for the error encountered.
- @omg-xtao added
users_search_by_username_and_host
method atUserActions
class #24. - @omg-xtao added
note_translate
method atUserActions
class #24. - @omg-xtao added
users_search
method atUserActions
class #24. - added new
ClientActions
class. - added
avatar_color
property atLiteUser
class.- Note: Since avatar_color is deprecated in v13, only None is returned for v13 instances.
- added
un_renote
method atClientNoteActions
class. - added
get_children
method atClientNoteActions
class. - added
invalidate
method atFollowActions
class. - added
cancel
method atFollowRequestActions
class. - added
mute
attribute atUserManager
class. - added
MuteManager
class. - added
MuteActions
class. - added
MuteUser
class. - added
IMuteUser
class. - added
AdminActions
class. - added
ICustomEmojiLiteRequired
class. - The following methods are added to the
AdminEmojiActions
class.gets
gets_remote
- added some meta class.
ICPU
IPolicies
IAnnouncement
IV12Features
IV11Features
IFeatures
IV12AdminMeta
ISharedAdminMeta
ILiteV12Meta
ILiteV11Meta
IMetaCommonV12
ICommonV11
IMetaCommon
ILiteMeta
IV12Meta
IMeta
IAdminMeta
Policies
Features
Meta
AdminMeta
CPU
MetaCommon
LiteMeta
- added some federation class.
IFederationInstanceRequired
IFederationInstance
FederationInstance
- added some notification classes.
Notification
NotificationFollow
NotificationFollowRequest
NotificationNote
NotificationPollEnd
NotificationReaction
IUserNf
INoteNf
IPollEndNf
- rename
ActiveUsersChartPayload
class toIActiveUsersChart
class. - rename
DriveLocalChartPayload
class toIDriveLocalChart
class. - rename
DriveRemoteChartPayload
class toIDriveRemoteChart
.class. - rename
DriveChartPayload
class toIDriveChart
class. - The attribute
emojis
for Note and LiteUser is obsolete in misskey v13, so v13 will return an empty list. - config is now a global variable.
- If you want to change the config, please use
Client.config.from_dict
.
- If you want to change the config, please use
- CustomEmoji now inherits PartialCustomEmoji.
- PartialCustomEmoji url has been changed to return
str | None
to match v13. - AdminManager's
get_invite
method has been moved to `AdminActions. - BREAKING CHANGE
ClientActions
has been changed toClientManager
- BREAKING CHANGE Some paths will be changed as follows
manager.admin
->manager.admins
manager.admin.manager
->manager.admins.admin
actions.admin
->actions.admins
- BREAKING CHANGE
- The
action
property in the model has been changed toapi
.- Change
note.action.send
tonote.api.action.send
.
- Change
- Moved the reaction attribute of
ClientActions
toNoteManager
.- Change
api.reaction
toapi.note.reaction
.
- Change
- Moved methods from
AdminEmojiManager
toAdminEmojiActions
.- Change
api.admin.emoji.add
toapi.admin.emoji.action.add
.
- Change
- Moved methods from
AdminModeratorManager
toAdminModeratorActions
.- Change
api.admin.moderator.add
toapi.admin.moderator.action.add
.
- Change
- Moved methods from
ChartManager
toChartActions
.- Change
api.chart.get_active_user
toapi.chat.action.get_active_user
.
- Change
- Moved methods from
FollowManager
toFollowActions
.- Change
api.user.follow.add
toapi.user.follow.action.add
.
- Change
- Moved methods from
FollowRequestManager
toFollowRequestActions
.api.user.follow.action.get_all
.
- Moved some attributes of
NoteActions
toNoteManager
.- Change
api.note.action.reaction.add
toapi.note.reaction.action.add
.
- Change
- Moved the reaction attribute of
NoteActions
toClientNoteManager
.- Change
api.note.action.reaction
toapi.note.reaction.action
. - Change
api.note.action.favorite
toapi.note.favorite.action
.
- Change
- The
- can't delete emoji with v12.
- fixed
ChatMessage
model.- For v13, the url is automatically generated. (Although it returns None by type, it never actually returns None.
- fixed
Chat
action. - fixed
Chat
action.
- The following attributes have been removed
api.user.action.note
- Delete
RawActiveUsersChart
class. - Delete
RawDriveLocalChart
class. - Delete
RawDriveRemoteChart
class. - Delete
RawDriveChart
class. - Delete
get_user
method atFollowRequestActions
class. - removed some meta classes.
LiteInstanceMeta
IInstanceMetaLite
IInstanceFeatures
IInstancePolicies
InstanceMeta
- added
NoteDeleted
class. - added
INoteUpdatedDeleteBody
class. - added
INoteUpdatedDelete
class. str_to_datetime
関数を追加
PartialReaction
クラスでuser_id
が取得できないINoteUpdatedReaction
の型が間違っている
- fix
INoteUpdated
type
- BREAKING CHANGE Required Python version is 3.11
LiteUser
にaction
プロパティを追加しました。- これにより
UserDetailed
の方からaction
が削除されていますが、UserDetailed
はLiteUser
を継承しているため今まで通りご利用いただけます
- これにより
UserActions
クラスにget_profile_link
メソッドを追加しました
INoteUpdated
クラスを追加しましたINoteUpdatedReactionBody
クラスを追加しましたINoteUpdatedReaction
クラスを追加しましたPartialCustomEmoji
クラスを追加しましたPartialReaction
クラスを追加しました
ISignin
クラスを追加
- Note モデルの
content
が無い場合 KeyError になる - Note モデルの
cw
が無い場合 KeyError になる
ClientNoteManager
クラスを追加しましたClientNoteActions
クラスを追加しました
NoteActions
が持っているノートに対する操作をClientNoteActions
に移動しました- 継承しているため今まで通り使用できます
- send メソッドの引数
extract_hashtags
が正常に動作しない
NoteAction.send
メソッドで作成したノートのモデルが生成できないrequest
メソッドで戻り値が list ではなく dist だった場合 snake case に置き換えできない
LiteUser
に属性name
を互換性の為に再追加しましたが、非推奨です。v0.4.0 で削除する予定ですusername
とname
の違いを区別しにくい可能性がある為、新たに使用する際はnickname
を使用することを推奨しています
- deprecated に関する仕組みを変更しました。
- 該当するコードを表示するようになっています
- 型の間違い等
- 使用しているインポートが
TYPE_CHECKING
の条件式の中に入っていた為使用できない get_mention
メソッドでusername
ではなくnickname
を使用していた為正しい mention が作れないLiteUser
クラスの属性instance
で Bot と同じインスタンスのユーザーの場合は None を返せず KeyError になる可能性があったLiteUser
クラスの属性host
を取得すると KeyError になる可能性があった
deprecated_property
decorator を削除しましたdeprecated_func
decorator を削除しました
NoteActions
にgets
メソッドが追加されました #MP-20- Type Hint の追加
- WebSocket を使用した際のレスポンスクラスを
MisskeyClientWebSocketResponse
クラス に Reaction
クラスをNotificationReaction
に変更しましたIUserLite
をILiteUser
に変更しましたLiteUser
の属性name
をnickname
に変更しました。LiteUser
を継承しているクラスも同様に変更されていますのでご注意ください。
- print を使用したデバッグログを削除しました
- added
Modeler
class - added
IReactionRequired
class - added
IAds
class - added
LiteInstance
class - added
IReactionNf
class - added
INote
class - added
ICustomEmoji
class - added
CustomEmoji
class - added
InstanceMeta
class - added
LiteInstanceMeta
- added
IInstanceMetaLiteRequired
class - added
IInstanceMetaLite
class - added
IInstanceMeta
class - added
IPage
class - added
IPageRequired
class - added
IUserDetailedField
class - added
IUserDetailedRequired
class - added
IUserDetailed
class - added
ChatGroup
class - added
ChatMessage
class - added
IChatGroup
class - NoteActions クラスに
get
fetch
メソッドを追加 - データをキャッシュするためのツールを utils.py に追加
- orjson が使用者の環境にある場合は json ではなく orjson を使用するようになりました
Dict[Any, Any]
のような構文を typing モジュールを使わないdict[any, any]
に変更List[Any, Any]
のような構文を typing モジュールを使わないlist[any, any]
に変更Channel
クラスをRawChannel
を用いて作るようにPinnedNote
クラスをRawPinnedNote
を用いて作るように- change class name
PinnedNotePayload
->IPinnedNote
- change class name
ChannelPayload
->IChannel
- change class name
NotePayload
->INote
- BREAKING CHANGE renamed
Client.action
toClient.api
.
Renote
クラスを削除しました。今後はNote
クラスをご利用くださいIRenote
,RenotePayload
クラスを削除しました。今後はINote
クラスをご利用くださいRawEmoji
,Emoji
クラスを削除しました。 今後はCustomEmoji
クラスをご利用くださいEmojiPayload
クラスを削除しました。今後はICustomEmoji
クラスをご利用くださいIReactionRequired
,ReactionPayload
を削除しました。 今後はIReactionNf
クラスをご利用くださいRawUser
,User
クラスを削除しました。今後はUserDetailed
,LiteUser
クラスをご利用くださいRawInstance
クラスを削除しました。今後はLiteInstance
クラスをご利用くださいRawProperties
クラスを削除しました。今後はFileProperties
クラスをご利用くださいRawFolder
クラスを削除しました。今後はFolder
クラスをご利用くださいRawFile
クラスを削除しました。 今後はFile
クラスをご利用くださいRawChat
,Chat
クラスを削除しました。 今後はChatMessage
クラスをご利用くださいChatPayload
クラスを削除しました。 今後はIChatMessage
クラスをご利用くださいget_note
メソッドを削除しました。今後はget
もしくはfetch
メソッドをご利用くださいaiocache
を使用しないようになりました
- 一部の型が正しくないのを修正しました
__all__
の定義- utils.py に
AuthClient
クラスを追加しました Config
クラスを追加しましたClient
クラスの引数にconfig
を追加しましたFileActions
クラスを追加しましたFolderActions
クラスを追加しました- README.md に使い方を追加
Note
クラスのcreated_at
属性の type hint をOptional[str]
=>Optional[datetime]
に変更Note
クラスのcw
属性の取得方法が get ではなかったので修正- BREAKING CHANGE
FileManager
,FolderManager
,DriveManager
の役割が変わりました- 例だと
FolderManager.get_files()
だったコードがFolderManager.action.get_files()
と行ったふうに Actions クラスを経由するようになりました
- 例だと
- 開発者向け情報
Folder
クラスの引数にclient
を追加しました
- config が無く動かなかった場所の修正
- 誤った型の修正
- 重複した属性を削除
- 不要な import の削除
- 終わっている TODO を削除しました