discordpy - en to ja_JP translation catalogue (71 entries)

en: A Primer to Gateway Intents
ja_JP: ゲートウェイインテント入門

en: In version 1.5 comes the introduction of :class:`Intents`. This is a radical change in how bots are written. An intent basically allows a bot to subscribe to specific buckets of events. The events that correspond to each intent is documented in the individual attribute of the :class:`Intents` documentation.
ja_JP: バージョン1.5では :class:`Intents` が導入されました。これにより、Botの書き方が根本的に変わります。基本的にインテントは、特定のイベント群をBotにサブスクライブさせるためのものです。各インテントに対応するイベントは、 :class:`Intents` のドキュメントに個別の属性として記載されています。

en: These intents are passed to the constructor of :class:`Client` or its subclasses (:class:`AutoShardedClient`, :class:`~.AutoShardedBot`, :class:`~.Bot`) with the ``intents`` argument.
ja_JP: インテントは ``intents`` 引数を介して :class:`Client` またはそのサブクラス(:class:`AutoShardedClient`, :class:`~.AutoShardedBot`, :class:`~.Bot`)のコンストラクタに渡されます。

en: What intents are needed?
ja_JP: どのインテントが必要でしょうか？

en: The intents that are necessary for your bot can only be dictated by yourself. Each attribute in the :class:`Intents` class documents what :ref:`events <discord-api-events>` it corresponds to and what kind of cache it enables.
ja_JP: あなたのBotに必要なインテントは、あなたにしかわかりません。 :class:`Intents` クラスのドキュメントの各属性欄には、どの :ref:`events <discord-api-events>` に対応し、どのようなキャッシュを有効化するのか記述されています。

en: For example, if you want a bot that functions without spammy events like presences or typing then we could do the following:
ja_JP: たとえば、プレゼンスやタイピングといったわずらわしいイベント抜きに動作するbotを書きたい場合、次のようにします。

en: Note that this doesn't enable :attr:`Intents.members` since it's a privileged intent.
ja_JP: なお、特権インテントであるため、 :attr:`Intents.members` は有効になりません。

en: Another example showing a bot that only deals with messages and guild information:
ja_JP: 別の例: メッセージとギルド情報だけを扱うボット:

en: Privileged Intents
ja_JP: 特権インテント

en: With the API change requiring bot authors to specify intents, some intents were restricted further and require more manual steps. These intents are called **privileged intents**.
ja_JP: API変更に伴い、Bot製作者がインテントを指定する必要が生じました。いくつかのインテントはより制約され、手動での設定を必要とするようになりました。これらのインテントを **特権インテント** と呼びます。

en: A privileged intent is one that requires you to go to the developer portal and manually enable it. To enable privileged intents do the following:
ja_JP: 特権インテントは、開発者ポータルで手動で有効にしなければならないインテントです。有効化の手順は以下のとおりです。

en: Make sure you're logged on to the `Discord website <https://discord.com>`_.
ja_JP: まずは `Discordのウェブサイト <https://discord.com>`_ にログインしてください。

en: Navigate to the `application page <https://discord.com/developers/applications>`_.
ja_JP: `アプリケーションページ <https://discord.com/developers/applications>`_ に移動します。

en: Click on the bot you want to enable privileged intents for.
ja_JP: 特権インテントを有効にしたいBotをクリックします。

en: Navigate to the bot tab on the left side of the screen.
ja_JP: 画面の左側にあるBotタブに移動します。

en: The bot tab in the application page.
ja_JP: アプリケーションページの「bot」タブ

en: Scroll down to the "Privileged Gateway Intents" section and enable the ones you want.
ja_JP: 「特権ゲートウェイインテント」セクションまでスクロールし、必要なものを有効にします。

en: The privileged gateway intents selector.
ja_JP: 特権ゲートウェイのセレクタ

en: Enabling privileged intents when your bot is in over 100 guilds requires going through `bot verification <https://support.discord.com/hc/en-us/articles/360040720412>`_. If your bot is already verified and you would like to enable a privileged intent you must go through `Discord support <https://dis.gd/contact>`_ and talk to them about it.
ja_JP: もしあなたのBotが100以上のギルドで利用されているなら、特権インテントを有効化するために `bot verification <https://support.discord.com/hc/en-us/articles/360040720412>`_ が必要です。すでに認証済みのBotで特権インテントを有効化したい場合、 `Discord support <https://dis.gd/contact>`_ で報告してください。

en: Even if you enable intents through the developer portal, you still have to enable the intents through code as well.
ja_JP: 開発者ポータルでインテントを有効化した後は、コード内でインテントを有効化しましょう。

en: Do I need privileged intents?
ja_JP: 特権インテントは必要ですか？

en: This is a quick checklist to see if you need specific privileged intents.
ja_JP: それぞれの特権インテントが必要かどうかを確認する簡単なチェックリストを用意しました。

en: Presence Intent
ja_JP: プレゼンスインテント

en: Whether you use :attr:`Member.status` at all to track member statuses.
ja_JP: メンバーのステータスを追跡するために :attr:`Member.status` を使用するかどうか。

en: Whether you use :attr:`Member.activity` or :attr:`Member.activities` to check member's activities.
ja_JP: :attr:`Member.activity` か :attr:`Member.activities` を使用してメンバーのアクティビティを確認するかどうか。

en: Member Intent
ja_JP: メンバーインテント

en: Whether you track member joins or member leaves, corresponds to :func:`on_member_join` and :func:`on_member_remove` events.
ja_JP: メンバーの参加や退出を追跡するかどうか。それぞれ :func:`on_member_join` と :func:`on_member_remove` イベントが対応します。

en: Whether you want to track member updates such as nickname or role changes.
ja_JP: ニックネームやロールの変更など、メンバーの更新を追跡するかどうか。

en: Whether you want to track user updates such as usernames, avatars, discriminators, etc.
ja_JP: ユーザー名、アバター、識別子などのユーザーの更新を追跡するかどうか。

en: Whether you want to request the guild member list through :meth:`Guild.chunk` or :meth:`Guild.fetch_members`.
ja_JP: :meth:`Guild.chunk` か :meth:`Guild.fetch_members` でギルドメンバーリストをリクエストするかどうか。

en: Whether you want high accuracy member cache under :attr:`Guild.members`.
ja_JP: :attr:`Guild.members` で高精度メンバーキャッシュを使用するかどうか。

en: Message Content
ja_JP: メッセージ内容のインテント

en: Whether you use :attr:`Message.content` to check message content.
ja_JP: メッセージの内容を確認するために :attr:`Message.content` を使用するかどうか。

en: Whether you use :attr:`Message.attachments` to check message attachments.
ja_JP: メッセージの添付ファイルを確認するために :attr:`Message.attachments` を使用するかどうか。

en: Whether you use :attr:`Message.embeds` to check message embeds.
ja_JP: メッセージの埋め込みを確認するために :attr:`Message.embeds` を使用するかどうか。

en: Whether you use :attr:`Message.components` to check message components.
ja_JP: メッセージコンポーネントをチェックするために :attr:`Message.components` を使用するかどうか。

en: Whether you use the commands extension with a non-mentioning prefix.
ja_JP: コマンド拡張機能をメンションなしプレフィックスで使用するかどうか。

en: Member Cache
ja_JP: メンバーキャッシュ

en: Along with intents, Discord now further restricts the ability to cache members and expects bot authors to cache as little as is necessary. However, to properly maintain a cache the :attr:`Intents.members` intent is required in order to track the members who left and properly evict them.
ja_JP: Discordは、インテントとともにメンバーをキャッシュする機能をさらに制限し、必要に応じてボット作成者がキャッシュできるようになりました。 しかし、退出したメンバーを追跡・退出させるには、適切にキャッシュを維持する :attr:`Intents.members` インテントが必要です。

en: To aid with member cache where we don't need members to be cached, the library now has a :class:`MemberCacheFlags` flag to control the member cache. The documentation page for the class goes over the specific policies that are possible.
ja_JP: キャッシュされる必要のないメンバーキャッシュを手伝うために、ライブラリにメンバーキャッシュを制御するための :class:`MemberCacheFlags` フラグが追加されました。クラスのドキュメントページではできる限り明確なポリシーを調べることができます。

en: It should be noted that certain things do not need a member cache since Discord will provide full member information if possible. For example:
ja_JP: 可能な限りDiscordがメンバー情報を提供するため、メンバーキャッシュを必要としないことがあります。例えば：

en: :func:`on_message` will have :attr:`Message.author` be a member even if cache is disabled.
ja_JP: キャッシュが無効になっていても、:func:`on_message` は :attr:`Message.author` がメンバーになります。

en: :func:`on_voice_state_update` will have the ``member`` parameter be a member even if cache is disabled.
ja_JP: キャッシュが無効の場合でも、:func:`on_voice_state_update` は ``member`` パラメータをメンバーにします。

en: :func:`on_reaction_add` will have the ``user`` parameter be a member when in a guild even if cache is disabled.
ja_JP: :func:`on_reaction_add` は、キャッシュが無効になっている場合でもサーバー内であれば ``user`` パラメータをメンバーにします。

en: :func:`on_raw_reaction_add` will have :attr:`RawReactionActionEvent.member` be a member when in a guild even if cache is disabled.
ja_JP: :func:`on_raw_reaction_add` は、キャッシュが無効になっていてもサーバー内にいれば :attr:`RawReactionActionEvent.member` がメンバーになります。

en: The reaction add events do not contain additional information when in direct messages. This is a Discord limitation.
ja_JP: ダイレクトメッセージで追加されたリアクションは追加情報を含んでいません。これはDiscordの制限です。

en: The reaction removal events do not have member information. This is a Discord limitation.
ja_JP: リアクション削除イベントにメンバー情報はありません。これはDiscordの制限です。

en: Other events that take a :class:`Member` will require the use of the member cache. If absolute accuracy over the member cache is desirable, then it is advisable to have the :attr:`Intents.members` intent enabled.
ja_JP: :class:`Member` を取るその他のイベントでは、メンバーキャッシュの使用が必要になります。メンバーキャッシュの絶対的な精度が必要な場合は、 :attr:`Intents.members` インテントを有効にすることをお勧めします。

en: Retrieving Members
ja_JP: メンバーの取得

en: If the cache is disabled or you disable chunking guilds at startup, we might still need a way to load members. The library offers a few ways to do this:
ja_JP: キャッシュが無効になっている場合、または起動時にサーバーのチャンキングを無効にしている場合でも、membersをロードする方法が必要になる場合があります。 ライブラリには、以下の方法が用意されています。

en: Used to query members by a prefix matching nickname or username.
ja_JP: ニックネームまたはユーザー名の一致でメンバーを照会するために使用されます。

en: This can also be used to query members by their user ID.
ja_JP: これは、ユーザーIDによってメンバーを照会するためにも使用できます。

en: This uses the gateway and not the HTTP.
ja_JP: これはHTTPではなくゲートウェイを使用します。

en: This can be used to fetch the entire member list through the gateway.
ja_JP: これはゲートウェイからメンバーリスト全体を取得するために使用できます。

en: Used to fetch a member by ID through the HTTP API.
ja_JP: HTTP APIを介してIDからメンバーを取得するために使用されます。

en: used to fetch a large number of members through the HTTP API.
ja_JP: HTTP APIを介して多数のメンバーを取得するために使用されます。

en: It should be noted that the gateway has a strict rate limit of 120 requests per 60 seconds.
ja_JP: ゲートウェイには、60秒あたり120リクエストという厳格なレート制限があることに注意してください。

en: Troubleshooting
ja_JP: トラブルシューティング

en: Some common issues relating to the mandatory intent change.
ja_JP: 強制的なインテントの変更に関連するいくつかの一般的な問題。

en: Where'd my members go?
ja_JP: 私のメンバーはどこに行ったのか？

en: Due to an :ref:`API change <intents_member_cache>` Discord is now forcing developers who want member caching to explicitly opt-in to it. This is a Discord mandated change and there is no way to bypass it. In order to get members back you have to explicitly enable the :ref:`members privileged intent <privileged_intents>` and change the :attr:`Intents.members` attribute to true.
ja_JP: :ref:`APIの変更 <intents_member_cache>` に伴い、Discordはメンバーキャッシュを必要とする開発者に明示的なオプトインを求めるようになりました。これはDiscordが強制的に行っている変更で、これを回避する方法はありません。これを取り戻すためには、明示的に :ref:`メンバー特権インテント <privileged_intents>` を有効にして、 :attr:`Intents.members` 属性をtrueに変更する必要があります。

en: For example:
ja_JP: 例：

en: Why does ``on_ready`` take so long to fire?
ja_JP: ``on_ready`` が発火するまでに時間がかかるのはなぜか？

en: As part of the API change regarding intents, Discord also changed how members are loaded in the beginning. Originally the library could request 75 guilds at once and only request members from guilds that have the :attr:`Guild.large` attribute set to ``True``. With the new intent changes, Discord mandates that we can only send 1 guild per request. This causes a 75x slowdown which is further compounded by the fact that *all* guilds, not just large guilds are being requested.
ja_JP: インテントに関するAPIの変更の一環として、Discordは起動時のメンバーの読み込み方法も変更しました。 もともとライブラリは 75 個のギルドを一度にリクエストでき、 :attr:`Guild.large` 属性が ``True`` になるサーバーのみのメンバーをリクエストしました。Intentが新しく変更された場合、Discordはリクエストごとに1つのサーバーしか送信できません。 これは75倍の減速を引き起こし、大規模なサーバーだけでなく*すべての*サーバーが要求されているという事実によってさらに複雑になります。

en: There are a few solutions to fix this.
ja_JP: これを修正するためにいくつかの解決策があります。

en: The first solution is to request the privileged presences intent along with the privileged members intent and enable both of them. This allows the initial member list to contain online members just like the old gateway. Note that we're still limited to 1 guild per request but the number of guilds we request is significantly reduced.
ja_JP: 最初の解決策は、presence intentとmember intentの両方を有効にすることです。 これにより、初期メンバーリストに以前のゲートウェイと同様にオンラインメンバーを含めることができます。 我々はまだリクエストごとに1つのギルドに制限されていることに注意してください。しかし、我々がリクエストするギルドの数は大幅に減少します。

en: The second solution is to disable member chunking by setting ``chunk_guilds_at_startup`` to ``False`` when constructing a client. Then, when chunking for a guild is necessary you can use the various techniques to :ref:`retrieve members <retrieving_members>`.
ja_JP: 二つ目の解決方法は、クライアントを構築する際に ``chunk_guilds_at_startup`` を ``False`` に設定することでメンバーのチャンクを無効にすることです。 サーバーのチャンキングが必要な場合は、 :ref:`メンバーの取得 <retrieving_members>` の様々なテクニックを使うことができます。

en: To illustrate the slowdown caused by the API change, take a bot who is in 840 guilds and 95 of these guilds are "large" (over 250 members).
ja_JP: APIの変更によって引き起こされる減速を説明するために、840サーバーに参加していて、そのうち95サーバーは「大きい」(250人以上のメンバーがいる) というボットを使います。

en: Under the original system this would result in 2 requests to fetch the member list (75 guilds, 20 guilds) roughly taking 60 seconds. With :attr:`Intents.members` but not :attr:`Intents.presences` this requires 840 requests, with a rate limit of 120 requests per 60 seconds means that due to waiting for the rate limit it totals to around 7 minutes of waiting for the rate limit to fetch all the members. With both :attr:`Intents.members` and :attr:`Intents.presences` we mostly get the old behaviour so we're only required to request for the 95 guilds that are large, this is slightly less than our rate limit so it's close to the original timing to fetch the member list.
ja_JP: 元のシステムでは、メンバーリスト(75サーバーと、20サーバー)を取得するために2回のリクエストを行うと、およそ60秒かかります。 :attr:`Intents.presences` は使用せず :attr:`Intents.members` を使用した場合、840回のリクエストが必要となり、60秒あたり120回のリクエストというレート制限があるため、すべてのメンバーを取得するためにレート制限を待つ時間は合計で約7分となります。 :attr:`Intents.members` と :attr:`Intents.presences` の両方がある状況では、ほとんどが以前の動作になるので、大規模な95のギルドに対してのみリクエストする必要があることになります。これはレートリミットよりわずかに少ないので、元のシステムでメンバーリストを取得する時間と近くなります。

en: Unfortunately due to this change being required from Discord there is nothing that the library can do to mitigate this.
ja_JP: 申し訳ありませんが、この変更はDiscordから要求されているため、ライブラリがこれを軽減するためにできることはありません。

en: If you truly dislike the direction Discord is going with their API, you can contact them via `support <https://dis.gd/contact>`_.
ja_JP: DiscordのAPIに関する方向性が本当に嫌いなら、`サポート <https://dis.gd/contact>`_ で連絡できます。
