discordpy - en to ja_JP translation catalogue (311 entries)

en: Migrating to v1.0
ja_JP: v1.0への移行

en: v1.0 is one of the biggest breaking changes in the library due to a complete redesign.
ja_JP: v1.0 は完全な書き直しによる、ライブラリの中で最大の破壊的な変更の1つです。

en: The amount of changes are so massive and long that for all intents and purposes, it is a completely new library.
ja_JP: 変更量が膨大かつ長く、どこからどう見ても完全に新しいライブラリです。

en: Part of the redesign involves making things more easy to use and natural. Things are done on the :ref:`models <discord_api_models>` instead of requiring a :class:`Client` instance to do any work.
ja_JP: 再設計の一部は、物事をより使いやすく、自然にすることです。 :ref:`models <discord_api_models>` では、 :class:`Client` インスタンスを動作させる代わりに行われます。

en: Python Version Change
ja_JP: Pythonのバージョンの変更

en: In order to make development easier and also to allow for our dependencies to upgrade to allow usage of 3.7 or higher, the library had to remove support for Python versions lower than 3.5.3, which essentially means that **support for Python 3.4 is dropped**.
ja_JP: discord.py の開発をより簡単にし、またその依存関係にあるライブラリをアップグレードして Python 3.7 以上を使えるようにするために、 discord. py は Python 3.5.3 より古いバージョンに対するサポートを諦めざるを得ませんでした。これはつまり **Python 3.4 に対するサポートは打ち切られた** ということです。

en: Major Model Changes
ja_JP: 主要なモデルの変更

en: Below are major model changes that have happened in v1.0
ja_JP: 以下は、v1.0における主なモデルの変更点です。

en: Snowflakes are int
ja_JP: Snowflakeのint型への変更

en: Before v1.0, all snowflakes (the ``id`` attribute) were strings. This has been changed to :class:`int`.
ja_JP: v1.0以前は、全てのsnowflakes ( ``id`` 属性) が文字列でしたが、 :class:`int` に変更されました。

en: Quick example: ::
ja_JP: 簡単な例：

en: This change allows for fewer errors when using the Copy ID feature in the official client since you no longer have to wrap it in quotes and allows for optimisation opportunities by allowing ETF to be used instead of JSON internally.
ja_JP: この変更により，公式クライアントの「 ID をコピー」機能を使用した際に間違いがより起こりにくくなりました。もはや取得した ID をクォーテーションマークで囲う必要はありませんし，内部で JSON の代わりに ETF を用いることで最適化の機会を得ることにもなります。

en: Server is now Guild
ja_JP: Server から Guild に変更。

en: The official API documentation calls the "Server" concept a "Guild" instead. In order to be more consistent with the API documentation when necessary, the model has been renamed to :class:`Guild` and all instances referring to it has been changed as well.
ja_JP: 公式APIドキュメントでは「Server」は「Guild」と呼ばれています。APIドキュメントとの一貫性を保つために、モデルの名称が :class:`Guild` に変更され、それを参照するすべてのインスタンスも変更されました。

en: A list of changes is as follows:
ja_JP: 変更の一覧は以下の通りです。

en: Before
ja_JP: 変更前

en: After
ja_JP: 変更後

en: Models are Stateful
ja_JP: モデルのステートフル化

en: As mentioned earlier, a lot of functionality was moved out of :class:`Client` and put into their respective :ref:`model <discord_api_models>`.
ja_JP: 前述したように、多くの機能が :class:`Client` からそれぞれの :ref:`model <discord_api_models>` へと移されました。

en: A list of these changes is enumerated below.
ja_JP: これらの変更点の一覧は以下の通りです。

en: :meth:`Member.ban` or :meth:`Guild.ban`
ja_JP: :meth:`Member.ban` または :meth:`Guild.ban`

en: :meth:`Guild.create_text_channel` and :meth:`Guild.create_voice_channel`
ja_JP: :meth:`Guild.create_text_channel` と :meth:`Guild.create_voice_channel`

en: :meth:`abc.GuildChannel.set_permissions` with ``overwrite`` set to ``None``
ja_JP: :meth:`abc.GuildChannel.set_permissions` の ``overwrite`` を ``None`` に設定しました。

en: :meth:`Invite.delete` or :meth:`Client.delete_invite`
ja_JP: :meth:`Invite.delete` または :meth:`Client.delete_invite`

en: :meth:`TextChannel.edit` or :meth:`VoiceChannel.edit`
ja_JP: :meth:`TextChannel.edit` または :meth:`VoiceChannel.edit`

en: :meth:`ClientUser.edit` (you get this from :attr:`Client.user`)
ja_JP: :meth:`ClientUser.edit` ( :attr:`Client.user` から取得可能)

en: :meth:`abc.GuildChannel.invites` or :meth:`Guild.invites`
ja_JP: :meth:`abc.GuildChannel.invites` または :meth:`Guild.invites`

en: :meth:`VoiceChannel.connect` (see :ref:`migrating_1_0_voice`)
ja_JP: :meth:`VoiceChannel.connect` ( :ref:`migrating_1_0_voice` を参照)

en: :meth:`Guild.kick` or :meth:`Member.kick`
ja_JP: :meth:`Guild.kick` または :meth:`Member.kick`

en: :meth:`abc.Messageable.history` (see :ref:`migrating_1_0_async_iter`)
ja_JP: :meth:`abc.Messageable.history` ( :ref:`migrating_1_0_async_iter` を参照)

en: :meth:`abc.Messageable.send` (see :ref:`migrating_1_0_sending_messages`)
ja_JP: :meth:`abc.Messageable.send` ( :ref:`migrating_1_0_sending_messages` を参照)

en: :meth:`abc.Messageable.trigger_typing` (use :meth:`abc.Messageable.typing`)
ja_JP: :meth:`abc.Messageable.trigger_typing` ( :meth:`abc.Messageable.typing` を使用してください)

en: :meth:`Guild.unban` or :meth:`Member.unban`
ja_JP: :meth:`Guild.unban` または :meth:`Member.unban`

en: :meth:`Client.wait_for` (see :ref:`migrating_1_0_wait_for`)
ja_JP: :meth:`Client.wait_for` ( :ref:`migrating_1_0_wait_for` を参照)

en: Removed
ja_JP: 削除済

en: No change
ja_JP: 変更なし

en: Property Changes
ja_JP: プロパティの変更

en: In order to be a bit more consistent, certain things that were properties were changed to methods instead.
ja_JP: 一貫性を持たせるために、いくつかのプロパティがメソッドに変更されました。

en: The following are now methods instead of properties (requires parentheses):
ja_JP: プロパティの代わりに追加されたメソッドは以下のとおりです。(使用の際にはカッコが必要です)

en: Dict Value Change
ja_JP: 辞書の値の変更

en: Prior to v1.0 some aggregating properties that retrieved models would return "dict view" objects.
ja_JP: v1.0以前では、複数のモデルを集約して取得するプロパティは「辞書ビュー」オブジェクトで結果を返していました。

en: As a consequence, when the dict would change size while you would iterate over it, a RuntimeError would be raised and crash the task. To alleviate this, the "dict view" objects were changed into lists.
ja_JP: これは、オブジェクトを用いて繰り返し処理を行っている間に、辞書サイズが変更されたとき、RuntimeErrorを発生させてタスクをクラッシュさせていました。これを軽減させるため「辞書ビュー」オブジェクトはリストに変更されました。

en: The following views were changed to a list:
ja_JP: 以下のビューがリストへ変更されています。

en: :attr:`Client.users` (new in v1.0)
ja_JP: :attr:`Client.users` (v1.0で新規追加)

en: :attr:`Client.emojis` (new in v1.0)
ja_JP: :attr:`Client.emojis` (v1.0にて追加)

en: :attr:`Guild.text_channels` (new in v1.0)
ja_JP: :attr:`Guild.text_channels` (v1.0にて追加)

en: :attr:`Guild.voice_channels` (new in v1.0)
ja_JP: :attr:`Guild.voice_channels` (v1.0にて追加)

en: Voice State Changes
ja_JP: ボイスステートの変更

en: Earlier, in v0.11.0 a :class:`VoiceState` class was added to refer to voice states along with a :attr:`Member.voice` attribute to refer to it.
ja_JP: v0.11.0では、ボイスステートを参照するために :class:`VoiceState` が追加され、このクラスを参照するために :attr:`Member.voice` が使われていました。

en: However, it was transparent to the user. In an effort to make the library save more memory, the voice state change is now more visible.
ja_JP: これはユーザーにとって透過的なものでしたが、ライブラリがメモリを節約できるようボイスステートの変化が可視的になりました。

en: The only way to access voice attributes is via the :attr:`Member.voice` attribute. Note that if the member does not have a voice state this attribute can be ``None``.
ja_JP: ボイスの属性にアクセスするには :attr:`Member.voice` を用いる方法しか存在しません。メンバーがボイスステートを持たない場合は ``None`` が返ることに注意してください。

en: User and Member Type Split
ja_JP: ユーザーとメンバーの分離

en: In v1.0 to save memory, :class:`User` and :class:`Member` are no longer inherited. Instead, they are "flattened" by having equivalent properties that map out to the functional underlying :class:`User`. Thus, there is no functional change in how they are used. However this breaks :func:`isinstance` checks and thus is something to keep in mind.
ja_JP: v1.0では、メモリの節約のため、 :class:`Member` は :class:`User` のサブクラスではなくなりました。代わりに、 :class:`User` に記述されたものと同等のプロパティを実装することで、この二つのクラスはフラット化されています。そのため、使用方法に機能的変更はありません。ただし、 :func:`isinstance` が使えなくなってしまったことは留意しておくべきです。

en: These memory savings were accomplished by having a global :class:`User` cache, and as a positive consequence you can now easily fetch a :class:`User` by their ID by using the new :meth:`Client.get_user`. You can also get a list of all :class:`User` your client can see with :attr:`Client.users`.
ja_JP: メモリの節約は、グローバルな :class:`User` のキャッシュを持つことで実現しました。これによって :meth:`Client.get_user` を使ってIDから簡単に :class:`User` を取得できます。また、あなたのクライアントが見ることができる :class:`User` を :attr:`Client.users` ですべて取得できるようにもなりました。

en: Channel Type Split
ja_JP: チャンネルタイプの分割

en: Prior to v1.0, channels were two different types, ``Channel`` and ``PrivateChannel`` with a ``is_private`` property to help differentiate between them.
ja_JP: v1.0以前のバージョンでは、チャンネルは ``is_private`` で判別する ``Channel`` と ``PrivateChannel`` の二通りしかありませんでした。

en: In order to save memory the channels have been split into 4 different types:
ja_JP: メモリ使用量を削減するため、チャンネルを4つのタイプへ分割しました。

en: :class:`TextChannel` for guild text channels.
ja_JP: ギルドのテキストチャンネル用である :class:`TextChannel` 。

en: :class:`VoiceChannel` for guild voice channels.
ja_JP: ギルドのボイスチャンネル用である :class:`VoiceChannel` 。

en: :class:`DMChannel` for DM channels with members.
ja_JP: メンバーのDMチャンネル用である :class:`DMChannel` 。

en: :class:`GroupChannel` for Group DM channels with members.
ja_JP: メンバーが参加するグループDMチャンネル用である :class:`GroupChannel` 。

en: With this split came the removal of the ``is_private`` attribute. You should now use :func:`isinstance`.
ja_JP: これらに分割されたことにより、 ``is_private`` は削除されました。v1.0では :func:`isinstance` を使うべきでしょう。

en: The types are split into two different :ref:`discord_api_abcs`:
ja_JP: 型は二通りの :ref:`discord_api_abcs` に分けられます。

en: :class:`abc.GuildChannel` for guild channels.
ja_JP: ギルドのチャンネルを表す :class:`abc.GuildChannel` 。

en: :class:`abc.PrivateChannel` for private channels (DMs and group DMs).
ja_JP: プライベートチャンネル(DMやグループDM)を表す :class:`abc.PrivateChannel` 。

en: So to check if something is a guild channel you would do: ::
ja_JP: チャンネルがギルドチャンネルであるかをチェックしたい場合:

en: And to check if it's a private channel you would do: ::
ja_JP: チャンネルがプライベートチャンネルであるかをチェックしたい場合:

en: Of course, if you're looking for only a specific type you can pass that too, e.g. ::
ja_JP: もちろん、特定のチャンネルタイプを探したい場合、そのチャンネルタイプを渡すことも可能です。

en: With this type split also came event changes, which are enumerated in :ref:`migrating_1_0_event_changes`.
ja_JP: この型の分割により、イベントにも変更がありました。これについては、 :ref:`migrating_1_0_event_changes` で列挙されています。

en: Miscellaneous Model Changes
ja_JP: その他のモデルの変更点

en: There were lots of other things added or removed in the models in general.
ja_JP: その他にも、モデルに追加または削除されたものが多くあります。

en: They will be enumerated here.
ja_JP: 以下がその一覧です。

en: **Removed**
ja_JP: **削除済**

en: :meth:`Client.login` no longer accepts email and password logins.
ja_JP: :meth:`Client.login` はメールとパスワードによるログインを受け付けなくなりました。

en: Use a token and ``bot=False``.
ja_JP: トークンと ``bot=False`` を使用してください。

en: Use :attr:`Client.emojis` instead.
ja_JP: 代わりに :attr:`Client.emojis` を使用してください。

en: Use read-only :attr:`Client.cached_messages` instead.
ja_JP: 読み取り専用の :attr:`Client.cached_messages` を代わりに使用してください。

en: ``Client.wait_for_message`` and ``Client.wait_for_reaction`` are gone.
ja_JP: ``Client.wait_for_message`` と ``Client.wait_for_reaction`` は削除されました。

en: Use :meth:`Client.wait_for` instead.
ja_JP: 代わりに :meth:`Client.wait_for` を使用してください。

en: Use :attr:`VoiceChannel.members` instead.
ja_JP: 代わりに :attr:`VoiceChannel.members` を使用してください。

en: Use ``isinstance`` instead with one of the :ref:`discord_api_abcs` instead.
ja_JP: 代わりに :ref:`discord_api_abcs` のいずれかを使って、 ``isinstance`` を使用してください。

en: e.g. ``isinstance(channel, discord.abc.GuildChannel)`` will check if it isn't a private channel.
ja_JP: 例: ``isinstance(channel, discord.abc.GuildChannel)`` はプライベートチャンネルでないことを確認します。

en: There is no replacement for this one. This functionality is deprecated API wise.
ja_JP: これに代わるものはありません。この機能はAPI的に非推奨です。

en: ``Guild.default_channel`` / ``Server.default_channel`` and ``Channel.is_default``
ja_JP: ``Guild.default_channel`` / ``Server.default_channel`` と ``Channel.is_default``

en: The concept of a default channel was removed from Discord. See `#329 <https://github.com/hammerandchisel/discord-api-docs/pull/329>`_.
ja_JP: デフォルトチャンネルの概念はDiscordから削除されました。 `#329 <https://github.com/hammerandchisel/discord-api-docs/pull/329>`_ を参照してください。

en: Use :attr:`Message.edited_at` instead.
ja_JP: 代わりに :attr:`Message.edited_at` を使用してください。

en: Use :attr:`Message.created_at` instead.
ja_JP: 代わりに :attr:`Message.created_at` を使用してください。

en: Use :meth:`Colour.to_rgb` instead.
ja_JP: 代わりに :meth:`Colour.to_rgb` を使用してください。

en: Use :attr:`Permissions.view_audit_log` instead.
ja_JP: 代わりに :attr:`Permissions.view_audit_log` 使用してください。

en: Use :attr:`Member.activities` instead.
ja_JP: 代わりに :attr:`Member.activities` 使用してください。

en: Use :attr:`Guild.roles` instead. Note that while sorted, it is in the opposite order of what the old ``Guild.role_hierarchy`` used to be.
ja_JP: 代わりに :attr:`Guild.roles` を使用してください。ソート順が以前の ``Guild.role_hierarchy`` とは逆になっていることに注意してください。

en: **Changed**
ja_JP: **変更**

en: :attr:`Member.avatar_url` and :attr:`User.avatar_url` now return the default avatar if a custom one is not set.
ja_JP: :attr:`Member.avatar_url` と :attr:`User.avatar_url` はアバターが設定されていなければ、デフォルトアバターが返るようになりました。

en: :attr:`Message.embeds` is now a list of :class:`Embed` instead of :class:`dict` objects.
ja_JP: :attr:`Message.embeds` は :class:`dict` オブジェクトから :class:`Embed` のリストに変更されました。

en: :attr:`Message.attachments` is now a list of :class:`Attachment` instead of :class:`dict` object.
ja_JP: :attr:`Message.attachments` は :class:`dict` オブジェクトから :class:`Attachment` のリストに変更されました。

en: :attr:`Guild.roles` is now sorted through hierarchy. The first element is always the ``@everyone`` role.
ja_JP: :attr:`Guild.roles` はヒエラルキー順にソートされるようになりました。先頭には必ず ``@everyone`` が格納されます。

en: **Added**
ja_JP: **追加**

en: :class:`Attachment` to represent a discord attachment.
ja_JP: Discordのアタッチメントを表す :class:`Attachment` 。

en: :class:`CategoryChannel` to represent a channel category.
ja_JP: チャンネルのカテゴリを表す :class:`CategoryChannel` 。

en: :attr:`VoiceChannel.members` for fetching members connected to a voice channel.
ja_JP: ボイスチャンネルに接続しているメンバーを取得する :attr:`VoiceChannel.members` 。

en: :attr:`TextChannel.members` for fetching members that can see the channel.
ja_JP: テキストチャンネルを閲覧可能なメンバーを取得する :attr:`TextChannel.members` 。

en: :attr:`Role.members` for fetching members that have the role.
ja_JP: 役割を持っているメンバーを取得する :attr:`Role.members` 。

en: :attr:`Guild.text_channels` for fetching text channels only.
ja_JP: テキストチャンネルのみを取得する :attr:`Guild.text_channels` 。

en: :attr:`Guild.voice_channels` for fetching voice channels only.
ja_JP: ボイスチャンネルのみを取得する :attr:`Guild.voice_channels` 。

en: :attr:`Guild.categories` for fetching channel categories only.
ja_JP: チャンネルのカテゴリのみを取得する :attr:`Guild.categories` 。

en: :attr:`TextChannel.category` and :attr:`VoiceChannel.category` to get the category a channel belongs to.
ja_JP: チャンネルが属するカテゴリを取得する :attr:`TextChannel.category` と :attr:`VoiceChannel.category` 。

en: :meth:`Guild.by_category` to get channels grouped by their category.
ja_JP: カテゴリによってグループ化されたチャンネルを取得する :meth:`Guild.by_category` 。

en: :attr:`Guild.chunked` to check member chunking status.
ja_JP: メンバーのチャンク状態を確認する :attr:`Guild.chunked` 。

en: :attr:`Guild.explicit_content_filter` to fetch the content filter.
ja_JP: 不適切な表現のフィルターを取得する :attr:`Guild.explicit_content_filter` 。

en: :attr:`Guild.shard_id` to get a guild's Shard ID if you're sharding.
ja_JP: シャードを使用している場合にて、ギルドのシャード IDを取得する :attr:`Guild.shard_id` 。

en: :attr:`Client.users` to get all visible :class:`User` instances.
ja_JP: Botによって取得できる :class:`User` インスタンスをすべて返す :attr:`Client.users` 。

en: :meth:`Client.get_user` to get a :class:`User` by ID.
ja_JP: :meth:`Client.get_user` はIDから :class:`User` を取得します。

en: :meth:`User.avatar_url_as` to get an avatar in a specific size or format.
ja_JP: 特定のサイズ、あるいはフォーマットのアバターを取得する :meth:`User.avatar_url_as` 。

en: :meth:`Guild.vanity_invite` to fetch the guild's vanity invite.
ja_JP: ギルドのカスタム招待URLを取得する :meth:`Guild.vanity_invite` 。

en: :meth:`Guild.audit_logs` to fetch the guild's audit logs.
ja_JP: ギルドのサーバーログを取得する :meth:`Guild.audit_logs` 。

en: :attr:`Message.webhook_id` to fetch the message's webhook ID.
ja_JP: メッセージのWebhook IDを取得する :attr:`Message.webhook_id` 。

en: :attr:`Message.activity` and :attr:`Message.application` for Rich Presence related information.
ja_JP: リッチプレゼンスに関する情報を取得する :attr:`Message.activity` および :attr:`Message.application` 。

en: :meth:`TextChannel.is_nsfw` to check if a text channel is NSFW.
ja_JP: テキストチャンネルがNSFWであるかを確認する :meth:`TextChannel.is_nsfw` 。

en: :meth:`Colour.from_rgb` to construct a :class:`Colour` from RGB tuple.
ja_JP: RGBのタプルから :class:`Colour` を作成する :meth:`Colour.from_rgb` 。

en: :meth:`Guild.get_role` to get a role by its ID.
ja_JP: IDからロールを取得する :meth:`Guild.get_role` 。

en: Sending Messages
ja_JP: メッセージの送信

en: One of the changes that were done was the merger of the previous ``Client.send_message`` and ``Client.send_file`` functionality into a single method, :meth:`~abc.Messageable.send`.
ja_JP: 変更点の一つは、以前の ``Client.send_message`` と ``Client.send_file`` の機能を単一のメソッド :meth:`~abc.Messageable.send` に統合したことです。

en: Basically: ::
ja_JP: 基本的には以下のとおりです: ::

en: This supports everything that the old ``send_message`` supported such as embeds: ::
ja_JP: これは埋め込みメッセージなどといった、従来の ``send_message`` が持っていた機能を全てサポートしています。

en: There is a caveat with sending files however, as this functionality was expanded to support multiple file attachments, you must now use a :class:`File` pseudo-namedtuple to upload a single file. ::
ja_JP: これはファイルの送信に対応できるように拡張されましたが、複数のファイルを送信する際には、 :class:`File` の擬似的な名前付きタプルでファイルを渡す必要があります。

en: This change was to facilitate multiple file uploads: ::
ja_JP: この変更は、複数の添付ファイルの送信を容易にするために行われました。

en: Asynchronous Iterators
ja_JP: 非同期のイテレータ

en: Prior to v1.0, certain functions like ``Client.logs_from`` would return a different type if done in Python 3.4 or 3.5+.
ja_JP: v1.0以前のバージョンは、Python 3.4 または 3.5以上の環境において ``Client.logs_from`` のような特定の関数で、処理終了時に異なった型を返していました。

en: In v1.0, this change has been reverted and will now return a singular type meeting an abstract concept called :class:`AsyncIterator`.
ja_JP: これはv1.0で元に戻り、 :class:`AsyncIterator` という抽象概念を満たす特異な型を返します。

en: This allows you to iterate over it like normal: ::
ja_JP: これは通常のイテレータと同様の処理が行なえます。

en: Or turn it into a list: ::
ja_JP: またはリストにできます。

en: A handy aspect of returning :class:`AsyncIterator` is that it allows you to chain functions together such as :meth:`AsyncIterator.map` or :meth:`AsyncIterator.filter`: ::
ja_JP: :class:`AsyncIterator` を返すことで便利な点は :meth:`AsyncIterator.map` や :meth:`AsyncIterator.filter` といった関数をチェーンできることです: ::

en: The functions passed to :meth:`AsyncIterator.map` or :meth:`AsyncIterator.filter` can be either coroutines or regular functions.
ja_JP: :meth:`AsyncIterator.map` または :meth:`AsyncIterator.filter` に渡される関数はコルーチンか通常の関数です。

en: You can also get single elements a la :func:`discord.utils.find` or :func:`discord.utils.get` via :meth:`AsyncIterator.get` or :meth:`AsyncIterator.find`: ::
ja_JP: :meth:`AsyncIterator.get` または :meth:`AsyncIterator.find` を介して :func:`discord.utils.get` または :func:`discord.utils.find` で単一の要素を取得することもできます。

en: The following return :class:`AsyncIterator`:
ja_JP: :class:`AsyncIterator` を返すのは以下のとおりです:

en: Event Changes
ja_JP: イベントの変更点

en: A lot of events have gone through some changes.
ja_JP: 多くのイベントに変更がありました。

en: Many events with ``server`` in the name were changed to use ``guild`` instead.
ja_JP: 名前に ``server`` が含まれていたイベントのほとんどが、 ``guild`` を使った名前に変更されました。

en: Before:
ja_JP: 変更前：

en: After:
ja_JP: 変更後：

en: The :func:`on_voice_state_update` event has received an argument change.
ja_JP: :func:`on_voice_state_update` イベントの引数が変更されました。

en: Before: ::
ja_JP: 変更前：

en: After: ::
ja_JP: 変更後：

en: Instead of two :class:`Member` objects, the new event takes one :class:`Member` object and two :class:`VoiceState` objects.
ja_JP: 新しくなったイベントは、二つの :class:`Member` の代わりに、 一つの :class:`Member` と二つの :class:`VoiceState` を受け取るようになりました。

en: The :func:`on_guild_emojis_update` event has received an argument change.
ja_JP: :func:`on_guild_emojis_update` イベントの引数が変更されました。

en: The first argument is now the :class:`Guild` that the emojis were updated from.
ja_JP: 最初の引数は絵文字の更新が行われた :class:`Guild` です。

en: The :func:`on_member_ban` event has received an argument change as well:
ja_JP: :func:`on_member_ban` も引数が変更されました。

en: As part of the change, the event can either receive a :class:`User` or :class:`Member`. To help in the cases that have :class:`User`, the :class:`Guild` is provided as the first parameter.
ja_JP: 変更の一つは、イベントが :class:`Member` または :class:`User` のどちらかを受け取れるようになったことです。 :class:`User` で受け取る場合には第一引数として :class:`Guild` が渡されます。

en: The ``on_channel_`` events have received a type level split (see :ref:`migrating_1_0_channel_split`).
ja_JP: ``on_channel_`` のようなイベントは、チャンネルタイプにより分割されました ( :ref:`migrating_1_0_channel_split` を参照)。

en: The ``on_guild_channel_`` events correspond to :class:`abc.GuildChannel` being updated (i.e. :class:`TextChannel` and :class:`VoiceChannel`) and the ``on_private_channel_`` events correspond to :class:`abc.PrivateChannel` being updated (i.e. :class:`DMChannel` and :class:`GroupChannel`).
ja_JP: ``on_guild_channel_`` イベントは更新される :class:`abc.GuildChannel` (:class:`TextChannel` および :class:`VoiceChannel`)に対応しており、 ``on_private_channel_`` イベントは更新される :class:`abc.PrivateChannel` (:class:`DMChannel` および :class:`GroupChannel`)に対応しています。

en: Voice Changes
ja_JP: ボイスの変更

en: Voice sending has gone through a complete redesign.
ja_JP: ボイスの送信が完全に再構成されました。

en: In particular:
ja_JP: 主な変更点は以下のとおりです。

en: Connection is done through :meth:`VoiceChannel.connect` instead of ``Client.join_voice_channel``.
ja_JP: ボイスチャンネルへの接続は ``Client.join_voice_channel`` に代わって :meth:`VoiceChannel.connect` になりました。

en: You no longer create players and operate on them (you no longer store them).
ja_JP: プレイヤーを作成せずに操作が可能になりました。(プレイヤーの保存の必要もありません)

en: You instead request :class:`VoiceClient` to play an :class:`AudioSource` via :meth:`VoiceClient.play`.
ja_JP: 代わりに :class:`VoiceClient` の :meth:`VoiceClient.play` を介して :class:`AudioSource` の再生を要求します。

en: There are different built-in :class:`AudioSource`\s.
ja_JP: 様々な組み込み :class:`AudioSource` があります。

en: :class:`FFmpegPCMAudio` is the equivalent of ``create_ffmpeg_player``
ja_JP: :class:`FFmpegPCMAudio` は ``create_ffmpeg_player`` と同等です。

en: create_ffmpeg_player/create_stream_player/create_ytdl_player have all been removed.
ja_JP: create_ffmpeg_player/create_stream_player/create_ytdl_player はすべて削除されました。

en: The goal is to create :class:`AudioSource` instead.
ja_JP: 代わりに :class:`AudioSource` を作成してください。

en: Using :meth:`VoiceClient.play` will not return an ``AudioPlayer``.
ja_JP: :meth:`VoiceClient.play` を呼び出しても ``AudioPlayer`` は返ってきません。

en: Instead, it's "flattened" like :class:`User` -> :class:`Member` is.
ja_JP: 代わりに、:class:`User` と :class:`Member` のように、「フラット化」されています。

en: The ``after`` parameter now takes a single parameter (the error).
ja_JP: ``after`` パラメータの関数は、ひとつの引数 (エラー) を取ります。

en: Basically:
ja_JP: 基本的には以下のとおりです。

en: With the changed :class:`AudioSource` design, you can now change the source that the :class:`VoiceClient` is playing at runtime via :attr:`VoiceClient.source`.
ja_JP: :class:`AudioSource` の再設計により、 :attr:`VoiceClient.source` を介して実行中の :class:`VoiceClient` のソースを変更できるようになりました。

en: For example, you can add a :class:`PCMVolumeTransformer` to allow changing the volume: ::
ja_JP: 例えば、 :class:`PCMVolumeTransformer` を追加すると、ボリュームの変更ができるようになります。

en: An added benefit of the redesign is that it will be much more resilient towards reconnections:
ja_JP: 再設計によるさらなる利点は、再接続において遥かに柔軟性を持ったことです。

en: The voice websocket will now automatically re-connect and re-do the handshake when disconnected.
ja_JP: 音声ウェブソケットは、切断された際に自動的に再接続し、ハンドシェイクを再実行します。

en: The initial connect handshake will now retry up to 5 times so you no longer get as many ``asyncio.TimeoutError``.
ja_JP: 初期接続のハンドシェイクは、最大5回までの再試行となったので、大量の ``asyncio.TimeoutError`` に悩まされることはなくなりました。

en: Audio will now stop and resume when a disconnect is found.
ja_JP: VCの切断を検知すると、オーディオは停止し、再開しようとします。

en: This includes changing voice regions etc.
ja_JP: これはサーバーリージョンの変更も含まれます。

en: Waiting For Events
ja_JP: イベントの待機

en: Prior to v1.0, the machinery for waiting for an event outside of the event itself was done through two different functions, ``Client.wait_for_message`` and ``Client.wait_for_reaction``. One problem with one such approach is that it did not allow you to wait for events outside of the ones provided by the library.
ja_JP: v1.0以前のバージョンでは、イベントの発生を待つ方法として ``Client.wait_for_message`` と ``Client.wait_for_reaction`` の二つの関数が用意されていました。このアプローチの欠点はライブラリが提供するイベント以外の発生を待つことが出来ない点です。

en: In v1.0 the concept of waiting for another event has been generalised to work with any event as :meth:`Client.wait_for`.
ja_JP: v1.0では別のイベントを待つ概念が :meth:`Client.wait_for` として一般化され、どのイベントでも動くようになりました。

en: For example, to wait for a message: ::
ja_JP: 例えば、メッセージを待つ処理は以下のようになります。

en: To facilitate multiple returns, :meth:`Client.wait_for` returns either a single argument, no arguments, or a tuple of arguments.
ja_JP: 複数の返り値に対応するため、 :meth:`Client.wait_for` は単一の引数、引数なし、あるいは引数のタプルを返すようになっています。

en: For example, to wait for a reaction: ::
ja_JP: 例えば、リアクションを待つ処理は以下のようになります。

en: Since this function now can return multiple arguments, the ``timeout`` parameter will now raise a :exc:`asyncio.TimeoutError` when reached instead of setting the return to ``None``. For example:
ja_JP: この関数は複数の引数を返すため、 ``timeout`` に設定した時間経過すると、 ``None`` を返すのではなく、 :exc:`asyncio.TimeoutError` を発生させるようになりました。以下はその例になります。

en: Upgraded Dependencies
ja_JP: 依存関係のアップグレード

en: Following v1.0 of the library, we've updated our requirements to :doc:`aiohttp <aio:index>` v2.0 or higher.
ja_JP: ライブラリのv1.0への更新に伴い、要件が :doc:`aiohttp <aio:index>` v2.0以上へと変更されました。

en: Since this is a backwards incompatible change, it is recommended that you see the `changes <http://aiohttp.readthedocs.io/en/stable/changes.html#rc1-2017-03-15>`_ and the :doc:`aio:migration_to_2xx` pages for details on the breaking changes in :doc:`aiohttp <aio:index>`.
ja_JP: これは後方互換性のない変更となるため、 :doc:`aiohttp <aio:index>` の変更点の詳細について `changes <http://aiohttp.readthedocs.io/en/stable/changes.html#rc1-2017-03-15>`_ と :doc:`aio:migration_to_2xx` ページを参照すべきです。

en: Of the most significant for common users is the removal of helper functions such as:
ja_JP: ユーザーにとって最も重要な変更点は、以下のヘルパー関数の削除です。

en: It is recommended that you create a session instead: ::
ja_JP: 代わりにセッションを作成することをお勧めします。

en: Since it is better to not create a session for every request, you should store it in a variable and then call ``session.close`` on it when it needs to be disposed.
ja_JP: リクエストごとにセッションを作成するのは良いとは言えないため、変数に格納しておき、破棄しなければならない時に ``session.close`` を呼び出すのが良いでしょう。

en: Sharding
ja_JP: シャーディング

en: The library has received significant changes on how it handles sharding and now has sharding as a first-class citizen.
ja_JP: シャーディングの扱いに対して大きな変更があり、現在、シャーディングは第一級オブジェクトとして扱われています。

en: If using a Bot account and you want to shard your bot in a single process then you can use the :class:`AutoShardedClient`.
ja_JP: Botアカウントを使用していて、かつ一つのプロセスでBotをシャーディングしたい場合は、 :class:`AutoShardedClient` を使用してください。

en: This class allows you to use sharding without having to launch multiple processes or deal with complicated IPC.
ja_JP: このクラスは複数のプロセスを起動したり、IPCを処理することなくシャーディングが行えます。

en: It should be noted that **the sharded client does not support user accounts**. This is due to the changes in connection logic and state handling.
ja_JP: シャーディングしたクライアントはユーザーアカウントをサポートしないことを覚えておきましょう。これは、接続の形態と状態処理の変更によるものです。

en: Usage is as simple as doing: ::
ja_JP: 使い方は簡単です。

en: instead of using :class:`Client`.
ja_JP: :class:`Client` の代わりに上記のようにしてください。

en: This will launch as many shards as your bot needs using the ``/gateway/bot`` endpoint, which allocates about 1000 guilds per shard.
ja_JP: これは ``/gateway/bot`` エンドポイントを使って、あなたのBotに必要な数のシャードを起動します。このエンドポイントはシャードごとに1000ギルドを割り当てます。

en: If you want more control over the sharding you can specify ``shard_count`` and ``shard_ids``. ::
ja_JP: シャードをより詳細に制御したい場合は、 ``shard_count`` と ``shard_ids`` を利用してください。

en: For users of the command extension, there is also :class:`~ext.commands.AutoShardedBot` which behaves similarly.
ja_JP: コマンド拡張を利用しているユーザーのために、同様に動作する :class:`~ext.commands.AutoShardedBot` が用意されています。

en: Connection Improvements
ja_JP: 接続の改善

en: In v1.0, the auto reconnection logic has been powered up significantly.
ja_JP: v1.0では、自動再接続機能が大幅に強化されました。

en: :meth:`Client.connect` has gained a new keyword argument, ``reconnect`` that defaults to ``True`` which controls the reconnect logic. When enabled, the client will automatically reconnect in all instances of your internet going offline or Discord going offline with exponential back-off.
ja_JP: :meth:`Client.connect` には新しいキーワード引数が追加されました。再接続機能の設定を行う ``reconnect`` はデフォルトで ``True`` に設定されています。有効にすると、クライアントは全インターネットのインスタンスがオフラインになった際や、Discordが指数関数的後退によってオフラインになった際に自動で再接続を試みます。

en: :meth:`Client.run` and :meth:`Client.start` gains this keyword argument as well, but for most cases you will not need to specify it unless turning it off.
ja_JP: :meth:`Client.run` や :meth:`Client.start` にも同様のキーワード引数が追加されていますが、このさい接続機能をオフにする場合以外は指定する必要はありません。

en: Command Extension Changes
ja_JP: コマンド拡張の変更

en: Due to the :ref:`migrating_1_0_model_state` changes, some of the design of the extension module had to undergo some design changes as well.
ja_JP: :ref:`migrating_1_0_model_state` により、拡張モジュールの設計にもいくつかの変更があります。

en: Context Changes
ja_JP: コンテキストの変更

en: In v1.0, the :class:`.Context` has received a lot of changes with how it's retrieved and used.
ja_JP: v1.0において、 :class:`.Context` は取得と利用の面において、多くの変更があります。

en: The biggest change is that ``pass_context=True`` no longer exists, :class:`.Context` is always passed. Ergo:
ja_JP: 最も大きな変更点は ``pass_context=True`` が廃止され、常に :class:`.Context` が渡されるようになったことです。そのため以下のようになります。

en: The reason for this is because :class:`~ext.commands.Context` now meets the requirements of :class:`abc.Messageable`. This makes it have similar functionality to :class:`TextChannel` or :class:`DMChannel`. Using :meth:`~.Context.send` will either DM the user in a DM context or send a message in the channel it was in, similar to the old ``bot.say`` functionality. The old helpers have been removed in favour of the new :class:`abc.Messageable` interface. See :ref:`migrating_1_0_removed_helpers` for more information.
ja_JP: その理由として、 :class:`~ext.commands.Context` が :class:`abc.Messageable` の要件を満たしていることが挙げられます。 これは :class:`TextChannel` や :class:`DMChannel` と同等の機能を持っており、 :meth:`~.Context.send` を用いることで、従来の ``bot.say`` のようにDMまたはテキストチャンネルにメッセージを送信することが出来ます。古いヘルパー関数は新しい :class:`abc.Messageable` インタフェースの実装に伴い削除されました。詳細は :ref:`migrating_1_0_removed_helpers` を参照してください。

en: Since the :class:`~ext.commands.Context` is now passed by default, several shortcuts have been added:
ja_JP: :class:`~ext.commands.Context` がデフォルトで渡されるので、ショートカットが追加されました:

en: **New Shortcuts**
ja_JP: **新しいショートカット**

en: :attr:`ctx.author <ext.commands.Context.author>` is a shortcut for ``ctx.message.author``.
ja_JP: :attr:`ctx.author <ext.commands.Context.author>` は ``ctx.message.author`` のショートカットです。

en: :attr:`ctx.guild <ext.commands.Context.guild>` is a shortcut for ``ctx.message.guild``.
ja_JP: :attr:`ctx.guild <ext.commands.Context.guild>` は ``ctx.message.guild`` のショートカットです。

en: :attr:`ctx.channel <ext.commands.Context.channel>` is a shortcut for ``ctx.message.channel``.
ja_JP: :attr:`ctx.channel <ext.commands.Context.channel>` は ``ctx.message.channel`` のショートカットです。

en: :attr:`ctx.me <ext.commands.Context.me>` is a shortcut for ``ctx.message.guild.me`` or ``ctx.bot.user``.
ja_JP: :attr:`ctx.me <ext.commands.Context.me>` は ``ctx.message.guild.me`` のショートカットです。

en: :attr:`ctx.voice_client <ext.commands.Context.voice_client>` is a shortcut for ``ctx.message.guild.voice_client``.
ja_JP: :attr:`ctx.voice_client <ext.commands.Context.voice_client>` は ``ctx.message.guild.voice_client`` のショートカットです。

en: **New Functionality**
ja_JP: **新しい機能**

en: :meth:`.Context.reinvoke` to invoke a command again.
ja_JP: :meth:`.Context.reinvoke` はコマンドを再度呼び出します。

en: This is useful for bypassing cooldowns.
ja_JP: クールダウンの回避に利用できます。

en: :attr:`.Context.valid` to check if a context can be invoked with :meth:`.Bot.invoke`.
ja_JP: :attr:`.Context.valid` で、:meth:`.Bot.invoke` で呼びだせるか確認します。

en: :meth:`.Context.send_help` to show the help command for an entity using the new :class:`~.ext.commands.HelpCommand` system.
ja_JP: :meth:`.Context.send_help` を使うと、新しい :class:`~.ext.commands.HelpCommand` システムである項目のヘルプを出力できます。

en: This is useful if you want to show the user help if they misused a command.
ja_JP: コマンドの使用法を誤ったときにヘルプを表示させたい場合に便利です。

en: Subclassing Context
ja_JP: コンテキストのサブクラス

en: In v1.0, there is now the ability to subclass :class:`~ext.commands.Context` and use it instead of the default provided one.
ja_JP: v1.0では、 :class:`~ext.commands.Context` を継承したサブクラスを作成し、デフォルトで実装されているものの代わりに使うことが出来ます。

en: For example, if you want to add some functionality to the context:
ja_JP: 例えば、コンテキストに機能の追加を行いたい場合は以下のように実装が出来ます。

en: Then you can use :meth:`~ext.commands.Bot.get_context` inside :func:`on_message` with combination with :meth:`~ext.commands.Bot.invoke` to use your custom context:
ja_JP: また、 :func:`on_message` 内で :meth:`~ext.commands.Bot.get_context` と :meth:`~ext.commands.Bot.invoke` を組み合わせることであなたのカスタムコンテキストを使用できます。

en: Now inside your commands you will have access to your custom context:
ja_JP: これにより、コマンドからあなたのカスタムコンテキストにアクセスすることが可能です。

en: Removed Helpers
ja_JP: ヘルパー関数の削除

en: With the new :class:`.Context` changes, a lot of message sending helpers have been removed.
ja_JP: 新しい :class:`.Context` の変更によって、たくさんのメッセージ送信用のヘルパー関数が削除されました。

en: For a full list of changes, see below:
ja_JP: 以下が削除された関数のリストです。

en: :meth:`.Context.typing` or :meth:`.Context.trigger_typing`
ja_JP: :meth:`.Context.typing` または :meth:`.Context.trigger_typing`

en: No replacement.
ja_JP: 代替となるものはありません。

en: Command Changes
ja_JP: コマンドの変更

en: As mentioned earlier, the first command change is that ``pass_context=True`` no longer exists, so there is no need to pass this as a parameter.
ja_JP: 前述の通り、 ``pass_context=True`` は削除されたため、これをパラメータとして渡す必要はありません。

en: Another change is the removal of ``no_pm=True``. Instead, use the new :func:`~ext.commands.guild_only` built-in check.
ja_JP: 他に ``no_pm=True`` も削除されました。代わりに新しい組み込みチェックである :func:`~ext.commands.guild_only` を使用してください。

en: The ``commands`` attribute of :class:`~ext.commands.Bot` and :class:`~ext.commands.Group` have been changed from a dictionary to a set that does not have aliases. To retrieve the previous dictionary behaviour, use ``all_commands`` instead.
ja_JP: :class:`~ext.commands.Bot` と :class:`~ext.commands.Group` の ``commands`` 属性は辞書からエイリアスを持たないsetに変更されました。以前のような辞書を取得するには ``all_commands`` を使用してください。

en: Command instances have gained new attributes and properties:
ja_JP: コマンドインスタンスには新たな属性とプロパティが追加されました。

en: :attr:`~ext.commands.Command.signature` to get the signature of the command.
ja_JP: コマンドのシグネチャを取得する :attr:`~ext.commands.Command.signature` 。

en: :attr:`~ext.commands.Command.usage`, an attribute to override the default signature.
ja_JP: :attr:`~ext.commands.Command.usage` はデフォルトのシグネチャをオーバーライドする属性です

en: :attr:`~ext.commands.Command.root_parent` to get the root parent group of a subcommand.
ja_JP: :attr:`~ext.commands.Command.root_parent` はサブコマンドのルートである、親グループを取得します

en: For :class:`~ext.commands.Group` and :class:`~ext.commands.Bot` the following changed:
ja_JP: :class:`~ext.commands.Group` と :class:`~ext.commands.Bot` は次のように変更されました。

en: Changed :attr:`~.GroupMixin.commands` to be a :class:`set` without aliases.
ja_JP: :attr:`~.GroupMixin.commands` は エイリアスなしの :class:`set` に変更されました。

en: Use :attr:`~.GroupMixin.all_commands` to get the old :class:`dict` with all commands.
ja_JP: すべてのコマンドを従来の :class:`dict` で取得するには :attr:`~.GroupMixin.all_commands` を使用してください。

en: Check Changes
ja_JP: チェックの変更

en: Prior to v1.0, :func:`~ext.commands.check`\s could only be synchronous. As of v1.0 checks can now be coroutines.
ja_JP: v1.0以前のバージョンでは :func:`~ext.commands.check` は同期関数でしたが、 v1.0のチェックはコルーチンにもなれます。

en: Along with this change, a couple new checks were added.
ja_JP: この変更に加え、新たなチェックが二つ追加されました。

en: :func:`~ext.commands.guild_only` replaces the old ``no_pm=True`` functionality.
ja_JP: :func:`~ext.commands.guild_only` が以前の ``no_pm=True`` 機能を置き換えました。

en: :func:`~ext.commands.is_owner` uses the :meth:`Client.application_info` endpoint by default to fetch owner ID.
ja_JP: :func:`~ext.commands.is_owner` は :meth:`Client.application_info` のエンドポイントを使用してオーナーIDを取得します。

en: This is actually powered by a different function, :meth:`~ext.commands.Bot.is_owner`.
ja_JP: 実際には :meth:`~ext.commands.Bot.is_owner` という別の関数を使用して実行されます。

en: You can set the owner ID yourself by setting :attr:`.Bot.owner_id`.
ja_JP: :attr:`.Bot.owner_id` に値を指定することで自分でオーナーIDの設定ができます。

en: :func:`~ext.commands.is_nsfw` checks if the channel the command is in is a NSFW channel.
ja_JP: :func:`~ext.commands.is_nsfw` はコマンドが実行されたチャンネルがNSFWチャンネルかどうかをチェックします。

en: This is powered by the new :meth:`TextChannel.is_nsfw` method.
ja_JP: これは新しく追加された :meth:`TextChannel.is_nsfw` メソッドにより実行されています。

en: All command extension events have changed.
ja_JP: すべてのコマンド拡張のイベントが変更されました。

en: The extraneous ``command`` parameter in :func:`.on_command` and :func:`.on_command_completion` have been removed. The :class:`~ext.commands.Command` instance was not kept up-to date so it was incorrect. In order to get the up to date :class:`~ext.commands.Command` instance, use the :attr:`.Context.command` attribute.
ja_JP: :func:`.on_command` と :func:`.on_command_completion` の ``command`` パラメータが削除されました。 :class:`~ext.commands.Command` インスタンスは更新されておらず、正しいものではありませんでした。最新の :class:`~ext.commands.Command` インスタンスを取得するには :attr:`.Context.command` 属性を使用してください。

en: The error handlers, either :meth:`~ext.commands.Command.error` or :func:`.on_command_error`, have been re-ordered to use the :class:`~ext.commands.Context` as its first parameter to be consistent with other events and commands.
ja_JP: :meth:`~ext.commands.Command.error` や :func:`.on_command_error` のようなエラーハンドラは他のイベント及びコマンドとの一貫性を保つため、最初のパラメータとして :class:`~ext.commands.Context` を使用するよう変更されました。

en: HelpFormatter and Help Command Changes
ja_JP: HelpFormatter および Help Command の変更

en: The ``HelpFormatter`` class has been removed. It has been replaced with a :class:`~.commands.HelpCommand` class. This class now stores all the command handling and processing of the help command.
ja_JP: ``HelpFormatter`` クラスは削除され、 :class:`~.commands.HelpCommand` に置き換えられました。このクラスはヘルプコマンドのコマンドハンドリングや処理などといったすべてが格納されています。

en: The help command is now stored in the :attr:`.Bot.help_command` attribute. As an added extension, you can disable the help command completely by assigning the attribute to ``None`` or passing it at ``__init__`` as ``help_command=None``.
ja_JP: ヘルプコマンドは属性である :attr:`.Bot.help_command` に格納されています。追加の機能として、この属性に ``None`` を代入するか、 ``help_command=None`` のようにして ``__init__`` にわたすことでヘルプコマンドを完全に無効化できます。

en: The new interface allows the help command to be customised through special methods that can be overridden.
ja_JP: 新しいインタフェースでは特殊なメソッドをオーバーライドすることでヘルプコマンドをカスタマイズすることができます。

en: Called when the user requested for help with the entire bot.
ja_JP: ユーザーが ボット全体のヘルプを要求した時に呼び出されます。

en: Called when the user requested for help with a specific cog.
ja_JP: ユーザーが特定のコグについてのヘルプを要求した時に呼び出されます。

en: Called when the user requested for help with a :class:`~.commands.Group`
ja_JP: ユーザーが :class:`~.commands.Group` についてのヘルプを要求した時に呼び出されます。

en: Called when the user requested for help with a :class:`~.commands.Command`
ja_JP: ユーザーが :class:`~.commands.Command` のヘルプを要求した時に呼び出されます。

en: Called to know where to send the help messages. Useful for deciding whether to DM or not.
ja_JP: ヘルプメッセージの送信先を知るために呼び出されます。DMとして送るかどうかを決める際に役立ちます。

en: A function (or coroutine) that returns a presentable no command found string.
ja_JP: コマンドが見つからなかったときに文字列を返す関数(またはコルーチン)。

en: A function (or coroutine) that returns a string when a subcommand is not found.
ja_JP: サブコマンドが見つからなかったときに文字列を返す関数(またはコルーチン)。

en: A coroutine that gets passed the result of :meth:`.HelpCommand.command_not_found` and :meth:`.HelpCommand.subcommand_not_found`.
ja_JP: :meth:`.HelpCommand.command_not_found` と :meth:`.HelpCommand.subcommand_not_found` の結果が渡されるコルーチン。

en: By default it just sends the message. But you can, for example, override it to put it in an embed.
ja_JP: デフォルトではメッセージの送信のみを行いますが、たとえば、そのメッセージを埋め込み化したい場合などにオーバーライドして使うことができます。

en: The :ref:`error handler <ext_commands_error_handler>` for the help command if you want to add one.
ja_JP: ヘルプコマンドの :ref:`エラーハンドラ <ext_commands_error_handler>` 。追加したい場合のみ使用してください。

en: A coroutine that is called right before the help command processing is done.
ja_JP: ヘルプコマンドの処理が行われる前に呼び出されるコルーチン。

en: Certain subclasses can implement more customisable methods.
ja_JP: 特定のサブクラスはさらにカスタマイズ可能なメソッドを実装できます。

en: The old ``HelpFormatter`` was replaced with :class:`~.commands.DefaultHelpCommand`\, which implements all of the logic of the old help command. The customisable methods can be found in the accompanying documentation.
ja_JP: 以前の ``HelpFormatter`` はその機能を全て実装した :class:`~.commands.DefaultHelpCommand` に置き換えられました。カスタマイズメソッドは添付のドキュメントで確認することができます。

en: The library now provides a new more minimalistic :class:`~.commands.HelpCommand` implementation that doesn't take as much space, :class:`~.commands.MinimalHelpCommand`. The customisable methods can also be found in the accompanying documentation.
ja_JP: このライブラリは多くのスペースをとらない、より小規模化した :class:`~.commands.HelpCommand` の実装である :class:`~.commands.MinimalHelpCommand` を提供します。カスタマイズ可能なメソッドは付随のドキュメントから確認することが可能です。

en: A frequent request was if you could associate a help command with a cog. The new design allows for dynamically changing of cog through binding it to the :attr:`.HelpCommand.cog` attribute. After this assignment the help command will pretend to be part of the cog and everything should work as expected. When the cog is unloaded then the help command will be "unbound" from the cog.
ja_JP: ヘルプコマンドをコグに関連付けることはできないのかという要望が多くありました。この新しい設計では :attr:`.HelpCommand.cog` にバインドすることでコグを動的に変更することが可能です。この割当をおこなった後、ヘルプコマンドはコグの一部として、期待通りの動きをするでしょう。コグがアンロードされると、ヘルプコマンドはコグから「バインド解除」されます。

en: For example, to implement a :class:`~.commands.HelpCommand` in a cog, the following snippet can be used.
ja_JP: 例えば、 :class:`~.commands.HelpCommand` をコグに実装するには、次のコードが役立つでしょう。

en: For more information, check out the relevant :ref:`documentation <ext_commands_help_command>`.
ja_JP: 詳しくは、:ref:`こちらの説明 <ext_commands_help_command>` をご覧ください。

en: Cog Changes
ja_JP: コグの変更

en: Cogs have completely been revamped. They are documented in :ref:`ext_commands_cogs` as well.
ja_JP: コグは完全に刷新されました。これは :ref:`ext_commands_cogs` としてドキュメント化されています。

en: Cogs are now required to have a base class, :class:`~.commands.Cog` for future proofing purposes. This comes with special methods to customise some behaviour.
ja_JP: コグは将来的な校正のためのクラスである :class:`~.commands.Cog` を基底クラスとして持つ必要があります。このクラスには動作のカスタマイズのために、特別なメソッドが用意されています。

en: This is called when a cog needs to do some cleanup, such as cancelling a task.
ja_JP: これはタスクのキャンセルのような、コグに何らかのクリーンアップが必要なときに呼び出されます。

en: This registers a :meth:`.Bot.check_once` check.
ja_JP: これは :meth:`.Bot.check_once` チェックを登録します。

en: This registers a regular :meth:`.Bot.check` check.
ja_JP: これは普通の :meth:`.Bot.check` チェックを登録します。

en: This registers a check that applies to every command in the cog.
ja_JP: これはコグのすべてのコマンドに適用されるチェックを登録します。

en: This is a special error handler that is called whenever an error happens inside the cog.
ja_JP: これは特別なエラーハンドラで、コグ内でエラーが発生するたびに呼び出されます。

en: :meth:`.Cog.cog_before_invoke` and :meth:`.Cog.cog_after_invoke`
ja_JP: :meth:`.Cog.cog_before_invoke` と :meth:`.Cog.cog_after_invoke`

en: A special method that registers a cog before and after invoke hook. More information can be found in :ref:`migrating_1_0_before_after_hook`.
ja_JP: コグの前後に呼び出されるフックを登録する特別なメソッドです。詳細は :ref:`migrating_1_0_before_after_hook` に記載されています。

en: Those that were using listeners, such as ``on_message`` inside a cog will now have to explicitly mark them as such using the :meth:`.commands.Cog.listener` decorator.
ja_JP: コグ内で ``on_message`` のようなリスナーを使用していた人は、 :meth:`.commands.Cog.listener` デコレータを用いて、リスナーを明示する必要があります。

en: Along with that, cogs have gained the ability to have custom names through specifying it in the class definition line. More options can be found in the metaclass that facilitates all this, :class:`.commands.CogMeta`.
ja_JP: それによって、コグはクラス定義の行で指定することによって、独自の名前を持てるようになりました。オプションはこれらを容易にするメタクラス、:class:`.commands.CogMeta` で見つかります。

en: An example cog with every special method registered and a custom name is as follows:
ja_JP: すべての特別なメソッドを使用し、そして名前を指定したコグの例が以下のようになります:

en: Before and After Invocation Hooks
ja_JP: 前後処理のフック

en: Commands have gained new before and after invocation hooks that allow you to do an action before and after a command is run.
ja_JP: コマンドに、コマンドの実行前および実行後に処理が行えるようにするフックが新たに追加されました。

en: They take a single parameter, :class:`~ext.commands.Context` and they must be a coroutine.
ja_JP: これは単一のパラメータとして :class:`~ext.commands.Context` を受け取り、かつコルーチンである必要があります。

en: They are on a global, per-cog, or per-command basis.
ja_JP: また、このフックは全体、コグごと、あるいはコマンドごとに設定することが可能です。

en: The after invocation is hook always called, **regardless of an error in the command**. This makes it ideal for some error handling or clean up of certain resources such a database connection.
ja_JP: 後処理のフックは **コマンドのエラー発生に関わらず** 必ず呼び出されます。そのため、データベース接続のようなリソースのクリーンアップやエラー処理に最適です。

en: The per-command registration is as follows: ::
ja_JP: コマンドごとに設定する方法は以下のとおりです。

en: The special cog method for these is :meth:`.Cog.cog_before_invoke` and :meth:`.Cog.cog_after_invoke`, e.g.:
ja_JP: これらのコグ用の特別なメソッドは :meth:`.Cog.cog_before_invoke` と :meth:`.Cog.cog_after_invoke` です。例:

en: To check if a command failed in the after invocation hook, you can use :attr:`.Context.command_failed`.
ja_JP: :attr:`.Context.command_failed` を使うことで、後処理でコマンドがエラーになったかを確認する事ができます。

en: The invocation order is as follows:
ja_JP: 呼び出される順序は以下のとおりです。

en: Command local before invocation hook
ja_JP: コマンドごとの前処理。

en: Cog local before invocation hook
ja_JP: コグごとの前処理。

en: Global before invocation hook
ja_JP: 全体での前処理。

en: The actual command
ja_JP: 実行されたコマンド。

en: Command local after invocation hook
ja_JP: コマンドごとの後処理。

en: Cog local after invocation hook
ja_JP: コグごとの後処理。

en: Global after invocation hook
ja_JP: 全体での後処理。

en: Converter Changes
ja_JP: コンバーターの変更

en: Prior to v1.0, a converter was a type hint that could be a callable that could be invoked with a singular argument denoting the argument passed by the user as a string.
ja_JP: v1.0以前では、コンバーターはユーザーにより渡された引数を、文字列の単独引数として呼び出す型ヒントでした。

en: This system was eventually expanded to support a :class:`~ext.commands.Converter` system to allow plugging in the :class:`~ext.commands.Context` and do more complicated conversions such as the built-in "discord" converters.
ja_JP: このシステムは最終的に :class:`~ext.commands.Context` が組み込み可能な :class:`~ext.commands.Converter` システムをサポートするために拡張され、ビルトインの「discord」コンバータのようにより複雑な変換が行なえるようになりました。

en: In v1.0 this converter system was revamped to allow instances of :class:`~ext.commands.Converter` derived classes to be passed. For consistency, the :meth:`~ext.commands.Converter.convert` method was changed to always be a coroutine and will now take the two arguments as parameters.
ja_JP: v1.0ではこのコンバーターシステムは :class:`~ext.commands.Converter` 派生のクラスを使用できるよう変更されました。一貫性を保つため、 :meth:`~ext.commands.Converter.convert` は常にコルーチンとなるよう変更され、二つのパラメータを受け取ります。

en: Essentially, before: ::
ja_JP: 更新前: ::

en: The command framework also got a couple new converters:
ja_JP: コマンドフレームワークにも二つのコンバーターが追加されました。

en: :class:`~ext.commands.clean_content` this is akin to :attr:`Message.clean_content` which scrubs mentions.
ja_JP: :class:`~ext.commands.clean_content` はメンションなどを取り除く :attr:`Message.clean_content` と同じものです。

en: :class:`~ext.commands.UserConverter` will now appropriately convert :class:`User` only.
ja_JP: :class:`~ext.commands.UserConverter` は :class:`User` だけを適切に変換します。

en: ``ChannelConverter`` is now split into two different converters.
ja_JP: ``ChannelConverter`` は、2 つの異なるコンバーターに分割されました。

en: :class:`~ext.commands.TextChannelConverter` for :class:`TextChannel`.
ja_JP: :class:`TextChannel` 用の :class:`~ext.commands.TextChannelConverter` 。

en: :class:`~ext.commands.VoiceChannelConverter` for :class:`VoiceChannel`.
ja_JP: :class:`VoiceChannel` 用の :class:`~ext.commands.VoiceChannelConverter`。
