diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index b15d505411..8711ea9373 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -46,7 +46,7 @@ By submitting a pull request, you agree that; 1) You hold the copyright on all s Not following this guideline could lead to your pull being squashed for a cleaner commit history -Some style guides we would recommed using in your pulls: +Some style guides we would recommend using in your pulls: The [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) style is a very widely used style and a good style to start with. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index a4fa4c0b4c..9402b90855 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,3 +1,6 @@ +# Warning: We have a feature freeze till release +That means we won't accept new features for now. Only bug fixes. + ## Summary diff --git a/.github/SECURITY.md b/.github/SECURITY.md index 96e694cbb9..20b172ac0b 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -5,8 +5,7 @@ | Version | Supported | | ------- | ------------------ | | 2.0.0 | :white_check_mark: | -| 1.7.x | :white_check_mark: | -| < 1.7.3 | :x: | +| <2.0.0 | :x: | ## Reporting a Vulnerability diff --git a/.github/workflows/bandit.yml b/.github/workflows/bandit.yml index cccd80d746..9c7cd829a8 100644 --- a/.github/workflows/bandit.yml +++ b/.github/workflows/bandit.yml @@ -2,6 +2,7 @@ name: bandit on: [pull_request, push] jobs: bandit: + if: github.event.pull_request.user.type != 'Bot' && !contains(github.event.pull_request.labels.*.name, 'skip-ci') runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 8936eb94e4..fa0f9292f5 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -22,6 +22,7 @@ on: jobs: analyze: + if: github.event.pull_request.user.type != 'Bot' && !contains(github.event.pull_request.labels.*.name, 'skip-ci') name: Analyze runs-on: ubuntu-latest permissions: diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index 10936d0043..595944a7e1 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -2,6 +2,7 @@ name: codespell on: [pull_request, push] jobs: codespell: + if: github.event.pull_request.user.type != 'Bot' && !contains(github.event.pull_request.labels.*.name, 'skip-ci') runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000000..034e3fba66 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,24 @@ +name: Docs + +on: [push, pull_request] + +jobs: + docs: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [ 3.8 ] + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install -U pip + pip install -U sphinx sphinxcontrib-trio aiohttp sphinxcontrib-websupport myst-parser + - name: Compile to html + run: | + cd docs + make html diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index f4632f3354..a83698aa83 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -2,6 +2,7 @@ name: mypy on: [pull_request, push] jobs: mypy: + if: github.event.pull_request.user.type != 'Bot' && !contains(github.event.pull_request.labels.*.name, 'skip-ci') runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -9,4 +10,4 @@ jobs: - run: pip install mypy - run: pip install -r requirements.txt - run: mkdir --parents --verbose .mypy_cache - - run: mypy --ignore-missing-imports --install-types --non-interactive . || true + - run: mypy --ignore-missing-imports --install-types --non-interactive . diff --git a/.gitignore b/.gitignore index b13a0aa4bb..4a28a54c4a 100644 --- a/.gitignore +++ b/.gitignore @@ -10,14 +10,24 @@ docs/crowdin.py *.mp3 *.m4a *.wav +*.mp4 +*.ogg +*.pcm *.png *.jpg *.flac *.mo .idea/ +env/ +.vs/ .DS_Store .python-version __pycache__ -.vs/slnx.sqlite +.vs/* +.vscode/* env/ build/ +test.py +build/ +node_modules/* +test.py \ No newline at end of file diff --git a/.readthedocs.yml b/.readthedocs.yml index f67ef52689..b12d1ab002 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -10,7 +10,7 @@ sphinx: builder: html python: - version: 3.8 + version: "3.8" install: - method: pip path: . diff --git a/FUNDING.yml b/FUNDING.yml new file mode 100644 index 0000000000..e171b7955b --- /dev/null +++ b/FUNDING.yml @@ -0,0 +1 @@ +patreon: pycord diff --git a/README.ja.rst b/README.ja.rst deleted file mode 100644 index 4c13043a59..0000000000 --- a/README.ja.rst +++ /dev/null @@ -1,119 +0,0 @@ -pycord -========== - -.. image:: https://discord.com/api/guilds/881207955029110855/embed.png - :target: https://pycord.dev/discord - :alt: Discordサーバーの招待 -.. image:: https://img.shields.io/pypi/v/py-cord.svg - :target: https://pypi.python.org/pypi/py-cord - :alt: PyPIのバージョン情報 -.. image:: https://img.shields.io/pypi/pyversions/py-cord.svg - :target: https://pypi.python.org/pypi/py-cord - :alt: PyPIのサポートしているPythonのバージョン -.. image:: https://img.shields.io/pypi/dm/py-cord?color=blue - :target: https://pypi.python.org/pypi/py-cord - :alt: PyPIダウンロード - -discord.pyのフォークです。PyCordはPythonで書かれたDiscordのモダンで使いやすく、豊富な機能を持ち、非同期に対応したAPIラッパーです。 - -主な特徴 -------------- - -- ``async`` と ``await`` を使ったモダンなPythonらしいAPI。 -- 適切なレート制限の処理。 -- 速度とメモリ使用量の両方が最適化されています。 -- スラッシュコマンド、コンテキストメニュー、メッセージコンポーネントをサポート。 - -インストール ----------- - -**Python 3.8 以降のバージョンが必須です** - -完全な音声サポートなしでライブラリをインストールする場合は次のコマンドを実行してください: - -.. code:: sh - - # Linux/macOS - python3 -m pip install -U py-cord - - # Windows - py -3 -m pip install -U py-cord - -音声サポートが必要なら、次のコマンドを実行しましょう: - -.. code:: sh - - # Linux/macOS - python3 -m pip install -U "py-cord[voice]" - - # Windows - py -3 -m pip install -U py-cord[voice] - - -開発版をインストールしたいのならば、次の手順に従ってください: -.. code:: sh - - $ git clone https://github.com/Pycord-Development/pycord - $ cd pycord - $ python3 -m pip install -U .[voice] - - -オプションパッケージ -~~~~~~~~~~~~~~~~~~ - -* `PyNaCl `__ (音声サポート用) - -なお、Linuxで音声サポートをインストールする場合は、上記のコマンドを実行する前に、お好みのパッケージマネージャー(apt、dnfなど)を使って以下のパッケージをインストールしておく必要があります。 - -* libffi-dev (システムによっては ``libffi-devel``) -* python-dev (例えばPython 3.6用の ``python3.6-dev``) - -簡単な例 --------------- - -.. code:: py - - import discord - - class MyClient(discord.Client): - async def on_ready(self): - print('Logged on as', self.user) - - async def on_message(self, message): - # don't respond to ourselves - if message.author == self.user: - return - - if message.content == 'ping': - await message.channel.send('pong') - - client = MyClient() - client.run('token') - -Botの例 -~~~~~~~~~~~~~ - -.. code:: py - - import discord - from discord.ext import commands - - bot = commands.Bot(command_prefix='>') - - @bot.command() - async def ping(ctx): - await ctx.send('pong') - - bot.run('token') - -その他の例は、examples ディレクトリにあります。 - -注意: ボットトークンを誰にも見せないようにしてください。 - -リンク ------- - -- `ドキュメント `_ -- `公式Discordサーバー `_ -- `Discord開発者 `_ -- `Discord API `_ diff --git a/README.rst b/README.rst index 15b35ef84f..d6f2feb859 100644 --- a/README.rst +++ b/README.rst @@ -23,14 +23,13 @@ Rapptz, also known as Danny, the maintainer and core developer of discord.py wil Pycord v1.7.3 is the same as discord.py v1.7.3, however, Pycord v2.0 will support newer features of the API such as slash commands, context menus, scheduled events, timeouts, and others. - Key Features ------------ - Modern Pythonic API using ``async`` and ``await``. - Proper rate limit handling. - Optimised for both speed and memory usage. -- Supports Slash Commands, Context Menus and Message Components. +- Full Application Command Support Installing ---------- @@ -80,13 +79,13 @@ Optional Packages ~~~~~~~~~~~~~~~~~ * `PyNaCl `__ (for voice support) -* `aiodns `__, `Brotli `__, `cchardet `__ (for aiohttp speedup) +* `aiodns `__, `brotlipy `__, `cchardet `__ (for aiohttp speedup) * `orjson `__ (for json speedup) Please note that while installing voice support on Linux, you must install the following packages via your preferred package manager (e.g. ``apt``, ``dnf``, etc) BEFORE running the above commands: * libffi-dev (or ``libffi-devel`` on some systems) -* python-dev (e.g. ``python3.6-dev`` for Python 3.6) +* python-dev (e.g. ``python3.10-dev`` for Python 3.10) Quick Example ------------- diff --git a/discord/__init__.py b/discord/__init__.py index a14d8d5780..7a187ba7e7 100644 --- a/discord/__init__.py +++ b/discord/__init__.py @@ -13,57 +13,57 @@ __author__ = 'Pycord Development' __license__ = 'MIT' __copyright__ = 'Copyright 2015-2021 Rapptz & Copyright 2021-present Pycord Development' -__version__ = '2.0.0a' +__version__ = '2.0.0b4' __path__ = __import__('pkgutil').extend_path(__path__, __name__) import logging from typing import NamedTuple, Literal -from .client import * -from .appinfo import * -from .user import * -from .emoji import * -from .partial_emoji import * +from . import utils, opus, abc, ui, sinks from .activity import * -from .channel import * -from .guild import * -from .flags import * -from .member import * -from .message import * +from .appinfo import * from .asset import * +from .audit_logs import * +from .bot import * +from .channel import * +from .client import * +from .cog import Cog +from .colour import * +from .commands.__init__ import * +from .components import * +from .embeds import * +from .emoji import * +from .enums import * from .errors import * -from .permissions import * -from .role import * from .file import * -from .colour import * +from .flags import * +from .guild import * from .integrations import * +from .interactions import * from .invite import * -from .template import * -from .widget import * -from .object import * -from .reaction import * -from . import utils, opus, abc, ui -from .enums import * -from .embeds import * +from .member import * from .mentions import * -from .shard import * +from .message import * +from .object import * +from .partial_emoji import * +from .permissions import * from .player import * -from .webhook import * -from .voice_client import * -from .audit_logs import * from .raw_models import * -from .team import * -from .sticker import * +from .reaction import * +from .role import * +from .scheduled_events import ScheduledEvent, ScheduledEventLocation +from .shard import * from .stage_instance import * -from .interactions import * -from .components import * +from .sticker import * +from .team import * +from .template import * from .threads import * -from .bot import * -from .commands import * -from .cog import Cog +from .user import * +from .voice_client import * +from .webhook import * from .welcome_screen import * -from .scheduled_events import ScheduledEvent, ScheduledEventLocation +from .widget import * class VersionInfo(NamedTuple): @@ -74,6 +74,6 @@ class VersionInfo(NamedTuple): serial: int -version_info: VersionInfo = VersionInfo(major=2, minor=0, micro=0, releaselevel='alpha', serial=0) +version_info: VersionInfo = VersionInfo(major=2, minor=0, micro=0, releaselevel='beta', serial=4) logging.getLogger(__name__).addHandler(logging.NullHandler()) diff --git a/discord/activity.py b/discord/activity.py index 98dd4ac5ae..0f631e51e1 100644 --- a/discord/activity.py +++ b/discord/activity.py @@ -43,7 +43,7 @@ 'CustomActivity', ) -"""If curious, this is the current schema for an activity. +"""If you're curious, this is the current schema for an activity. It's fairly long so I will document it here: diff --git a/discord/asset.py b/discord/asset.py index d03ab40196..5b025ded5a 100644 --- a/discord/asset.py +++ b/discord/asset.py @@ -250,7 +250,16 @@ def _from_user_banner(cls, state, user_id: int, banner_hash: str) -> Asset: state, url=f'{cls.BASE}/banners/{user_id}/{banner_hash}.{format}?size=512', key=banner_hash, - animated=animated + animated=animated, + ) + + @classmethod + def _from_scheduled_event_cover(cls, state, event_id: int, cover_hash: str) -> Asset: + return cls( + state, + url=f"{cls.BASE}/guild-events/{event_id}/{cover_hash}.png", + key=cover_hash, + animated=False, ) def __str__(self) -> str: @@ -376,7 +385,7 @@ def with_format(self, format: ValidAssetFormatTypes, /) -> Asset: Raises ------- InvalidArgument - The asset had an invalid format. + The asset has an invalid format. Returns -------- diff --git a/discord/bot.py b/discord/bot.py index ec21bd3e39..ddcb3a3b9e 100644 --- a/discord/bot.py +++ b/discord/bot.py @@ -27,10 +27,10 @@ import asyncio import collections +import copy import inspect +import sys import traceback -from .commands.errors import CheckFailure - from typing import ( Any, Callable, @@ -41,13 +41,11 @@ Type, TypeVar, Union, + Dict, ) -import sys - from .client import Client -from .shard import AutoShardedClient -from .utils import MISSING, get, find, async_all +from .cog import CogMixin from .commands import ( SlashCommand, SlashCommandGroup, @@ -58,12 +56,16 @@ AutocompleteContext, command, ) -from .cog import CogMixin - -from .errors import Forbidden, DiscordException -from .interactions import Interaction +from .commands.errors import CheckFailure from .enums import InteractionType +from .errors import DiscordException +from .errors import Forbidden +from .interactions import Interaction +from .shard import AutoShardedClient +from .types import interactions from .user import User +from .utils import MISSING, get, async_all +from .utils import find CoroFunc = Callable[..., Coroutine[Any, Any, Any]] CFT = TypeVar('CFT', bound=CoroFunc) @@ -74,6 +76,7 @@ 'AutoShardedBot', ) + class ApplicationCommandMixin: """A mixin that implements common functionality for classes that need application command compatibility. @@ -92,6 +95,10 @@ def __init__(self, *args, **kwargs) -> None: self._pending_application_commands = [] self._application_commands = {} + @property + def all_commands(self): + return self._application_commands + @property def pending_application_commands(self): return self._pending_application_commands @@ -134,7 +141,7 @@ def add_application_command(self, command: ApplicationCommand) -> None: self._pending_application_commands.append(command) def remove_application_command( - self, command: ApplicationCommand + self, command: ApplicationCommand ) -> Optional[ApplicationCommand]: """Remove a :class:`.ApplicationCommand` from the internal list of commands. @@ -152,7 +159,14 @@ def remove_application_command( The command that was removed. If the name is not valid then ``None`` is returned instead. """ - return self._application_commands.pop(command.id) + if command.id is None: + try: + index = self._pending_application_commands.index(command) + except ValueError: + return None + return self._pending_application_commands.pop(index) + + return self._application_commands.pop(int(command.id), None) @property def get_command(self): @@ -167,10 +181,10 @@ def get_command(self): return self.get_application_command def get_application_command( - self, - name: str, - guild_ids: Optional[List[int]] = None, - type: Type[ApplicationCommand] = SlashCommand, + self, + name: str, + guild_ids: Optional[List[int]] = None, + type: Type[ApplicationCommand] = SlashCommand, ) -> Optional[ApplicationCommand]: """Get a :class:`.ApplicationCommand` from the internal list of commands. @@ -194,116 +208,357 @@ def get_application_command( for command in self._application_commands.values(): if ( - command.name == name - and isinstance(command, type) + command.name == name + and isinstance(command, type) ): if guild_ids is not None and command.guild_ids != guild_ids: return return command - async def sync_commands(self) -> None: + async def get_desynced_commands(self, guild_id: Optional[int] = None) -> List[Dict[str, Any]]: """|coro| - Registers all commands that have been added through :meth:`.add_application_command` - since :meth:`.register_commands`. This does not remove any registered commands that are not in the internal - cache, like :meth:`.register_commands` does, but rather just adds new ones. - - This should usually be used instead of :meth:`.register_commands` when commands are already registered and you - want to add more. + Gets the list of commands that are desynced from discord. If ``guild_id`` is specified, it will only return + guild commands that are desynced from said guild, else it will return global commands. - This can cause bugs if you run this command excessively without using register_commands, as the bot's internal - cache can get un-synced with discord's registered commands. + .. note:: + This function is meant to be used internally, and should only be used if you want to override the default + command registration behavior. .. versionadded:: 2.0 + + + Parameters + ---------- + guild_id: Optional[:class:`int`] + The guild id to get the desynced commands for, else global commands if unspecified. + + Returns + ------- + List[Dict[str, Any]] + A list of the desynced commands. Each will come with at least the ``cmd`` and ``action`` keys, which + respectively contain the command and the action to perform. Other keys may also be present depending on + the action, including ``id``. """ - # TODO: Write this function as described in the docstring (bob will do this) - raise NotImplementedError + # We can suggest the user to upsert, edit, delete, or bulk upsert the commands - async def register_commands(self) -> None: + return_value = [] + cmds = self.pending_application_commands.copy() + + if guild_id is None: + registered_commands = await self.http.get_global_commands(self.user.id) + pending = [cmd for cmd in cmds if cmd.guild_ids is None] + else: + registered_commands = await self.http.get_guild_commands(self.user.id, guild_id) + pending = [cmd for cmd in cmds if cmd.guild_ids is not None and guild_id in cmd.guild_ids] + + registered_commands_dict = {cmd["name"]: cmd for cmd in registered_commands} + to_check = { + "default_permission": None, + "name": None, + "description": None, + "options": [ + "type", + "name", + "description", + "autocomplete", + "choices" + ] + } + # First let's check if the commands we have locally are the same as the ones on discord + for cmd in pending: + match = registered_commands_dict.get(cmd.name) + if match is None: + # We don't have this command registered + return_value.append({ + "command": cmd, + "action": "upsert" + }) + continue + + as_dict = cmd.to_dict() + + for check in to_check: + if type(to_check[check]) == list: + for opt in to_check[check]: + + cmd_vals = [val.get(opt, MISSING) for val in as_dict[check] if check in as_dict] + for i, val in enumerate(cmd_vals): + # We need to do some falsy conversion here + # The API considers False (autocomplete) and [] (choices) to be falsy values + falsy_vals = (False, []) + if val in falsy_vals: + cmd_vals[i] = MISSING + if ((not match.get(check, MISSING) is MISSING) + and cmd_vals != [val.get(opt, MISSING) for val in match[check]]): + # We have a difference + return_value.append({ + "command": cmd, + "action": "edit", + "id": int(registered_commands_dict[cmd.name]["id"]) + }) + break + else: + if getattr(cmd, check) != match[check]: + # We have a difference + return_value.append({ + "command": cmd, + "action": "edit", + "id": int(registered_commands_dict[cmd.name]["id"]) + }) + break + + # Now let's see if there are any commands on discord that we need to delete + for cmd in registered_commands_dict: + match = get(pending, name=registered_commands_dict[cmd]["name"]) + if match is None: + # We have this command registered but not in our list + return_value.append({ + "command": registered_commands_dict[cmd]["name"], + "id": int(registered_commands_dict[cmd]["id"]), + "action": "delete" + }) + continue + + return return_value + + async def register_command( + self, + command: ApplicationCommand, + force: bool = True, + guild_ids: List[int] = None + ) -> None: """|coro| - Registers all commands that have been added through :meth:`.add_application_command`. - This method cleans up all commands over the API and should sync them with the internal cache of commands. - This will only be rolled out to Discord if :meth:`.http.get_global_commands` has certain keys that differ from :data:`.pending_application_commands` - By default, this coroutine is called inside the :func:`.on_connect` - event. If you choose to override the :func:`.on_connect` event, then - you should invoke this coroutine as well. + + Registers a command. If the command has guild_ids set, or if the guild_ids parameter is passed, the command will + be registered as a guild command for those guilds. + + Parameters + ---------- + command: :class:`~.ApplicationCommand` + The command to register. + force: :class:`bool` + Whether to force the command to be registered. If this is set to False, the command will only be registered + if it seems to already be registered and up to date with our internal cache. Defaults to True. + guild_ids: :class:`list` + A list of guild ids to register the command for. If this is not set, the command's + :attr:`~.ApplicationCommand.guild_ids` attribute will be used. + + Returns + ------- + :class:`~.ApplicationCommand` + The command that was registered + """ + # TODO: Write this + raise NotImplementedError("This function has not been implemented yet") + + async def register_commands( + self, + commands: Optional[List[ApplicationCommand]] = None, + guild_id: Optional[int] = None, + force: bool = False + ) -> List[interactions.ApplicationCommand]: + """|coro| + + Register a list of commands. + .. versionadded:: 2.0 + + Parameters + ---------- + commands: Optional[List[:class:`~.ApplicationCommand`]] + A list of commands to register. If this is not set (None), then all commands will be registered. + guild_id: Optional[int] + If this is set, the commands will be registered as a guild command for the respective guild. If it is not + set, the commands will be registered according to their :attr:`~.ApplicationCommand.guild_ids` attribute. + force: :class:`bool` + Registers the commands regardless of the state of the command on discord, this can take up more API calls + but is sometimes a more foolproof method of registering commands. This also sometimes causes minor bugs + where the command can temporarily appear as an invalid command on the user's side. Defaults to False. """ - commands_to_bulk = [] + if commands is None: + commands = self.pending_application_commands - needs_bulk = False + commands = [copy.copy(cmd) for cmd in commands] - # Global Command Permissions - global_permissions: List = [] + for cmd in commands: + to_rep_with = [guild_id] if guild_id is not None else guild_id + cmd.guild_ids = to_rep_with - registered_commands = await self.http.get_global_commands(self.user.id) - # 'Your app cannot have two global commands with the same name. Your app cannot have two guild commands within the same name on the same guild.' - # We can therefore safely use the name of the command in our global slash commands as a unique identifier - registered_commands_dict = {cmd["name"]:cmd for cmd in registered_commands} - global_pending_application_commands_dict = {} - - for command in [ - cmd for cmd in self.pending_application_commands if cmd.guild_ids is None - ]: - as_dict = command.to_dict() - - global_pending_application_commands_dict[command.name] = as_dict - if command.name in registered_commands_dict: - match = registered_commands_dict[command.name] + is_global = guild_id is None + + registered = [] + + if is_global: + pending = list(filter(lambda c: c.guild_ids is None, commands)) + registration_methods = { + "bulk": self.http.bulk_upsert_global_commands, + "upsert": self.http.upsert_global_command, + "delete": self.http.delete_global_command, + "edit": self.http.edit_global_command, + } + + def register(method: str, *args, **kwargs): + return registration_methods[method](self.user.id, *args, **kwargs) + + else: + pending = list(filter(lambda c: c.guild_ids is not None and guild_id in c.guild_ids, commands)) + registration_methods = { + "bulk": self.http.bulk_upsert_guild_commands, + "upsert": self.http.upsert_guild_command, + "delete": self.http.delete_guild_command, + "edit": self.http.edit_guild_command, + } + + def register(method: str, *args, **kwargs): + return registration_methods[method](self.user.id, guild_id, *args, **kwargs) + + pending_actions = [] + + if not force: + desynced = await self.get_desynced_commands(guild_id=guild_id) + + for cmd in desynced: + if cmd["action"] == "delete": + pending_actions.append({ + "action": "delete", + "command": cmd["id"], + "name": cmd["command"] + }) + continue + # We can assume the command item is a command, since it's only a string if action is delete + match = get(pending, name=cmd["command"].name) + if match is None: + continue + if cmd["action"] == "edit": + pending_actions.append({ + "action": "edit", + "command": match, + "id": cmd["id"], + }) + elif cmd["action"] == "upsert": + pending_actions.append({ + "action": "upsert", + "command": match, + }) + else: + raise ValueError(f"Unknown action: {cmd['action']}") + + filtered_deleted = list(filter(lambda a: a["action"] != "delete", pending_actions)) + if len(filtered_deleted) == len(pending): + # It appears that all the commands need to be modified, so we can just do a bulk upsert + data = [cmd['command'].to_dict() for cmd in filtered_deleted] + registered = await register("bulk", data) else: - match = None - # TODO: There is probably a far more efficient way of doing this - # We want to check if the registered global command on Discord servers matches the given global commands - if match: - as_dict["id"] = match["id"] - - keys_to_check = {"default_permission": True, "name": True, "description": True, "options": ["type", "name", "description", "autocomplete", "choices"]} - for key, more_keys in { - key:more_keys - for key, more_keys in keys_to_check.items() - if key in as_dict.keys() - if key in match.keys() - }.items(): - if key == "options": - for i, option_dict in enumerate(as_dict[key]): - if command.name == "recent": - print(option_dict, "|||||", match[key][i]) - for key2 in more_keys: - pendingVal = None - if key2 in option_dict.keys(): - pendingVal = option_dict[key2] - if pendingVal == False or pendingVal == []: # Registered commands are not available if choices is an empty array or if autocomplete is false - pendingVal = None - matchVal = None - if key2 in match[key][i].keys(): - matchVal = match[key][i][key2] - if matchVal == False or matchVal == []: # Registered commands are not available if choices is an empty array or if autocomplete is false - matchVal = None - - if pendingVal != matchVal: - # When a property in the options of a pending global command is changed - needs_bulk = True + if len(pending_actions) == 0: + registered = [] + for cmd in pending_actions: + if cmd["action"] == "delete": + await register("delete", cmd["command"]) + continue + if cmd["action"] == "edit": + registered.append(await register("edit", cmd["id"], cmd["command"].to_dict())) + elif cmd["action"] == "upsert": + registered.append(await register("upsert", cmd["command"].to_dict())) else: - if as_dict[key] != match[key]: - # When a property in a pending global command is changed - needs_bulk = True - else: - # When a name of a pending global command is not registered in Discord - needs_bulk = True + raise ValueError(f"Unknown action: {cmd['action']}") + else: + data = [cmd.to_dict() for cmd in pending] + registered = await register("bulk", data) - commands_to_bulk.append(as_dict) - - for name, command in registered_commands_dict.items(): - if not name in global_pending_application_commands_dict.keys(): - # When a registered global command is not available in the pending global commands - needs_bulk = True - - if needs_bulk: - commands = await self.http.bulk_upsert_global_commands(self.user.id, commands_to_bulk) + # TODO: Our lists dont work sometimes, see if that can be fixed so we can avoid this second API call + if guild_id is None: + registered = await self.http.get_global_commands(self.user.id) else: - commands = registered_commands + registered = await self.http.get_guild_commands(self.user.id, guild_id) - for i in commands: + for i in registered: + cmd = get( + self.pending_application_commands, + name=i["name"], + type=i["type"], + ) + if not cmd: + raise ValueError(f"Registered command {i['name']}, type {i['type']} not found in pending commands") + cmd.id = i["id"] + self._application_commands[cmd.id] = cmd + + return registered + + async def sync_commands( + self, + commands: Optional[List[ApplicationCommand]] = None, + force: bool = False, + guild_ids: Optional[List[int]] = None, + register_guild_commands: bool = True, + unregister_guilds: Optional[List[int]] = None, + ) -> None: + """|coro| + + Registers all commands that have been added through :meth:`.add_application_command`. This method cleans up all + commands over the API and should sync them with the internal cache of commands. It attempts to register the + commands in the most efficient way possible, unless ``force`` is set to ``True``, in which case it will always + register all commands. + + By default, this coroutine is called inside the :func:`.on_connect` event. If you choose to override the + :func:`.on_connect` event, then you should invoke this coroutine as well. + + .. note:: + If you remove all guild commands from a particular guild, the library may not be able to detect and update + the commands accordingly, as it would have to individually check for each guild. To force the library to + unregister a guild's commands, call this function with ``commands=[]`` and ``guild_ids=[guild_id]``. + + .. versionadded:: 2.0 + + Parameters + ---------- + commands: Optional[List[:class:`~.ApplicationCommand`]] + A list of commands to register. If this is not set (None), then all commands will be registered. + force: :class:`bool` + Registers the commands regardless of the state of the command on discord, this can take up more API calls + but is sometimes a more foolproof method of registering commands. This also allows the bot to dynamically + remove stale commands. Defaults to False. + guild_ids: Optional[List[:class:`int`]] + A list of guild ids to register the commands for. If this is not set, the commands' + :attr:`~.ApplicationCommand.guild_ids` attribute will be used. + register_guild_commands: :class:`bool` + Whether to register guild commands. Defaults to True. + unregister_guilds: Optional[List[:class:`int`]] + A list of guilds ids to check for commands to unregister, since the bot would otherwise have to check all + guilds. Unlike ``guild_ids``, this does not alter the commands' :attr:`~.ApplicationCommand.guild_ids` + attribute, instead it adds the guild ids to a list of guilds to sync commands for. If + ``register_guild_commands`` is set to False, then this parameter is ignored. + """ + + if commands is None: + commands = self.pending_application_commands + + if guild_ids is not None: + for cmd in commands: + cmd.guild_ids = guild_ids + + registered_commands = await self.register_commands(commands, force=force) + + cmd_guild_ids = [] + registered_guild_commands = {} + + if register_guild_commands: + for cmd in commands: + if cmd.guild_ids is not None: + cmd_guild_ids.extend(cmd.guild_ids) + if unregister_guilds is not None: + cmd_guild_ids.extend(unregister_guilds) + for guild_id in set(cmd_guild_ids): + registered_guild_commands[guild_id] = await self.register_commands( + commands, + guild_id=guild_id, + force=force) + + # TODO: 2.1: Remove this and favor permissions v2 + # Global Command Permissions + global_permissions: List = [] + + for i in registered_commands: cmd = get( self.pending_application_commands, name=i["name"], @@ -317,149 +572,132 @@ async def register_commands(self) -> None: # Permissions (Roles will be converted to IDs just before Upsert for Global Commands) global_permissions.append({"id": i["id"], "permissions": cmd.permissions}) - update_guild_commands = {} - async for guild in self.fetch_guilds(limit=None): - update_guild_commands[guild.id] = [] - for command in [ - cmd - for cmd in self.pending_application_commands - if cmd.guild_ids is not None - ]: - as_dict = command.to_dict() - for guild_id in command.guild_ids: - to_update = update_guild_commands[guild_id] - update_guild_commands[guild_id] = to_update + [as_dict] - - for guild_id, guild_data in update_guild_commands.items(): - try: - commands = await self.http.bulk_upsert_guild_commands( - self.user.id, guild_id, update_guild_commands[guild_id] - ) + for guild_id, commands in registered_guild_commands.items(): + guild_permissions: List = [] - # Permissions for this Guild - guild_permissions: List = [] - except Forbidden: - if not guild_data: + for i in commands: + cmd = find(lambda cmd: cmd.name == i["name"] and str(cmd.type) == str(i["type"]) and cmd.guild_ids is not None + and int(i["guild_id"]) in cmd.guild_ids, self.pending_application_commands) + if not cmd: + # command has not been added yet continue - print(f"Failed to add command to guild {guild_id}", file=sys.stderr) - raise - else: - for i in commands: - cmd = find(lambda cmd: cmd.name == i["name"] and cmd.type == i["type"] and int(i["guild_id"]) in cmd.guild_ids, self.pending_application_commands) - cmd.id = i["id"] - self._application_commands[cmd.id] = cmd - - # Permissions - permissions = [ - perm.to_dict() - for perm in cmd.permissions - if perm.guild_id is None - or ( - perm.guild_id == guild_id and perm.guild_id in cmd.guild_ids - ) - ] - guild_permissions.append( - {"id": i["id"], "permissions": permissions} - ) + cmd.id = i["id"] + self._application_commands[cmd.id] = cmd - for global_command in global_permissions: - permissions = [ - perm.to_dict() - for perm in global_command["permissions"] - if perm.guild_id is None - or ( - perm.guild_id == guild_id and perm.guild_id in cmd.guild_ids - ) - ] - guild_permissions.append( - {"id": global_command["id"], "permissions": permissions} - ) + # Permissions + permissions = [ + perm.to_dict() + for perm in cmd.permissions + if perm.guild_id is None + or ( + perm.guild_id == guild_id and cmd.guild_ids is not None and perm.guild_id in + cmd.guild_ids + ) + ] + guild_permissions.append( + {"id": i["id"], "permissions": permissions} + ) - # Collect & Upsert Permissions for Each Guild - # Command Permissions for this Guild - guild_cmd_perms: List = [] - - # Loop through Commands Permissions available for this Guild - for item in guild_permissions: - new_cmd_perm = {"id": item["id"], "permissions": []} - - # Replace Role / Owner Names with IDs - for permission in item["permissions"]: - if isinstance(permission["id"], str): - # Replace Role Names - if permission["type"] == 1: - role = get( - self.get_guild(guild_id).roles, - name=permission["id"], - ) + for global_command in global_permissions: + permissions = [ + perm.to_dict() + for perm in global_command["permissions"] + if perm.guild_id is None + or ( + perm.guild_id == guild_id and cmd.guild_ids is not None and perm.guild_id in + cmd.guild_ids + ) + ] + guild_permissions.append( + {"id": global_command["id"], "permissions": permissions} + ) - # If not missing - if role is not None: - new_cmd_perm["permissions"].append( - { - "id": role.id, - "type": 1, - "permission": permission["permission"], - } - ) - else: - print( - "No Role ID found in Guild ({guild_id}) for Role ({role})".format( - guild_id=guild_id, role=permission["id"] - ) + # Collect & Upsert Permissions for Each Guild + # Command Permissions for this Guild + guild_cmd_perms: List = [] + + # Loop through Commands Permissions available for this Guild + for item in guild_permissions: + new_cmd_perm = {"id": item["id"], "permissions": []} + + # Replace Role / Owner Names with IDs + for permission in item["permissions"]: + if isinstance(permission["id"], str): + # Replace Role Names + if permission["type"] == 1: + role = get( + self.get_guild(guild_id).roles, + name=permission["id"], + ) + + # If not missing + if role is not None: + new_cmd_perm["permissions"].append( + { + "id": role.id, + "type": 1, + "permission": permission["permission"], + } + ) + else: + print( + "No Role ID found in Guild ({guild_id}) for Role ({role})".format( + guild_id=guild_id, role=permission["id"] ) - # Add owner IDs - elif ( + ) + # Add owner IDs + elif ( permission["type"] == 2 and permission["id"] == "owner" - ): - app = await self.application_info() # type: ignore - if app.team: - for m in app.team.members: - new_cmd_perm["permissions"].append( - { - "id": m.id, - "type": 2, - "permission": permission["permission"], - } - ) - else: + ): + app = await self.application_info() # type: ignore + if app.team: + for m in app.team.members: new_cmd_perm["permissions"].append( { - "id": app.owner.id, + "id": m.id, "type": 2, "permission": permission["permission"], } ) - # Add the rest - else: - new_cmd_perm["permissions"].append(permission) - - # Make sure we don't have over 10 overwrites - if len(new_cmd_perm["permissions"]) > 10: - print( - "Command '{name}' has more than 10 permission overrides in guild ({guild_id}).\nwill only use the first 10 permission overrides.".format( - name=self._application_commands[new_cmd_perm["id"]].name, - guild_id=guild_id, - ) - ) - new_cmd_perm["permissions"] = new_cmd_perm["permissions"][:10] - - # Append to guild_cmd_perms - guild_cmd_perms.append(new_cmd_perm) + else: + new_cmd_perm["permissions"].append( + { + "id": app.owner.id, + "type": 2, + "permission": permission["permission"], + } + ) + # Add the rest + else: + new_cmd_perm["permissions"].append(permission) - # Upsert - try: - await self.http.bulk_upsert_command_permissions( - self.user.id, guild_id, guild_cmd_perms - ) - except Forbidden: + # Make sure we don't have over 10 overwrites + if len(new_cmd_perm["permissions"]) > 10: print( - f"Failed to add command permissions to guild {guild_id}", - file=sys.stderr, + "Command '{name}' has more than 10 permission overrides in guild ({guild_id}).\nwill only use " + "the first 10 permission overrides.".format( + name=self._application_commands[new_cmd_perm["id"]].name, + guild_id=guild_id, + ) ) - raise + new_cmd_perm["permissions"] = new_cmd_perm["permissions"][:10] + + # Append to guild_cmd_perms + guild_cmd_perms.append(new_cmd_perm) - async def process_application_commands(self, interaction: Interaction) -> None: + # Upsert + try: + await self.http.bulk_upsert_command_permissions( + self.user.id, guild_id, guild_cmd_perms + ) + except Forbidden: + print( + f"Failed to add command permissions to guild {guild_id}", + file=sys.stderr, + ) + raise + + async def process_application_commands(self, interaction: Interaction, auto_sync: bool = None) -> None: """|coro| This function processes the commands that have been registered @@ -471,8 +709,8 @@ async def process_application_commands(self, interaction: Interaction) -> None: you should invoke this coroutine as well. This function finds a registered command matching the interaction id from - :attr:`.ApplicationCommandMixin.application_commands` and runs :meth:`ApplicationCommand.invoke` on it. If no matching - command was found, it replies to the interaction with a default message. + :attr:`.ApplicationCommandMixin.application_commands` and runs :meth:`ApplicationCommand.invoke` on it. If no + matching command was found, it replies to the interaction with a default message. .. versionadded:: 2.0 @@ -480,10 +718,16 @@ async def process_application_commands(self, interaction: Interaction) -> None: ----------- interaction: :class:`discord.Interaction` The interaction to process + auto_sync: :class:`bool` + Whether to automatically sync and unregister the command if it is not found in the internal cache. This will + invoke the :meth:`~.Bot.sync_commands` method on the context of the command, either globally or per-guild, + based on the type of the command, respectively. Defaults to :attr:`.Bot.auto_sync_commands`. """ + if auto_sync is None: + auto_sync = self.auto_sync_commands if interaction.type not in ( - InteractionType.application_command, - InteractionType.auto_complete + InteractionType.application_command, + InteractionType.auto_complete ): return @@ -492,18 +736,27 @@ async def process_application_commands(self, interaction: Interaction) -> None: except KeyError: for cmd in self.application_commands: if ( - cmd.name == interaction.data["name"] - and interaction.data.get("guild_id", None) in cmd.guild_ids + cmd.name == interaction.data["name"] + and (interaction.data.get("guild_id") == cmd.guild_ids + or (isinstance(cmd.guild_ids, list) + and interaction.data.get("guild_id") in cmd.guild_ids)) ): command = cmd break else: - return self.dispatch("unknown_command", interaction) + if auto_sync: + guild_id = interaction.data.get("guild_id") + if guild_id is None: + await self.sync_commands() + else: + await self.sync_commands(unregister_guilds=[guild_id]) + return self.dispatch("unknown_application_command", interaction) + if interaction.type is InteractionType.auto_complete: ctx = await self.get_autocomplete_context(interaction) ctx.command = command return await command.invoke_autocomplete_callback(ctx) - + ctx = await self.get_application_context(interaction) ctx.command = command self.dispatch("application_command", ctx) @@ -600,10 +853,10 @@ def command(self, **kwargs): return self.application_command(**kwargs) def create_group( - self, - name: str, - description: Optional[str] = None, - guild_ids: Optional[List[int]] = None, + self, + name: str, + description: Optional[str] = None, + guild_ids: Optional[List[int]] = None, ) -> SlashCommandGroup: """A shortcut method that creates a slash command group with no subcommands and adds it to the internal command list via :meth:`~.ApplicationCommandMixin.add_application_command`. @@ -631,10 +884,10 @@ def create_group( return group def group( - self, - name: Optional[str] = None, - description: Optional[str] = None, - guild_ids: Optional[List[int]] = None, + self, + name: Optional[str] = None, + description: Optional[str] = None, + guild_ids: Optional[List[int]] = None, ) -> Callable[[Type[SlashCommandGroup]], SlashCommandGroup]: """A shortcut decorator that initializes the provided subclass of :class:`.SlashCommandGroup` and adds it to the internal command list via :meth:`~.ApplicationCommandMixin.add_application_command`. @@ -656,6 +909,7 @@ def group( Callable[[Type[SlashCommandGroup]], SlashCommandGroup] The slash command group that was created. """ + def inner(cls: Type[SlashCommandGroup]) -> SlashCommandGroup: group = cls( name or cls.__name__, @@ -667,6 +921,7 @@ def inner(cls: Type[SlashCommandGroup]) -> SlashCommandGroup: ) self.add_application_command(group) return group + return inner slash_group = group @@ -685,7 +940,7 @@ def walk_application_commands(self) -> Generator[ApplicationCommand, None, None] yield command async def get_application_context( - self, interaction: Interaction, cls=None + self, interaction: Interaction, cls=None ) -> ApplicationContext: r"""|coro| @@ -715,7 +970,7 @@ class be provided, it must be similar enough to return cls(self, interaction) async def get_autocomplete_context( - self, interaction: Interaction, cls=None + self, interaction: Interaction, cls=None ) -> AutocompleteContext: r"""|coro| @@ -745,9 +1000,9 @@ class be provided, it must be similar enough to return cls(self, interaction) - class BotBase(ApplicationCommandMixin, CogMixin): _supports_prefixed_commands = False + # TODO I think def __init__(self, description=None, *args, **options): # super(Client, self).__init__(*args, **kwargs) @@ -763,6 +1018,7 @@ def __init__(self, description=None, *args, **options): self.description = inspect.cleandoc(description) if description else "" self.owner_id = options.get("owner_id") self.owner_ids = options.get("owner_ids", set()) + self.auto_sync_commands = options.get("auto_sync_commands", True) self.debug_guilds = options.pop("debug_guilds", None) @@ -770,7 +1026,7 @@ def __init__(self, description=None, *args, **options): raise TypeError("Both owner_id and owner_ids are set.") if self.owner_ids and not isinstance( - self.owner_ids, collections.abc.Collection + self.owner_ids, collections.abc.Collection ): raise TypeError( f"owner_ids must be a collection not {self.owner_ids.__class__!r}" @@ -782,13 +1038,14 @@ def __init__(self, description=None, *args, **options): self._after_invoke = None async def on_connect(self): - await self.register_commands() + if self.auto_sync_commands: + await self.sync_commands() async def on_interaction(self, interaction): await self.process_application_commands(interaction) async def on_application_command_error( - self, context: ApplicationContext, exception: DiscordException + self, context: ApplicationContext, exception: DiscordException ) -> None: """|coro| @@ -819,17 +1076,15 @@ async def on_application_command_error( # TODO: Remove these from commands.Bot def check(self, func): - r"""A decorator that adds a global check to the bot. - A global check is similar to a :func:`.check` that is applied - on a per command basis except it is run before any command checks - have been verified and applies to every command the bot has. + """A decorator that adds a global check to the bot. A global check is similar to a :func:`.check` that is + applied on a per command basis except it is run before any command checks have been verified and applies to + every command the bot has. .. note:: - This function can either be a regular function or a coroutine. - Similar to a command :func:`.check`\, this takes a single parameter - of type :class:`.Context` and can only raise exceptions inherited from - :exc:`.CommandError`. + This function can either be a regular function or a coroutine. Similar to a command :func:`.check`, this + takes a single parameter of type :class:`.Context` and can only raise exceptions inherited from + :exc:`.CommandError`. Example --------- @@ -845,17 +1100,15 @@ def check_commands(ctx): return func def add_check(self, func, *, call_once: bool = False) -> None: - """Adds a global check to the bot. - This is the non-decorator interface to :meth:`.check` - and :meth:`.check_once`. + """Adds a global check to the bot. This is the non-decorator interface to :meth:`.check` and + :meth:`.check_once`. Parameters ----------- func The function that was used as a global check. call_once: :class:`bool` - If the function should only be called once per - :meth:`.invoke` call. + If the function should only be called once per :meth:`.Bot.invoke` call. """ @@ -886,26 +1139,21 @@ def remove_check(self, func, *, call_once: bool = False) -> None: pass def check_once(self, func): - r"""A decorator that adds a "call once" global check to the bot. - Unlike regular global checks, this one is called only once - per :meth:`.invoke` call. - Regular global checks are called whenever a command is called - or :meth:`.Command.can_run` is called. This type of check - bypasses that and ensures that it's called only once, even inside - the default help command. + """A decorator that adds a "call once" global check to the bot. Unlike regular global checks, this one is called + only once per :meth:`.Bot.invoke` call. Regular global checks are called whenever a command is called or + :meth:`.Command.can_run` is called. This type of check bypasses that and ensures that it's called only once, + even inside the default help command. .. note:: - When using this function the :class:`.Context` sent to a group subcommand - may only parse the parent command and not the subcommands due to it - being invoked once per :meth:`.Bot.invoke` call. + When using this function the :class:`.Context` sent to a group subcommand may only parse the parent command + and not the subcommands due to it being invoked once per :meth:`.Bot.invoke` call. .. note:: - This function can either be a regular function or a coroutine. - Similar to a command :func:`.check`\, this takes a single parameter - of type :class:`.Context` and can only raise exceptions inherited from - :exc:`.CommandError`. + This function can either be a regular function or a coroutine. Similar to a command :func:`.check`, + this takes a single parameter of type :class:`.Context` and can only raise exceptions inherited from + :exc:`.CommandError`. Example --------- @@ -920,7 +1168,7 @@ def whitelist(ctx): return func async def can_run( - self, ctx: ApplicationContext, *, call_once: bool = False + self, ctx: ApplicationContext, *, call_once: bool = False ) -> bool: data = self._check_once if call_once else self._checks @@ -1154,10 +1402,16 @@ class Bot(BotBase, Client): for the collection. You cannot set both ``owner_id`` and ``owner_ids``. .. versionadded:: 1.3 - debug_guilds: Optional[List[:class:`int`]] Guild IDs of guilds to use for testing commands. This is similar to debug_guild. The bot will not create any global commands if a debug_guilds is passed. + + ..versionadded:: 2.0 + auto_sync_commands: :class:`bool` + Whether or not to automatically sync slash commands. This will call sync_commands in on_connect, and in + :attr:`.process_application_commands` if the command is not found. Defaults to ``True``. + + ..versionadded:: 2.0 """ pass diff --git a/discord/channel.py b/discord/channel.py index 17c9048236..c872ba21eb 100644 --- a/discord/channel.py +++ b/discord/channel.py @@ -97,7 +97,7 @@ async def _single_delete_strategy(messages: Iterable[Message]): class TextChannel(discord.abc.Messageable, discord.abc.GuildChannel, Hashable): - """Represents a Discord guild text channel. + """Represents a Discord text channel. .. container:: operations @@ -239,7 +239,7 @@ def is_nsfw(self) -> bool: return self.nsfw def is_news(self) -> bool: - """:class:`bool`: Checks if the channel is a news channel.""" + """:class:`bool`: Checks if the channel is a news/anouncements channel.""" return self._type == ChannelType.news.value @property diff --git a/discord/client.py b/discord/client.py index 62b998bc4a..ae390a7e2b 100644 --- a/discord/client.py +++ b/discord/client.py @@ -637,8 +637,8 @@ def run(self, *args: Any, **kwargs: Any) -> None: loop = self.loop try: - loop.add_signal_handler(signal.SIGINT, lambda: loop.stop()) - loop.add_signal_handler(signal.SIGTERM, lambda: loop.stop()) + loop.add_signal_handler(signal.SIGINT, loop.stop) + loop.add_signal_handler(signal.SIGTERM, loop.stop) except (NotImplementedError, RuntimeError): pass diff --git a/discord/cog.py b/discord/cog.py index b7db1db660..33c5cb47f7 100644 --- a/discord/cog.py +++ b/discord/cog.py @@ -1,7 +1,8 @@ """ The MIT License (MIT) -Copyright (c) 2015-present Rapptz +Copyright (c) 2015-2021 Rapptz +Copyright (c) 2021-present Pycord Development Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -250,6 +251,7 @@ def get_commands(self) -> List[ApplicationCommand]: This does not include subcommands. """ return [c for c in self.__cog_commands__ if isinstance(c, ApplicationCommand) and c.parent is None] + @property def qualified_name(self) -> str: """:class:`str`: Returns the cog's specified name, not the class name.""" @@ -610,11 +612,17 @@ def _remove_module_references(self, name: str) -> None: self.remove_cog(cogname) # remove all the commands from the module - for cmd in self.all_commands.copy().values(): + if self._supports_prefixed_commands: + for cmd in self.prefixed_commands.copy().values(): + if cmd.module is not None and _is_submodule(name, cmd.module): + # if isinstance(cmd, GroupMixin): + # cmd.recursively_remove_all_commands() + self.remove_command(cmd.name) + for cmd in self._application_commands.copy().values(): if cmd.module is not None and _is_submodule(name, cmd.module): # if isinstance(cmd, GroupMixin): # cmd.recursively_remove_all_commands() - self.remove_command(cmd.name) + self.remove_application_command(cmd) # remove all the listeners from the module for event_list in self.extra_events.copy().values(): diff --git a/discord/commands/context.py b/discord/commands/context.py index 2d057ab87b..9ef329f39d 100644 --- a/discord/commands/context.py +++ b/discord/commands/context.py @@ -27,25 +27,31 @@ from typing import TYPE_CHECKING, Optional, TypeVar, Union import discord.abc +from discord.interactions import InteractionMessage if TYPE_CHECKING: from typing_extensions import ParamSpec import discord - from discord import Bot - from discord.state import ConnectionState + from .. import Bot + from ..state import ConnectionState + from ..voice_client import VoiceProtocol from .core import ApplicationCommand, Option + from ..interactions import Interaction, InteractionResponse, InteractionChannel + from ..guild import Guild + from ..member import Member + from ..message import Message + from ..user import User + from ..client import ClientUser + from discord.webhook.async_ import Webhook + from ..cog import Cog from ..webhook import WebhookMessage - from typing import Callable + + from typing import Callable, Awaitable -from ..guild import Guild -from ..interactions import Interaction, InteractionResponse -from ..member import Member -from ..message import Message -from ..user import User -from ..utils import cached_property +from ..utils import _cached_property as cached_property T = TypeVar('T') CogT = TypeVar('CogT', bound="Cog") @@ -88,8 +94,8 @@ def __init__(self, bot: Bot, interaction: Interaction): self._state: ConnectionState = self.interaction._state - async def _get_channel(self) -> discord.abc.Messageable: - return self.channel + async def _get_channel(self) -> Optional[InteractionChannel]: + return self.interaction.channel async def invoke(self, command: ApplicationCommand[CogT, P, T], /, *args: P.args, **kwargs: P.kwargs) -> T: r"""|coro| @@ -118,7 +124,7 @@ async def invoke(self, command: ApplicationCommand[CogT, P, T], /, *args: P.args return await command(self, *args, **kwargs) @cached_property - def channel(self): + def channel(self) -> Optional[InteractionChannel]: return self.interaction.channel @cached_property @@ -142,8 +148,8 @@ def guild_locale(self) -> Optional[str]: return self.interaction.guild_locale @cached_property - def me(self) -> Union[Member, User]: - return self.guild.me if self.guild is not None else self.bot.user + def me(self) -> Optional[Union[Member, ClientUser]]: + return self.interaction.guild.me if self.interaction.guild is not None else self.bot.user @cached_property def message(self) -> Optional[Message]: @@ -153,33 +159,31 @@ def message(self) -> Optional[Message]: def user(self) -> Optional[Union[Member, User]]: return self.interaction.user - @cached_property - def author(self) -> Optional[Union[Member, User]]: - return self.user + author: Optional[Union[Member, User]] = user @property - def voice_client(self): - if self.guild is None: + def voice_client(self) -> Optional[VoiceProtocol]: + if self.interaction.guild is None: return None - return self.guild.voice_client + return self.interaction.guild.voice_client @cached_property def response(self) -> InteractionResponse: return self.interaction.response @property - def respond(self) -> Callable[..., Union[Interaction, WebhookMessage]]: + def respond(self) -> Callable[..., Awaitable[Union[Interaction, WebhookMessage]]]: """Callable[..., Union[:class:`~.Interaction`, :class:`~.Webhook`]]: Sends either a response or a followup response depending if the interaction has been responded to yet or not.""" - if not self.response.is_done(): + if not self.interaction.response.is_done(): return self.interaction.response.send_message # self.response else: return self.followup.send # self.send_followup @property - def send_response(self): - if not self.response.is_done(): + def send_response(self) -> Callable[..., Awaitable[Interaction]]: + if not self.interaction.response.is_done(): return self.interaction.response.send_message else: raise RuntimeError( @@ -187,8 +191,8 @@ def send_response(self): ) @property - def send_followup(self): - if self.response.is_done(): + def send_followup(self) -> Callable[..., Awaitable[WebhookMessage]]: + if self.interaction.response.is_done(): return self.followup.send else: raise RuntimeError( @@ -196,23 +200,23 @@ def send_followup(self): ) @property - def defer(self): + def defer(self) -> Callable[..., Awaitable[None]]: return self.interaction.response.defer @property - def followup(self): + def followup(self) -> Webhook: return self.interaction.followup async def delete(self): """Calls :attr:`~discord.commands.ApplicationContext.respond`. If the response is done, then calls :attr:`~discord.commands.ApplicationContext.respond` first.""" - if not self.response.is_done(): + if not self.interaction.response.is_done(): await self.defer() return await self.interaction.delete_original_message() @property - def edit(self): + def edit(self) -> Callable[..., Awaitable[InteractionMessage]]: return self.interaction.edit_original_message @property @@ -249,7 +253,7 @@ class AutocompleteContext: __slots__ = ("bot", "interaction", "command", "focused", "value", "options") - def __init__(self, bot: Bot, interaction: Interaction) -> None: + def __init__(self, bot: Bot, interaction: Interaction): self.bot = bot self.interaction = interaction diff --git a/discord/commands/core.py b/discord/commands/core.py index a3dc485422..8720997cbd 100644 --- a/discord/commands/core.py +++ b/discord/commands/core.py @@ -32,7 +32,22 @@ import re import types from collections import OrderedDict -from typing import Any, Callable, Dict, Generator, Generic, List, Optional, Type, TypeVar, Union, TYPE_CHECKING +from typing import ( + Any, + Callable, + Dict, + List, + Optional, + Union, + TYPE_CHECKING, + Awaitable, + overload, + TypeVar, + Generic, + Type, + Generator, + Coroutine, +) from .context import ApplicationContext, AutocompleteContext from .errors import ApplicationCommandError, CheckFailure, ApplicationCommandInvokeError @@ -61,12 +76,13 @@ ) if TYPE_CHECKING: - from typing_extensions import ParamSpec + from typing_extensions import ParamSpec, Concatenate from ..cog import Cog T = TypeVar('T') -CogT = TypeVar('CogT', bound='Cog') +CogT = TypeVar("CogT", bound="Cog") +Coro = TypeVar('Coro', bound=Callable[..., Coroutine[Any, Any, Any]]) if TYPE_CHECKING: P = ParamSpec('P') @@ -105,6 +121,16 @@ async def wrapped(arg): return ret return wrapped +def unwrap_function(function: Callable[..., Any]) -> Callable[..., Any]: + partial = functools.partial + while True: + if hasattr(function, '__wrapped__'): + function = function.__wrapped__ + elif isinstance(function, partial): + function = function.func + else: + return function + class _BaseCommand: __slots__ = () @@ -118,7 +144,7 @@ def __init__(self, func: Callable, **kwargs) -> None: cooldown = func.__commands_cooldown__ except AttributeError: cooldown = kwargs.get('cooldown') - + if cooldown is None: buckets = CooldownMapping(cooldown, BucketType.default) elif isinstance(cooldown, CooldownMapping): @@ -134,7 +160,10 @@ def __init__(self, func: Callable, **kwargs) -> None: self._max_concurrency: Optional[MaxConcurrency] = max_concurrency - def __repr__(self): + self._callback = None + self.module = None + + def __repr__(self) -> str: return f"" def __eq__(self, other) -> bool: @@ -161,10 +190,26 @@ async def __call__(self, ctx, *args, **kwargs): """ return await self.callback(ctx, *args, **kwargs) + @property + def callback(self) -> Union[ + Callable[Concatenate[CogT, ApplicationContext, P], Coro[T]], + Callable[Concatenate[ApplicationContext, P], Coro[T]], + ]: + return self._callback + + @callback.setter + def callback(self, function: Union[ + Callable[Concatenate[CogT, ApplicationContext, P], Coro[T]], + Callable[Concatenate[ApplicationContext, P], Coro[T]], + ]) -> None: + self._callback = function + unwrap = unwrap_function(function) + self.module = unwrap.__module__ + def _prepare_cooldowns(self, ctx: ApplicationContext): if self._buckets.valid: current = datetime.datetime.now().timestamp() - bucket = self._buckets.get_bucket(ctx, current) # type: ignore (ctx instead of non-existent message) + bucket = self._buckets.get_bucket(ctx, current) # type: ignore # ctx instead of non-existent message if bucket is not None: retry_after = bucket.update_rate_limit(current) @@ -183,14 +228,14 @@ async def prepare(self, ctx: ApplicationContext) -> None: if hasattr(self, "_max_concurrency"): if self._max_concurrency is not None: # For this application, context can be duck-typed as a Message - await self._max_concurrency.acquire(ctx) # type: ignore (ctx instead of non-existent message) + await self._max_concurrency.acquire(ctx) # type: ignore # ctx instead of non-existent message try: self._prepare_cooldowns(ctx) await self.call_before_hooks(ctx) except: if self._max_concurrency is not None: - await self._max_concurrency.release(ctx) # type: ignore (ctx instead of non-existent message) + await self._max_concurrency.release(ctx) # type: ignore # ctx instead of non-existent message raise def is_on_cooldown(self, ctx: ApplicationContext) -> bool: @@ -226,7 +271,7 @@ def reset_cooldown(self, ctx: ApplicationContext) -> None: The invocation context to reset the cooldown under. """ if self._buckets.valid: - bucket = self._buckets.get_bucket(ctx) # type: ignore (ctx instead of non-existent message) + bucket = self._buckets.get_bucket(ctx) # type: ignore # ctx instead of non-existent message bucket.reset() def get_cooldown_retry_after(self, ctx: ApplicationContext) -> float: @@ -549,10 +594,7 @@ def __init__(self, func: Callable, *args, **kwargs) -> None: ) self.dm_permission: Optional[bool] = getattr(func, "__dm_permission__", kwargs.get("dm_permissions", None)) - def _parse_options(self, params) -> List[Option]: - final_options = [] - if list(params.items())[0][0] == "self": temp = list(params.items()) temp.pop(0) @@ -568,7 +610,6 @@ def _parse_options(self, params) -> List[Option]: ) final_options = [] - for p_name, p_obj in params: option = p_obj.annotation @@ -587,13 +628,13 @@ def _parse_options(self, params) -> List[Option]: if not isinstance(option, Option): option = Option(option, "No description provided") - if p_obj.default != inspect.Parameter.empty: - option.required = False - - option.default = option.default if option.default is not None else p_obj.default - if option.default == inspect.Parameter.empty: - option.default = None + if option.default is None: + if p_obj.default == inspect.Parameter.empty: + option.default = None + else: + option.default = p_obj.default + option.required = False if option.name is None: option.name = p_name @@ -606,7 +647,6 @@ def _parse_options(self, params) -> List[Option]: return final_options - def _match_option_param_names(self, params, options): if list(params.items())[0][0] == "self": temp = list(params.items()) @@ -624,7 +664,8 @@ def _match_option_param_names(self, params, options): check_annotations = [ lambda o, a: o.input_type == SlashCommandOptionType.string and o.converter is not None, # pass on converters - lambda o, a: isinstance(o._raw_type, tuple) and a == Union[o._raw_type], # type: ignore (union types) + lambda o, a: isinstance(o.input_type, SlashCommandOptionType), # pass on slash cmd option type enums + lambda o, a: isinstance(o._raw_type, tuple) and a == Union[o._raw_type], # type: ignore # union types lambda o, a: self._is_typing_optional(a) and not o.required and o._raw_type in a.__args__, # optional lambda o, a: inspect.isclass(a) and issubclass(a, o._raw_type) # 'normal' types ] @@ -639,7 +680,7 @@ def _match_option_param_names(self, params, options): ) p_obj = p_obj.annotation - if not any(c(o, p_obj) for c in check_annotations): + if not any(c(o, p_obj) for c in check_annotations): raise TypeError(f"Parameter {p_name} does not match input type of {o.name}.") o._parameter_name = p_name @@ -747,7 +788,7 @@ async def invoke_autocomplete_callback(self, ctx: AutocompleteContext): if asyncio.iscoroutinefunction(option.autocomplete): result = await result - + choices = [ o if isinstance(o, OptionChoice) else OptionChoice(o) for o in result @@ -871,11 +912,16 @@ def __init__( self._before_invoke = None self._after_invoke = None self.cog = None + self.id = None # Permissions self.default_member_permissions: Optional[Permissions] = kwargs.get("default_member_permissions", None) self.dm_permission: Optional[bool] = kwargs.get("dm_permission", None) + @property + def module(self) -> Optional[str]: + return self.__module__ + def to_dict(self) -> Dict: as_dict = { "name": self.name, @@ -902,12 +948,35 @@ def wrap(func) -> SlashCommand: return wrap - def create_subgroup(self, name, description) -> SlashCommandGroup: + def create_subgroup( + self, name: str, + description: Optional[str] = None, + guild_ids: Optional[List[int]] = None, + ) -> SlashCommandGroup: + """ + Creates a new subgroup for this SlashCommandGroup. + + Parameters + ---------- + name: :class:`str` + The name of the group to create. + description: Optional[:class:`str`] + The description of the group to create. + guild_ids: Optional[List[:class:`int`]] + A list of the IDs of each guild this group should be added to, making it a guild command. + This will be a global command if ``None`` is passed. + + Returns + -------- + SlashCommandGroup + The slash command group that was created. + """ + if self.parent is not None: # TODO: Improve this error message raise Exception("Subcommands can only be nested once") - sub_command_group = SlashCommandGroup(name, description, parent=self) + sub_command_group = SlashCommandGroup(name, description, guild_ids, parent=self) self.subcommands.append(sub_command_group) return sub_command_group @@ -1000,7 +1069,7 @@ def _ensure_assignment_on_copy(self, other): if self.subcommands != other.subcommands: other.subcommands = self.subcommands.copy() - + if self.checks != other.checks: other.checks = self.checks.copy() @@ -1076,6 +1145,7 @@ def __init__(self, func: Callable, *args, **kwargs) -> None: raise TypeError("Name of a command must be a string.") self.cog = None + self.id = None try: checks = func.__commands_checks__ @@ -1153,6 +1223,29 @@ def to_dict(self) -> Dict[str, Union[str, int]]: class UserCommand(ContextMenuCommand): + r"""A class that implements the protocol for user context menu commands. + + These are not created manually, instead they are created via the + decorator or functional interface. + + Attributes + ----------- + name: :class:`str` + The name of the command. + callback: :ref:`coroutine ` + The coroutine that is executed when the command is called. + guild_ids: Optional[List[:class:`int`]] + The ids of the guilds where this command will be registered. + cog: Optional[:class:`Cog`] + The cog that this command belongs to. ``None`` if there isn't one. + checks: List[Callable[[:class:`.ApplicationContext`], :class:`bool`]] + A list of predicates that verifies if the command could be executed + with the given :class:`.ApplicationContext` as the sole parameter. If an exception + is necessary to be thrown to signal failure, then one inherited from + :exc:`.CommandError` should be used. Note that if the checks fail then + :exc:`.CheckFailure` exception is raised to the :func:`.on_application_command_error` + event. + """ type = 2 def __new__(cls, *args, **kwargs) -> UserCommand: @@ -1186,7 +1279,7 @@ async def _invoke(self, ctx: ApplicationContext) -> None: if self.cog is not None: await self.callback(self.cog, ctx, target) - else: + else: await self.callback(ctx, target) def copy(self): @@ -1228,6 +1321,29 @@ def _update_copy(self, kwargs: Dict[str, Any]): class MessageCommand(ContextMenuCommand): + r"""A class that implements the protocol for message context menu commands. + + These are not created manually, instead they are created via the + decorator or functional interface. + + Attributes + ----------- + name: :class:`str` + The name of the command. + callback: :ref:`coroutine ` + The coroutine that is executed when the command is called. + guild_ids: Optional[List[:class:`int`]] + The ids of the guilds where this command will be registered. + cog: Optional[:class:`Cog`] + The cog that this command belongs to. ``None`` if there isn't one. + checks: List[Callable[[:class:`.ApplicationContext`], :class:`bool`]] + A list of predicates that verifies if the command could be executed + with the given :class:`.ApplicationContext` as the sole parameter. If an exception + is necessary to be thrown to signal failure, then one inherited from + :exc:`.CommandError` should be used. Note that if the checks fail then + :exc:`.CheckFailure` exception is raised to the :func:`.on_application_command_error` + event. + """ type = 3 def __new__(cls, *args, **kwargs) -> MessageCommand: diff --git a/discord/commands/options.py b/discord/commands/options.py index 641ab1e05b..e17a85f3d0 100644 --- a/discord/commands/options.py +++ b/discord/commands/options.py @@ -1,3 +1,27 @@ +""" +The MIT License (MIT) + +Copyright (c) 2021-present Pycord Development + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + from typing import Any, Dict, List, Literal, Optional, Union from ..enums import ChannelType, SlashCommandOptionType @@ -38,7 +62,7 @@ def __init__(self, input_type: Any, /, description: str = None, **kwargs) -> Non self.description = description or "No description provided" self.converter = None self._raw_type = input_type - self.channel_types: List[SlashCommandOptionType] = kwargs.pop( + self.channel_types: List[ChannelType] = kwargs.pop( "channel_types", [] ) if not isinstance(input_type, SlashCommandOptionType): @@ -61,10 +85,10 @@ def __init__(self, input_type: Any, /, description: str = None, **kwargs) -> Non self.channel_types.append(channel_type) input_type = _type self.input_type = input_type - self.default = kwargs.pop("default", None) self.required: bool = ( - kwargs.pop("required", True) if self.default is None else False + kwargs.pop("required", True) if "default" not in kwargs else False ) + self.default = kwargs.pop("default", None) self.choices: List[OptionChoice] = [ o if isinstance(o, OptionChoice) else OptionChoice(o) for o in kwargs.pop("choices", list()) diff --git a/discord/embeds.py b/discord/embeds.py index 80cc14ac13..6bd1a90416 100644 --- a/discord/embeds.py +++ b/discord/embeds.py @@ -193,13 +193,13 @@ def __init__( self.url = url self.description = description - if self.title is not EmptyEmbed: + if self.title is not EmptyEmbed and self.title is not None: self.title = str(self.title) - if self.description is not EmptyEmbed: + if self.description is not EmptyEmbed and self.description is not None: self.description = str(self.description) - if self.url is not EmptyEmbed: + if self.url is not EmptyEmbed and self.url is not None: self.url = str(self.url) if timestamp: diff --git a/discord/enums.py b/discord/enums.py index e8b03d6fda..e14a68613f 100644 --- a/discord/enums.py +++ b/discord/enums.py @@ -607,7 +607,7 @@ class ApplicationType(Enum): class StagePrivacyLevel(Enum): - public = 1 + # public = 1 Deprecated closed = 2 guild_only = 2 diff --git a/discord/errors.py b/discord/errors.py index 8d6fa9e852..bf4abbea68 100644 --- a/discord/errors.py +++ b/discord/errors.py @@ -269,7 +269,6 @@ def __init__(self, shard_id: Optional[int]): ) super().__init__(msg % shard_id) - class InteractionResponded(ClientException): """Exception that's raised when sending another interaction response using :class:`InteractionResponse` when one has already been done before. diff --git a/discord/ext/commands/bot.py b/discord/ext/commands/bot.py index 57d5955be8..ed8bc60263 100644 --- a/discord/ext/commands/bot.py +++ b/discord/ext/commands/bot.py @@ -314,7 +314,7 @@ class be provided, it must be similar enough to :class:`.Context`\'s ctx.invoked_with = invoker # type-checker fails to narrow invoked_prefix type. ctx.prefix = invoked_prefix # type: ignore - ctx.command = self.all_commands.get(invoker) + ctx.command = self.prefixed_commands.get(invoker) return ctx async def invoke(self, ctx: Context) -> None: diff --git a/discord/ext/commands/converter.py b/discord/ext/commands/converter.py index 2f42392e79..ebe4e8851f 100644 --- a/discord/ext/commands/converter.py +++ b/discord/ext/commands/converter.py @@ -237,7 +237,9 @@ async def convert(self, ctx: Context, argument: str) -> discord.Member: else: user_id = int(match.group(1)) if guild: - result = guild.get_member(user_id) or _utils_get(ctx.message.mentions, id=user_id) + result = guild.get_member(user_id) + if ctx.message is not None and result is None: + result = _utils_get(ctx.message.mentions, id=user_id) else: result = _get_from_guilds(bot, 'get_member', user_id) @@ -283,7 +285,9 @@ async def convert(self, ctx: Context, argument: str) -> discord.User: if match is not None: user_id = int(match.group(1)) - result = ctx.bot.get_user(user_id) or _utils_get(ctx.message.mentions, id=user_id) + result = ctx.bot.get_user(user_id) + if ctx.message is not None and result is None: + result = _utils_get(ctx.message.mentions, id=user_id) if result is None: try: result = await ctx.bot.fetch_user(user_id) @@ -341,7 +345,11 @@ def _get_id_matches(ctx, argument): if not match: raise MessageNotFound(argument) data = match.groupdict() - channel_id = discord.utils._get_as_snowflake(data, 'channel_id') + channel_id = data.get('channel_id') + if channel_id is None: + channel_id = ctx.channel and ctx.channel.id + else: + channel_id = int(channel_id) message_id = int(data['message_id']) guild_id = data.get('guild_id') if guild_id is None: @@ -903,17 +911,17 @@ async def convert(self, ctx: Context, argument: str) -> str: if ctx.guild: def resolve_member(id: int) -> str: - m = _utils_get(msg.mentions, id=id) or ctx.guild.get_member(id) + m = (None if msg is None else _utils_get(msg.mentions, id=id)) or ctx.guild.get_member(id) return f'@{m.display_name if self.use_nicknames else m.name}' if m else '@deleted-user' def resolve_role(id: int) -> str: - r = _utils_get(msg.role_mentions, id=id) or ctx.guild.get_role(id) + r = (None if msg is None else _utils_get(msg.mentions, id=id)) or ctx.guild.get_role(id) return f'@{r.name}' if r else '@deleted-role' else: def resolve_member(id: int) -> str: - m = _utils_get(msg.mentions, id=id) or ctx.bot.get_user(id) + m = (None if msg is None else _utils_get(msg.mentions, id=id)) or ctx.bot.get_user(id) return f'@{m.name}' if m else '@deleted-user' def resolve_role(id: int) -> str: diff --git a/discord/ext/commands/core.py b/discord/ext/commands/core.py index c6c2d871ba..0454b4a1b9 100644 --- a/discord/ext/commands/core.py +++ b/discord/ext/commands/core.py @@ -1167,17 +1167,24 @@ class GroupMixin(Generic[CogT]): """ def __init__(self, *args: Any, **kwargs: Any) -> None: case_insensitive = kwargs.get('case_insensitive', False) - self.all_commands: Dict[str, Command[CogT, Any, Any]] = _CaseInsensitiveDict() if case_insensitive else {} + self.prefixed_commands: Dict[str, Command[CogT, Any, Any]] = _CaseInsensitiveDict() if case_insensitive else {} self.case_insensitive: bool = case_insensitive super().__init__(*args, **kwargs) + @property + def all_commands(self): + # merge app and prefixed commands + if hasattr(self, "_application_commands"): + return {**self._application_commands, **self.prefixed_commands} + return self.prefixed_commands + @property def commands(self) -> Set[Command[CogT, Any, Any]]: """Set[:class:`.Command`]: A unique set of commands without aliases that are registered.""" - return set(self.all_commands.values()) + return set(self.prefixed_commands.values()) def recursively_remove_all_commands(self) -> None: - for command in self.all_commands.copy().values(): + for command in self.prefixed_commands.copy().values(): if isinstance(command, GroupMixin): command.recursively_remove_all_commands() self.remove_command(command.name) @@ -1210,15 +1217,15 @@ def add_command(self, command: Command[CogT, Any, Any]) -> None: if isinstance(self, Command): command.parent = self - if command.name in self.all_commands: + if command.name in self.prefixed_commands: raise CommandRegistrationError(command.name) - self.all_commands[command.name] = command + self.prefixed_commands[command.name] = command for alias in command.aliases: - if alias in self.all_commands: + if alias in self.prefixed_commands: self.remove_command(command.name) raise CommandRegistrationError(alias, alias_conflict=True) - self.all_commands[alias] = command + self.prefixed_commands[alias] = command def remove_command(self, name: str) -> Optional[Command[CogT, Any, Any]]: """Remove a :class:`.Command` from the internal list @@ -1237,7 +1244,7 @@ def remove_command(self, name: str) -> Optional[Command[CogT, Any, Any]]: The command that was removed. If the name is not valid then ``None`` is returned instead. """ - command = self.all_commands.pop(name, None) + command = self.prefixed_commands.pop(name, None) # does not exist if command is None: @@ -1249,12 +1256,12 @@ def remove_command(self, name: str) -> Optional[Command[CogT, Any, Any]]: # we're not removing the alias so let's delete the rest of them. for alias in command.aliases: - cmd = self.all_commands.pop(alias, None) + cmd = self.prefixed_commands.pop(alias, None) # in the case of a CommandRegistrationError, an alias might conflict # with an already existing command. If this is the case, we want to # make sure the pre-existing command is not removed. if cmd is not None and cmd != command: - self.all_commands[alias] = cmd + self.prefixed_commands[alias] = cmd return command def walk_commands(self) -> Generator[Command[CogT, Any, Any], None, None]: @@ -1296,18 +1303,18 @@ def get_command(self, name: str) -> Optional[Command[CogT, Any, Any]]: # fast path, no space in name. if ' ' not in name: - return self.all_commands.get(name) + return self.prefixed_commands.get(name) names = name.split() if not names: return None - obj = self.all_commands.get(names[0]) + obj = self.prefixed_commands.get(names[0]) if not isinstance(obj, GroupMixin): return obj for name in names[1:]: try: - obj = obj.all_commands[name] # type: ignore + obj = obj.prefixed_commands[name] # type: ignore except (AttributeError, KeyError): return None @@ -1463,7 +1470,7 @@ async def invoke(self, ctx: Context) -> None: if trigger: ctx.subcommand_passed = trigger - ctx.invoked_subcommand = self.all_commands.get(trigger, None) + ctx.invoked_subcommand = self.prefixed_commands.get(trigger, None) if early_invoke: injected = hooked_wrapped_callback(self, ctx, self.callback) @@ -1497,7 +1504,7 @@ async def reinvoke(self, ctx: Context, *, call_hooks: bool = False) -> None: if trigger: ctx.subcommand_passed = trigger - ctx.invoked_subcommand = self.all_commands.get(trigger, None) + ctx.invoked_subcommand = self.prefixed_commands.get(trigger, None) if early_invoke: try: diff --git a/discord/ext/pages/pagination.py b/discord/ext/pages/pagination.py index 8f4d1c90e3..b5d0e11c7c 100644 --- a/discord/ext/pages/pagination.py +++ b/discord/ext/pages/pagination.py @@ -67,19 +67,20 @@ def __init__( style: discord.ButtonStyle = discord.ButtonStyle.green, disabled: bool = False, custom_id: str = None, + row: int = 0, loop_label: str = None, ): super().__init__( - label=label or button_type.capitalize(), + label=label if label or emoji else button_type.capitalize(), emoji=emoji, style=style, disabled=disabled, custom_id=custom_id, - row=0, + row=row, ) self.button_type = button_type - self.label = label or button_type.capitalize() - self.emoji = emoji + self.label = label if label or emoji else button_type.capitalize() + self.emoji: Union[str, discord.Emoji, discord.PartialEmoji] = emoji self.style = style self.disabled = disabled self.loop_label = self.label if not loop_label else loop_label @@ -137,6 +138,8 @@ class PageGroup: Whether the buttons get disabled when the paginator view times out. use_default_buttons: :class:`bool` Whether to use the default buttons (i.e. ``first``, ``prev``, ``page_indicator``, ``next``, ``last``) + default_button_row: :class:`int` + The row where the default paginator buttons are displayed. Has no effect if custom buttons are used. loop_pages: :class:`bool` Whether to loop the pages when clicking prev/next while at the first/last page in the list. custom_view: Optional[:class:`discord.ui.View`] @@ -159,6 +162,7 @@ def __init__( author_check: Optional[bool] = None, disable_on_timeout: Optional[bool] = None, use_default_buttons: Optional[bool] = None, + default_button_row: int = 0, loop_pages: Optional[bool] = None, custom_view: Optional[discord.ui.View] = None, timeout: Optional[float] = None, @@ -166,17 +170,20 @@ def __init__( ): self.label = label self.description = description - self.emoji = emoji - self.pages = pages + self.emoji: Union[str, discord.Emoji, discord.PartialEmoji] = emoji + self.pages: Union[ + List[str], List[Union[List[discord.Embed], discord.Embed]] + ] = pages self.show_disabled = show_disabled self.show_indicator = show_indicator self.author_check = author_check self.disable_on_timeout = disable_on_timeout self.use_default_buttons = use_default_buttons + self.default_button_row = default_button_row self.loop_pages = loop_pages - self.custom_view = custom_view - self.timeout = timeout - self.custom_buttons = custom_buttons + self.custom_view: discord.ui.View = custom_view + self.timeout: float = timeout + self.custom_buttons: List = custom_buttons class Paginator(discord.ui.View): @@ -199,6 +206,8 @@ class Paginator(discord.ui.View): Whether the buttons get disabled when the paginator view times out. use_default_buttons: :class:`bool` Whether to use the default buttons (i.e. ``first``, ``prev``, ``page_indicator``, ``next``, ``last``) + default_button_row: :class:`int` + The row where the default paginator buttons are displayed. Has no effect if custom buttons are used. loop_pages: :class:`bool` Whether to loop the pages when clicking prev/next while at the first/last page in the list. custom_view: Optional[:class:`discord.ui.View`] @@ -238,14 +247,17 @@ def __init__( author_check=True, disable_on_timeout=True, use_default_buttons=True, + default_button_row: int = 0, loop_pages=False, custom_view: Optional[discord.ui.View] = None, timeout: Optional[float] = 180.0, custom_buttons: Optional[List[PaginatorButton]] = None, ) -> None: super().__init__(timeout=timeout) - self.timeout = timeout - self.pages = pages + self.timeout: float = timeout + self.pages: Union[ + List[PageGroup], List[str], List[Union[List[discord.Embed], discord.Embed]] + ] = pages self.current_page = 0 self.menu: Optional[PaginatorMenu] = None self.show_menu = show_menu @@ -253,17 +265,20 @@ def __init__( if all(isinstance(pg, PageGroup) for pg in pages): self.page_groups = self.pages if show_menu else None - self.pages = self.page_groups[0].pages + self.pages: Union[ + List[str], List[Union[List[discord.Embed], discord.Embed]] + ] = self.page_groups[0].pages self.page_count = len(self.pages) - 1 self.buttons = {} - self.custom_buttons = custom_buttons + self.custom_buttons: List = custom_buttons self.show_disabled = show_disabled self.show_indicator = show_indicator self.disable_on_timeout = disable_on_timeout self.use_default_buttons = use_default_buttons + self.default_button_row = default_button_row self.loop_pages = loop_pages - self.custom_view = custom_view + self.custom_view: discord.ui.View = custom_view self.message: Union[discord.Message, discord.WebhookMessage, None] = None if self.custom_buttons and not self.use_default_buttons: @@ -288,6 +303,7 @@ async def update( author_check: Optional[bool] = None, disable_on_timeout: Optional[bool] = None, use_default_buttons: Optional[bool] = None, + default_button_row: Optional[int] = None, loop_pages: Optional[bool] = None, custom_view: Optional[discord.ui.View] = None, timeout: Optional[float] = None, @@ -309,6 +325,8 @@ async def update( Whether the buttons get disabled when the paginator view times out. use_default_buttons: :class:`bool` Whether to use the default buttons (i.e. ``first``, ``prev``, ``page_indicator``, ``next``, ``last``) + default_button_row: Optional[:class:`int`] + The row where the default paginator buttons are displayed. Has no effect if custom buttons are used. loop_pages: :class:`bool` Whether to loop the pages when clicking prev/next while at the first/last page in the list. custom_view: Optional[:class:`discord.ui.View`] @@ -321,7 +339,9 @@ async def update( """ # Update pages and reset current_page to 0 (default) - self.pages = pages if pages is not None else self.pages + self.pages: Union[ + List[PageGroup], List[str], List[Union[List[discord.Embed], discord.Embed]] + ] = (pages if pages is not None else self.pages) self.page_count = len(self.pages) - 1 self.current_page = 0 # Apply config changes, if specified @@ -342,9 +362,14 @@ async def update( if use_default_buttons is not None else self.use_default_buttons ) + self.default_button_row = ( + default_button_row + if default_button_row is not None + else self.default_button_row + ) self.loop_pages = loop_pages if loop_pages is not None else self.loop_pages - self.custom_view = None if custom_view is None else custom_view - self.timeout = timeout if timeout is not None else self.timeout + self.custom_view: discord.ui.View = None if custom_view is None else custom_view + self.timeout: float = timeout if timeout is not None else self.timeout if custom_buttons and not self.use_default_buttons: self.buttons = {} for button in custom_buttons: @@ -362,6 +387,61 @@ async def on_timeout(self) -> None: item.disabled = True await self.message.edit(view=self) + async def disable( + self, + include_custom: bool = False, + page: Optional[Union[str, Union[List[discord.Embed], discord.Embed]]] = None, + ) -> None: + """Stops the paginator, disabling all of its components. + + Parameters + ---------- + include_custom: :class:`bool` + Whether to disable components added via custom views. + page: Optional[Union[:class:`str`, Union[List[:class:`discord.Embed`], :class:`discord.Embed`]]] + The page content to show after disabling the paginator. + """ + page = self.get_page_content(page) + for item in self.children: + if item not in self.custom_view.children or include_custom: + item.disabled = True + if page: + await self.message.edit( + content=page if isinstance(page, str) else None, + embeds=[] if isinstance(page, str) else page, + view=self, + ) + else: + await self.message.edit(view=self) + + async def cancel( + self, + include_custom: bool = False, + page: Optional[Union[str, Union[List[discord.Embed], discord.Embed]]] = None, + ) -> None: + """Cancels the paginator, removing all of its components from the message. + + Parameters + ---------- + include_custom: :class:`bool` + Whether to remove components added via custom views. + page: Optional[Union[:class:`str`, Union[List[:class:`discord.Embed`], :class:`discord.Embed`]]] + The page content to show after canceling the paginator. + """ + items = self.children.copy() + page = self.get_page_content(page) + for item in items: + if item not in self.custom_view.children or include_custom: + self.remove_item(item) + if page: + await self.message.edit( + content=page if isinstance(page, str) else None, + embeds=[] if isinstance(page, str) else page, + view=self, + ) + else: + await self.message.edit(view=self) + async def goto_page(self, page_number=0) -> discord.Message: """Updates the paginator message to show the specified page number. @@ -410,27 +490,50 @@ def add_default_buttons(self): """Adds the full list of default buttons that can be used with the paginator. Includes ``first``, ``prev``, ``page_indicator``, ``next``, and ``last``.""" default_buttons = [ - PaginatorButton("first", label="<<", style=discord.ButtonStyle.blurple), PaginatorButton( - "prev", label="<", style=discord.ButtonStyle.red, loop_label="↪" + "first", + label="<<", + style=discord.ButtonStyle.blurple, + row=self.default_button_row, + ), + PaginatorButton( + "prev", + label="<", + style=discord.ButtonStyle.red, + loop_label="↪", + row=self.default_button_row, ), PaginatorButton( - "page_indicator", style=discord.ButtonStyle.gray, disabled=True + "page_indicator", + style=discord.ButtonStyle.gray, + disabled=True, + row=self.default_button_row, ), PaginatorButton( - "next", label=">", style=discord.ButtonStyle.green, loop_label="↩" + "next", + label=">", + style=discord.ButtonStyle.green, + loop_label="↩", + row=self.default_button_row, + ), + PaginatorButton( + "last", + label=">>", + style=discord.ButtonStyle.blurple, + row=self.default_button_row, ), - PaginatorButton("last", label=">>", style=discord.ButtonStyle.blurple), ] for button in default_buttons: self.add_button(button) def add_button(self, button: PaginatorButton): - """Adds a :class:`PaginatorButton` to the paginator. """ + """Adds a :class:`PaginatorButton` to the paginator.""" self.buttons[button.button_type] = { "object": discord.ui.Button( style=button.style, - label=button.label or button.button_type.capitalize() + label=button.label + if button.label or button.emoji + else button.button_type.capitalize() if button.button_type != "page_indicator" else f"{self.current_page + 1}/{self.page_count + 1}", disabled=button.disabled, @@ -519,7 +622,6 @@ def update_buttons(self) -> Dict: if self.custom_view: for item in self.custom_view.children: self.add_item(item) - return self.buttons @staticmethod @@ -564,7 +666,7 @@ async def send( raise TypeError(f"expected abc.Messageable not {target.__class__!r}") self.update_buttons() - page = self.pages[0] + page = self.pages[self.current_page] page = self.get_page_content(page) self.user = ctx.author @@ -617,7 +719,7 @@ async def respond( self.update_buttons() - page = self.pages[0] + page = self.pages[self.current_page] page = self.get_page_content(page) self.user = interaction.user @@ -668,7 +770,9 @@ class PaginatorMenu(discord.ui.Select): """ def __init__( - self, page_groups: List[PageGroup], placeholder: str = "Select Page Group" + self, + page_groups: List[PageGroup], + placeholder: str = "Select Page Group", ): self.page_groups = page_groups self.paginator: Optional[Paginator] = None @@ -682,7 +786,7 @@ def __init__( for page_group in self.page_groups ] super().__init__( - placeholder=placeholder, row=1, max_values=1, min_values=1, options=opts + placeholder=placeholder, max_values=1, min_values=1, options=opts ) async def callback(self, interaction: discord.Interaction): diff --git a/discord/flags.py b/discord/flags.py index 2909e56b2d..40e527ce96 100644 --- a/discord/flags.py +++ b/discord/flags.py @@ -306,7 +306,7 @@ def ephemeral(self): @flag_value def loading(self): - """:class:`bool`: Returns ``True`` if the source message an deferred. + """:class:`bool`: Returns ``True`` if the source message is deferred. The user sees a 'thinking' state diff --git a/discord/gateway.py b/discord/gateway.py index 54c7768ca6..81ac87c1aa 100644 --- a/discord/gateway.py +++ b/discord/gateway.py @@ -728,6 +728,7 @@ def __init__(self, socket, loop, *, hook=None): self._keep_alive = None self._close_code = None self.secret_key = None + self.ssrc_map = {} if hook: self._hook = hook @@ -839,6 +840,15 @@ async def received_message(self, msg): self._keep_alive = VoiceKeepAliveHandler(ws=self, interval=min(interval, 5.0)) self._keep_alive.start() + elif op == self.SPEAKING: + ssrc = data['ssrc'] + user = int(data['user_id']) + speaking = data['speaking'] + if ssrc in self.ssrc_map: + self.ssrc_map[ssrc]['speaking'] = speaking + else: + self.ssrc_map.update({ssrc: {'user_id': user, 'speaking': speaking}}) + await self._hook(self, msg) async def initial_connection(self, data): diff --git a/discord/http.py b/discord/http.py index 8242e1ce78..cdefd1f5e4 100644 --- a/discord/http.py +++ b/discord/http.py @@ -1649,6 +1649,7 @@ def edit_scheduled_event(self, guild_id: Snowflake, event_id: Snowflake, reason: 'entity_type', 'status', 'entity_metadata', + 'image', ) payload = {k: v for k, v in payload.items() if k in valid_keys} @@ -1666,9 +1667,13 @@ def get_scheduled_event_users( params = { 'limit': int(limit), 'with_member': int(with_member), - 'before': int(before), - 'after': int(after), } + + if before is not None: + params["before"] = int(before) + + if after is not None: + params["after"] = int(after) return self.request(Route('GET', '/guilds/{guild_id}/scheduled-events/{event_id}/users', guild_id=guild_id, event_id=event_id), params=params) diff --git a/discord/interactions.py b/discord/interactions.py index 35e04ac20d..cb2273228f 100644 --- a/discord/interactions.py +++ b/discord/interactions.py @@ -27,17 +27,15 @@ from __future__ import annotations from typing import Any, Dict, List, Optional, TYPE_CHECKING, Tuple, Union -import asyncio from . import utils from .enums import try_enum, InteractionType, InteractionResponseType from .errors import InteractionResponded, ClientException, InvalidArgument -from .channel import PartialMessageable, ChannelType +from .channel import ChannelType, PartialMessageable from .file import File from .user import User from .member import Member from .message import Message, Attachment -from .mentions import AllowedMentions from .object import Object from .permissions import Permissions from .webhook.async_ import async_context, Webhook, handle_message_parameters @@ -46,12 +44,14 @@ 'Interaction', 'InteractionMessage', 'InteractionResponse', + 'MessageInteraction', ) if TYPE_CHECKING: from .types.interactions import ( Interaction as InteractionPayload, InteractionData, + MessageInteraction as MessageInteractionPayload ) from .guild import Guild from .state import ConnectionState @@ -278,6 +278,7 @@ async def edit_original_message( embed: Optional[Embed] = MISSING, file: File = MISSING, files: List[File] = MISSING, + attachments: List[Attachment] = MISSING, view: Optional[View] = MISSING, allowed_mentions: Optional[AllowedMentions] = None, delete_after: Optional[float] = None, @@ -306,6 +307,9 @@ async def edit_original_message( files: List[:class:`File`] A list of files to send with the content. This cannot be mixed with the ``file`` parameter. + attachments: List[:class:`Attachment`] + A list of attachments to keep in the message. If ``[]`` is passed + then all attachments are removed. allowed_mentions: :class:`AllowedMentions` Controls the mentions being processed in this message. See :meth:`.abc.Messageable.send` for more information. @@ -339,6 +343,7 @@ async def edit_original_message( content=content, file=file, files=files, + attachments=attachments, embed=embed, embeds=embeds, view=view, @@ -422,7 +427,6 @@ def is_done(self) -> bool: An interaction can only be responded to once. """ return self._responded - async def defer(self, *, ephemeral: bool = False) -> None: """|coro| @@ -498,9 +502,9 @@ async def send_message( self, content: Optional[Any] = None, *, - embed: Embed = MISSING, - embeds: List[Embed] = MISSING, - view: View = MISSING, + embed: Embed = None, + embeds: List[Embed] = None, + view: View = None, tts: bool = False, ephemeral: bool = False, allowed_mentions: AllowedMentions = None, @@ -559,10 +563,10 @@ async def send_message( 'tts': tts, } - if embed is not MISSING and embeds is not MISSING: + if embed is not None and embeds is not None: raise TypeError('cannot mix embed and embeds keyword arguments') - if embed is not MISSING and embed is not None: + if embed is not None: embeds = [embed] if embeds: @@ -576,7 +580,7 @@ async def send_message( if ephemeral: payload['flags'] = 64 - if view is not MISSING and view is not None: + if view is not None: payload['components'] = view.to_components() state = self._parent._state @@ -620,7 +624,7 @@ async def send_message( for file in files: file.close() - if view is not MISSING and view is not None: + if view is not None: if ephemeral and view.timeout is None: view.timeout = 15 * 60.0 @@ -818,6 +822,7 @@ async def edit( embed: Optional[Embed] = MISSING, file: File = MISSING, files: List[File] = MISSING, + attachments: List[Attachment] = MISSING, view: Optional[View] = MISSING, allowed_mentions: Optional[AllowedMentions] = None, delete_after: Optional[float] = None, @@ -840,6 +845,9 @@ async def edit( files: List[:class:`File`] A list of files to send with the content. This cannot be mixed with the ``file`` parameter. + attachments: List[:class:`Attachment`] + A list of attachments to keep in the message. If ``[]`` is passed + then all attachments are removed. allowed_mentions: :class:`AllowedMentions` Controls the mentions being processed in this message. See :meth:`.abc.Messageable.send` for more information. @@ -867,12 +875,15 @@ async def edit( :class:`InteractionMessage` The newly edited message. """ + if attachments is MISSING: + attachments = self.attachments or MISSING return await self._state._interaction.edit_original_message( content=content, embeds=embeds, embed=embed, file=file, files=files, + attachments=attachments, view=view, allowed_mentions=allowed_mentions, delete_after=delete_after @@ -899,3 +910,46 @@ async def delete(self, *, delay: Optional[float] = None) -> None: Deleting the message failed. """ await self._state._interaction.delete_original_message(delay=delay) + + +class MessageInteraction: + """Represents a Discord message interaction. + + This is sent on the message object when the message is a response + to an interaction without an existing message e.g. application command. + + .. versionadded:: 2.0 + + .. note:: + Responses to message components do not include this property. + + Attributes + ----------- + id: :class:`int` + The interaction's ID. + type: :class:`InteractionType` + The interaction type. + name: :class:`str` + The name of the invoked application command. + user: :class:`User` + The user that sent the interaction. + data: :class:`dict` + The raw interaction data. + """ + + __slots__: Tuple[str, ...] = ( + 'id', + 'type', + 'name', + 'user', + 'data', + '_state' + ) + + def __init__(self, *, data: MessageInteractionPayload, state: ConnectionState): + self._state = state + self.data = data + self.id: int = int(data['id']) + self.type: InteractionType = data['type'] + self.name: str = data['name'] + self.user: User = self._state.store_user(data['user']) diff --git a/discord/iterators.py b/discord/iterators.py index 5ec35ad93f..35ac3240f5 100644 --- a/discord/iterators.py +++ b/discord/iterators.py @@ -68,6 +68,7 @@ from .guild import Guild from .threads import Thread from .abc import Snowflake + from .scheduled_events import ScheduledEvent T = TypeVar('T') OT = TypeVar('OT') @@ -754,7 +755,14 @@ def create_thread(self, data: ThreadPayload) -> Thread: class ScheduledEventSubscribersIterator(_AsyncIterator[Union["User", "Member"]]): - def __init__(self, event, limit, with_member=False, before=None, after=None): + def __init__( + self, + event: ScheduledEvent, + limit: int, + with_member: bool = False, + before: Union[datetime.datetime, int] = None, + after: Union[datetime.datetime, int] = None, + ): if isinstance(before, datetime.datetime): before = Object(id=time_snowflake(before, high=False)) if isinstance(after, datetime.datetime): @@ -790,24 +798,30 @@ def _get_retrieve(self): def member_from_payload(self, data): from .member import Member - member = data.pop('member', None) - member['user'] = data + user = data.pop('user') + + member = data.pop('member') + member['user'] = user return Member(data=member, guild=self.event.guild, state=self.event._state) def user_from_payload(self, data): from .user import User - return User(state=self.event._state, data=data) + user = data.pop('user') + + return User(state=self.event._state, data=user) async def fill_subs(self): if self._get_retrieve(): before = self.before.id if self.before else None after = self.after.id if self.after else None data = await self.get_subscribers(guild_id=self.event.guild.id, event_id=self.event.id, limit=self.retrieve, with_member=self.with_member, before=before, after=after) + if data: + self.limit -= self.retrieve for element in reversed(data): if 'member' in element: - self.subscribers.put(self.member_from_payload(element)) + await self.subscribers.put(self.member_from_payload(element)) else: - self.subscribers.put(self.user_from_payload(element)) + await self.subscribers.put(self.user_from_payload(element)) diff --git a/discord/message.py b/discord/message.py index 1d4a51a337..11ef7eb886 100644 --- a/discord/message.py +++ b/discord/message.py @@ -29,7 +29,7 @@ import re import io from os import PathLike -from typing import Dict, TYPE_CHECKING, Union, List, Optional, Any, Callable, Tuple, ClassVar, Optional, overload, TypeVar, Type, Sequence +from typing import Dict, TYPE_CHECKING, Union, List, Any, Callable, Tuple, ClassVar, Optional, overload, TypeVar, Type, Sequence from . import utils from .reaction import Reaction @@ -611,6 +611,8 @@ class Message(Hashable): .. versionadded:: 2.0 guild: Optional[:class:`Guild`] The guild that the message belongs to, if applicable. + interaction: Optional[:class:`MessageInteraction`] + The interaction associated with the message, if applicable. """ __slots__ = ( @@ -644,6 +646,7 @@ class Message(Hashable): 'stickers', 'components', 'guild', + 'interaction', ) if TYPE_CHECKING: @@ -711,6 +714,13 @@ def __init__( # the channel will be the correct type here ref.resolved = self.__class__(channel=chan, data=resolved, state=state) # type: ignore + from .interactions import MessageInteraction + self.interaction: Optional[MessageInteraction] + try: + self.interaction = MessageInteraction(data=data['interaction'], state=state) + except KeyError: + self.interaction = None + for handler in ('author', 'member', 'mentions', 'mention_roles'): try: getattr(self, f'_handle_{handler}')(data[handler]) diff --git a/discord/opus.py b/discord/opus.py index 515fc3db7f..04470786d5 100644 --- a/discord/opus.py +++ b/discord/opus.py @@ -25,7 +25,18 @@ from __future__ import annotations -from typing import List, Tuple, TypedDict, Any, TYPE_CHECKING, Callable, TypeVar, Literal, Optional, overload +from typing import ( + List, + Tuple, + TypedDict, + Any, + TYPE_CHECKING, + Callable, + TypeVar, + Literal, + Optional, + overload, +) import array import ctypes @@ -35,13 +46,19 @@ import os.path import struct import sys +import gc +import threading +import traceback +import time from .errors import DiscordException, InvalidArgument +from .sinks import RawData if TYPE_CHECKING: - T = TypeVar('T') - BAND_CTL = Literal['narrow', 'medium', 'wide', 'superwide', 'full'] - SIGNAL_CTL = Literal['auto', 'voice', 'music'] + T = TypeVar("T") + BAND_CTL = Literal["narrow", "medium", "wide", "superwide", "full"] + SIGNAL_CTL = Literal["auto", "voice", "music"] + class BandCtl(TypedDict): narrow: int @@ -50,15 +67,19 @@ class BandCtl(TypedDict): superwide: int full: int + class SignalCtl(TypedDict): auto: int voice: int music: int + __all__ = ( - 'Encoder', - 'OpusError', - 'OpusNotLoaded', + "Encoder", + "Decoder", + "DecodeManager", + "OpusError", + "OpusNotLoaded", ) _log = logging.getLogger(__name__) @@ -69,62 +90,68 @@ class SignalCtl(TypedDict): _lib = None + class EncoderStruct(ctypes.Structure): pass + class DecoderStruct(ctypes.Structure): pass + EncoderStructPtr = ctypes.POINTER(EncoderStruct) DecoderStructPtr = ctypes.POINTER(DecoderStruct) ## Some constants from opus_defines.h # Error codes -OK = 0 +OK = 0 BAD_ARG = -1 # Encoder CTLs -APPLICATION_AUDIO = 2049 -APPLICATION_VOIP = 2048 -APPLICATION_LOWDELAY = 2051 +APPLICATION_AUDIO = 2049 +APPLICATION_VOIP = 2048 +APPLICATION_LOWDELAY = 2051 -CTL_SET_BITRATE = 4002 -CTL_SET_BANDWIDTH = 4008 -CTL_SET_FEC = 4012 -CTL_SET_PLP = 4014 -CTL_SET_SIGNAL = 4024 +CTL_SET_BITRATE = 4002 +CTL_SET_BANDWIDTH = 4008 +CTL_SET_FEC = 4012 +CTL_SET_PLP = 4014 +CTL_SET_SIGNAL = 4024 # Decoder CTLs -CTL_SET_GAIN = 4034 +CTL_SET_GAIN = 4034 CTL_LAST_PACKET_DURATION = 4039 band_ctl: BandCtl = { - 'narrow': 1101, - 'medium': 1102, - 'wide': 1103, - 'superwide': 1104, - 'full': 1105, + "narrow": 1101, + "medium": 1102, + "wide": 1103, + "superwide": 1104, + "full": 1105, } signal_ctl: SignalCtl = { - 'auto': -1000, - 'voice': 3001, - 'music': 3002, + "auto": -1000, + "voice": 3001, + "music": 3002, } + def _err_lt(result: int, func: Callable, args: List) -> int: if result < OK: - _log.info('error has happened in %s', func.__name__) + _log.info("error has happened in %s", func.__name__) raise OpusError(result) return result + def _err_ne(result: T, func: Callable, args: List) -> T: ret = args[-1]._obj if ret.value != OK: - _log.info('error has happened in %s', func.__name__) + _log.info("error has happened in %s", func.__name__) raise OpusError(ret.value) return result + # A list of exported functions. # The first argument is obviously the name. # The second one are the types of arguments it takes. @@ -132,54 +159,90 @@ def _err_ne(result: T, func: Callable, args: List) -> T: # The fourth is the error handler. exported_functions: List[Tuple[Any, ...]] = [ # Generic - ('opus_get_version_string', - None, ctypes.c_char_p, None), - ('opus_strerror', - [ctypes.c_int], ctypes.c_char_p, None), - + ("opus_get_version_string", None, ctypes.c_char_p, None), + ("opus_strerror", [ctypes.c_int], ctypes.c_char_p, None), # Encoder functions - ('opus_encoder_get_size', - [ctypes.c_int], ctypes.c_int, None), - ('opus_encoder_create', - [ctypes.c_int, ctypes.c_int, ctypes.c_int, c_int_ptr], EncoderStructPtr, _err_ne), - ('opus_encode', - [EncoderStructPtr, c_int16_ptr, ctypes.c_int, ctypes.c_char_p, ctypes.c_int32], ctypes.c_int32, _err_lt), - ('opus_encode_float', - [EncoderStructPtr, c_float_ptr, ctypes.c_int, ctypes.c_char_p, ctypes.c_int32], ctypes.c_int32, _err_lt), - ('opus_encoder_ctl', - None, ctypes.c_int32, _err_lt), - ('opus_encoder_destroy', - [EncoderStructPtr], None, None), - + ("opus_encoder_get_size", [ctypes.c_int], ctypes.c_int, None), + ( + "opus_encoder_create", + [ctypes.c_int, ctypes.c_int, ctypes.c_int, c_int_ptr], + EncoderStructPtr, + _err_ne, + ), + ( + "opus_encode", + [EncoderStructPtr, c_int16_ptr, ctypes.c_int, ctypes.c_char_p, ctypes.c_int32], + ctypes.c_int32, + _err_lt, + ), + ( + "opus_encode_float", + [EncoderStructPtr, c_float_ptr, ctypes.c_int, ctypes.c_char_p, ctypes.c_int32], + ctypes.c_int32, + _err_lt, + ), + ("opus_encoder_ctl", None, ctypes.c_int32, _err_lt), + ("opus_encoder_destroy", [EncoderStructPtr], None, None), # Decoder functions - ('opus_decoder_get_size', - [ctypes.c_int], ctypes.c_int, None), - ('opus_decoder_create', - [ctypes.c_int, ctypes.c_int, c_int_ptr], DecoderStructPtr, _err_ne), - ('opus_decode', - [DecoderStructPtr, ctypes.c_char_p, ctypes.c_int32, c_int16_ptr, ctypes.c_int, ctypes.c_int], - ctypes.c_int, _err_lt), - ('opus_decode_float', - [DecoderStructPtr, ctypes.c_char_p, ctypes.c_int32, c_float_ptr, ctypes.c_int, ctypes.c_int], - ctypes.c_int, _err_lt), - ('opus_decoder_ctl', - None, ctypes.c_int32, _err_lt), - ('opus_decoder_destroy', - [DecoderStructPtr], None, None), - ('opus_decoder_get_nb_samples', - [DecoderStructPtr, ctypes.c_char_p, ctypes.c_int32], ctypes.c_int, _err_lt), - + ("opus_decoder_get_size", [ctypes.c_int], ctypes.c_int, None), + ( + "opus_decoder_create", + [ctypes.c_int, ctypes.c_int, c_int_ptr], + DecoderStructPtr, + _err_ne, + ), + ( + "opus_decode", + [ + DecoderStructPtr, + ctypes.c_char_p, + ctypes.c_int32, + c_int16_ptr, + ctypes.c_int, + ctypes.c_int, + ], + ctypes.c_int, + _err_lt, + ), + ( + "opus_decode_float", + [ + DecoderStructPtr, + ctypes.c_char_p, + ctypes.c_int32, + c_float_ptr, + ctypes.c_int, + ctypes.c_int, + ], + ctypes.c_int, + _err_lt, + ), + ("opus_decoder_ctl", None, ctypes.c_int32, _err_lt), + ("opus_decoder_destroy", [DecoderStructPtr], None, None), + ( + "opus_decoder_get_nb_samples", + [DecoderStructPtr, ctypes.c_char_p, ctypes.c_int32], + ctypes.c_int, + _err_lt, + ), # Packet functions - ('opus_packet_get_bandwidth', - [ctypes.c_char_p], ctypes.c_int, _err_lt), - ('opus_packet_get_nb_channels', - [ctypes.c_char_p], ctypes.c_int, _err_lt), - ('opus_packet_get_nb_frames', - [ctypes.c_char_p, ctypes.c_int], ctypes.c_int, _err_lt), - ('opus_packet_get_samples_per_frame', - [ctypes.c_char_p, ctypes.c_int], ctypes.c_int, _err_lt), + ("opus_packet_get_bandwidth", [ctypes.c_char_p], ctypes.c_int, _err_lt), + ("opus_packet_get_nb_channels", [ctypes.c_char_p], ctypes.c_int, _err_lt), + ( + "opus_packet_get_nb_frames", + [ctypes.c_char_p, ctypes.c_int], + ctypes.c_int, + _err_lt, + ), + ( + "opus_packet_get_samples_per_frame", + [ctypes.c_char_p, ctypes.c_int], + ctypes.c_int, + _err_lt, + ), ] + def libopus_loader(name: str) -> Any: # create the library... lib = ctypes.cdll.LoadLibrary(name) @@ -204,22 +267,24 @@ def libopus_loader(name: str) -> Any: return lib + def _load_default() -> bool: global _lib try: - if sys.platform == 'win32': + if sys.platform == "win32": _basedir = os.path.dirname(os.path.abspath(__file__)) - _bitness = struct.calcsize('P') * 8 - _target = 'x64' if _bitness > 32 else 'x86' - _filename = os.path.join(_basedir, 'bin', f'libopus-0.{_target}.dll') + _bitness = struct.calcsize("P") * 8 + _target = "x64" if _bitness > 32 else "x86" + _filename = os.path.join(_basedir, "bin", f"libopus-0.{_target}.dll") _lib = libopus_loader(_filename) else: - _lib = libopus_loader(ctypes.util.find_library('opus')) + _lib = libopus_loader(ctypes.util.find_library("opus")) except Exception: _lib = None return _lib is not None + def load_opus(name: str) -> None: """Loads the libopus shared library for use with voice. @@ -258,6 +323,7 @@ def load_opus(name: str) -> None: global _lib _lib = libopus_loader(name) + def is_loaded() -> bool: """Function to check if opus lib is successfully loaded either via the :func:`ctypes.util.find_library` call of :func:`load_opus`. @@ -272,6 +338,7 @@ def is_loaded() -> bool: global _lib return _lib is not None + class OpusError(DiscordException): """An exception that is thrown for libopus related errors. @@ -283,19 +350,22 @@ class OpusError(DiscordException): def __init__(self, code: int): self.code: int = code - msg = _lib.opus_strerror(self.code).decode('utf-8') + msg = _lib.opus_strerror(self.code).decode("utf-8") _log.info('"%s" has happened', msg) super().__init__(msg) + class OpusNotLoaded(DiscordException): """An exception that is thrown for when libopus is not loaded.""" + pass + class _OpusStruct: SAMPLING_RATE = 48000 CHANNELS = 2 FRAME_LENGTH = 20 # in milliseconds - SAMPLE_SIZE = struct.calcsize('h') * CHANNELS + SAMPLE_SIZE = struct.calcsize("h") * CHANNELS SAMPLES_PER_FRAME = int(SAMPLING_RATE / 1000 * FRAME_LENGTH) FRAME_SIZE = SAMPLES_PER_FRAME * SAMPLE_SIZE @@ -305,7 +375,8 @@ def get_opus_version() -> str: if not is_loaded() and not _load_default(): raise OpusNotLoaded() - return _lib.opus_get_version_string().decode('utf-8') + return _lib.opus_get_version_string().decode("utf-8") + class Encoder(_OpusStruct): def __init__(self, application: int = APPLICATION_AUDIO): @@ -316,18 +387,20 @@ def __init__(self, application: int = APPLICATION_AUDIO): self.set_bitrate(128) self.set_fec(True) self.set_expected_packet_loss_percent(0.15) - self.set_bandwidth('full') - self.set_signal_type('auto') + self.set_bandwidth("full") + self.set_signal_type("auto") def __del__(self) -> None: - if hasattr(self, '_state'): + if hasattr(self, "_state"): _lib.opus_encoder_destroy(self._state) # This is a destructor, so it's okay to assign None - self._state = None # type: ignore + self._state = None # type: ignore def _create_state(self) -> EncoderStruct: ret = ctypes.c_int() - return _lib.opus_encoder_create(self.SAMPLING_RATE, self.CHANNELS, self.application, ctypes.byref(ret)) + return _lib.opus_encoder_create( + self.SAMPLING_RATE, self.CHANNELS, self.application, ctypes.byref(ret) + ) def set_bitrate(self, kbps: int) -> int: kbps = min(512, max(16, int(kbps))) @@ -337,14 +410,18 @@ def set_bitrate(self, kbps: int) -> int: def set_bandwidth(self, req: BAND_CTL) -> None: if req not in band_ctl: - raise KeyError(f'{req!r} is not a valid bandwidth setting. Try one of: {",".join(band_ctl)}') + raise KeyError( + f'{req!r} is not a valid bandwidth setting. Try one of: {",".join(band_ctl)}' + ) k = band_ctl[req] _lib.opus_encoder_ctl(self._state, CTL_SET_BANDWIDTH, k) def set_signal_type(self, req: SIGNAL_CTL) -> None: if req not in signal_ctl: - raise KeyError(f'{req!r} is not a valid bandwidth setting. Try one of: {",".join(signal_ctl)}') + raise KeyError( + f'{req!r} is not a valid bandwidth setting. Try one of: {",".join(signal_ctl)}' + ) k = signal_ctl[req] _lib.opus_encoder_ctl(self._state, CTL_SET_SIGNAL, k) @@ -353,53 +430,54 @@ def set_fec(self, enabled: bool = True) -> None: _lib.opus_encoder_ctl(self._state, CTL_SET_FEC, 1 if enabled else 0) def set_expected_packet_loss_percent(self, percentage: float) -> None: - _lib.opus_encoder_ctl(self._state, CTL_SET_PLP, min(100, max(0, int(percentage * 100)))) # type: ignore + _lib.opus_encoder_ctl(self._state, CTL_SET_PLP, min(100, max(0, int(percentage * 100)))) # type: ignore def encode(self, pcm: bytes, frame_size: int) -> bytes: max_data_bytes = len(pcm) # bytes can be used to reference pointer - pcm_ptr = ctypes.cast(pcm, c_int16_ptr) # type: ignore + pcm_ptr = ctypes.cast(pcm, c_int16_ptr) # type: ignore data = (ctypes.c_char * max_data_bytes)() ret = _lib.opus_encode(self._state, pcm_ptr, frame_size, data, max_data_bytes) # array can be initialized with bytes but mypy doesn't know - return array.array('b', data[:ret]).tobytes() # type: ignore + return array.array("b", data[:ret]).tobytes() # type: ignore + class Decoder(_OpusStruct): def __init__(self): _OpusStruct.get_opus_version() - self._state: DecoderStruct = self._create_state() + self._state = self._create_state() - def __del__(self) -> None: - if hasattr(self, '_state'): + def __del__(self): + if hasattr(self, "_state"): _lib.opus_decoder_destroy(self._state) - # This is a destructor, so it's okay to assign None - self._state = None # type: ignore + self._state = None - def _create_state(self) -> DecoderStruct: + def _create_state(self): ret = ctypes.c_int() - return _lib.opus_decoder_create(self.SAMPLING_RATE, self.CHANNELS, ctypes.byref(ret)) + return _lib.opus_decoder_create( + self.SAMPLING_RATE, self.CHANNELS, ctypes.byref(ret) + ) @staticmethod - def packet_get_nb_frames(data: bytes) -> int: + def packet_get_nb_frames(data): """Gets the number of frames in an Opus packet""" return _lib.opus_packet_get_nb_frames(data, len(data)) @staticmethod - def packet_get_nb_channels(data: bytes) -> int: + def packet_get_nb_channels(data): """Gets the number of channels in an Opus packet""" return _lib.opus_packet_get_nb_channels(data) @classmethod - def packet_get_samples_per_frame(cls, data: bytes) -> int: + def packet_get_samples_per_frame(cls, data): """Gets the number of samples per frame from an Opus packet""" return _lib.opus_packet_get_samples_per_frame(data, cls.SAMPLING_RATE) - def _set_gain(self, adjustment: int) -> int: + def _set_gain(self, adjustment): """Configures decoder gain adjustment. - Scales the decoded output by a factor specified in Q8 dB units. This has a maximum range of -32768 to 32767 inclusive, and returns OPUS_BAD_ARG (-1) otherwise. The default is zero indicating no adjustment. @@ -409,47 +487,101 @@ def _set_gain(self, adjustment: int) -> int: """ return _lib.opus_decoder_ctl(self._state, CTL_SET_GAIN, adjustment) - def set_gain(self, dB: float) -> int: + def set_gain(self, dB): """Sets the decoder gain in dB, from -128 to 128.""" - dB_Q8 = max(-32768, min(32767, round(dB * 256))) # dB * 2^n where n is 8 (Q8) + dB_Q8 = max(-32768, min(32767, round(dB * 256))) # dB * 2^n where n is 8 (Q8) return self._set_gain(dB_Q8) - def set_volume(self, mult: float) -> int: + def set_volume(self, mult): """Sets the output volume as a float percent, i.e. 0.5 for 50%, 1.75 for 175%, etc.""" - return self.set_gain(20 * math.log10(mult)) # amplitude ratio + return self.set_gain(20 * math.log10(mult)) # amplitude ratio - def _get_last_packet_duration(self) -> int: + def _get_last_packet_duration(self): """Gets the duration (in samples) of the last packet successfully decoded or concealed.""" ret = ctypes.c_int32() _lib.opus_decoder_ctl(self._state, CTL_LAST_PACKET_DURATION, ctypes.byref(ret)) return ret.value - @overload - def decode(self, data: bytes, *, fec: bool) -> bytes: - ... - - @overload - def decode(self, data: Literal[None], *, fec: Literal[False]) -> bytes: - ... - - def decode(self, data: Optional[bytes], *, fec: bool = False) -> bytes: + def decode(self, data, *, fec=False): if data is None and fec: - raise InvalidArgument("Invalid arguments: FEC cannot be used with null data") + raise OpusError("Invalid arguments: FEC cannot be used with null data") if data is None: frame_size = self._get_last_packet_duration() or self.SAMPLES_PER_FRAME channel_count = self.CHANNELS else: frames = self.packet_get_nb_frames(data) - channel_count = self.packet_get_nb_channels(data) + channel_count = self.CHANNELS samples_per_frame = self.packet_get_samples_per_frame(data) frame_size = frames * samples_per_frame - pcm = (ctypes.c_int16 * (frame_size * channel_count))() + pcm = ( + ctypes.c_int16 + * (frame_size * channel_count * ctypes.sizeof(ctypes.c_int16)) + )() pcm_ptr = ctypes.cast(pcm, c_int16_ptr) - ret = _lib.opus_decode(self._state, data, len(data) if data else 0, pcm_ptr, frame_size, fec) + ret = _lib.opus_decode( + self._state, data, len(data) if data else 0, pcm_ptr, frame_size, fec + ) + + return array.array("h", pcm[: ret * channel_count]).tobytes() + + +class DecodeManager(threading.Thread, _OpusStruct): + def __init__(self, client): + super().__init__(daemon=True, name="DecodeManager") + + self.client = client + self.decode_queue = [] + + self.decoder = {} + + self._end_thread = threading.Event() + + def decode(self, opus_frame): + if not isinstance(opus_frame, RawData): + raise TypeError("opus_frame should be a RawData object.") + self.decode_queue.append(opus_frame) + + def run(self): + while not self._end_thread.is_set(): + try: + data = self.decode_queue.pop(0) + except IndexError: + continue + + try: + if data.decrypted_data is None: + continue + else: + data.decoded_data = self.get_decoder(data.ssrc).decode(data.decrypted_data) + except OpusError: + print("Error occurred while decoding opus frame.") + continue + + self.client.recv_decoded_audio(data) + + def stop(self): + while self.decoding: + time.sleep(0.1) + self.decoder = {} + gc.collect() + print("Decoder Process Killed") + self._end_thread.set() + + + def get_decoder(self, ssrc): + d = self.decoder.get(ssrc) + if d is None: + self.decoder[ssrc] = Decoder() + return self.decoder[ssrc] + else: + return d + + @property + def decoding(self): + return bool(self.decode_queue) - return array.array('h', pcm[:ret * channel_count]).tobytes() diff --git a/discord/permissions.py b/discord/permissions.py index 72217d609f..c161e64e27 100644 --- a/discord/permissions.py +++ b/discord/permissions.py @@ -148,7 +148,7 @@ def all(cls: Type[P]) -> P: """A factory method that creates a :class:`Permissions` with all permissions set to ``True``. """ - return cls(-1) + return cls(0b11111111111111111111111111111111111111111) @classmethod def all_channel(cls: Type[P]) -> P: @@ -333,13 +333,13 @@ def stream(self) -> int: return 1 << 9 @flag_value - def read_messages(self) -> int: - """:class:`bool`: Returns ``True`` if a user can read messages from all or specific text channels.""" + def view_channel(self) -> int: + """:class:`bool`: Returns ``True`` if a user can view all or specific channels.""" return 1 << 10 - @make_permission_alias('read_messages') - def view_channel(self) -> int: - """:class:`bool`: An alias for :attr:`read_messages`. + @make_permission_alias('view_channel') + def read_messages(self) -> int: + """:class:`bool`: An alias for :attr:`view_channel`. .. versionadded:: 1.3 """ diff --git a/discord/role.py b/discord/role.py index a191136568..0c8ba1b7d0 100644 --- a/discord/role.py +++ b/discord/role.py @@ -374,7 +374,7 @@ async def edit( position: int = MISSING, reason: Optional[str] = MISSING, icon: Optional[bytes] = MISSING, - unicode_emoji: str = MISSING + unicode_emoji: Optional[str] = MISSING ) -> Optional[Role]: """|coro| @@ -409,7 +409,7 @@ async def edit( reason: Optional[:class:`str`] The reason for editing this role. Shows up on the audit log. icon: Optional[:class:`bytes`] - A :term:`py:bytes-like object` representing the icon. Only PNG/JPEG/WebP is supported. + A :term:`py:bytes-like object` representing the icon. Only PNG/JPEG/WebP is supported. If this argument is passed, ``unicode_emoji`` is set to None. Only available to guilds that contain ``ROLE_ICONS`` in :attr:`Guild.features`. Could be ``None`` to denote removal of the icon. unicode_emoji: Optional[:class:`str`] @@ -461,6 +461,7 @@ async def edit( payload['icon'] = None else: payload['icon'] = _bytes_to_base64_data(icon) + payload['unicode_emoji'] = None if unicode_emoji is not MISSING: payload['unicode_emoji'] = unicode_emoji diff --git a/discord/scheduled_events.py b/discord/scheduled_events.py index c8b1475e6e..ebf2df50ef 100644 --- a/discord/scheduled_events.py +++ b/discord/scheduled_events.py @@ -37,6 +37,7 @@ from .mixins import Hashable from .iterators import ScheduledEventSubscribersIterator from .errors import ValidationError +from .asset import Asset __all__ = ( 'ScheduledEvent', @@ -131,6 +132,8 @@ class ScheduledEvent(Hashable): Attributes ---------- + guild: :class:`Guild` + The guild where the scheduled event is happening. name: :class:`str` The name of the scheduled event. description: Optional[:class:`str`] @@ -160,8 +163,8 @@ class ScheduledEvent(Hashable): so there is no need to use this attribute. created_at: :class:`datetime.datetime` The datetime object of when the event was created. - guild: :class:`Guild` - The guild where the scheduled event is happening. + cover: Optional[:class:`Asset`] + The cover image of the scheduled event. """ __slots__ = ( @@ -176,6 +179,7 @@ class ScheduledEvent(Hashable): 'location', 'guild', '_state', + '_cover', 'subscriber_count', ) @@ -186,7 +190,7 @@ def __init__(self, *, state: ConnectionState, guild: Guild, creator: Optional[Me self.guild: Guild = guild self.name: str = data.get('name') self.description: Optional[str] = data.get('description', None) - #self.image: Optional[str] = data.get('image', None) + self._cover: Optional[str] = data.get('image', None) self.start_time: datetime.datetime = datetime.datetime.fromisoformat(data.get('scheduled_start_time')) end_time = data.get('scheduled_end_time', None) if end_time != None: @@ -229,18 +233,30 @@ def created_at(self) -> datetime.datetime: def interested(self) -> Optional[int]: """An alias to :attr:`.subscriber_count`""" return self.subscriber_count - + + @property + def cover(self) -> Optional[Asset]: + """Optional[:class:`Asset`]: Returns the scheduled event cover image asset, if available.""" + if self._cover is None: + return None + return Asset._from_scheduled_event_cover( + self._state, + self.id, + self._image, + ) + async def edit( self, *, + reason: Optional[str] = None, name: str = MISSING, description: str = MISSING, status: Union[int, ScheduledEventStatus] = MISSING, location: Union[str, int, VoiceChannel, StageChannel, ScheduledEventLocation] = MISSING, start_time: datetime.datetime = MISSING, end_time: datetime.datetime = MISSING, + cover: Optional[bytes] = MISSING, privacy_level: ScheduledEventPrivacyLevel = ScheduledEventPrivacyLevel.guild_only, - reason: Optional[str] = None ) -> Optional[ScheduledEvent]: """|coro| @@ -274,6 +290,8 @@ async def edit( so there is no need to change this parameter. reason: Optional[:class:`str`] The reason to show in the audit log. + cover: Optional[:class:`Asset`] + The cover image of the scheduled event. Raises ------- @@ -302,6 +320,12 @@ async def edit( if privacy_level is not MISSING: payload["privacy_level"] = int(privacy_level) + if cover is not MISSING: + if cover is None: + payload["image"] + else: + payload["image"] = utils._bytes_to_base64_data(cover) + if location is not MISSING: if not isinstance(location, (ScheduledEventLocation, utils._MissingSentinel)): location = ScheduledEventLocation(state=self._state, value=location) @@ -315,7 +339,9 @@ async def edit( location = location if location is not MISSING else self.location if end_time is MISSING and location.type is ScheduledEventLocationType.external: - raise ValidationError("end_time needs to be passed if location type is external.") + end_time = self.end_time + if end_time is None: + raise ValidationError("end_time needs to be passed if location type is external.") if start_time is not MISSING: payload["scheduled_start_time"] = start_time.isoformat() @@ -428,7 +454,7 @@ async def cancel(self, *, reason: Optional[str] = None) -> None: def subscribers( self, *, - limit: Optional[int] = None, + limit: int = 100, as_member: bool = False, before: Optional[Union[Snowflake, datetime.datetime]] = None, after: Optional[Union[Snowflake, datetime.datetime]] = None, diff --git a/discord/sinks/__init__.py b/discord/sinks/__init__.py new file mode 100644 index 0000000000..d5dab5f47d --- /dev/null +++ b/discord/sinks/__init__.py @@ -0,0 +1,19 @@ +""" +discord.sinks +~~~~~~~~~~~~~ + +A place to store all officially given voice sinks. + +:copyright: 2021-present Pycord Development +:license: MIT, see LICENSE for more details. +""" +from .core import * +from .errors import * +from .m4a import * +from .mka import * +from .mkv import * +from .mp3 import * +from .mp4 import * +from .ogg import * +from .pcm import * +from .wave import * \ No newline at end of file diff --git a/discord/sinks/core.py b/discord/sinks/core.py new file mode 100644 index 0000000000..9c956e3a06 --- /dev/null +++ b/discord/sinks/core.py @@ -0,0 +1,213 @@ +""" +The MIT License (MIT) + +Copyright (c) 2015-2021 Rapptz +Copyright (c) 2021-present Pycord Development + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" +import os +import struct +import sys +import threading +import time +import io +from typing import TYPE_CHECKING +from .errors import SinkException +from ..types import snowflake + +if TYPE_CHECKING: + from ..channel import VoiceChannel + +__all__ = ( + "Filters", + "Sink", + "AudioData", + "RawData", +) + + +if sys.platform != "win32": + CREATE_NO_WINDOW = 0 +else: + CREATE_NO_WINDOW = 0x08000000 + + +default_filters = { + "time": 0, + "users": [], + "max_size": 0, +} + + +class Filters: + """Filters for sink + + .. versionadded:: 2.1 + + Parameters + ---------- + container + Container of all Filters. + """ + + def __init__(self, **kwargs): + self.filtered_users = kwargs.get("users", default_filters["users"]) + self.seconds = kwargs.get("time", default_filters["time"]) + self.max_size = kwargs.get("max_size", default_filters["max_size"]) + self.finished = False + + @staticmethod + def container(func): # Contains all filters + def _filter(self, data, user): + if not self.filtered_users or user in self.filtered_users: + return func(self, data, user) + + return _filter + + def init(self): + if self.seconds != 0: + thread = threading.Thread(target=self.wait_and_stop) + thread.start() + + def wait_and_stop(self): + time.sleep(self.seconds) + if self.finished: + return + self.vc.stop_recording() + + +class RawData: + """Handles raw data from Discord so that it can be decrypted and decoded to be used. + + .. versionadded:: 2.1 + """ + + def __init__(self, data, client): + self.data = bytearray(data) + self.client = client + + self.header = data[:12] + self.data = self.data[12:] + + unpacker = struct.Struct(">xxHII") + self.sequence, self.timestamp, self.ssrc = unpacker.unpack_from(self.header) + self.decrypted_data = getattr(self.client, "_decrypt_" + self.client.mode)( + self.header, self.data + ) + self.decoded_data = None + + self.user_id = None + + +class AudioData: + """Handles data that's been completely decrypted and decoded and is ready to be saved to file. + + .. versionadded:: 2.1 + + Raises + ------ + ClientException + The AudioData is already finished writing, + The AudioData is still writing + """ + + def __init__(self, file): + self.file = file + self.finished = False + + def write(self, data): + if self.finished: + raise SinkException("The AudioData is already finished writing.") + try: + self.file.write(data) + except ValueError: + pass + + def cleanup(self): + if self.finished: + raise SinkException("The AudioData is already finished writing.") + self.file.seek(0) + self.finished = True + + def on_format(self, encoding): + if not self.finished: + raise SinkException("The AudioData is still writing.") + + +class Sink(Filters): + """A Sink "stores" all the audio data. + + Can be subclassed for extra customizablilty, + + .. warning:: + It is although recommended you use, + the officially provided sink classes + like :class:`~discord.sinks.WaveSink` + + just replace the following like so: :: + vc.start_recording( + MySubClassedSink(), + finished_callback, + ctx.channel, + ) + + .. versionadded:: 2.1 + + Raises + ------ + ClientException + An invalid encoding type was specified. + Audio may only be formatted after recording is finished. + """ + + def __init__(self, *, filters=None): + if filters is None: + filters = default_filters + self.filters = filters + Filters.__init__(self, **self.filters) + self.vc: VoiceChannel = None + self.audio_data = {} + + def init(self, vc): # called under listen + self.vc: VoiceChannel = vc + super().init() + + @Filters.container + def write(self, data, user): + if user not in self.audio_data: + file = io.BytesIO() + self.audio_data.update({user: AudioData(file)}) + + file = self.audio_data[user] + file.write(data) + + def cleanup(self): + self.finished = True + for file in self.audio_data.values(): + file.cleanup() + self.format_audio(file) + + def get_all_audio(self): + """Gets all audio files.""" + return [x.file for x in self.audio_data.values()] + + def get_user_audio(self, user: snowflake.Snowflake): + """Gets the audio file(s) of one specific user.""" + return os.path.realpath(self.audio_data.pop(user)) diff --git a/discord/sinks/errors.py b/discord/sinks/errors.py new file mode 100644 index 0000000000..e3eaaebc58 --- /dev/null +++ b/discord/sinks/errors.py @@ -0,0 +1,90 @@ +""" +The MIT License (MIT) + +Copyright (c) 2021-present Pycord Development + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" +from discord.errors import DiscordException + + +class SinkException(DiscordException): + """Raised when a Sink error occurs. + + .. versionadded:: 2.1 + """ + + +class RecordingException(SinkException): + """Exception that's thrown when there is an error while trying to record + audio from a voice channel. + + .. versionadded:: 2.1 + """ + + pass + + +class MP3SinkError(SinkException): + """Exception thrown when a exception occurs with :class:`MP3Sink` + + .. versionadded:: 2.1 + """ + + +class MP4SinkError(SinkException): + """Exception thrown when a exception occurs with :class:`MP4Sink` + + .. versionadded:: 2.1 + """ + + +class OGGSinkError(SinkException): + """Exception thrown when a exception occurs with :class:`OGGSink` + + .. versionadded:: 2.1 + """ + + +class MKVSinkError(SinkException): + """Exception thrown when a exception occurs with :class:`MKVSink` + + .. versionadded:: 2.1 + """ + + +class WaveSinkError(SinkException): + """Exception thrown when a exception occurs with :class:`WaveSink` + + .. versionadded:: 2.1 + """ + + +class M4ASinkError(SinkException): + """Exception thrown when a exception occurs with :class:`M4ASink` + + .. versionadded:: 2.1 + """ + + +class MKASinkError(SinkException): + """Exception thrown when a exception occurs with :class:`MKAsSink` + + .. versionadded:: 2.1 + """ diff --git a/discord/sinks/m4a.py b/discord/sinks/m4a.py new file mode 100644 index 0000000000..11d0cc144a --- /dev/null +++ b/discord/sinks/m4a.py @@ -0,0 +1,98 @@ +""" +The MIT License (MIT) + +Copyright (c) 2021-present Pycord Development + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" +import io +import os +import subprocess +import time + +from .core import CREATE_NO_WINDOW, Filters, Sink, default_filters +from .errors import M4ASinkError + + +class M4ASink(Sink): + """A Sink "stores" all the audio data. + + Used for .m4a files. + + .. versionadded:: 2.1 + + Raises + ------ + ClientException + An invalid encoding type was specified. + Audio may only be formatted after recording is finished. + """ + + def __init__(self, *, filters=None): + if filters is None: + filters = default_filters + self.filters = filters + Filters.__init__(self, **self.filters) + + self.encoding = "m4a" + self.vc = None + self.audio_data = {} + + def format_audio(self, audio): + if self.vc.recording: + raise M4ASinkError( + "Audio may only be formatted after recording is finished." + ) + m4a_file = f"{time.time()}.tmp" + args = [ + "ffmpeg", + "-f", + "s16le", + "-ar", + "48000", + "-ac", + "2", + "-i", + "-", + "-f", + "ipod", + m4a_file, + ] + if os.path.exists(m4a_file): + os.remove( + m4a_file + ) # process will get stuck asking whether or not to overwrite, if file already exists. + try: + process = subprocess.Popen(args, creationflags=CREATE_NO_WINDOW, + stdin=subprocess.PIPE) + except FileNotFoundError: + raise M4ASinkError("ffmpeg was not found.") from None + except subprocess.SubprocessError as exc: + raise M4ASinkError( + "Popen failed: {0.__class__.__name__}: {0}".format(exc) + ) from exc + + process.communicate(audio.file.read()) + + with open(m4a_file, "rb") as f: + audio.file = io.BytesIO(f.read()) + audio.file.seek(0) + os.remove(m4a_file) + + audio.on_format(self.encoding) diff --git a/discord/sinks/mka.py b/discord/sinks/mka.py new file mode 100644 index 0000000000..6ae7958e59 --- /dev/null +++ b/discord/sinks/mka.py @@ -0,0 +1,89 @@ +""" +The MIT License (MIT) + +Copyright (c) 2021-present Pycord Development + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" +import io +import os +import subprocess + +from .core import CREATE_NO_WINDOW, Filters, Sink, default_filters +from .errors import MKASinkError + + +class MKASink(Sink): + """A Sink "stores" all the audio data. + + Used for .mka files. + + .. versionadded:: 2.1 + + Raises + ------ + ClientException + An invalid encoding type was specified. + Audio may only be formatted after recording is finished. + """ + + def __init__(self, *, filters=None): + if filters is None: + filters = default_filters + self.filters = filters + Filters.__init__(self, **self.filters) + + self.encoding = "mka" + self.vc = None + self.audio_data = {} + + def format_audio(self, audio): + if self.vc.recording: + raise MKASinkError( + "Audio may only be formatted after recording is finished." + ) + args = [ + "ffmpeg", + "-f", + "s16le", + "-ar", + "48000", + "-ac", + "2", + "-i", + "-", + "-f", + "matroska", + "pipe:1" + ] + try: + process = subprocess.Popen(args, creationflags=CREATE_NO_WINDOW, + stdout=subprocess.PIPE, stdin=subprocess.PIPE) + except FileNotFoundError: + raise MKASinkError("ffmpeg was not found.") from None + except subprocess.SubprocessError as exc: + raise MKASinkError( + "Popen failed: {0.__class__.__name__}: {0}".format(exc) + ) from exc + + out = process.communicate(audio.file.read())[0] + out = io.BytesIO(out) + out.seek(0) + audio.file = out + audio.on_format(self.encoding) diff --git a/discord/sinks/mkv.py b/discord/sinks/mkv.py new file mode 100644 index 0000000000..a1ff086631 --- /dev/null +++ b/discord/sinks/mkv.py @@ -0,0 +1,89 @@ +""" +The MIT License (MIT) + +Copyright (c) 2021-present Pycord Development + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" +import io +import os +import subprocess + +from .core import CREATE_NO_WINDOW, Filters, Sink, default_filters +from .errors import MKVSinkError + + +class MKVSink(Sink): + """A Sink "stores" all the audio data. + + Used for .mkv files. + + .. versionadded:: 2.1 + + Raises + ------ + ClientException + An invalid encoding type was specified. + Audio may only be formatted after recording is finished. + """ + + def __init__(self, *, filters=None): + if filters is None: + filters = default_filters + self.filters = filters + Filters.__init__(self, **self.filters) + + self.encoding = "mkv" + self.vc = None + self.audio_data = {} + + def format_audio(self, audio): + if self.vc.recording: + raise MKVSinkError( + "Audio may only be formatted after recording is finished." + ) + args = [ + "ffmpeg", + "-f", + "s16le", + "-ar", + "48000", + "-ac", + "2", + "-i", + "-", + "-f", + "matroska", + "pipe:1" + ] + try: + process = subprocess.Popen(args, #creationflags=CREATE_NO_WINDOW, + stdout=subprocess.PIPE, stdin=subprocess.PIPE) + except FileNotFoundError: + raise MKVSinkError("ffmpeg was not found.") from None + except subprocess.SubprocessError as exc: + raise MKVSinkError( + "Popen failed: {0.__class__.__name__}: {0}".format(exc) + ) from exc + + out = process.communicate(audio.file.read())[0] + out = io.BytesIO(out) + out.seek(0) + audio.file = out + audio.on_format(self.encoding) diff --git a/discord/sinks/mp3.py b/discord/sinks/mp3.py new file mode 100644 index 0000000000..cee3b7b457 --- /dev/null +++ b/discord/sinks/mp3.py @@ -0,0 +1,96 @@ +""" +The MIT License (MIT) + +Copyright (c) 2021-present Pycord Development + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" +import io +import os +import subprocess +import threading +from typing import Optional, IO + +from .core import CREATE_NO_WINDOW, Filters, Sink, default_filters +from .errors import MP3SinkError + + +class MP3Sink(Sink): + """A Sink "stores" all the audio data. + + Used for .mp3 files. + + .. versionadded:: 2.1 + + Parameters + ---------- + output_path: :class:`string` + A path to where the audio files should be output. + + Raises + ------ + ClientException + An invalid encoding type was specified. + Audio may only be formatted after recording is finished. + """ + + def __init__(self, *, filters=None): + if filters is None: + filters = default_filters + self.filters = filters + Filters.__init__(self, **self.filters) + + self.encoding = "mp3" + self.vc = None + self.audio_data = {} + + def format_audio(self, audio): + if self.vc.recording: + raise MP3SinkError( + "Audio may only be formatted after recording is finished." + ) + args = [ + "ffmpeg", + "-f", + "s16le", + "-ar", + "48000", + "-ac", + "2", + "-i", + "-", + "-f", + "mp3", + "pipe:1" + ] + try: + process = subprocess.Popen(args, creationflags=CREATE_NO_WINDOW, + stdout=subprocess.PIPE, stdin=subprocess.PIPE) + except FileNotFoundError: + raise MP3SinkError("ffmpeg was not found.") from None + except subprocess.SubprocessError as exc: + raise MP3SinkError( + "Popen failed: {0.__class__.__name__}: {0}".format(exc) + ) from exc + + out = process.communicate(audio.file.read())[0] + out = io.BytesIO(out) + out.seek(0) + audio.file = out + audio.on_format(self.encoding) diff --git a/discord/sinks/mp4.py b/discord/sinks/mp4.py new file mode 100644 index 0000000000..7c40f6d24f --- /dev/null +++ b/discord/sinks/mp4.py @@ -0,0 +1,98 @@ +""" +The MIT License (MIT) + +Copyright (c) 2021-present Pycord Development + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" +import io +import os +import subprocess +import time + +from .core import CREATE_NO_WINDOW, Filters, Sink, default_filters +from .errors import MP4SinkError + + +class MP4Sink(Sink): + """A Sink "stores" all the audio data. + + Used for .mp4 files. + + .. versionadded:: 2.1 + + Raises + ------ + ClientException + An invalid encoding type was specified. + Audio may only be formatted after recording is finished. + """ + + def __init__(self, *, filters=None): + if filters is None: + filters = default_filters + self.filters = filters + Filters.__init__(self, **self.filters) + + self.encoding = "mp4" + self.vc = None + self.audio_data = {} + + def format_audio(self, audio): + if self.vc.recording: + raise MP4SinkError( + "Audio may only be formatted after recording is finished." + ) + mp4_file = f"{time.time()}.tmp" + args = [ + "ffmpeg", + "-f", + "s16le", + "-ar", + "48000", + "-ac", + "2", + "-i", + "-", + "-f", + "mp4", + mp4_file, + ] + if os.path.exists(mp4_file): + os.remove( + mp4_file + ) # process will get stuck asking whether or not to overwrite, if file already exists. + try: + process = subprocess.Popen(args, creationflags=CREATE_NO_WINDOW, + stdin=subprocess.PIPE) + except FileNotFoundError: + raise MP4SinkError("ffmpeg was not found.") from None + except subprocess.SubprocessError as exc: + raise MP4SinkError( + "Popen failed: {0.__class__.__name__}: {0}".format(exc) + ) from exc + + process.communicate(audio.file.read()) + + with open(mp4_file, "rb") as f: + audio.file = io.BytesIO(f.read()) + audio.file.seek(0) + os.remove(mp4_file) + + audio.on_format(self.encoding) diff --git a/discord/sinks/ogg.py b/discord/sinks/ogg.py new file mode 100644 index 0000000000..d70aa0546a --- /dev/null +++ b/discord/sinks/ogg.py @@ -0,0 +1,89 @@ +""" +The MIT License (MIT) + +Copyright (c) 2021-present Pycord Development + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" +import io +import os +import subprocess + +from .core import CREATE_NO_WINDOW, Filters, Sink, default_filters +from .errors import OGGSinkError + + +class OGGSink(Sink): + """A Sink "stores" all the audio data. + + Used for .ogg files. + + .. versionadded:: 2.1 + + Raises + ------ + ClientException + An invalid encoding type was specified. + Audio may only be formatted after recording is finished. + """ + + def __init__(self, *, filters=None): + if filters is None: + filters = default_filters + self.filters = filters + Filters.__init__(self, **self.filters) + + self.encoding = "ogg" + self.vc = None + self.audio_data = {} + + def format_audio(self, audio): + if self.vc.recording: + raise OGGSinkError( + "Audio may only be formatted after recording is finished." + ) + args = [ + "ffmpeg", + "-f", + "s16le", + "-ar", + "48000", + "-ac", + "2", + "-i", + "-", + "-f", + "ogg", + "pipe:1" + ] + try: + process = subprocess.Popen(args, creationflags=CREATE_NO_WINDOW, + stdin=subprocess.PIPE, stdout=subprocess.PIPE) + except FileNotFoundError: + raise OGGSinkError("ffmpeg was not found.") from None + except subprocess.SubprocessError as exc: + raise OGGSinkError( + "Popen failed: {0.__class__.__name__}: {0}".format(exc) + ) from exc + + out = process.communicate(audio.file.read())[0] + out = io.BytesIO(out) + out.seek(0) + audio.file = out + audio.on_format(self.encoding) diff --git a/discord/sinks/pcm.py b/discord/sinks/pcm.py new file mode 100644 index 0000000000..ccd89d8062 --- /dev/null +++ b/discord/sinks/pcm.py @@ -0,0 +1,52 @@ +""" +The MIT License (MIT) + +Copyright (c) 2021-present Pycord Development + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" +from .core import Filters, Sink, default_filters + + +class PCMSink(Sink): + """A Sink "stores" all the audio data. + + Used for .pcm files. + + .. versionadded:: 2.1 + + Raises + ------ + ClientException + An invalid encoding type was specified. + Audio may only be formatted after recording is finished. + """ + + def __init__(self, *, filters=None): + if filters is None: + filters = default_filters + self.filters = filters + Filters.__init__(self, **self.filters) + + self.encoding = "ogg" + self.vc = None + self.audio_data = {} + + def format_audio(self, audio): + return diff --git a/discord/sinks/wave.py b/discord/sinks/wave.py new file mode 100644 index 0000000000..d0774384e9 --- /dev/null +++ b/discord/sinks/wave.py @@ -0,0 +1,69 @@ +""" +The MIT License (MIT) + +Copyright (c) 2021-present Pycord Development + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" +import io +import os +import wave + +from .core import Filters, Sink, default_filters +from .errors import WaveSinkError + + +class WaveSink(Sink): + """A Sink "stores" all the audio data. + + Used for .wav(wave) files. + + .. versionadded:: 2.1 + + Raises + ------ + ClientException + An invalid encoding type was specified. + Audio may only be formatted after recording is finished. + """ + + def __init__(self, *, filters=None): + if filters is None: + filters = default_filters + self.filters = filters + Filters.__init__(self, **self.filters) + + self.encoding = "wav" + self.vc = None + self.audio_data = {} + + def format_audio(self, audio): + if self.vc.recording: + raise WaveSinkError( + "Audio may only be formatted after recording is finished." + ) + data = audio.file + + with wave.open(data, "wb") as f: + f.setnchannels(self.vc.decoder.CHANNELS) + f.setsampwidth(self.vc.decoder.SAMPLE_SIZE // self.vc.decoder.CHANNELS) + f.setframerate(self.vc.decoder.SAMPLING_RATE) + + data.seek(0) + audio.on_format(self.encoding) diff --git a/discord/state.py b/discord/state.py index b32c8f5ef1..0a87033eb1 100644 --- a/discord/state.py +++ b/discord/state.py @@ -1217,39 +1217,42 @@ def parse_guild_members_chunk(self, data) -> None: self.process_chunk_requests(guild_id, data.get('nonce'), members, complete) def parse_guild_scheduled_event_create(self, data) -> None: - guild = self._get_guild(data['guild_id']) + guild = self._get_guild(int(data['guild_id'])) if guild is None: _log.debug('GUILD_SCHEDULED_EVENT_CREATE referencing an unknown guild ID: %s. Discarding.', data['guild_id']) return - scheduled_event = ScheduledEvent(state=self, guild=guild, data=data) + creator = None if not data.get('creator', None) else guild.get_member(data.get('creator_id')) + scheduled_event = ScheduledEvent(state=self, guild=guild, creator=creator, data=data) guild._add_scheduled_event(scheduled_event) self.dispatch('scheduled_event_create', scheduled_event) def parse_guild_scheduled_event_update(self, data) -> None: - guild = self._get_guild(data['guild_id']) + guild = self._get_guild(int(data['guild_id'])) if guild is None: _log.debug('GUILD_SCHEDULED_EVENT_UPDATE referencing an unknown guild ID: %s. Discarding.', data['guild_id']) return - scheduled_event = ScheduledEvent(state=self, guild=guild, data=data) + creator = None if not data.get('creator', None) else guild.get_member(data.get('creator_id')) + scheduled_event = ScheduledEvent(state=self, guild=guild, creator=creator, data=data) old_event = guild.get_scheduled_event(data['id']) guild._add_scheduled_event(scheduled_event) self.dispatch('scheduled_event_update', old_event, scheduled_event) def parse_guild_scheduled_event_delete(self, data) -> None: - guild = self._get_guild(data['guild_id']) + guild = self._get_guild(int(data['guild_id'])) if guild is None: _log.debug('GUILD_SCHEDULED_EVENT_DELETE referencing an unknown guild ID: %s. Discarding.', data['guild_id']) return - scheduled_event = ScheduledEvent(state=self, guild=guild, data=data) + creator = None if not data.get('creator', None) else guild.get_member(data.get('creator_id')) + scheduled_event = ScheduledEvent(state=self, guild=guild, creator=creator, data=data) scheduled_event.status = ScheduledEventStatus.canceled guild._remove_scheduled_event(scheduled_event) self.dispatch('scheduled_event_delete', scheduled_event) def parse_guild_scheduled_event_user_add(self, data) -> None: - guild = self._get_guild(data['guild_id']) + guild = self._get_guild(int(data['guild_id'])) if guild is None: _log.debug('GUILD_SCHEDULED_EVENT_USER_ADD referencing an unknown guild ID: %s. Discarding.', data['guild_id']) return @@ -1267,7 +1270,7 @@ def parse_guild_scheduled_event_user_add(self, data) -> None: self.dispatch('scheduled_event_user_add', event, member) def parse_guild_scheduled_event_user_remove(self, data) -> None: - guild = self._get_guild(data['guild_id']) + guild = self._get_guild(int(data['guild_id'])) if guild is None: _log.debug('GUILD_SCHEDULED_EVENT_USER_REMOVE referencing an unknown guild ID: %s. Discarding.', data['guild_id']) return diff --git a/discord/threads.py b/discord/threads.py index f23f844cd7..84f97c68f5 100644 --- a/discord/threads.py +++ b/discord/threads.py @@ -120,6 +120,9 @@ class Thread(Messageable, Hashable): Usually a value of 60, 1440, 4320 and 10080. archive_timestamp: :class:`datetime.datetime` An aware timestamp of when the thread's archived status was last updated in UTC. + created_at: Optional[:class:`datetime.datetime`] + An aware timestamp of when the thread was created. + Only available for threads created after 2022-01-09. """ __slots__ = ( @@ -141,6 +144,7 @@ class Thread(Messageable, Hashable): 'invitable', 'auto_archive_duration', 'archive_timestamp', + 'created_at', ) def __init__(self, *, guild: Guild, state: ConnectionState, data: ThreadPayload): @@ -186,6 +190,7 @@ def _unroll_metadata(self, data: ThreadMetadata): self.archive_timestamp = parse_time(data['archive_timestamp']) self.locked = data.get('locked', False) self.invitable = data.get('invitable', True) + self.created_at = parse_time(data.get('create_timestamp')) def _update(self, data): try: @@ -682,7 +687,7 @@ async def remove_user(self, user: Snowflake): Parameters ----------- user: :class:`abc.Snowflake` - The user to add to the thread. + The user to remove from the thread. Raises ------- diff --git a/discord/types/__init__.py b/discord/types/__init__.py index 6ab9eff74c..79e1e68bb7 100644 --- a/discord/types/__init__.py +++ b/discord/types/__init__.py @@ -6,5 +6,4 @@ :copyright: (c) 2015-2021 Rapptz & (c) 2021-present Pycord Development :license: MIT, see LICENSE for more details. - """ diff --git a/discord/types/interactions.py b/discord/types/interactions.py index 0b117f3b61..716427494e 100644 --- a/discord/types/interactions.py +++ b/discord/types/interactions.py @@ -225,9 +225,6 @@ class MessageInteraction(TypedDict): user: User - - - class _EditApplicationCommandOptional(TypedDict, total=False): description: str options: Optional[List[ApplicationCommandOption]] diff --git a/discord/types/scheduled_events.py b/discord/types/scheduled_events.py index 3d4d2007c0..9d22a65b80 100644 --- a/discord/types/scheduled_events.py +++ b/discord/types/scheduled_events.py @@ -50,7 +50,7 @@ class ScheduledEvent(TypedDict): guild: Guild name: str description: str - #image: Optional[str] + image: Optional[str] start_time: datetime end_time: Optional[datetime] status: ScheduledEventStatus @@ -58,6 +58,7 @@ class ScheduledEvent(TypedDict): creator_id: Snowflake creator: Optional[User] location: ScheduledEventLocation + privacy_level: ScheduledEventPrivacyLevel class ScheduledEventSubscriber(User): member: Optional[Member] diff --git a/discord/ui/__init__.py b/discord/ui/__init__.py index 91e7ecf739..2634fadf8e 100644 --- a/discord/ui/__init__.py +++ b/discord/ui/__init__.py @@ -1,8 +1,8 @@ """ discord.ui -~~~~~~~~~~~ +~~~~~~~~~~ -Bot UI Kit helper for the Discord API +UI Kit helper for the Discord API :copyright: (c) 2015-2021 Rapptz & (c) 2021-present Pycord Development :license: MIT, see LICENSE for more details. diff --git a/discord/utils.py b/discord/utils.py index 50ef028032..cd93543431 100644 --- a/discord/utils.py +++ b/discord/utils.py @@ -728,9 +728,22 @@ def resolve_template(code: Union[Template, str]) -> str: _MARKDOWN_ESCAPE_SUBREGEX = '|'.join(r'\{0}(?=([\s\S]*((?(?:>>)?\s|\[.+\]\(.+\)' - -_MARKDOWN_ESCAPE_REGEX = re.compile(fr'(?P{_MARKDOWN_ESCAPE_SUBREGEX}|{_MARKDOWN_ESCAPE_COMMON})', re.MULTILINE) +# regular expression for finding and escaping links in markdown +# note: technically, brackets are allowed in link text. +# perhaps more concerningly, parentheses are also allowed in link destination. +# this regular expression matches neither of those. +# this page provides a good reference: http://blog.michaelperrin.fr/2019/02/04/advanced-regular-expressions/ +_MARKDOWN_ESCAPE_LINKS = r""" +\[ # matches link text + [^\[\]]* # link text can contain anything but brackets +\] +\( # matches link destination + [^\(\)]+ # link destination cannot contain parentheses +\)""" # note 2: make sure this regex is consumed in re.X (extended mode) since it has whitespace and comments + +_MARKDOWN_ESCAPE_COMMON = fr'^>(?:>>)?\s|{_MARKDOWN_ESCAPE_LINKS}' + +_MARKDOWN_ESCAPE_REGEX = re.compile(fr'(?P{_MARKDOWN_ESCAPE_SUBREGEX}|{_MARKDOWN_ESCAPE_COMMON})', re.MULTILINE | re.X) _URL_REGEX = r'(?P<[^: >]+:\/[^ >]+>|(?:https?|steam):\/\/[^\s<]+[^<.,:;\"\'\]\s])' @@ -808,7 +821,7 @@ def replacement(match): regex = _MARKDOWN_STOCK_REGEX if ignore_links: regex = f'(?:{_URL_REGEX}|{regex})' - return re.sub(regex, replacement, text, 0, re.MULTILINE) + return re.sub(regex, replacement, text, 0, re.MULTILINE | re.X) else: text = re.sub(r'\\', r'\\\\', text) return _MARKDOWN_ESCAPE_REGEX.sub(r'\\\1', text) diff --git a/discord/voice_client.py b/discord/voice_client.py index fab2c7e95e..c54523a78c 100644 --- a/discord/voice_client.py +++ b/discord/voice_client.py @@ -45,6 +45,8 @@ import logging import struct import threading +import select +import time from typing import Any, Callable, List, Optional, TYPE_CHECKING, Tuple from . import opus, utils @@ -52,6 +54,8 @@ from .gateway import * from .errors import ClientException, ConnectionClosed from .player import AudioPlayer, AudioSource +from .sinks import Sink, RawData, RecordingException + from .utils import MISSING if TYPE_CHECKING: @@ -67,26 +71,26 @@ VoiceServerUpdate as VoiceServerUpdatePayload, SupportedModes, ) - + has_nacl: bool try: import nacl.secret # type: ignore + has_nacl = True except ImportError: has_nacl = False __all__ = ( - 'VoiceProtocol', - 'VoiceClient', + "VoiceProtocol", + "VoiceClient", ) - - _log = logging.getLogger(__name__) + class VoiceProtocol: """A class that represents the Discord voice protocol. @@ -196,6 +200,7 @@ def cleanup(self) -> None: key_id, _ = self.channel._get_voice_client_key() self.client._connection._remove_voice_client(key_id) + class VoiceClient(VoiceProtocol): """Represents a Discord voice connection. @@ -222,12 +227,12 @@ class VoiceClient(VoiceProtocol): loop: :class:`asyncio.AbstractEventLoop` The event loop that the voice client is running on. """ + endpoint_ip: str voice_port: int secret_key: List[int] ssrc: int - def __init__(self, client: Client, channel: abc.Connectable): if not has_nacl: raise RuntimeError("PyNaCl library needed in order to use voice") @@ -254,20 +259,28 @@ def __init__(self, client: Client, channel: abc.Connectable): self._runner: asyncio.Task = MISSING self._player: Optional[AudioPlayer] = None self.encoder: Encoder = MISSING + self.decoder = None self._lite_nonce: int = 0 self.ws: DiscordVoiceWebSocket = MISSING + self.paused = False + self.recording = False + self.user_timestamps = {} + self.sink = None + self.starting_time = None + self.stopping_time = None + warn_nacl = not has_nacl supported_modes: Tuple[SupportedModes, ...] = ( - 'xsalsa20_poly1305_lite', - 'xsalsa20_poly1305_suffix', - 'xsalsa20_poly1305', + "xsalsa20_poly1305_lite", + "xsalsa20_poly1305_suffix", + "xsalsa20_poly1305", ) @property def guild(self) -> Optional[Guild]: """Optional[:class:`Guild`]: The guild we're connected to, if applicable.""" - return getattr(self.channel, 'guild', None) + return getattr(self.channel, "guild", None) @property def user(self) -> ClientUser: @@ -284,8 +297,8 @@ def checked_add(self, attr, value, limit): # connection related async def on_voice_state_update(self, data: GuildVoiceStatePayload) -> None: - self.session_id = data['session_id'] - channel_id = data['channel_id'] + self.session_id = data["session_id"] + channel_id = data["channel_id"] if not self._handshaking or self._potentially_reconnecting: # If we're done handshaking then we just need to update ourselves @@ -302,20 +315,22 @@ async def on_voice_state_update(self, data: GuildVoiceStatePayload) -> None: async def on_voice_server_update(self, data: VoiceServerUpdatePayload) -> None: if self._voice_server_complete.is_set(): - _log.info('Ignoring extraneous voice server update.') + _log.info("Ignoring extraneous voice server update.") return - self.token = data.get('token') - self.server_id = int(data['guild_id']) - endpoint = data.get('endpoint') + self.token = data.get("token") + self.server_id = int(data["guild_id"]) + endpoint = data.get("endpoint") if endpoint is None or self.token is None: - _log.warning('Awaiting endpoint... This requires waiting. ' \ - 'If timeout occurred considering raising the timeout and reconnecting.') + _log.warning( + "Awaiting endpoint... This requires waiting. " + "If timeout occurred considering raising the timeout and reconnecting." + ) return - self.endpoint, _, _ = endpoint.rpartition(':') - if self.endpoint.startswith('wss://'): + self.endpoint, _, _ = endpoint.rpartition(":") + if self.endpoint.startswith("wss://"): # Just in case, strip it off since we're going to add it later self.endpoint = self.endpoint[6:] @@ -336,18 +351,24 @@ async def voice_connect(self) -> None: await self.channel.guild.change_voice_state(channel=self.channel) async def voice_disconnect(self) -> None: - _log.info('The voice handshake is being terminated for Channel ID %s (Guild ID %s)', self.channel.id, self.guild.id) + _log.info( + "The voice handshake is being terminated for Channel ID %s (Guild ID %s)", + self.channel.id, + self.guild.id, + ) await self.channel.guild.change_voice_state(channel=None) def prepare_handshake(self) -> None: self._voice_state_complete.clear() self._voice_server_complete.clear() self._handshaking = True - _log.info('Starting voice handshake... (connection attempt %d)', self._connections + 1) + _log.info( + "Starting voice handshake... (connection attempt %d)", self._connections + 1 + ) self._connections += 1 def finish_handshake(self) -> None: - _log.info('Voice handshake complete. Endpoint found %s', self.endpoint) + _log.info("Voice handshake complete. Endpoint found %s", self.endpoint) self._handshaking = False self._voice_server_complete.clear() self._voice_state_complete.clear() @@ -360,8 +381,8 @@ async def connect_websocket(self) -> DiscordVoiceWebSocket: self._connected.set() return ws - async def connect(self, *, reconnect: bool, timeout: float) ->None: - _log.info('Connecting to voice...') + async def connect(self, *, reconnect: bool, timeout: float) -> None: + _log.info("Connecting to voice...") self.timeout = timeout for i in range(5): @@ -389,7 +410,7 @@ async def connect(self, *, reconnect: bool, timeout: float) ->None: break except (ConnectionClosed, asyncio.TimeoutError): if reconnect: - _log.exception('Failed to connect to voice... Retrying...') + _log.exception("Failed to connect to voice... Retrying...") await asyncio.sleep(1 + i * 2.0) await self.voice_disconnect() continue @@ -406,7 +427,9 @@ async def potential_reconnect(self) -> bool: self._potentially_reconnecting = True try: # We only care about VOICE_SERVER_UPDATE since VOICE_STATE_UPDATE can come before we get disconnected - await asyncio.wait_for(self._voice_server_complete.wait(), timeout=self.timeout) + await asyncio.wait_for( + self._voice_server_complete.wait(), timeout=self.timeout + ) except asyncio.TimeoutError: self._potentially_reconnecting = False await self.disconnect(force=True) @@ -454,14 +477,21 @@ async def poll_voice_ws(self, reconnect: bool) -> None: # 4014 - voice channel has been deleted. # 4015 - voice server has crashed if exc.code in (1000, 4015): - _log.info('Disconnecting from voice normally, close code %d.', exc.code) + _log.info( + "Disconnecting from voice normally, close code %d.", + exc.code, + ) await self.disconnect() break if exc.code == 4014: - _log.info('Disconnected from voice by force... potentially reconnecting.') + _log.info( + "Disconnected from voice by force... potentially reconnecting." + ) successful = await self.potential_reconnect() if not successful: - _log.info('Reconnect was unsuccessful, disconnecting from voice normally...') + _log.info( + "Reconnect was unsuccessful, disconnecting from voice normally..." + ) await self.disconnect() break else: @@ -472,7 +502,9 @@ async def poll_voice_ws(self, reconnect: bool) -> None: raise retry = backoff.delay() - _log.exception('Disconnected from voice... Reconnecting in %.2fs.', retry) + _log.exception( + "Disconnected from voice... Reconnecting in %.2fs.", retry + ) self._connected.clear() await asyncio.sleep(retry) await self.voice_disconnect() @@ -480,7 +512,7 @@ async def poll_voice_ws(self, reconnect: bool) -> None: await self.connect(reconnect=True, timeout=self.timeout) except asyncio.TimeoutError: # at this point we've retried 5 times... let's continue the loop. - _log.warning('Could not connect to voice... Retrying...') + _log.warning("Could not connect to voice... Retrying...") continue async def disconnect(self, *, force: bool = False) -> None: @@ -528,11 +560,11 @@ def _get_voice_packet(self, data): # Formulate rtp header header[0] = 0x80 header[1] = 0x78 - struct.pack_into('>H', header, 2, self.sequence) - struct.pack_into('>I', header, 4, self.timestamp) - struct.pack_into('>I', header, 8, self.ssrc) + struct.pack_into(">H", header, 2, self.sequence) + struct.pack_into(">I", header, 4, self.timestamp) + struct.pack_into(">I", header, 8, self.ssrc) - encrypt_packet = getattr(self, '_encrypt_' + self.mode) + encrypt_packet = getattr(self, "_encrypt_" + self.mode) return encrypt_packet(header, data) def _encrypt_xsalsa20_poly1305(self, header: bytes, data) -> bytes: @@ -552,12 +584,52 @@ def _encrypt_xsalsa20_poly1305_lite(self, header: bytes, data) -> bytes: box = nacl.secret.SecretBox(bytes(self.secret_key)) nonce = bytearray(24) - nonce[:4] = struct.pack('>I', self._lite_nonce) - self.checked_add('_lite_nonce', 1, 4294967295) + nonce[:4] = struct.pack(">I", self._lite_nonce) + self.checked_add("_lite_nonce", 1, 4294967295) return header + box.encrypt(bytes(data), bytes(nonce)).ciphertext + nonce[:4] - def play(self, source: AudioSource, *, after: Callable[[Optional[Exception]], Any]=None) -> None: + def _decrypt_xsalsa20_poly1305(self, header, data): + box = nacl.secret.SecretBox(bytes(self.secret_key)) + + nonce = bytearray(24) + nonce[:12] = header + + return self.strip_header_ext(box.decrypt(bytes(data), bytes(nonce))) + + def _decrypt_xsalsa20_poly1305_suffix(self, header, data): + box = nacl.secret.SecretBox(bytes(self.secret_key)) + + nonce_size = nacl.secret.SecretBox.NONCE_SIZE + nonce = data[-nonce_size:] + + return self.strip_header_ext(box.decrypt(bytes(data[:-nonce_size]), nonce)) + + def _decrypt_xsalsa20_poly1305_lite(self, header, data): + box = nacl.secret.SecretBox(bytes(self.secret_key)) + + nonce = bytearray(24) + nonce[:4] = data[-4:] + data = data[:-4] + + return self.strip_header_ext(box.decrypt(bytes(data), bytes(nonce))) + + @staticmethod + def strip_header_ext(data): + if data[0] == 0xBE and data[1] == 0xDE and len(data) > 4: + _, length = struct.unpack_from(">HH", data) + offset = 4 + length * 4 + data = data[offset:] + return data + + def get_ssrc(self, user_id): + return {info["user_id"]: ssrc for ssrc, info in self.ws.ssrc_map.items()}[ + user_id + ] + + def play( + self, source: AudioSource, *, after: Callable[[Optional[Exception]], Any] = None + ) -> None: """Plays an :class:`AudioSource`. The finalizer, ``after`` is called after the source has been exhausted @@ -587,13 +659,15 @@ def play(self, source: AudioSource, *, after: Callable[[Optional[Exception]], An """ if not self.is_connected(): - raise ClientException('Not connected to voice.') + raise ClientException("Not connected to voice.") if self.is_playing(): - raise ClientException('Already playing audio.') + raise ClientException("Already playing audio.") if not isinstance(source, AudioSource): - raise TypeError(f'source must be an AudioSource not {source.__class__.__name__}') + raise TypeError( + f"source must be an AudioSource not {source.__class__.__name__}" + ) if not self.encoder and not source.is_opus(): self.encoder = opus.Encoder() @@ -601,6 +675,171 @@ def play(self, source: AudioSource, *, after: Callable[[Optional[Exception]], An self._player = AudioPlayer(source, self, after=after) self._player.start() + def unpack_audio(self, data): + """Takes an audio packet received from Discord and decodes it into pcm audio data. + If there are no users talking in the channel, `None` will be returned. + + You must be connected to receive audio. + + .. versionadded:: 2.0 + + Parameters + --------- + data: :class:`bytes` + Bytes received by Discord via the UDP connection used for sending and receiving voice data. + """ + if 200 <= data[1] <= 204: + # RTCP received. + # RTCP provides information about the connection + # as opposed to actual audio data, so it's not + # important at the moment. + return + if self.paused: + return + + data = RawData(data, self) + + if data.decrypted_data == b"\xf8\xff\xfe": # Frame of silence + return + + self.decoder.decode(data) + + def start_recording(self, sink, callback, *args): + """The bot will begin recording audio from the current voice channel it is in. + This function uses a thread so the current code line will not be stopped. + Must be in a voice channel to use. + Must not be already recording. + + .. versionadded:: 2.1 + + Parameters + ---------- + sink: :class:`Sink` + A Sink which will "store" all the audio data. + callback: :class:`asynchronous function` + A function which is called after the bot has stopped recording. + *args: + Args which will be passed to the callback function. + Raises + ------ + RecordingException + Not connected to a voice channel. + RecordingException + Already recording. + RecordingException + Must provide a Sink object. + """ + if not self.is_connected(): + raise RecordingException("Not connected to voice channel.") + if self.recording: + raise RecordingException("Already recording.") + if not isinstance(sink, Sink): + raise RecordingException("Must provide a Sink object.") + + self.empty_socket() + + self.decoder = opus.DecodeManager(self) + self.decoder.start() + self.recording = True + self.sink = sink + sink.init(self) + + t = threading.Thread( + target=self.recv_audio, + args=( + sink, + callback, + *args, + ), + ) + t.start() + + def stop_recording(self): + """Stops the recording. + Must be already recording. + + .. versionadded:: 2.1 + + Raises + ------ + RecordingException + Not currently recording. + """ + if not self.recording: + raise RecordingException("Not currently recording audio.") + self.decoder.stop() + self.recording = False + self.paused = False + + def toggle_pause(self): + """Pauses or unpauses the recording. + Must be already recording. + + .. versionadded:: 2.0 + + Raises + ------ + RecordingException + Not currently recording. + """ + if not self.recording: + raise RecordingException("Not currently recording audio.") + self.paused = not self.paused + + def empty_socket(self): + while True: + ready, _, _ = select.select([self.socket], [], [], 0.0) + if not ready: + break + for s in ready: + s.recv(4096) + + def recv_audio(self, sink, callback, *args): + # Gets data from _recv_audio and sorts + # it by user, handles pcm files and + # silence that should be added. + + self.user_timestamps = {} + self.starting_time = time.perf_counter() + while self.recording: + ready, _, err = select.select([self.socket], [], [self.socket], 0.01) + if not ready: + if err: + print(f"Socket error: {err}") + continue + + try: + data = self.socket.recv(4096) + except OSError: + self.stop_recording() + continue + + self.unpack_audio(data) + + self.stopping_time = time.perf_counter() + self.sink.cleanup() + callback = asyncio.run_coroutine_threadsafe( + callback(self.sink, *args), self.loop + ) + result = callback.result() + + if result is not None: + print(result) + + def recv_decoded_audio(self, data): + if data.ssrc not in self.user_timestamps: + self.user_timestamps.update({data.ssrc: data.timestamp}) + # Add silence when they were not being recorded. + silence = 0 + else: + silence = data.timestamp - self.user_timestamps[data.ssrc] - 960 + self.user_timestamps[data.ssrc] = data.timestamp + + data.decoded_data = struct.pack(' bool: """Indicates if we're currently playing audio.""" return self._player is not None and self._player.is_playing() @@ -636,10 +875,10 @@ def source(self) -> Optional[AudioSource]: @source.setter def source(self, value: AudioSource) -> None: if not isinstance(value, AudioSource): - raise TypeError(f'expected AudioSource not {value.__class__.__name__}.') + raise TypeError(f"expected AudioSource not {value.__class__.__name__}.") if self._player is None: - raise ValueError('Not playing anything.') + raise ValueError("Not playing anything.") self._player._set_source(value) @@ -663,7 +902,7 @@ def send_audio_packet(self, data: bytes, *, encode: bool = True) -> None: Encoding the data failed. """ - self.checked_add('sequence', 1, 65535) + self.checked_add("sequence", 1, 65535) if encode: encoded_data = self.encoder.encode(data, self.encoder.SAMPLES_PER_FRAME) else: @@ -672,6 +911,10 @@ def send_audio_packet(self, data: bytes, *, encode: bool = True) -> None: try: self.socket.sendto(packet, (self.endpoint_ip, self.voice_port)) except BlockingIOError: - _log.warning('A packet has been dropped (seq: %s, timestamp: %s)', self.sequence, self.timestamp) + _log.warning( + "A packet has been dropped (seq: %s, timestamp: %s)", + self.sequence, + self.timestamp, + ) - self.checked_add('timestamp', opus.Encoder.SAMPLES_PER_FRAME, 4294967295) + self.checked_add("timestamp", opus.Encoder.SAMPLES_PER_FRAME, 4294967295) diff --git a/discord/webhook/__init__.py b/discord/webhook/__init__.py index ce5609b7b1..cf93c1f327 100644 --- a/discord/webhook/__init__.py +++ b/discord/webhook/__init__.py @@ -1,8 +1,8 @@ """ discord.webhook -~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~ -Webhook support +Webhook support for the Discord API :copyright: (c) 2015-2021 Rapptz & (c) 2021-present Pycord Development :license: MIT, see LICENSE for more details. diff --git a/discord/webhook/async_.py b/discord/webhook/async_.py index 13c6c40a5e..11cdf0c975 100644 --- a/discord/webhook/async_.py +++ b/discord/webhook/async_.py @@ -40,7 +40,7 @@ from .. import utils from ..object import Object from ..errors import InvalidArgument, HTTPException, Forbidden, NotFound, DiscordServerError -from ..message import Message +from ..message import Attachment, Message from ..enums import try_enum, WebhookType from ..user import BaseUser, User from ..asset import Asset @@ -468,6 +468,7 @@ def handle_message_parameters( ephemeral: bool = False, file: File = MISSING, files: List[File] = MISSING, + attachments: List[Attachment] = MISSING, embed: Optional[Embed] = MISSING, embeds: List[Embed] = MISSING, view: Optional[View] = MISSING, @@ -497,6 +498,9 @@ def handle_message_parameters( else: payload['content'] = None + if attachments is not MISSING: + payload['attachments'] = [a.to_dict() for a in attachments] + if view is not MISSING: if view is not None: payload['components'] = view.to_components() @@ -683,6 +687,7 @@ async def edit( embed: Optional[Embed] = MISSING, file: File = MISSING, files: List[File] = MISSING, + attachments: List[Attachment] = MISSING, view: Optional[View] = MISSING, allowed_mentions: Optional[AllowedMentions] = None, ) -> WebhookMessage: @@ -712,6 +717,11 @@ async def edit( A list of files to send with the content. This cannot be mixed with the ``file`` parameter. + .. versionadded:: 2.0 + attachments: List[:class:`Attachment`] + A list of attachments to keep in the message. If ``[]`` is passed + then all attachments are removed. + .. versionadded:: 2.0 allowed_mentions: :class:`AllowedMentions` Controls the mentions being processed in this message. @@ -746,6 +756,9 @@ async def edit( elif isinstance(self.channel, Thread): thread = Object(self.channel.id) + if attachments is MISSING: + attachments = self.attachments or MISSING + return await self._state._webhook.edit_message( self.id, content=content, @@ -753,6 +766,7 @@ async def edit( embed=embed, file=file, files=files, + attachments=attachments, view=view, allowed_mentions=allowed_mentions, thread=thread @@ -1198,7 +1212,7 @@ async def edit( Whether to use the bot token over the webhook token if available. Defaults to ``True``. - .. versionadded:: 2.0 + .. versionadded:: 2.0 Raises ------- @@ -1527,6 +1541,7 @@ async def edit_message( embed: Optional[Embed] = MISSING, file: File = MISSING, files: List[File] = MISSING, + attachments: List[Attachment] = MISSING, view: Optional[View] = MISSING, allowed_mentions: Optional[AllowedMentions] = None, thread: Optional[Snowflake] = MISSING @@ -1554,6 +1569,9 @@ async def edit_message( embed: Optional[:class:`Embed`] The embed to edit the message with. ``None`` suppresses the embeds. This should not be mixed with the ``embeds`` parameter. + attachments: List[:class:`Attachment`] + A list of attachments to keep in the message. If ``[]`` is passed + then all attachments are removed. file: :class:`File` The file to upload. This cannot be mixed with ``files`` parameter. @@ -1609,6 +1627,7 @@ async def edit_message( content=content, file=file, files=files, + attachments=attachments, embed=embed, embeds=embeds, view=view, diff --git a/docs/_static/copy.js b/docs/_static/copy.js index f70e3d67ad..e1317810a2 100644 --- a/docs/_static/copy.js +++ b/docs/_static/copy.js @@ -9,7 +9,7 @@ const copy = async (obj) => { icon.textContent = COPIED; setTimeout(() => (icon.textContent = COPY), 2500); }, - (r) => alert('Could not copy codeblock:\n' + r.toString()) + (r) => alert('Could not copy the codeblock:\n' + r.toString()) ); }; @@ -21,8 +21,8 @@ document.addEventListener("DOMContentLoaded", () => { let copyEl = document.createElement("span"); copyEl.addEventListener('click', () => copy(codeblock)); copyEl.className = "copy"; - copyEl.setAttribute("aria-label", "Copy Code"); - copyEl.setAttribute("title", "Copy Code"); + copyEl.setAttribute("aria-label", "Copy This Code"); + copyEl.setAttribute("title", "Copy This Code"); let copyIcon = document.createElement("span"); copyIcon.className = "material-icons"; diff --git a/docs/_static/style.css b/docs/_static/style.css index e1d218b308..d91ece1c05 100644 --- a/docs/_static/style.css +++ b/docs/_static/style.css @@ -28,10 +28,10 @@ Historically however, thanks to: --grey-2: #ededf0; --grey-3: #d7d7db; --grey-4: #b1b1b3; - --grey-5: #737373; + --grey-5: #2a2a2b; --grey-6: #4a4a4f; - --grey-7: #38383d; - --grey-8: #2a2a2e; + --grey-7: #2a2a2b; + --grey-8: #1e1e1f; --black: #0c0c0d; --blue-1: #3399ff; @@ -40,6 +40,7 @@ Historically however, thanks to: --blue-4: #003eaa; --blue-5: #002275; --blue-6: #000f40; + --blurple: #7289DA; --settings: var(--grey-1); --settings-hover: var(--grey-1-8); @@ -56,7 +57,7 @@ Historically however, thanks to: --nav-hover-text: var(--grey-6); --nav-header-text: var(--black); --sub-header-background: var(--grey-6); - --search-border: var(--grey-4); + --search-border: var(--grey-7); --search-text: var(--white); --search-focus: var(--blue-1); --search-button: var(--grey-1); @@ -65,7 +66,7 @@ Historically however, thanks to: --footer-link: var(--grey-6); --hr-border: var(--grey-2); --main-big-headers-text: var(--black); - --main-big-headers-border: var(--grey-4); + --main-big-headers-border: var(--grey-7); --main-h5-header-text: var(--black); --main-h6-header-text: var(--grey-4); --main-h4-header-border: var(--grey-4); @@ -118,7 +119,7 @@ Historically however, thanks to: --link-text: var(--blue-1); --link-hover-text: var(--blue-2); --main-text: var(--white); - --sub-header-background: var(--grey-8); + --sub-header-background: var(--grey-7); --search-border: var(--grey-5); --nav-background: var(--main-background); --nav-text: var(--grey-1); diff --git a/docs/api.rst b/docs/api.rst index 91d78f3e8c..33190e6be6 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -95,9 +95,69 @@ AutoShardedBot Application Commands --------------------- -.. attributetable:: ApplicationCommandMixin -.. autoclass:: ApplicationCommandMixin +ApplicationCommand +~~~~~~~~~~~~~~~~~~~ + +.. attributetable:: ApplicationCommand + +.. autoclass:: ApplicationCommand + :members: + +SlashCommand +~~~~~~~~~~~~~ + +.. attributetable:: SlashCommand + +.. autoclass:: SlashCommand + :members: + +SlashCommandGroup +~~~~~~~~~~~~~~~~~~ + +.. attributetable:: SlashCommandGroup + +.. autoclass:: SlashCommandGroup + :members: + +Option +~~~~~~~ + +.. attributetable:: Option + +.. autoclass:: Option + :members: + +OptionChoice +~~~~~~~~~~~~~ + +.. attributetable:: OptionChoice + +.. autoclass:: OptionChoice + :members: + +UserCommand +~~~~~~~~~~~~ + +.. attributetable:: UserCommand + +.. autoclass:: UserCommand + :members: + +MessageCommand +~~~~~~~~~~~~~~~ + +.. attributetable:: MessageCommand + +.. autoclass:: MessageCommand + :members: + +ApplicationContext +~~~~~~~~~~~~~~~~~~~ + +.. attributetable:: ApplicationContext + +.. autoclass:: ApplicationContext :members: Application Info @@ -1284,6 +1344,47 @@ from being stringly typed in case the strings change in the future. All enumerations are subclasses of an internal class which mimics the behaviour of :class:`enum.Enum`. +.. class:: SlashCommandOptionType + + Specifies the input type of an option. + + .. versionadded:: 2.0 + + .. attribute:: sub_command + + A slash subcommand. + .. attribute:: sub_command_group + + A slash command group. + .. attribute:: string + + A string. + .. attribute:: integer + + An integer. + .. attribute:: boolean + + A boolean. + .. attribute:: user + + A user from the current channel. This will be converted to an instance of :class:`.User` in private channels, else :class:`.Member` + .. attribute:: channel + + A channel from the current guild. + .. attribute:: role + + A role from the current guild. + .. attribute:: mentionable + + A mentionable (user or role). + .. attribute:: number + + A floating number. + + .. attribute:: attachment + + An attachment. Currently in beta. + .. class:: ChannelType Specifies the type of channel. @@ -2516,18 +2617,60 @@ of :class:`enum.Enum`. A scheduled event was created. + When this is the action, the type of :attr:`~AuditLogEntry.target` is + the :class:`ScheduledEvent` or :class:`Object` with the ID of the thread which + was deleted. + + Possible attributes for :class:`AuditLogDiff`: + + - :attr:`~AuditLogDiff.name` + - :attr:`~AuditLogDiff.description` + - :attr:`~AuditLogDiff.channel` + - :attr:`~AuditLogDiff.privacy_level` + - :attr:`~AuditLogDiff.location` + - :attr:`~AuditLogDiff.status` + - :attr:`~AuditLogDiff.location_type` + .. versionadded:: 2.0 .. attribute:: scheduled_event_update A scheduled event was updated. + When this is the action, the type of :attr:`~AuditLogEntry.target` is + the :class:`ScheduledEvent` or :class:`Object` with the ID of the thread which + was deleted. + + Possible attributes for :class:`AuditLogDiff`: + + - :attr:`~AuditLogDiff.name` + - :attr:`~AuditLogDiff.description` + - :attr:`~AuditLogDiff.channel` + - :attr:`~AuditLogDiff.privacy_level` + - :attr:`~AuditLogDiff.location` + - :attr:`~AuditLogDiff.status` + - :attr:`~AuditLogDiff.location_type` + .. versionadded:: 2.0 .. attribute:: scheduled_event_delete A scheduled event was deleted. + When this is the action, the type of :attr:`~AuditLogEntry.target` is + the :class:`ScheduledEvent` or :class:`Object` with the ID of the thread which + was deleted. + + Possible attributes for :class:`AuditLogDiff`: + + - :attr:`~AuditLogDiff.name` + - :attr:`~AuditLogDiff.description` + - :attr:`~AuditLogDiff.channel` + - :attr:`~AuditLogDiff.privacy_level` + - :attr:`~AuditLogDiff.location` + - :attr:`~AuditLogDiff.status` + - :attr:`~AuditLogDiff.location_type` + .. versionadded:: 2.0 .. attribute:: thread_create @@ -2544,6 +2687,7 @@ of :class:`enum.Enum`. - :attr:`~AuditLogDiff.archived` - :attr:`~AuditLogDiff.locked` - :attr:`~AuditLogDiff.auto_archive_duration` + - :attr:`~AuditLogDiff.invitable` .. versionadded:: 2.0 @@ -2561,6 +2705,7 @@ of :class:`enum.Enum`. - :attr:`~AuditLogDiff.archived` - :attr:`~AuditLogDiff.locked` - :attr:`~AuditLogDiff.auto_archive_duration` + - :attr:`~AuditLogDiff.invitable` .. versionadded:: 2.0 @@ -2578,6 +2723,7 @@ of :class:`enum.Enum`. - :attr:`~AuditLogDiff.archived` - :attr:`~AuditLogDiff.locked` - :attr:`~AuditLogDiff.auto_archive_duration` + - :attr:`~AuditLogDiff.invitable` .. versionadded:: 2.0 @@ -2727,7 +2873,9 @@ of :class:`enum.Enum`. .. attribute:: embedded_application - A stream invite that targets an embedded application. + A invite that targets an embedded application. + + Note that your bot won't be verified if you provide users access to this .. class:: VideoQualityMode @@ -2746,13 +2894,11 @@ of :class:`enum.Enum`. .. class:: StagePrivacyLevel Represents a stage instance's privacy level. + Stage event privacy levels can only have 1 possible value at the moment so + this shouldn't really be used. .. versionadded:: 2.0 - .. attribute:: public - - The stage instance can be joined by external users. - .. attribute:: closed The stage instance can only be joined by members of the guild. @@ -2808,6 +2954,14 @@ of :class:`enum.Enum`. Represents an embedded activity application. + Some might be boost-only or gated. + + .. warning:: + + Discord said that they won't verify bots who gives access to embedded activities. + + Read more here: https://discord.com/channels/613425648685547541/697236247739105340/901153332075315321. + .. versionadded:: 2.0 .. attribute:: awkword @@ -2878,7 +3032,7 @@ of :class:`enum.Enum`. Represents the embedded application Ocho QA. - .. attribute:: pn_stagging + .. attribute:: poker_night_staging Represents the embedded application Poker Night Staging. @@ -2886,7 +3040,7 @@ of :class:`enum.Enum`. Represents the embedded application Poker Night. - .. attribute:: poker_night + .. attribute:: poker_night_qa Represents the embedded application Poker QA. @@ -3397,9 +3551,9 @@ AuditLogDiff .. attribute:: privacy_level - The privacy level of the stage instance. + The privacy level of the stage instance or scheduled event. - :type: :class:`StagePrivacyLevel` + :type: :class:`StagePrivacyLevel` or :class:`ScheduledEventPrivacyLevel` .. attribute:: roles @@ -3959,6 +4113,14 @@ InteractionMessage .. autoclass:: InteractionMessage() :members: +MessageInteraction +~~~~~~~~~~~~~~~~~~~ + +.. attributetable:: MessageInteraction + +.. autoclass:: MessageInteraction() + :members: + Member ~~~~~~ @@ -4598,6 +4760,80 @@ Select .. autofunction:: discord.ui.select +Sink Core +--------- + +.. autoclass:: discord.sinks.Filters + :members: + +.. autoclass:: discord.sinks.Sink + :members: + +.. autoclass:: discord.sinks.AudioData + :members: + +.. autoclass:: discord.sinks.RawData + :members: + + +Sinks +----- + +.. autoclass:: discord.sinks.WaveSink + :members: + +.. autoclass:: discord.sinks.MP3Sink + :members: + +.. autoclass:: discord.sinks.MP4Sink + :members: + +.. autoclass:: discord.sinks.M4ASink + :members: + +.. autoclass:: discord.sinks.MKVSink + :members: + +.. autoclass:: discord.sinks.MKASink + :members: + +.. autoclass:: discord.sinks.OGGSink + :members: + + +Sink Error Reference +-------------------- + +.. autoexception:: discord.sinks.WaveSinkError + +.. autoexception:: discord.sinks.MP3SinkError + +.. autoexception:: discord.sinks.MP4SinkError + +.. autoexception:: discord.sinks.M4ASinkError + +.. autoexception:: discord.sinks.MKVSinkError + +.. autoexception:: discord.sinks.MKASinkError + +.. autoexception:: discord.sinks.OGGSinkError + +Sink Exception Hierarchy +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. exception_hierarchy:: + + - :exc:`DiscordException` + - :exc:`SinkException` + - :exc:`RecordingException` + - :exc:`WaveSinkError` + - :exc:`MP3SinkError` + - :exc:`MP4SinkError` + - :exc:`M4ASinkError` + - :exc:`MKVSinkError` + - :exc:`MKASinkError` + - :exc:`OGGSinkError` + Exceptions ------------ @@ -4645,6 +4881,7 @@ Exception Hierarchy - :exc:`Exception` - :exc:`DiscordException` - :exc:`ClientException` + - :exc:`RecordingException` - :exc:`InvalidData` - :exc:`InvalidArgument` - :exc:`LoginFailure` diff --git a/docs/application_commands.rst b/docs/application_commands.rst new file mode 100644 index 0000000000..5a1723602d --- /dev/null +++ b/docs/application_commands.rst @@ -0,0 +1,155 @@ +:orphan: + +.. currentmodule:: discord +.. versionadded:: 2.0 +.. _application_commands: + +Application Commands +==================== + +Application commands are commands that an application can register to Discord. They provide users a way of interacting +directly with your application that feels deeply integrated into Discord. + +Application commands can be used with either :class:`.Bot` or :class:`.ext.commands.Bot`. + +.. code-block:: python3 + + import discord + bot = discord.Bot() + + @bot.command() # creates slash command by default + async def foo(ctx, arg): + await ctx.respond(arg) + + # or + + from discord.ext import commands + bot = commands.Bot() + + @bot.slash_command() + async def foo(ctx, arg): + await ctx.respond(arg) + +Application Command Types +------------------------- + +There are currently three types of application commands: slash, user and message commands. + +These have their corresponding decorators. + +.. code-block:: python3 + + @bot.slash_command() + async def foo(ctx): + await ctx.respond("Hello world!") + + @bot.user_command() + async def bar(ctx, user): + await ctx.respond(user.id) + + @bot.message_command() + async def foobar(ctx, message): + await ctx.respond(message.id) + +You can also use the :attr:`.Bot.command` decorator by supplying an application command class. + +.. code-block:: python3 + + from discord import UserCommand + + @bot.command(..., cls=UserCommand) + # is the same as + @bot.user_command(...) + +Options +------- + +Options are arguments passed into slash commands. + +These can be defined as normal function arguments: + +.. code-block:: python3 + + @bot.slash_command() + async def say_hello(ctx, name): + await ctx.respond(f"Hello {name}!") + +Typehints can be used to set option types. All option types are listed under :class:`.SlashCommandOptionType`. + +.. code-block:: python3 + + @bot.slash_command() + async def foo(ctx, number: int, member: discord.Member): + # command code + +Option fields can be set using :class:`.Option` as the type of the argument. + +.. code-block:: python3 + + from discord import Option + + @bot.slash_command() + async def show_color( + ctx, + color: Option(str, "Your color choice", choices=["red", "green"]), + ): + # command code + +Options can also be used with custom converters. + +.. code-block:: python3 + + from discord.ext.commands import Converter + + class ColorConverter(Converter): + async def convert(self, ctx, arg): + if arg == "0": + return "Black" + return arg + + @bot.slash_command() + async def show_color( + ctx, + color: Option(ColorConverter, "Your color choice"), + ): + # command code + +Slash Command Groups +-------------------- + +Slash command groups allows grouping multiple subcommands under the same parent. + +.. code-block:: python3 + + my_group = bot.create_group("name", "description") + +To create a subcommand, use the :meth:`.SlashCommandGroup.command` decorator. + +.. code-block:: python3 + + @foo.command() + async def bar(ctx): # this will show up as "/foo bar" + +Slash command groups can also be created by subclassing :class:`.SlashCommandGroup`. + +.. code-block:: python3 + + from discord import SlashCommandGroup, slash_command + + class Foo(SlashCommandGroup): + @slash_command() + async def bar(self, ctx): + ... + + bot.add_application_command(Foo()) + + # or + + @bot.slash_group() + class foo(SlashCommandGroup): + @slash_command() + async def bar(self, ctx): + ... + +Using Cogs +---------- \ No newline at end of file diff --git a/docs/cogs.rst b/docs/cogs.rst new file mode 100644 index 0000000000..64d7c75468 --- /dev/null +++ b/docs/cogs.rst @@ -0,0 +1,97 @@ +:orphan: + +.. currentmodule:: discord +.. _cogs: + +Cogs +====== + +There comes a point in your bot's development when you want to organize a collection of commands, listeners, and some state into one class. Cogs allow you to do just that. + +The gist: + +- Each cog is a Python class that subclasses :class:`.Cog`. +- Every command is marked with the :func:`.command` decorator or the corresponding shortcut command decorator. +- Every listener is marked with the :meth:`.Cog.listener` decorator. +- Cogs are then registered with the :meth:`.Bot.add_cog` call. +- Cogs are subsequently removed with the :meth:`.Bot.remove_cog` call. + +Quick Example +--------------- + +This example cog defines a ``Greetings`` category for your commands, with a single slash command named ``hello`` as well as a listener to listen to an :ref:`Event `. + +.. code-block:: python3 + + class Greetings(discord.Cog): + def __init__(self, bot): + self.bot = bot + self._last_member = None + + @discord.Cog.listener() + async def on_member_join(self, member): + channel = member.guild.system_channel + if channel is not None: + await channel.send(f'Welcome {member.mention}.') + + @discord.slash_command() + async def hello(self, ctx, *, member: discord.Member = None): + """Says hello""" + member = member or ctx.author + if self._last_member is None or self._last_member.id != member.id: + await ctx.send(f'Hello {member.name}~') + else: + await ctx.send(f'Hello {member.name}... This feels familiar.') + self._last_member = member + +A couple of technical notes to take into consideration: + +- All listeners must be explicitly marked via decorator, :meth:`~.Cog.listener`. +- The name of the cog is automatically derived from the class name but can be overridden. +- All commands must now take a ``self`` parameter to allow usage of instance attributes that can be used to maintain state. + +Cog Registration +------------------- + +Once you have defined your cogs, you need to tell the bot to register the cogs to be used. We do this via the :meth:`~.Bot.add_cog` method. + +.. code-block:: python3 + + bot.add_cog(Greetings(bot)) + +This binds the cog to the bot, adding all commands and listeners to the bot automatically. + +Using Cogs +------------- + +Just as we remove a cog by its name, we can also retrieve it by its name as well. This allows us to use a cog as an inter-command communication protocol to share data. For example: + +.. code-block:: python3 + :emphasize-lines: 22,24 + + class Economy(discord.Cog): + ... + + async def withdraw_money(self, member, money): + # implementation here + ... + + async def deposit_money(self, member, money): + # implementation here + ... + + class Gambling(discord.Cog): + def __init__(self, bot): + self.bot = bot + + def coinflip(self): + return random.randint(0, 1) + + @discord.slash_command() + async def gamble(self, ctx, money: int): + """Gambles some money.""" + economy = self.bot.get_cog('Economy') + if economy is not None: + await economy.withdraw_money(ctx.author, money) + if self.coinflip() == 1: + await economy.deposit_money(ctx.author, money * 1.5) diff --git a/docs/conf.py b/docs/conf.py index f378744c56..bf8bd4ea42 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,45 +18,46 @@ # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.insert(0, os.path.abspath('..')) -sys.path.append(os.path.abspath('extensions')) +sys.path.insert(0, os.path.abspath("..")) +sys.path.append(os.path.abspath("extensions")) # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' +# needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ - 'builder', - 'sphinx.ext.autodoc', - 'sphinx.ext.extlinks', - 'sphinx.ext.intersphinx', - 'sphinx.ext.napoleon', - 'sphinxcontrib_trio', - 'details', - 'exception_hierarchy', - 'attributetable', - 'resourcelinks', - 'nitpick_file_ignorer', + "builder", + "sphinx.ext.autodoc", + "sphinx.ext.extlinks", + "sphinx.ext.intersphinx", + "sphinx.ext.napoleon", + "sphinxcontrib_trio", + "details", + "exception_hierarchy", + "attributetable", + "resourcelinks", + "nitpick_file_ignorer", + "myst_parser", ] -autodoc_member_order = 'bysource' -autodoc_typehints = 'none' +autodoc_member_order = "bysource" +autodoc_typehints = "none" # maybe consider this? # napoleon_attr_annotations = False extlinks = { - 'issue': ('https://github.com/Pycord-Development/pycord/issues/%s', 'GH-'), + "issue": ("https://github.com/Pycord-Development/pycord/issues/%s", "GH-"), } # Links used for cross-referencing stuff in other documentation intersphinx_mapping = { - 'py': ('https://docs.python.org/3', None), - 'aio': ('https://docs.aiohttp.org/en/stable/', None), - 'req': ('https://docs.python-requests.org/en/latest/', None) + "py": ("https://docs.python.org/3", None), + "aio": ("https://docs.aiohttp.org/en/stable/", None), + "req": ("https://docs.python-requests.org/en/latest/", None), } rst_prolog = """ @@ -67,20 +68,23 @@ """ # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ["_templates"] # The suffix of source filenames. -source_suffix = '.rst' +source_suffix = { + '.rst': 'restructuredtext', # Used For The Other Docs + '.md': 'markdown', # Used ONLY In the Guide For Faster Making Time +} # The encoding of source files. -#source_encoding = 'utf-8-sig' +# source_encoding = 'utf-8-sig' # The master toctree document. -master_doc = 'index' +master_doc = "index" # General information about the project. -project = 'Pycord' -copyright = '2015-2021, Rapptz & 2021-present, Pycord Development' +project = "Pycord" +copyright = "2015-2021, Rapptz & 2021-present, Pycord Development" # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -88,15 +92,17 @@ # # The short X.Y version. -version = '' -with open('../discord/__init__.py') as f: - version = re.search(r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]', f.read(), re.MULTILINE).group(1) +version = "" +with open("../discord/__init__.py") as f: + version = re.search( + r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]', f.read(), re.MULTILINE + ).group(1) # The full version, including alpha/beta/rc tags. release = version # This assumes a tag is available for final releases -branch = 'master' if version.endswith('a') else 'v' + version +branch = "master" if version.endswith("a") or version.endswith("b") else "v" + version # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -105,49 +111,47 @@ # Usually you set "language" from the command line for these cases. language = None -locale_dirs = ['locale/'] gettext_compact = False # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: -#today = '' +# today = '' # Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' +# today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -exclude_patterns = ['_build'] +exclude_patterns = ["_build"] # The reST default role (used for this markup: `text`) to use for all # documents. -#default_role = None +# default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True +# add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). -#add_module_names = True +# add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. -#show_authors = False +# show_authors = False # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'friendly' +pygments_style = "friendly" # A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] +# modindex_common_prefix = [] # If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False +# keep_warnings = False # Nitpicky mode options nitpick_ignore_files = [ - "migrating_to_async", - "migrating", - "whats_new", + "migrating", + "whats_new", ] # -- Options for HTML output ---------------------------------------------- @@ -156,7 +160,7 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'basic' +html_theme = "basic" html_context = { 'discord_invite': 'https://pycord.dev/discord', @@ -168,10 +172,10 @@ } resource_links = { - 'discord': 'https://pycord.dev/discord', - 'issues': 'https://github.com/Pycord-Development/pycord/issues', - 'discussions': 'https://github.com/Pycord-Development/pycord/discussions', - 'examples': f'https://github.com/Pycord-Development/pycord/tree/{branch}/examples', + "discord": "https://pycord.dev/discord", + "issues": "https://github.com/Pycord-Development/pycord/issues", + "discussions": "https://github.com/Pycord-Development/pycord/discussions", + "examples": f"https://github.com/Pycord-Development/pycord/tree/{branch}/examples", } # Theme options are theme-specific and customize the look and feel of a theme @@ -181,95 +185,90 @@ # } # Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] +# html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -#html_title = None +# html_title = None # A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None +# html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. -#html_logo = None +# html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. -html_favicon = './images/pycord.ico' +html_favicon = "./images/pycord.ico" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] +html_static_path = ["_static"] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied # directly to the root of the documentation. -#html_extra_path = [] +# html_extra_path = [] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' +# html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. -#html_use_smartypants = True +# html_use_smartypants = True # Custom sidebar templates, maps document names to template names. -#html_sidebars = {} +# html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. -#html_additional_pages = {} +# html_additional_pages = {} # If false, no module index is generated. -#html_domain_indices = True +# html_domain_indices = True # If false, no index is generated. -#html_use_index = True +# html_use_index = True # If true, the index is split into individual pages for each letter. -#html_split_index = False +# html_split_index = False # If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True +# html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True +# html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True +# html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. -#html_use_opensearch = '' +# html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None +# html_file_suffix = None # Language to be used for generating the HTML full-text search index. # Sphinx supports the following languages: # 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' # 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' -#html_search_language = 'en' +# html_search_language = 'en' # A dictionary with options for the search language support, empty by default. # Now only 'ja' uses this config value -#html_search_options = {'type': 'default'} +# html_search_options = {'type': 'default'} # The name of a javascript file (relative to the configuration directory) that # implements a search results scorer. If empty, the default will be used. -html_search_scorer = '_static/scorer.js' +html_search_scorer = "_static/scorer.js" -html_js_files = [ - 'custom.js', - 'settings.js', - 'copy.js', - 'sidebar.js' -] +html_js_files = ["custom.js", "settings.js", "copy.js", "sidebar.js"] # Output file base name for HTML help builder. htmlhelp_basename = 'pycorddoc' @@ -277,59 +276,52 @@ # -- Options for LaTeX output --------------------------------------------- latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', - -# Latex figure (float) alignment -#'figure_align': 'htbp', + # The paper size ('letterpaper' or 'a4paper'). + #'papersize': 'letterpaper', + # The font size ('10pt', '11pt' or '12pt'). + #'pointsize': '10pt', + # Additional stuff for the LaTeX preamble. + #'preamble': '', + # Latex figure (float) alignment + #'figure_align': 'htbp', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('index', 'pycord.tex', 'pycord Documentation', - 'Pycord Development', 'manual'), + ("index", "Pycord.tex", "Pycord Documentation", "Pycord Development", "manual"), ] # The name of an image file (relative to this directory) to place at the top of # the title page. -#latex_logo = None +# latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. -#latex_use_parts = False +# latex_use_parts = False # If true, show page references after internal links. -#latex_show_pagerefs = False +# latex_show_pagerefs = False # If true, show URL addresses after external links. -#latex_show_urls = False +# latex_show_urls = False # Documents to append as an appendix to all manuals. -#latex_appendices = [] +# latex_appendices = [] # If false, no module index is generated. -#latex_domain_indices = True +# latex_domain_indices = True # -- Options for manual page output --------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'pycord', 'pycord Documentation', - ['Pycord Development'], 1) -] +man_pages = [("index", "Pycord", "Pycord Documentation", ["Pycord Development"], 1)] # If true, show URL addresses after external links. -#man_show_urls = False +# man_show_urls = False # -- Options for Texinfo output ------------------------------------------- @@ -338,25 +330,25 @@ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'pycord', 'pycord Documentation', - 'Pycord Development', 'pycord', 'One line description of project.', - 'Miscellaneous'), + ( + "index", + "Pycord", + "Pycord Documentation", + "Pycord Development", + "Pycord", + "One line description of project.", + "Miscellaneous", + ), ] # Documents to append as an appendix to all manuals. -#texinfo_appendices = [] +# texinfo_appendices = [] # If false, no module index is generated. -#texinfo_domain_indices = True +# texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' +# texinfo_show_urls = 'footnote' # If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False - -def setup(app): - if app.config.language == 'ja': - app.config.intersphinx_mapping['py'] = ('https://docs.python.org/ja/3', None) - app.config.html_context['discord_invite'] = 'https://pycord.dev/discord' - app.config.resource_links['discord'] = 'https://pycord.dev/discord' +# texinfo_no_detailmenu = False diff --git a/docs/discord.rst b/docs/discord.rst index 63f13cccf8..736925c298 100644 --- a/docs/discord.rst +++ b/docs/discord.rst @@ -3,7 +3,7 @@ .. _discord-intro: Creating a Bot Account -======================== +====================== In order to work with the library and the Discord API in general, we must first create a Discord Bot account. @@ -57,7 +57,7 @@ And that's it. You now have a bot account and you can login with that token. .. _discord_invite_bot: Inviting Your Bot -------------------- +----------------- So you've made a Bot User but it's not actually in any server. @@ -93,4 +93,4 @@ If you want to invite your bot you must create an invite URL for it. The person adding the bot needs "Manage Server" permissions to do so. If you want to generate this URL dynamically at run-time inside your bot and using the -:class:`discord.Permissions` interface, you can use :func:`discord.utils.oauth_url`. +:class:`discord.Permissions` interface, you can use :func:`discord.utils.oauth_url`. \ No newline at end of file diff --git a/docs/ext/pages/index.rst b/docs/ext/pages/index.rst index 7a1f7dd929..fc4022bf99 100644 --- a/docs/ext/pages/index.rst +++ b/docs/ext/pages/index.rst @@ -125,6 +125,30 @@ Example usage in a cog: ) await paginator.respond(ctx.interaction, ephemeral=False) + @pagetest.command(name="emoji_buttons") + async def pagetest_emoji_buttons(self, ctx: discord.ApplicationContext): + """Demonstrates using emojis for the paginator buttons instead of labels.""" + page_buttons = [ + pages.PaginatorButton( + "first", emoji="⏪", style=discord.ButtonStyle.green + ), + pages.PaginatorButton("prev", emoji="⬅", style=discord.ButtonStyle.green), + pages.PaginatorButton( + "page_indicator", style=discord.ButtonStyle.gray, disabled=True + ), + pages.PaginatorButton("next", emoji="➡", style=discord.ButtonStyle.green), + pages.PaginatorButton("last", emoji="⏩", style=discord.ButtonStyle.green), + ] + paginator = pages.Paginator( + pages=self.get_pages(), + show_disabled=True, + show_indicator=True, + use_default_buttons=False, + custom_buttons=page_buttons, + loop_pages=True, + ) + await paginator.respond(ctx.interaction, ephemeral=False) + @pagetest.command(name="custom_buttons") async def pagetest_custom_buttons(self, ctx: discord.ApplicationContext): """Demonstrates adding buttons to the paginator when the default buttons are not used.""" @@ -265,10 +289,10 @@ Example usage in a cog: .. _discord_ext_pages_api: API Reference -============= +------------- Paginator ---------- +~~~~~~~~~ .. attributetable:: discord.ext.pages.Paginator @@ -277,7 +301,7 @@ Paginator :inherited-members: PaginatorButton ---------------- +~~~~~~~~~~~~~~~ .. attributetable:: discord.ext.pages.PaginatorButton @@ -286,7 +310,7 @@ PaginatorButton :inherited-members: PaginatorMenu -------------- +~~~~~~~~~~~~~ .. attributetable:: discord.ext.pages.PaginatorMenu @@ -295,7 +319,7 @@ PaginatorMenu :inherited-members: PageGroup ---------- +~~~~~~~~~ .. attributetable:: discord.ext.pages.PageGroup diff --git a/docs/extensions/attributetable.py b/docs/extensions/attributetable.py index c38aeb57de..ea9ebebdd8 100644 --- a/docs/extensions/attributetable.py +++ b/docs/extensions/attributetable.py @@ -9,60 +9,78 @@ import os import re + class attributetable(nodes.General, nodes.Element): pass + class attributetablecolumn(nodes.General, nodes.Element): pass + class attributetabletitle(nodes.TextElement): pass + class attributetableplaceholder(nodes.General, nodes.Element): pass + class attributetablebadge(nodes.TextElement): pass + class attributetable_item(nodes.Part, nodes.Element): pass + def visit_attributetable_node(self, node): class_ = node["python-class"] self.body.append(f'
') + def visit_attributetablecolumn_node(self, node): - self.body.append(self.starttag(node, 'div', CLASS='py-attribute-table-column')) + self.body.append(self.starttag(node, "div", CLASS="py-attribute-table-column")) + def visit_attributetabletitle_node(self, node): - self.body.append(self.starttag(node, 'span')) + self.body.append(self.starttag(node, "span")) + def visit_attributetablebadge_node(self, node): attributes = { - 'class': 'py-attribute-table-badge', - 'title': node['badge-type'], + "class": "py-attribute-table-badge", + "title": node["badge-type"], } - self.body.append(self.starttag(node, 'span', **attributes)) + self.body.append(self.starttag(node, "span", **attributes)) + def visit_attributetable_item_node(self, node): - self.body.append(self.starttag(node, 'li', CLASS='py-attribute-table-entry')) + self.body.append(self.starttag(node, "li", CLASS="py-attribute-table-entry")) + def depart_attributetable_node(self, node): - self.body.append('
') + self.body.append("") + def depart_attributetablecolumn_node(self, node): - self.body.append('') + self.body.append("") + def depart_attributetabletitle_node(self, node): - self.body.append('') + self.body.append("") + def depart_attributetablebadge_node(self, node): - self.body.append('') + self.body.append("") + def depart_attributetable_item_node(self, node): - self.body.append('') + self.body.append("") + + +_name_parser_regex = re.compile(r"(?P[\w.]+\.)?(?P\w+)") -_name_parser_regex = re.compile(r'(?P[\w.]+\.)?(?P\w+)') class PyAttributeTable(SphinxDirective): has_content = False @@ -74,13 +92,15 @@ class PyAttributeTable(SphinxDirective): def parse_name(self, content): path, name = _name_parser_regex.match(content).groups() if path: - modulename = path.rstrip('.') + modulename = path.rstrip(".") else: - modulename = self.env.temp_data.get('autodoc:module') + modulename = self.env.temp_data.get("autodoc:module") if not modulename: - modulename = self.env.ref_context.get('py:module') + modulename = self.env.ref_context.get("py:module") if modulename is None: - raise RuntimeError('modulename somehow None for %s in %s.' % (content, self.env.docname)) + raise RuntimeError( + "modulename somehow None for %s in %s." % (content, self.env.docname) + ) return modulename, name @@ -112,29 +132,33 @@ def run(self): replaced. """ content = self.arguments[0].strip() - node = attributetableplaceholder('') + node = attributetableplaceholder("") modulename, name = self.parse_name(content) - node['python-doc'] = self.env.docname - node['python-module'] = modulename - node['python-class'] = name - node['python-full-name'] = f'{modulename}.{name}' + node["python-doc"] = self.env.docname + node["python-module"] = modulename + node["python-class"] = name + node["python-full-name"] = f"{modulename}.{name}" return [node] + def build_lookup_table(env): # Given an environment, load up a lookup table of # full-class-name: objects result = {} - domain = env.domains['py'] + domain = env.domains["py"] ignored = { - 'data', 'exception', 'module', 'class', + "data", + "exception", + "module", + "class", } for (fullname, _, objtype, docname, _, _) in domain.get_objects(): if objtype in ignored: continue - classname, _, child = fullname.rpartition('.') + classname, _, child = fullname.rpartition(".") try: result[classname].append(child) except KeyError: @@ -143,36 +167,46 @@ def build_lookup_table(env): return result -TableElement = namedtuple('TableElement', 'fullname label badge') +TableElement = namedtuple("TableElement", "fullname label badge") + def process_attributetable(app, doctree, fromdocname): env = app.builder.env lookup = build_lookup_table(env) for node in doctree.traverse(attributetableplaceholder): - modulename, classname, fullname = node['python-module'], node['python-class'], node['python-full-name'] + modulename, classname, fullname = ( + node["python-module"], + node["python-class"], + node["python-full-name"], + ) groups = get_class_results(lookup, modulename, classname, fullname) - table = attributetable('') + table = attributetable("") for label, subitems in groups.items(): if not subitems: continue - table.append(class_results_to_node(label, sorted(subitems, key=lambda c: c.label))) + table.append( + class_results_to_node(label, sorted(subitems, key=lambda c: c.label)) + ) - table['python-class'] = fullname + table["python-class"] = fullname if not table: node.replace_self([]) else: node.replace_self([table]) + def get_class_results(lookup, modulename, name, fullname): module = importlib.import_module(modulename) cls = getattr(module, name) - groups = OrderedDict([ - (_('Attributes'), []), - (_('Methods'), []), - ]) + groups = OrderedDict( + [ + (_("Attributes"), []), + (_("Methods"), []), + ] + ) try: members = lookup[fullname] @@ -180,8 +214,8 @@ def get_class_results(lookup, modulename, name, fullname): return groups for attr in members: - attrlookup = f'{fullname}.{attr}' - key = _('Attributes') + attrlookup = f"{fullname}.{attr}" + key = _("Attributes") badge = None label = attr value = None @@ -192,53 +226,73 @@ def get_class_results(lookup, modulename, name, fullname): break if value is not None: - doc = value.__doc__ or '' - if inspect.iscoroutinefunction(value) or doc.startswith('|coro|'): - key = _('Methods') - badge = attributetablebadge('async', 'async') - badge['badge-type'] = _('coroutine') + doc = value.__doc__ or "" + if inspect.iscoroutinefunction(value) or doc.startswith("|coro|"): + key = _("Methods") + badge = attributetablebadge("async", "async") + badge["badge-type"] = _("coroutine") elif isinstance(value, classmethod): - key = _('Methods') - label = f'{name}.{attr}' - badge = attributetablebadge('cls', 'cls') - badge['badge-type'] = _('classmethod') + key = _("Methods") + label = f"{name}.{attr}" + badge = attributetablebadge("cls", "cls") + badge["badge-type"] = _("classmethod") elif inspect.isfunction(value): - if doc.startswith(('A decorator', 'A shortcut decorator')): + if doc.startswith(("A decorator", "A shortcut decorator")): # finicky but surprisingly consistent - badge = attributetablebadge('@', '@') - badge['badge-type'] = _('decorator') - key = _('Methods') + badge = attributetablebadge("@", "@") + badge["badge-type"] = _("decorator") + key = _("Methods") else: - key = _('Methods') - badge = attributetablebadge('def', 'def') - badge['badge-type'] = _('method') + key = _("Methods") + badge = attributetablebadge("def", "def") + badge["badge-type"] = _("method") groups[key].append(TableElement(fullname=attrlookup, label=label, badge=badge)) return groups + def class_results_to_node(key, elements): title = attributetabletitle(key, key) - ul = nodes.bullet_list('') + ul = nodes.bullet_list("") for element in elements: - ref = nodes.reference('', '', internal=True, - refuri='#' + element.fullname, - anchorname='', - *[nodes.Text(element.label)]) - para = addnodes.compact_paragraph('', '', ref) + ref = nodes.reference( + "", + "", + internal=True, + refuri="#" + element.fullname, + anchorname="", + *[nodes.Text(element.label)], + ) + para = addnodes.compact_paragraph("", "", ref) if element.badge is not None: - ul.append(attributetable_item('', element.badge, para)) + ul.append(attributetable_item("", element.badge, para)) else: - ul.append(attributetable_item('', para)) + ul.append(attributetable_item("", para)) + + return attributetablecolumn("", title, ul) - return attributetablecolumn('', title, ul) def setup(app): - app.add_directive('attributetable', PyAttributeTable) - app.add_node(attributetable, html=(visit_attributetable_node, depart_attributetable_node)) - app.add_node(attributetablecolumn, html=(visit_attributetablecolumn_node, depart_attributetablecolumn_node)) - app.add_node(attributetabletitle, html=(visit_attributetabletitle_node, depart_attributetabletitle_node)) - app.add_node(attributetablebadge, html=(visit_attributetablebadge_node, depart_attributetablebadge_node)) - app.add_node(attributetable_item, html=(visit_attributetable_item_node, depart_attributetable_item_node)) + app.add_directive("attributetable", PyAttributeTable) + app.add_node( + attributetable, html=(visit_attributetable_node, depart_attributetable_node) + ) + app.add_node( + attributetablecolumn, + html=(visit_attributetablecolumn_node, depart_attributetablecolumn_node), + ) + app.add_node( + attributetabletitle, + html=(visit_attributetabletitle_node, depart_attributetabletitle_node), + ) + app.add_node( + attributetablebadge, + html=(visit_attributetablebadge_node, depart_attributetablebadge_node), + ) + app.add_node( + attributetable_item, + html=(visit_attributetable_item_node, depart_attributetable_item_node), + ) app.add_node(attributetableplaceholder) - app.connect('doctree-resolved', process_attributetable) + app.connect("doctree-resolved", process_attributetable) diff --git a/docs/extensions/builder.py b/docs/extensions/builder.py index 849f4b5a93..f867ee49a1 100644 --- a/docs/extensions/builder.py +++ b/docs/extensions/builder.py @@ -2,15 +2,15 @@ from sphinx.environment.adapters.indexentries import IndexEntries from sphinx.writers.html5 import HTML5Translator + class DPYHTML5Translator(HTML5Translator): def visit_section(self, node) -> None: self.section_level += 1 - self.body.append( - self.starttag(node, 'section')) + self.body.append(self.starttag(node, "section")) def depart_section(self, node) -> None: self.section_level -= 1 - self.body.append('\n') + self.body.append("\n") def visit_table(self, node) -> None: self.body.append('
') @@ -18,7 +18,8 @@ def visit_table(self, node) -> None: def depart_table(self, node) -> None: super().depart_table(node) - self.body.append('
') + self.body.append("") + class DPYStandaloneHTMLBuilder(StandaloneHTMLBuilder): # This is mostly copy pasted from Sphinx. @@ -28,50 +29,56 @@ def write_genindex(self) -> None: genindex = IndexEntries(self.env).create_index(self, group_entries=False) indexcounts = [] for _k, entries in genindex: - indexcounts.append(sum(1 + len(subitems) - for _, (_, subitems, _) in entries)) + indexcounts.append( + sum(1 + len(subitems) for _, (_, subitems, _) in entries) + ) genindexcontext = { - 'genindexentries': genindex, - 'genindexcounts': indexcounts, - 'split_index': self.config.html_split_index, + "genindexentries": genindex, + "genindexcounts": indexcounts, + "split_index": self.config.html_split_index, } if self.config.html_split_index: - self.handle_page('genindex', genindexcontext, - 'genindex-split.html') - self.handle_page('genindex-all', genindexcontext, - 'genindex.html') + self.handle_page("genindex", genindexcontext, "genindex-split.html") + self.handle_page("genindex-all", genindexcontext, "genindex.html") for (key, entries), count in zip(genindex, indexcounts): - ctx = {'key': key, 'entries': entries, 'count': count, - 'genindexentries': genindex} - self.handle_page('genindex-' + key, ctx, - 'genindex-single.html') + ctx = { + "key": key, + "entries": entries, + "count": count, + "genindexentries": genindex, + } + self.handle_page("genindex-" + key, ctx, "genindex-single.html") else: - self.handle_page('genindex', genindexcontext, 'genindex.html') + self.handle_page("genindex", genindexcontext, "genindex.html") def add_custom_jinja2(app) -> None: env = app.builder.templates.environment - env.tests['prefixedwith'] = str.startswith - env.tests['suffixedwith'] = str.endswith + env.tests["prefixedwith"] = str.startswith + env.tests["suffixedwith"] = str.endswith + def add_builders(app) -> None: """This is necessary because RTD injects their own for some reason.""" - app.set_translator('html', DPYHTML5Translator, override=True) + app.set_translator("html", DPYHTML5Translator, override=True) app.add_builder(DPYStandaloneHTMLBuilder, override=True) try: - original = app.registry.builders['readthedocs'] + original = app.registry.builders["readthedocs"] except KeyError: pass else: - injected_mro = tuple(base if base is not StandaloneHTMLBuilder else DPYStandaloneHTMLBuilder - for base in original.mro()[1:]) - new_builder = type(original.__name__, injected_mro, {'name': 'readthedocs'}) - app.set_translator('readthedocs', DPYHTML5Translator, override=True) + injected_mro = tuple( + base if base is not StandaloneHTMLBuilder else DPYStandaloneHTMLBuilder + for base in original.mro()[1:] + ) + new_builder = type(original.__name__, injected_mro, {"name": "readthedocs"}) + app.set_translator("readthedocs", DPYHTML5Translator, override=True) app.add_builder(new_builder, override=True) + def setup(app) -> None: add_builders(app) - app.connect('builder-inited', add_custom_jinja2) + app.connect("builder-inited", add_custom_jinja2) diff --git a/docs/extensions/details.py b/docs/extensions/details.py index 96f39d5b64..7c4d7d6a5c 100644 --- a/docs/extensions/details.py +++ b/docs/extensions/details.py @@ -3,32 +3,43 @@ from docutils.parsers.rst.roles import set_classes from docutils import nodes + class details(nodes.General, nodes.Element): pass + class summary(nodes.General, nodes.Element): pass + def visit_details_node(self, node): - self.body.append(self.starttag(node, 'details', CLASS=node.attributes.get('class', ''))) + self.body.append( + self.starttag(node, "details", CLASS=node.attributes.get("class", "")) + ) + def visit_summary_node(self, node): - self.body.append(self.starttag(node, 'summary', CLASS=node.attributes.get('summary-class', ''))) + self.body.append( + self.starttag(node, "summary", CLASS=node.attributes.get("summary-class", "")) + ) self.body.append(node.rawsource) + def depart_details_node(self, node): - self.body.append('\n') + self.body.append("\n") + def depart_summary_node(self, node): - self.body.append('') + self.body.append("") + class DetailsDirective(Directive): final_argument_whitespace = True optional_arguments = 1 option_spec = { - 'class': directives.class_option, - 'summary-class': directives.class_option, + "class": directives.class_option, + "summary-class": directives.class_option, } has_content = True @@ -37,19 +48,22 @@ def run(self): set_classes(self.options) self.assert_has_content() - text = '\n'.join(self.content) + text = "\n".join(self.content) node = details(text, **self.options) if self.arguments: summary_node = summary(self.arguments[0], **self.options) - summary_node.source, summary_node.line = self.state_machine.get_source_and_line(self.lineno) + ( + summary_node.source, + summary_node.line, + ) = self.state_machine.get_source_and_line(self.lineno) node += summary_node self.state.nested_parse(self.content, self.content_offset, node) return [node] + def setup(app): app.add_node(details, html=(visit_details_node, depart_details_node)) app.add_node(summary, html=(visit_summary_node, depart_summary_node)) - app.add_directive('details', DetailsDirective) - + app.add_directive("details", DetailsDirective) diff --git a/docs/extensions/exception_hierarchy.py b/docs/extensions/exception_hierarchy.py index cc69a7ce7f..1e80acb92c 100644 --- a/docs/extensions/exception_hierarchy.py +++ b/docs/extensions/exception_hierarchy.py @@ -4,24 +4,32 @@ from docutils import nodes from sphinx.locale import _ + class exception_hierarchy(nodes.General, nodes.Element): pass + def visit_exception_hierarchy_node(self, node): - self.body.append(self.starttag(node, 'div', CLASS='exception-hierarchy-content')) + self.body.append(self.starttag(node, "div", CLASS="exception-hierarchy-content")) + def depart_exception_hierarchy_node(self, node): - self.body.append('\n') + self.body.append("\n") + class ExceptionHierarchyDirective(Directive): has_content = True def run(self): self.assert_has_content() - node = exception_hierarchy('\n'.join(self.content)) + node = exception_hierarchy("\n".join(self.content)) self.state.nested_parse(self.content, self.content_offset, node) return [node] + def setup(app): - app.add_node(exception_hierarchy, html=(visit_exception_hierarchy_node, depart_exception_hierarchy_node)) - app.add_directive('exception_hierarchy', ExceptionHierarchyDirective) + app.add_node( + exception_hierarchy, + html=(visit_exception_hierarchy_node, depart_exception_hierarchy_node), + ) + app.add_directive("exception_hierarchy", ExceptionHierarchyDirective) diff --git a/docs/extensions/nitpick_file_ignorer.py b/docs/extensions/nitpick_file_ignorer.py index f5dff1d120..3b205da5fc 100644 --- a/docs/extensions/nitpick_file_ignorer.py +++ b/docs/extensions/nitpick_file_ignorer.py @@ -5,18 +5,20 @@ class NitpickFileIgnorer(logging.Filter): - def __init__(self, app: Sphinx) -> None: self.app = app super().__init__() def filter(self, record: sphinx_logging.SphinxLogRecord) -> bool: - if getattr(record, 'type', None) == 'ref': - return record.location.get('refdoc') not in self.app.config.nitpick_ignore_files + if getattr(record, "type", None) == "ref": + return ( + record.location.get("refdoc") + not in self.app.config.nitpick_ignore_files + ) return True def setup(app: Sphinx): - app.add_config_value('nitpick_ignore_files', [], '') + app.add_config_value("nitpick_ignore_files", [], "") f = NitpickFileIgnorer(app) - sphinx_logging.getLogger('sphinx.transforms.post_transforms').logger.addFilter(f) + sphinx_logging.getLogger("sphinx.transforms.post_transforms").logger.addFilter(f) diff --git a/docs/extensions/resourcelinks.py b/docs/extensions/resourcelinks.py index f2e132984f..5abc454a95 100644 --- a/docs/extensions/resourcelinks.py +++ b/docs/extensions/resourcelinks.py @@ -22,7 +22,7 @@ def role( lineno: int, inliner: Inliner, options: Dict = {}, - content: List[str] = [] + content: List[str] = [], ) -> Tuple[List[Node], List[system_message]]: text = utils.unescape(text) @@ -32,13 +32,15 @@ def role( title = full_url pnode = nodes.reference(title, title, internal=False, refuri=full_url) return [pnode], [] + return role def add_link_role(app: Sphinx) -> None: - app.add_role('resource', make_link_role(app.config.resource_links)) + app.add_role("resource", make_link_role(app.config.resource_links)) + def setup(app: Sphinx) -> Dict[str, Any]: - app.add_config_value('resource_links', {}, 'env') - app.connect('builder-inited', add_link_role) - return {'version': sphinx.__display_version__, 'parallel_read_safe': True} + app.add_config_value("resource_links", {}, "env") + app.connect("builder-inited", add_link_role) + return {"version": sphinx.__display_version__, "parallel_read_safe": True} diff --git a/docs/images/discord_bot_tab.png b/docs/images/discord_bot_tab.png index 835682448e..73cad56d46 100644 Binary files a/docs/images/discord_bot_tab.png and b/docs/images/discord_bot_tab.png differ diff --git a/docs/images/discord_bot_user_options.png b/docs/images/discord_bot_user_options.png index 4091bd88e0..03b248d65a 100644 Binary files a/docs/images/discord_bot_user_options.png and b/docs/images/discord_bot_user_options.png differ diff --git a/docs/images/discord_create_app_button.png b/docs/images/discord_create_app_button.png index e6d06a7a2f..154ad87568 100644 Binary files a/docs/images/discord_create_app_button.png and b/docs/images/discord_create_app_button.png differ diff --git a/docs/images/discord_create_app_form.png b/docs/images/discord_create_app_form.png index a8afd4fa63..9f8611c87f 100644 Binary files a/docs/images/discord_create_app_form.png and b/docs/images/discord_create_app_form.png differ diff --git a/docs/images/discord_create_bot_user.png b/docs/images/discord_create_bot_user.png index 2d0a3a033a..2c2cd289e9 100644 Binary files a/docs/images/discord_create_bot_user.png and b/docs/images/discord_create_bot_user.png differ diff --git a/docs/images/discord_oauth2.png b/docs/images/discord_oauth2.png index be30caf5cc..b867fe3801 100644 Binary files a/docs/images/discord_oauth2.png and b/docs/images/discord_oauth2.png differ diff --git a/docs/images/discord_oauth2_perms.png b/docs/images/discord_oauth2_perms.png index 3ef949fedf..71fdda453b 100644 Binary files a/docs/images/discord_oauth2_perms.png and b/docs/images/discord_oauth2_perms.png differ diff --git a/docs/images/discord_oauth2_scope.png b/docs/images/discord_oauth2_scope.png index 3ce1e62618..cfec3676aa 100644 Binary files a/docs/images/discord_oauth2_scope.png and b/docs/images/discord_oauth2_scope.png differ diff --git a/docs/images/discord_privileged_intents.png b/docs/images/discord_privileged_intents.png index 297eabbb5e..8e0261ef79 100644 Binary files a/docs/images/discord_privileged_intents.png and b/docs/images/discord_privileged_intents.png differ diff --git a/docs/images/discord_py_logo.ico b/docs/images/discord_py_logo.ico deleted file mode 100644 index 209ba4ef2d..0000000000 Binary files a/docs/images/discord_py_logo.ico and /dev/null differ diff --git a/docs/index.rst b/docs/index.rst index 992a853f0e..ce915aadef 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -4,7 +4,7 @@ contain the root `toctree` directive. Welcome to Pycord -=========================== +================= .. image:: /images/snake.svg .. image:: /images/snake_dark.svg @@ -25,7 +25,7 @@ Getting started Is this your first time using the library? This is the place to get started! -- **First steps:** :doc:`intro` | :doc:`quickstart` | :doc:`logging` +- **First steps:** :doc:`installing` | :doc:`quickstart` | :doc:`logging` - **Working with Discord:** :doc:`discord` | :doc:`intents` - **Examples:** Many examples are available in the :resource:`repository `. diff --git a/docs/intro.rst b/docs/installing.rst similarity index 96% rename from docs/intro.rst rename to docs/installing.rst index 4d519a4eb0..d2a48f3e04 100644 --- a/docs/intro.rst +++ b/docs/installing.rst @@ -4,14 +4,14 @@ .. _intro: -Introduction -============== +Installing Pycord +================= This is the documentation for Pycord, a library for Python to aid in creating applications that utilise the Discord API. Prerequisites ---------------- +------------- Pycord works with Python 3.8 or higher. Support for earlier versions of Python is not provided. Python 2.7 or lower is not supported. Python 3.7 or lower is not supported. @@ -47,6 +47,7 @@ To install additional packages for speedup, you should use ``py-cord[speed]`` i # Linux/macOS python3 -m pip install -U "py-cord[speed]" + # Windows py -3 -m pip install -U py-cord[speed] @@ -70,7 +71,7 @@ For a Debian-based system, the following command will get these dependencies: Remember to check your permissions! Virtual Environments -~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~ Sometimes you want to keep libraries from polluting system installs or use a different version of libraries than the ones installed on the system. You might also not have permissions to install libraries system-wide. @@ -109,7 +110,7 @@ However, for the quick and dirty: Congratulations. You now have a virtual environment all set up. Basic Concepts ---------------- +-------------- Pycord revolves around the concept of :ref:`events `. An event is something you listen to and then respond to. For example, when a message @@ -129,5 +130,4 @@ A quick example to showcase how events work: print(f'Message from {message.author}: {message.content}') client = MyClient() - client.run('my token goes here') - + client.run('my token goes here') \ No newline at end of file diff --git a/docs/intents.rst b/docs/intents.rst index 486b6150fd..19560df0b9 100644 --- a/docs/intents.rst +++ b/docs/intents.rst @@ -57,7 +57,7 @@ Another example showing a bot that only deals with messages and guild informatio Privileged Intents --------------------- -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**. +With the API change requiring bot owners to specify intents, some intents were restricted further and require more manual steps. These intents are called **privileged intents**. 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: @@ -84,14 +84,14 @@ A privileged intent is one that requires you to go to the developer portal and m through code as well. Do I need privileged intents? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is a quick checklist to see if you need specific privileged intents. .. _need_presence_intent: Presence Intent -+++++++++++++++++ ++++++++++++++++ - Whether you use :attr:`Member.status` at all to track member statuses. - Whether you use :attr:`Member.activity` or :attr:`Member.activities` to check member's activities. @@ -99,7 +99,7 @@ Presence Intent .. _need_members_intent: Member Intent -+++++++++++++++ ++++++++++++++ - Whether you track member joins or member leaves, corresponds to :func:`on_member_join` and :func:`on_member_remove` events. - Whether you want to track member updates such as nickname or role changes. @@ -110,7 +110,7 @@ Member Intent .. _need_message_content_intent: Message Content Intent -++++++++++++++++ +++++++++++++++++++++++ - Whether you have a message based command system using ext.commands - Whether you use the :func:`on_message` event for anything, such as auto-moderation. @@ -143,7 +143,7 @@ Other events that take a :class:`Member` will require the use of the member cach .. _retrieving_members: Retrieving Members --------------------- +------------------ 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: @@ -161,12 +161,12 @@ If the cache is disabled or you disable chunking guilds at startup, we might sti It should be noted that the gateway has a strict rate limit of 120 requests per 60 seconds. Troubleshooting ------------------- +--------------- Some common issues relating to the mandatory intent change. Where'd my members go? -~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~ Due to an :ref:`API change ` 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 ` and change the :attr:`Intents.members` attribute to true. @@ -186,7 +186,7 @@ For example: # bot = commands.Bot(command_prefix='!', intents=intents) Why does ``on_ready`` take so long to fire? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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. @@ -202,4 +202,4 @@ Under the original system this would result in 2 requests to fetch the member li Unfortunately due to this change being required from Discord there is nothing that the library can do to mitigate this. -If you truly dislike the direction Discord is going with their API, you can contact them via `support `_. +If you truly dislike the direction Discord is going with their API, you can contact them via `support `_. \ No newline at end of file diff --git a/docs/locale/ja/LC_MESSAGES/api.po b/docs/locale/ja/LC_MESSAGES/api.po deleted file mode 100644 index 8778573fb8..0000000000 --- a/docs/locale/ja/LC_MESSAGES/api.po +++ /dev/null @@ -1,19686 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 22:41-0400\n" -"PO-Revision-Date: 2020-10-24 02:41+0000\n" -"Last-Translator: \n" -"Language: ja_JP\n" -"Language-Team: Japanese\n" -"Plural-Forms: nplurals=1; plural=0\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.5.3\n" - -#: ../../api.rst:4 -msgid "API Reference" -msgstr "APIリファレンス" - -#: ../../api.rst:6 -msgid "The following section outlines the API of pycord." -msgstr "ここではpycordのAPIについて解説します。" - -#: ../../api.rst:10 -msgid "" -"This module uses the Python logging module to log diagnostic and errors " -"in an output independent way. If the logging module is not configured, " -"these logs will not be output anywhere. See :ref:`logging_setup` for " -"more information on how to set up and use the logging module with " -"pycord." -msgstr "" -"このモジュールはPythonのloggingモジュールを使用して、出力に依存しない方法でエラーや診断の内容を記録します。loggingモジュールが設定されていない場合、これらのログはどこにも出力されません。pycordでloggingモジュールを使用する方法の詳細は" -" :ref:`logging_setup` を参照してください。" - -#: ../../api.rst:17 -msgid "Version Related Info" -msgstr "バージョン関連情報" - -#: ../../api.rst:19 -msgid "" -"There are two main ways to query version information about the library. " -"For guarantees, check :ref:`version_guarantees`." -msgstr "" -"ライブラリに関するバージョン情報を問い合わせる方法は主に二つあります。保証については :ref:`version_guarantees` " -"を参照してください。" - -#: ../../api.rst:23 -msgid "A named tuple that is similar to :obj:`py:sys.version_info`." -msgstr ":obj:`py:sys.version_info` に似た名前付きタプル。" - -#: ../../api.rst:25 -msgid "" -"Just like :obj:`py:sys.version_info` the valid values for " -"``releaselevel`` are 'alpha', 'beta', 'candidate' and 'final'." -msgstr "" -":obj:`py:sys.version_info` と同じように ``releaselevel`` の有効値は " -"'alpha'、'beta'、'candidate'、そして 'final' です。" - -#: ../../api.rst:30 -msgid "" -"A string representation of the version. e.g. ``'1.0.0rc1'``. This is " -"based off of :pep:`440`." -msgstr "``'1.0.0rc1'`` のようなバージョンの文字列表現。これは :pep:`440` に基づいています。" - -#: ../../api.rst:34 -msgid "Client" -msgstr "クライアント" - -#: discord.Client:1 of -msgid "" -"Represents a client connection that connects to Discord. This class is " -"used to interact with the Discord WebSocket and API." -msgstr "Discordに接続するクライアント接続を表します。このクラスは、DiscordのWebSocket、及びAPIとの対話に使用されます。" - -#: discord.Client:4 of -msgid "A number of options can be passed to the :class:`Client`." -msgstr "多くのオプションを :class:`Client` に渡すことが可能です。" - -#: ../../api.rst discord.Asset.save discord.AsyncWebhookAdapter -#: discord.AsyncWebhookAdapter.handle_execution_response -#: discord.AsyncWebhookAdapter.request discord.Attachment.read -#: discord.Attachment.save discord.Attachment.to_file -#: discord.AutoShardedClient.change_presence discord.AutoShardedClient.connect -#: discord.AutoShardedClient.request_offline_members -#: discord.CategoryChannel.clone discord.CategoryChannel.create_invite -#: discord.CategoryChannel.delete discord.CategoryChannel.edit -#: discord.CategoryChannel.overwrites_for -#: discord.CategoryChannel.permissions_for -#: discord.CategoryChannel.set_permissions discord.Client -#: discord.Client.before_identify_hook discord.Client.change_presence -#: discord.Client.connect discord.Client.create_guild -#: discord.Client.delete_invite discord.Client.fetch_guild -#: discord.Client.fetch_guilds discord.Client.fetch_invite -#: discord.Client.fetch_template discord.Client.fetch_user -#: discord.Client.fetch_user_profile discord.Client.fetch_widget -#: discord.Client.get_channel discord.Client.get_emoji discord.Client.get_guild -#: discord.Client.get_user discord.Client.login -#: discord.Client.request_offline_members discord.Client.wait_for -#: discord.ClientUser.avatar_url_as discord.ClientUser.create_group -#: discord.ClientUser.edit discord.ClientUser.edit_settings -#: discord.ClientUser.get_relationship discord.ClientUser.mentioned_in -#: discord.ClientUser.permissions_in discord.DMChannel.fetch_message -#: discord.DMChannel.history discord.DMChannel.permissions_for -#: discord.DMChannel.send discord.Embed.add_field discord.Embed.from_dict -#: discord.Embed.insert_field_at discord.Embed.remove_field -#: discord.Embed.set_author discord.Embed.set_field_at discord.Embed.set_footer -#: discord.Embed.set_image discord.Embed.set_thumbnail discord.Emoji.delete -#: discord.Emoji.edit discord.FFmpegOpusAudio -#: discord.FFmpegOpusAudio.from_probe discord.FFmpegOpusAudio.probe -#: discord.FFmpegPCMAudio discord.Game discord.GroupCall.voice_state_for -#: discord.GroupChannel.add_recipients discord.GroupChannel.edit -#: discord.GroupChannel.fetch_message discord.GroupChannel.history -#: discord.GroupChannel.permissions_for discord.GroupChannel.remove_recipients -#: discord.GroupChannel.send discord.Guild.audit_logs discord.Guild.ban -#: discord.Guild.banner_url_as discord.Guild.change_voice_state -#: discord.Guild.chunk discord.Guild.create_custom_emoji -#: discord.Guild.create_integration discord.Guild.create_role -#: discord.Guild.create_text_channel discord.Guild.create_voice_channel -#: discord.Guild.discovery_splash_url_as discord.Guild.edit -#: discord.Guild.edit_role_positions discord.Guild.estimate_pruned_members -#: discord.Guild.fetch_ban discord.Guild.fetch_emoji discord.Guild.fetch_member -#: discord.Guild.fetch_members discord.Guild.get_channel -#: discord.Guild.get_member discord.Guild.get_member_named -#: discord.Guild.get_role discord.Guild.icon_url_as discord.Guild.kick -#: discord.Guild.prune_members discord.Guild.query_members -#: discord.Guild.splash_url_as discord.Guild.unban discord.Integration.edit -#: discord.Invite.delete discord.Member.add_roles discord.Member.avatar_url_as -#: discord.Member.edit discord.Member.fetch_message discord.Member.history -#: discord.Member.mentioned_in discord.Member.move_to -#: discord.Member.permissions_in discord.Member.remove_roles -#: discord.Member.send discord.MemberCacheFlags.from_intents -#: discord.Message.add_reaction discord.Message.clear_reaction -#: discord.Message.delete discord.Message.edit discord.Message.pin -#: discord.Message.remove_reaction discord.Message.unpin -#: discord.PCMVolumeTransformer discord.PermissionOverwrite -#: discord.PermissionOverwrite.update discord.Permissions.update -#: discord.Reaction.remove discord.Reaction.users -#: discord.RequestsWebhookAdapter -#: discord.RequestsWebhookAdapter.handle_execution_response -#: discord.RequestsWebhookAdapter.request discord.Role.delete discord.Role.edit -#: discord.Template.create_guild discord.TextChannel.clone -#: discord.TextChannel.create_invite discord.TextChannel.create_webhook -#: discord.TextChannel.delete discord.TextChannel.delete_messages -#: discord.TextChannel.edit discord.TextChannel.fetch_message -#: discord.TextChannel.follow discord.TextChannel.history -#: discord.TextChannel.overwrites_for discord.TextChannel.permissions_for -#: discord.TextChannel.purge discord.TextChannel.send -#: discord.TextChannel.set_permissions discord.User.avatar_url_as -#: discord.User.fetch_message discord.User.history discord.User.mentioned_in -#: discord.User.permissions_in discord.User.send discord.VoiceChannel.clone -#: discord.VoiceChannel.connect discord.VoiceChannel.create_invite -#: discord.VoiceChannel.delete discord.VoiceChannel.edit -#: discord.VoiceChannel.overwrites_for discord.VoiceChannel.permissions_for -#: discord.VoiceChannel.set_permissions discord.VoiceClient.connect -#: discord.VoiceClient.move_to discord.VoiceClient.on_voice_server_update -#: discord.VoiceClient.on_voice_state_update discord.VoiceClient.play -#: discord.VoiceClient.send_audio_packet discord.VoiceProtocol -#: discord.VoiceProtocol.connect discord.VoiceProtocol.disconnect -#: discord.VoiceProtocol.on_voice_server_update -#: discord.VoiceProtocol.on_voice_state_update discord.Webhook.avatar_url_as -#: discord.Webhook.delete discord.Webhook.edit discord.Webhook.from_url -#: discord.Webhook.partial discord.Webhook.send -#: discord.WebhookAdapter.handle_execution_response -#: discord.WebhookAdapter.request discord.Widget.fetch_invite -#: discord.WidgetMember.avatar_url_as discord.WidgetMember.mentioned_in -#: discord.WidgetMember.permissions_in discord.abc.GuildChannel.clone -#: discord.abc.GuildChannel.create_invite discord.abc.GuildChannel.delete -#: discord.abc.GuildChannel.overwrites_for -#: discord.abc.GuildChannel.permissions_for -#: discord.abc.GuildChannel.set_permissions -#: discord.abc.Messageable.fetch_message discord.abc.Messageable.history -#: discord.abc.Messageable.send discord.opus.load_opus -#: discord.utils.escape_markdown discord.utils.escape_mentions -#: discord.utils.find discord.utils.get discord.utils.oauth_url -#: discord.utils.resolve_invite discord.utils.resolve_template -#: discord.utils.sleep_until discord.utils.snowflake_time of -msgid "Parameters" -msgstr "パラメータ" - -#: discord.Client:6 of -msgid "" -"The maximum number of messages to store in the internal message cache. " -"This defaults to ``1000``. Passing in ``None`` disables the message " -"cache. .. versionchanged:: 1.3 Allow disabling the message cache and" -" change the default size to ``1000``." -msgstr "" - -#: discord.Client:6 of -#, fuzzy -msgid "" -"The maximum number of messages to store in the internal message cache. " -"This defaults to ``1000``. Passing in ``None`` disables the message " -"cache." -msgstr "" -"内部のメッセージキャッシュに格納するメッセージの最大数。デフォルトでは5000に設定されています。 ``None`` " -"あるいは100未満の値を渡すと、渡された値の代わりにデフォルトの値が使用されます。" - -#: discord.Client:9 of -msgid "Allow disabling the message cache and change the default size to ``1000``." -msgstr "" - -#: discord.Client:12 of -msgid "" -"The :class:`asyncio.AbstractEventLoop` to use for asynchronous " -"operations. Defaults to ``None``, in which case the default event loop is" -" used via :func:`asyncio.get_event_loop()`." -msgstr "" -"非同期操作に使用する :class:`asyncio.AbstractEventLoop` 。デフォルトは ``None`` " -"です。この場合、デフォルトのイベントループは :func:`asyncio.get_event_loop()` を介して使用されます。" - -#: discord.Client:16 of -msgid "The connector to use for connection pooling." -msgstr "コネクションプーリングに使用するコネクタ。" - -#: discord.Client:18 of -msgid "Proxy URL." -msgstr "プロキシのURL。" - -#: discord.Client:20 of -msgid "An object that represents proxy HTTP Basic Authorization." -msgstr "プロキシのHTTP Basic認証を表すオブジェクト。" - -#: discord.Client:22 of -#, fuzzy -msgid "Integer starting at ``0`` and less than :attr:`.shard_count`." -msgstr "0から始まり、 :attr:`.shard_count` より小さい整数。" - -#: discord.Client:24 of -msgid "The total number of shards." -msgstr "Shardの総数。" - -#: discord.Client:26 of -msgid "" -"The intents that you want to enable for the session. This is a way of " -"disabling and enabling certain gateway events from triggering and being " -"sent. If not given, defaults to a regularly constructed :class:`Intents` " -"class. .. versionadded:: 1.5" -msgstr "" - -#: discord.Client:26 of -msgid "" -"The intents that you want to enable for the session. This is a way of " -"disabling and enabling certain gateway events from triggering and being " -"sent. If not given, defaults to a regularly constructed :class:`Intents` " -"class." -msgstr "" - -#: discord.Client:32 of -msgid "" -"Allows for finer control over how the library caches members. If not " -"given, defaults to cache as much as possible with the currently selected " -"intents. .. versionadded:: 1.5" -msgstr "" - -#: discord.Client:32 of -msgid "" -"Allows for finer control over how the library caches members. If not " -"given, defaults to cache as much as possible with the currently selected " -"intents." -msgstr "" - -#: discord.Client:38 of -msgid "A deprecated alias of ``chunk_guilds_at_startup``." -msgstr "" - -#: discord.Client:40 of -msgid "" -"Indicates if :func:`.on_ready` should be delayed to chunk all guilds at " -"start-up if necessary. This operation is incredibly slow for large " -"amounts of guilds. The default is ``True`` if :attr:`Intents.members` is " -"``True``. .. versionadded:: 1.5" -msgstr "" - -#: discord.Client:40 of -msgid "" -"Indicates if :func:`.on_ready` should be delayed to chunk all guilds at " -"start-up if necessary. This operation is incredibly slow for large " -"amounts of guilds. The default is ``True`` if :attr:`Intents.members` is " -"``True``." -msgstr "" - -#: discord.Client:47 of -msgid "A status to start your presence with upon logging on to Discord." -msgstr "Discordにログインした際の、開始時ステータス。" - -#: discord.Client:49 of -msgid "An activity to start your presence with upon logging on to Discord." -msgstr "Discordにログインした際の、開始時アクティビティ。" - -#: discord.Client:51 of -msgid "" -"Control how the client handles mentions by default on every message sent." -" .. versionadded:: 1.4" -msgstr "" - -#: discord.Client:51 of -msgid "Control how the client handles mentions by default on every message sent." -msgstr "" - -#: discord.Client:55 of -msgid "" -"The maximum numbers of seconds before timing out and restarting the " -"WebSocket in the case of not receiving a HEARTBEAT_ACK. Useful if " -"processing the initial packets take too long to the point of " -"disconnecting you. The default timeout is 60 seconds." -msgstr "HEARTBEAT_ACKを受信できない際に、WebSocketをタイムアウトさせて再起動するまでの最大秒数。最初のパケットの処理に時間がかかり、接続を切断できないというような状況時に便利です。デフォルトでは60秒に設定されています。" - -#: discord.Client:60 of -msgid "" -"The maximum number of seconds to wait for the GUILD_CREATE stream to end " -"before preparing the member cache and firing READY. The default timeout " -"is 2 seconds. .. versionadded:: 1.4" -msgstr "" - -#: discord.Client:60 of -msgid "" -"The maximum number of seconds to wait for the GUILD_CREATE stream to end " -"before preparing the member cache and firing READY. The default timeout " -"is 2 seconds." -msgstr "" - -#: discord.Client:65 of -msgid "" -"Whether to dispatch presence or typing events. Defaults to ``True``. .. " -"versionadded:: 1.3 .. warning:: If this is set to ``False`` then " -"the following features will be disabled: - No user related " -"updates (:func:`on_user_update` will not dispatch) - All member " -"related events will be disabled. - :func:`on_member_update`" -" - :func:`on_member_join` - " -":func:`on_member_remove` - Typing events will be disabled " -"(:func:`on_typing`). - If ``fetch_offline_members`` is set to " -"``False`` then the user cache will not exist. This makes it " -"difficult or impossible to do many things, for example: - " -"Computing permissions - Querying members in a voice channel " -"via :attr:`VoiceChannel.members` will be empty. - Most forms " -"of receiving :class:`Member` will be receiving " -":class:`User` instead, except for message events. - " -":attr:`Guild.owner` will usually resolve to ``None``. - " -":meth:`Guild.get_member` will usually be unavailable. - " -"Anything that involves using :class:`Member`. - :attr:`users`" -" will not be as populated. - etc. In short, this makes " -"it so the only member you can reliably query is the message author. " -"Useful for bots that do not require any state." -msgstr "" - -#: discord.Client:65 of -msgid "Whether to dispatch presence or typing events. Defaults to ``True``." -msgstr "" - -#: discord.Client:71 of -msgid "If this is set to ``False`` then the following features will be disabled:" -msgstr "" - -#: discord.Client:73 of -msgid "No user related updates (:func:`on_user_update` will not dispatch)" -msgstr "" - -#: discord.Client:77 of -msgid "All member related events will be disabled." -msgstr "" - -#: discord.Client:75 of -msgid ":func:`on_member_update`" -msgstr "" - -#: discord.Client:76 discord.Intents.members:5 of -msgid ":func:`on_member_join`" -msgstr "" - -#: discord.Client:77 discord.Intents.members:6 of -msgid ":func:`on_member_remove`" -msgstr "" - -#: discord.Client:79 of -msgid "Typing events will be disabled (:func:`on_typing`)." -msgstr "" - -#: discord.Client:80 of -msgid "" -"If ``fetch_offline_members`` is set to ``False`` then the user cache will" -" not exist. This makes it difficult or impossible to do many things, for " -"example:" -msgstr "" - -#: discord.Client:83 of -msgid "Computing permissions" -msgstr "" - -#: discord.Client:84 of -msgid "" -"Querying members in a voice channel via :attr:`VoiceChannel.members` will" -" be empty." -msgstr "" - -#: discord.Client:85 of -msgid "" -"Most forms of receiving :class:`Member` will be receiving :class:`User` " -"instead, except for message events." -msgstr "" - -#: discord.Client:87 of -msgid ":attr:`Guild.owner` will usually resolve to ``None``." -msgstr "" - -#: discord.Client:88 of -msgid ":meth:`Guild.get_member` will usually be unavailable." -msgstr "" - -#: discord.Client:89 of -msgid "Anything that involves using :class:`Member`." -msgstr "" - -#: discord.Client:90 of -msgid ":attr:`users` will not be as populated." -msgstr "" - -#: discord.Client:91 of -#, fuzzy -msgid "etc." -msgstr "その他" - -#: discord.Client:93 of -msgid "" -"In short, this makes it so the only member you can reliably query is the " -"message author. Useful for bots that do not require any state." -msgstr "" - -#: discord.Client:96 of -msgid "" -"Whether to assume the system clock is unsynced. This applies to the " -"ratelimit handling code. If this is set to ``True``, the default, then " -"the library uses the time to reset a rate limit bucket given by Discord. " -"If this is ``False`` then your system clock is used to calculate how long" -" to sleep for. If this is set to ``False`` it is recommended to sync your" -" system clock to Google's NTP server. .. versionadded:: 1.3" -msgstr "" - -#: discord.Client:96 of -msgid "" -"Whether to assume the system clock is unsynced. This applies to the " -"ratelimit handling code. If this is set to ``True``, the default, then " -"the library uses the time to reset a rate limit bucket given by Discord. " -"If this is ``False`` then your system clock is used to calculate how long" -" to sleep for. If this is set to ``False`` it is recommended to sync your" -" system clock to Google's NTP server." -msgstr "" - -#: discord.Client:107 of -msgid "" -"The websocket gateway the client is currently connected to. Could be " -"``None``." -msgstr "クライアントが現在接続しているWebSocketゲートウェイ。 ``None`` でもかまいません。" - -#: discord.Client:111 of -#, fuzzy -msgid "" -"The event loop that the client uses for HTTP requests and websocket " -"operations." -msgstr "" -":class:`asyncio.AbstractEventLoop` -- " -"クライアントのHTTPリクエストとWebSocket操作に使われるイベントループ。" - -#: ../../api.rst discord.Activity discord.Activity.end -#: discord.Activity.large_image_text discord.Activity.large_image_url -#: discord.Activity.small_image_text discord.Activity.small_image_url -#: discord.Activity.start discord.AllowedMentions discord.AppInfo -#: discord.AppInfo.cover_image_url discord.AppInfo.guild -#: discord.AppInfo.icon_url discord.Attachment discord.AuditLogEntry -#: discord.AuditLogEntry.after discord.AuditLogEntry.before -#: discord.AuditLogEntry.category discord.AuditLogEntry.changes -#: discord.AuditLogEntry.created_at discord.AutoShardedClient -#: discord.AutoShardedClient.latencies discord.AutoShardedClient.latency -#: discord.AutoShardedClient.shards discord.BaseActivity.created_at -#: discord.CallMessage discord.CallMessage.call_ended -#: discord.CallMessage.channel discord.CategoryChannel -#: discord.CategoryChannel.category discord.CategoryChannel.changed_roles -#: discord.CategoryChannel.channels discord.CategoryChannel.created_at -#: discord.CategoryChannel.mention discord.CategoryChannel.permissions_synced -#: discord.CategoryChannel.text_channels discord.CategoryChannel.type -#: discord.CategoryChannel.voice_channels discord.Client -#: discord.Client.activity discord.Client.allowed_mentions -#: discord.Client.cached_messages discord.Client.emojis discord.Client.guilds -#: discord.Client.intents discord.Client.latency -#: discord.Client.private_channels discord.Client.user discord.Client.users -#: discord.Client.voice_clients discord.ClientUser -#: discord.ClientUser.avatar_url discord.ClientUser.blocked -#: discord.ClientUser.color discord.ClientUser.colour -#: discord.ClientUser.created_at discord.ClientUser.default_avatar -#: discord.ClientUser.default_avatar_url discord.ClientUser.display_name -#: discord.ClientUser.friends discord.ClientUser.mention -#: discord.ClientUser.public_flags discord.ClientUser.relationships -#: discord.Colour discord.Colour.b discord.Colour.g discord.Colour.r -#: discord.ConnectionClosed discord.CustomActivity discord.CustomActivity.type -#: discord.DMChannel discord.DMChannel.created_at discord.DMChannel.type -#: discord.Embed discord.Embed.author discord.Embed.fields discord.Embed.footer -#: discord.Embed.image discord.Embed.provider discord.Embed.thumbnail -#: discord.Embed.video discord.Emoji discord.Emoji.created_at -#: discord.Emoji.guild discord.Emoji.roles discord.Emoji.url discord.File -#: discord.Game discord.Game.end discord.Game.start discord.Game.type -#: discord.GroupCall discord.GroupCall.channel discord.GroupCall.connected -#: discord.GroupChannel discord.GroupChannel.created_at -#: discord.GroupChannel.icon_url discord.GroupChannel.type discord.Guild -#: discord.Guild.banner_url discord.Guild.bitrate_limit -#: discord.Guild.categories discord.Guild.channels discord.Guild.chunked -#: discord.Guild.created_at discord.Guild.default_role -#: discord.Guild.discovery_splash_url discord.Guild.emoji_limit -#: discord.Guild.filesize_limit discord.Guild.icon_url discord.Guild.large -#: discord.Guild.me discord.Guild.member_count discord.Guild.members -#: discord.Guild.owner discord.Guild.premium_subscribers -#: discord.Guild.public_updates_channel discord.Guild.roles -#: discord.Guild.rules_channel discord.Guild.shard_id discord.Guild.splash_url -#: discord.Guild.system_channel discord.Guild.system_channel_flags -#: discord.Guild.text_channels discord.Guild.voice_channels -#: discord.Guild.voice_client discord.HTTPException discord.Integration -#: discord.IntegrationAccount discord.Intents discord.Intents.bans -#: discord.Intents.dm_messages discord.Intents.dm_reactions -#: discord.Intents.dm_typing discord.Intents.emojis -#: discord.Intents.guild_messages discord.Intents.guild_reactions -#: discord.Intents.guild_typing discord.Intents.guilds -#: discord.Intents.integrations discord.Intents.invites discord.Intents.members -#: discord.Intents.messages discord.Intents.presences discord.Intents.reactions -#: discord.Intents.typing discord.Intents.voice_states discord.Intents.webhooks -#: discord.Invite discord.Invite.id discord.Invite.url discord.Member -#: discord.Member.activity discord.Member.color discord.Member.colour -#: discord.Member.desktop_status discord.Member.display_name -#: discord.Member.guild_permissions discord.Member.mention -#: discord.Member.mobile_status discord.Member.raw_status discord.Member.roles -#: discord.Member.status discord.Member.top_role discord.Member.voice -#: discord.Member.web_status discord.MemberCacheFlags -#: discord.MemberCacheFlags.joined discord.MemberCacheFlags.online -#: discord.MemberCacheFlags.voice discord.Message discord.Message.clean_content -#: discord.Message.created_at discord.Message.edited_at discord.Message.guild -#: discord.Message.jump_url discord.Message.raw_channel_mentions -#: discord.Message.raw_mentions discord.Message.raw_role_mentions -#: discord.Message.system_content discord.MessageFlags -#: discord.MessageFlags.crossposted discord.MessageFlags.is_crossposted -#: discord.MessageFlags.source_message_deleted -#: discord.MessageFlags.suppress_embeds discord.MessageFlags.urgent -#: discord.MessageReference discord.MessageReference.cached_message -#: discord.Object discord.Object.created_at discord.PCMAudio -#: discord.PartialEmoji discord.PartialEmoji.url discord.PartialInviteChannel -#: discord.PartialInviteChannel.created_at discord.PartialInviteChannel.mention -#: discord.PartialInviteGuild discord.PartialInviteGuild.banner_url -#: discord.PartialInviteGuild.created_at discord.PartialInviteGuild.icon_url -#: discord.PartialInviteGuild.splash_url discord.Permissions -#: discord.Permissions.add_reactions discord.Permissions.administrator -#: discord.Permissions.attach_files discord.Permissions.ban_members -#: discord.Permissions.change_nickname discord.Permissions.connect -#: discord.Permissions.create_instant_invite discord.Permissions.deafen_members -#: discord.Permissions.embed_links discord.Permissions.external_emojis -#: discord.Permissions.kick_members discord.Permissions.manage_channels -#: discord.Permissions.manage_emojis discord.Permissions.manage_guild -#: discord.Permissions.manage_messages discord.Permissions.manage_nicknames -#: discord.Permissions.manage_permissions discord.Permissions.manage_roles -#: discord.Permissions.manage_webhooks discord.Permissions.mention_everyone -#: discord.Permissions.move_members discord.Permissions.mute_members -#: discord.Permissions.priority_speaker -#: discord.Permissions.read_message_history discord.Permissions.read_messages -#: discord.Permissions.send_messages discord.Permissions.send_tts_messages -#: discord.Permissions.speak discord.Permissions.stream -#: discord.Permissions.use_external_emojis -#: discord.Permissions.use_voice_activation discord.Permissions.view_audit_log -#: discord.Permissions.view_channel discord.Permissions.view_guild_insights -#: discord.PrivilegedIntentsRequired discord.PublicUserFlags -#: discord.PublicUserFlags.bug_hunter -#: discord.PublicUserFlags.bug_hunter_level_2 -#: discord.PublicUserFlags.early_supporter -#: discord.PublicUserFlags.early_verified_bot_developer -#: discord.PublicUserFlags.hypesquad discord.PublicUserFlags.hypesquad_balance -#: discord.PublicUserFlags.hypesquad_bravery -#: discord.PublicUserFlags.hypesquad_brilliance discord.PublicUserFlags.partner -#: discord.PublicUserFlags.staff discord.PublicUserFlags.system -#: discord.PublicUserFlags.team_user discord.PublicUserFlags.verified_bot -#: discord.PublicUserFlags.verified_bot_developer -#: discord.RawBulkMessageDeleteEvent discord.RawMessageDeleteEvent -#: discord.RawMessageUpdateEvent discord.RawReactionActionEvent -#: discord.RawReactionClearEmojiEvent discord.RawReactionClearEvent -#: discord.Reaction discord.Reaction.custom_emoji discord.Relationship -#: discord.Role discord.Role.color discord.Role.colour discord.Role.created_at -#: discord.Role.members discord.Role.mention discord.Role.permissions -#: discord.ShardInfo discord.ShardInfo.latency discord.Spotify.album -#: discord.Spotify.album_cover_url discord.Spotify.artist -#: discord.Spotify.artists discord.Spotify.color discord.Spotify.colour -#: discord.Spotify.created_at discord.Spotify.duration discord.Spotify.end -#: discord.Spotify.name discord.Spotify.party_id discord.Spotify.start -#: discord.Spotify.title discord.Spotify.track_id discord.Spotify.type -#: discord.Streaming discord.Streaming.twitch_name discord.Streaming.type -#: discord.SystemChannelFlags discord.SystemChannelFlags.join_notifications -#: discord.SystemChannelFlags.premium_subscriptions discord.Team -#: discord.Team.icon_url discord.Team.owner discord.TeamMember discord.Template -#: discord.TextChannel discord.TextChannel.category -#: discord.TextChannel.changed_roles discord.TextChannel.created_at -#: discord.TextChannel.members discord.TextChannel.mention -#: discord.TextChannel.permissions_synced discord.TextChannel.type discord.User -#: discord.User.avatar_url discord.User.color discord.User.colour -#: discord.User.created_at discord.User.default_avatar -#: discord.User.default_avatar_url discord.User.display_name -#: discord.User.dm_channel discord.User.mention discord.User.public_flags -#: discord.User.relationship discord.VoiceChannel discord.VoiceChannel.category -#: discord.VoiceChannel.changed_roles discord.VoiceChannel.created_at -#: discord.VoiceChannel.members discord.VoiceChannel.mention -#: discord.VoiceChannel.permissions_synced discord.VoiceChannel.type -#: discord.VoiceClient discord.VoiceClient.average_latency -#: discord.VoiceClient.guild discord.VoiceClient.latency -#: discord.VoiceClient.source discord.VoiceClient.user discord.VoiceState -#: discord.Webhook discord.Webhook.avatar_url discord.Webhook.channel -#: discord.Webhook.created_at discord.Webhook.guild discord.Webhook.url -#: discord.WebhookAdapter discord.Widget discord.Widget.created_at -#: discord.Widget.invite_url discord.Widget.json_url discord.WidgetChannel -#: discord.WidgetChannel.created_at discord.WidgetChannel.mention -#: discord.WidgetMember discord.WidgetMember.avatar_url -#: discord.WidgetMember.color discord.WidgetMember.colour -#: discord.WidgetMember.created_at discord.WidgetMember.default_avatar -#: discord.WidgetMember.default_avatar_url discord.WidgetMember.display_name -#: discord.WidgetMember.mention discord.WidgetMember.public_flags -#: discord.abc.GuildChannel discord.abc.GuildChannel.category -#: discord.abc.GuildChannel.changed_roles discord.abc.GuildChannel.created_at -#: discord.abc.GuildChannel.mention discord.abc.GuildChannel.permissions_synced -#: discord.abc.PrivateChannel discord.abc.Snowflake -#: discord.abc.Snowflake.created_at discord.abc.User -#: discord.abc.User.display_name discord.abc.User.mention -#: discord.opus.OpusError of -msgid "type" -msgstr "" - -#: discord.Client:113 discord.VoiceClient:41 of -msgid ":class:`asyncio.AbstractEventLoop`" -msgstr "" - -#: discord.AutoShardedClient.latency:1 discord.Client.latency:1 of -msgid "Measures latency between a HEARTBEAT and a HEARTBEAT_ACK in seconds." -msgstr "" - -#: discord.Client.latency:3 of -msgid "This could be referred to as the Discord WebSocket protocol latency." -msgstr "これはDiscord WebSocketプロトコルの待ち時間とも言えます。" - -#: discord.AutoShardedClient.latency:7 discord.Client.latency:5 -#: discord.Guild.bitrate_limit:3 discord.ShardInfo.latency:3 -#: discord.VoiceClient.average_latency:5 discord.VoiceClient.latency:8 of -#, fuzzy -msgid ":class:`float`" -msgstr ":class:`str`" - -#: discord.Client.user:1 of -#, fuzzy -msgid "Represents the connected client. ``None`` if not logged in." -msgstr "Optional[:class:`.ClientUser`] -- 接続しているクライアントを表します。接続していない場合はNoneです。" - -#: discord.Client.user:3 of -#, fuzzy -msgid "Optional[:class:`.ClientUser`]" -msgstr ":class:`~discord.ClientUser`" - -#: discord.Client.guilds:1 of -#, fuzzy -msgid "The guilds that the connected client is a member of." -msgstr "List[:class:`.Guild`] -- 接続したクライアントがメンバーであるギルド。" - -#: discord.Client.guilds:3 of -#, fuzzy -msgid "List[:class:`.Guild`]" -msgstr ":class:`.Guild`" - -#: discord.Client.emojis:1 of -#, fuzzy -msgid "The emojis that the connected client has." -msgstr "List[:class:`.Emoji`] -- 接続したクライアントがアクセスできる絵文字。" - -#: discord.Client.emojis:3 of -#, fuzzy -msgid "List[:class:`.Emoji`]" -msgstr ":class:`.Webhook`" - -#: discord.Client.cached_messages:1 of -#, fuzzy -msgid "Read-only list of messages the connected client has cached." -msgstr "Sequence[:class:`.Message`] -- 接続されたクライアントにキャッシュされたメッセージの読み取り専用リスト。" - -#: discord.Client.cached_messages:5 of -msgid "Sequence[:class:`.Message`]" -msgstr "" - -#: discord.Client.private_channels:1 of -#, fuzzy -msgid "The private channels that the connected client is participating on." -msgstr "List[:class:`.abc.PrivateChannel`] -- 接続されたクライアントが参加しているプライベートチャンネル。" - -#: discord.Client.private_channels:5 of -msgid "" -"This returns only up to 128 most recent private channels due to an " -"internal working on how Discord deals with private channels." -msgstr "Discordでのプライベートチャンネルの取扱いは内部的に処理されているため、これは最新のプライベートチャンネルから最大128個までしか取得できません。" - -#: discord.Client.private_channels:8 of -msgid "List[:class:`.abc.PrivateChannel`]" -msgstr "" - -#: discord.Client.voice_clients:1 of -#, fuzzy -msgid "Represents a list of voice connections." -msgstr "Discordの音声接続を表します。" - -#: discord.Client.voice_clients:3 of -msgid "These are usually :class:`.VoiceClient` instances." -msgstr "" - -#: discord.Client.voice_clients:5 of -msgid "List[:class:`.VoiceProtocol`]" -msgstr "" - -#: discord.Client.is_ready:1 of -#, fuzzy -msgid ":class:`bool`: Specifies if the client's internal cache is ready for use." -msgstr "クライアントの内部キャッシュを使用できる状態にするかどうかを指定します。" - -#: ../../api.rst:2025 ../../api.rst:2033 ../../api.rst:2044 ../../api.rst:2064 -#: discord.Asset.read:1 discord.Asset.save:1 discord.Attachment.read:1 -#: discord.Attachment.save:1 discord.Attachment.to_file:1 -#: discord.AutoShardedClient.change_presence:1 -#: discord.AutoShardedClient.close:1 discord.AutoShardedClient.connect:1 -#: discord.AutoShardedClient.request_offline_members:1 -#: discord.CategoryChannel.clone:1 discord.CategoryChannel.create_invite:1 -#: discord.CategoryChannel.create_text_channel:1 -#: discord.CategoryChannel.create_voice_channel:1 -#: discord.CategoryChannel.delete:1 discord.CategoryChannel.edit:1 -#: discord.CategoryChannel.invites:1 discord.CategoryChannel.set_permissions:1 -#: discord.Client.application_info:1 discord.Client.before_identify_hook:1 -#: discord.Client.change_presence:1 discord.Client.close:1 -#: discord.Client.connect:1 discord.Client.create_guild:1 -#: discord.Client.delete_invite:1 discord.Client.fetch_channel:1 -#: discord.Client.fetch_guild:1 discord.Client.fetch_guilds:1 -#: discord.Client.fetch_invite:1 discord.Client.fetch_template:1 -#: discord.Client.fetch_user:1 discord.Client.fetch_user_profile:1 -#: discord.Client.fetch_webhook:1 discord.Client.fetch_widget:1 -#: discord.Client.login:1 discord.Client.logout:1 discord.Client.on_error:1 -#: discord.Client.request_offline_members:1 discord.Client.start:1 -#: discord.Client.wait_for:1 discord.Client.wait_until_ready:1 -#: discord.ClientUser.create_group:1 discord.ClientUser.edit:1 -#: discord.ClientUser.edit_settings:1 discord.DMChannel.fetch_message:1 -#: discord.DMChannel.pins:1 discord.DMChannel.send:1 -#: discord.DMChannel.trigger_typing:1 discord.Emoji.delete:1 -#: discord.Emoji.edit:1 discord.FFmpegOpusAudio.from_probe:1 -#: discord.FFmpegOpusAudio.probe:1 discord.GroupChannel.add_recipients:1 -#: discord.GroupChannel.edit:1 discord.GroupChannel.fetch_message:1 -#: discord.GroupChannel.leave:1 discord.GroupChannel.pins:1 -#: discord.GroupChannel.remove_recipients:1 discord.GroupChannel.send:1 -#: discord.GroupChannel.trigger_typing:1 discord.Guild.ack:1 -#: discord.Guild.ban:1 discord.Guild.bans:1 discord.Guild.change_voice_state:1 -#: discord.Guild.chunk:1 discord.Guild.create_category:1 -#: discord.Guild.create_category_channel:1 discord.Guild.create_custom_emoji:1 -#: discord.Guild.create_integration:1 discord.Guild.create_role:1 -#: discord.Guild.create_text_channel:1 discord.Guild.create_voice_channel:1 -#: discord.Guild.delete:1 discord.Guild.edit:1 -#: discord.Guild.edit_role_positions:1 discord.Guild.estimate_pruned_members:1 -#: discord.Guild.fetch_ban:1 discord.Guild.fetch_channels:1 -#: discord.Guild.fetch_emoji:1 discord.Guild.fetch_emojis:1 -#: discord.Guild.fetch_member:1 discord.Guild.fetch_members:1 -#: discord.Guild.fetch_roles:1 discord.Guild.integrations:1 -#: discord.Guild.invites:1 discord.Guild.kick:1 discord.Guild.leave:1 -#: discord.Guild.prune_members:1 discord.Guild.query_members:1 -#: discord.Guild.unban:1 discord.Guild.vanity_invite:1 discord.Guild.webhooks:1 -#: discord.Guild.widget:1 discord.Integration.delete:1 -#: discord.Integration.edit:1 discord.Integration.sync:1 -#: discord.Invite.delete:1 discord.Member.add_roles:1 discord.Member.ban:1 -#: discord.Member.block:1 discord.Member.edit:1 discord.Member.fetch_message:1 -#: discord.Member.kick:1 discord.Member.move_to:1 -#: discord.Member.mutual_friends:1 discord.Member.pins:1 -#: discord.Member.profile:1 discord.Member.remove_friend:1 -#: discord.Member.remove_roles:1 discord.Member.send:1 -#: discord.Member.send_friend_request:1 discord.Member.trigger_typing:1 -#: discord.Member.unban:1 discord.Member.unblock:1 discord.Message.ack:1 -#: discord.Message.add_reaction:1 discord.Message.clear_reaction:1 -#: discord.Message.clear_reactions:1 discord.Message.delete:1 -#: discord.Message.edit:1 discord.Message.pin:1 discord.Message.publish:1 -#: discord.Message.remove_reaction:1 discord.Message.unpin:1 -#: discord.Reaction.clear:1 discord.Reaction.remove:1 -#: discord.Relationship.accept:1 discord.Relationship.delete:1 -#: discord.Role.delete:1 discord.Role.edit:1 discord.ShardInfo.connect:1 -#: discord.ShardInfo.disconnect:1 discord.ShardInfo.reconnect:1 -#: discord.Template.create_guild:1 discord.TextChannel.clone:1 -#: discord.TextChannel.create_invite:1 discord.TextChannel.create_webhook:1 -#: discord.TextChannel.delete:1 discord.TextChannel.delete_messages:1 -#: discord.TextChannel.edit:1 discord.TextChannel.fetch_message:1 -#: discord.TextChannel.invites:1 discord.TextChannel.pins:1 -#: discord.TextChannel.purge:1 discord.TextChannel.send:1 -#: discord.TextChannel.set_permissions:1 discord.TextChannel.trigger_typing:1 -#: discord.TextChannel.webhooks:1 discord.User.block:1 -#: discord.User.fetch_message:1 discord.User.mutual_friends:1 -#: discord.User.pins:1 discord.User.profile:1 discord.User.remove_friend:1 -#: discord.User.send:1 discord.User.send_friend_request:1 -#: discord.User.trigger_typing:1 discord.User.unblock:1 -#: discord.VoiceChannel.clone:1 discord.VoiceChannel.connect:1 -#: discord.VoiceChannel.create_invite:1 discord.VoiceChannel.delete:1 -#: discord.VoiceChannel.edit:1 discord.VoiceChannel.invites:1 -#: discord.VoiceChannel.set_permissions:1 discord.VoiceClient.connect:1 -#: discord.VoiceClient.disconnect:1 discord.VoiceClient.move_to:1 -#: discord.VoiceClient.on_voice_server_update:1 -#: discord.VoiceClient.on_voice_state_update:1 discord.VoiceProtocol.connect:1 -#: discord.VoiceProtocol.disconnect:1 -#: discord.VoiceProtocol.on_voice_server_update:1 -#: discord.VoiceProtocol.on_voice_state_update:1 discord.Widget.fetch_invite:1 -#: discord.abc.GuildChannel.clone:1 discord.abc.GuildChannel.create_invite:1 -#: discord.abc.GuildChannel.delete:1 discord.abc.GuildChannel.invites:1 -#: discord.abc.GuildChannel.set_permissions:1 -#: discord.abc.Messageable.fetch_message:1 discord.abc.Messageable.pins:1 -#: discord.abc.Messageable.send:1 discord.abc.Messageable.trigger_typing:1 -#: discord.utils.sleep_until:1 of -msgid "|coro|" -msgstr "|coro|" - -#: discord.Client.on_error:3 of -msgid "The default error handler provided by the client." -msgstr "クライアントによって提供されるデフォルトのエラーハンドラ。" - -#: discord.Client.on_error:5 of -msgid "" -"By default this prints to :data:`sys.stderr` however it could be " -"overridden to have a different implementation. Check " -":func:`~discord.on_error` for more details." -msgstr "" -"デフォルトでは、これは :data:`sys.stderr` に出力されますが、異なる実装によって上書きされる可能性があります。詳細については " -":func:`~discord.on_error` を確認してください。" - -#: discord.Client.request_offline_members:3 of -msgid "" -"Requests previously offline members from the guild to be filled up into " -"the :attr:`.Guild.members` cache. This function is usually not called. It" -" should only be used if you have the ``fetch_offline_members`` parameter " -"set to ``False``." -msgstr "" -"ギルドのオフラインメンバーを :attr:`.Guild.members` " -"キャッシュへ書き込むよう要求します。この関数は通常呼び出されることはありません。 ``fetch_offline_members`` パラメータが" -" ``False`` の場合にのみ使用してください。" - -#: discord.Client.request_offline_members:8 of -msgid "" -"When the client logs on and connects to the websocket, Discord does not " -"provide the library with offline members if the number of members in the " -"guild is larger than 250. You can check if a guild is large if " -":attr:`.Guild.large` is ``True``." -msgstr "" -"クライアントがWebSocketに接続し、ログインするとき、ギルド内のメンバー数が250よりも大きいならば、Discordはライブラリにオフラインメンバーを提供しません。" -" :attr:`.Guild.large` が ``True`` かどうかでギルドが大きいかどうかを確認することができます。" - -#: discord.AutoShardedClient.request_offline_members:15 -#: discord.Client.request_offline_members:15 of -#, fuzzy -msgid "This method is deprecated. Use :meth:`Guild.chunk` instead." -msgstr "このメソッドはAPIを呼び出します。通常は :meth:`get_guild` を代わりとして使用してください。" - -#: discord.AutoShardedClient.request_offline_members:17 -#: discord.Client.request_offline_members:17 of -msgid "An argument list of guilds to request offline members for." -msgstr "オフラインメンバーを要求したいギルドのリスト。" - -#: discord.Asset.read discord.Asset.save discord.Attachment.read -#: discord.Attachment.save discord.Attachment.to_file -#: discord.AutoShardedClient.change_presence discord.AutoShardedClient.connect -#: discord.AutoShardedClient.request_offline_members -#: discord.CategoryChannel.clone discord.CategoryChannel.create_invite -#: discord.CategoryChannel.delete discord.CategoryChannel.edit -#: discord.CategoryChannel.invites discord.CategoryChannel.set_permissions -#: discord.Client.application_info discord.Client.change_presence -#: discord.Client.connect discord.Client.create_guild -#: discord.Client.delete_invite discord.Client.event -#: discord.Client.fetch_channel discord.Client.fetch_guild -#: discord.Client.fetch_guilds discord.Client.fetch_invite -#: discord.Client.fetch_template discord.Client.fetch_user -#: discord.Client.fetch_user_profile discord.Client.fetch_webhook -#: discord.Client.fetch_widget discord.Client.login -#: discord.Client.request_offline_members discord.Client.start -#: discord.Client.wait_for discord.ClientUser.avatar_url_as -#: discord.ClientUser.create_group discord.ClientUser.edit -#: discord.ClientUser.edit_settings discord.DMChannel.fetch_message -#: discord.DMChannel.history discord.DMChannel.pins discord.DMChannel.send -#: discord.Embed.set_field_at discord.Emoji.delete discord.Emoji.edit -#: discord.FFmpegOpusAudio discord.FFmpegOpusAudio.from_probe -#: discord.FFmpegOpusAudio.probe discord.FFmpegPCMAudio -#: discord.GroupChannel.add_recipients discord.GroupChannel.edit -#: discord.GroupChannel.fetch_message discord.GroupChannel.history -#: discord.GroupChannel.leave discord.GroupChannel.pins -#: discord.GroupChannel.remove_recipients discord.GroupChannel.send -#: discord.Guild.ack discord.Guild.audit_logs discord.Guild.ban -#: discord.Guild.banner_url_as discord.Guild.bans discord.Guild.chunk -#: discord.Guild.create_category discord.Guild.create_category_channel -#: discord.Guild.create_custom_emoji discord.Guild.create_integration -#: discord.Guild.create_role discord.Guild.create_text_channel -#: discord.Guild.create_voice_channel discord.Guild.delete -#: discord.Guild.discovery_splash_url_as discord.Guild.edit -#: discord.Guild.edit_role_positions discord.Guild.estimate_pruned_members -#: discord.Guild.fetch_ban discord.Guild.fetch_channels -#: discord.Guild.fetch_emoji discord.Guild.fetch_emojis -#: discord.Guild.fetch_member discord.Guild.fetch_members -#: discord.Guild.fetch_roles discord.Guild.icon_url_as -#: discord.Guild.integrations discord.Guild.invites discord.Guild.kick -#: discord.Guild.leave discord.Guild.prune_members discord.Guild.query_members -#: discord.Guild.splash_url_as discord.Guild.unban discord.Guild.vanity_invite -#: discord.Guild.webhooks discord.Guild.widget discord.Integration.delete -#: discord.Integration.edit discord.Integration.sync discord.Invite.delete -#: discord.Member.add_roles discord.Member.avatar_url_as discord.Member.block -#: discord.Member.edit discord.Member.fetch_message discord.Member.history -#: discord.Member.mutual_friends discord.Member.pins discord.Member.profile -#: discord.Member.remove_friend discord.Member.remove_roles discord.Member.send -#: discord.Member.send_friend_request discord.Member.unblock -#: discord.Message.ack discord.Message.add_reaction -#: discord.Message.clear_reaction discord.Message.clear_reactions -#: discord.Message.delete discord.Message.edit discord.Message.pin -#: discord.Message.publish discord.Message.remove_reaction -#: discord.Message.unpin discord.PCMVolumeTransformer discord.Reaction.clear -#: discord.Reaction.remove discord.Reaction.users discord.Relationship.accept -#: discord.Relationship.delete discord.Role.delete discord.Role.edit -#: discord.Template.create_guild discord.TextChannel.clone -#: discord.TextChannel.create_invite discord.TextChannel.create_webhook -#: discord.TextChannel.delete discord.TextChannel.delete_messages -#: discord.TextChannel.edit discord.TextChannel.fetch_message -#: discord.TextChannel.follow discord.TextChannel.history -#: discord.TextChannel.invites discord.TextChannel.pins -#: discord.TextChannel.purge discord.TextChannel.send -#: discord.TextChannel.set_permissions discord.TextChannel.webhooks -#: discord.User.avatar_url_as discord.User.block discord.User.fetch_message -#: discord.User.history discord.User.mutual_friends discord.User.pins -#: discord.User.profile discord.User.remove_friend discord.User.send -#: discord.User.send_friend_request discord.User.unblock -#: discord.VoiceChannel.clone discord.VoiceChannel.connect -#: discord.VoiceChannel.create_invite discord.VoiceChannel.delete -#: discord.VoiceChannel.edit discord.VoiceChannel.invites -#: discord.VoiceChannel.set_permissions discord.VoiceClient.play -#: discord.VoiceClient.send_audio_packet discord.Webhook.avatar_url_as -#: discord.Webhook.delete discord.Webhook.edit discord.Webhook.from_url -#: discord.Webhook.send discord.WidgetMember.avatar_url_as -#: discord.abc.GuildChannel.clone discord.abc.GuildChannel.create_invite -#: discord.abc.GuildChannel.delete discord.abc.GuildChannel.invites -#: discord.abc.GuildChannel.set_permissions -#: discord.abc.Messageable.fetch_message discord.abc.Messageable.history -#: discord.abc.Messageable.pins discord.abc.Messageable.send of -#, fuzzy -msgid "Raises" -msgstr "例外" - -#: discord.AutoShardedClient.request_offline_members:20 -#: discord.Client.request_offline_members:20 of -#, fuzzy -msgid "If any guild is unavailable in the collection." -msgstr ":exc:`InvalidArgument` -- いずれかのギルドが利用できない、またはコレクション内のギルドが大きくない。" - -#: discord.Client.before_identify_hook:3 of -msgid "" -"A hook that is called before IDENTIFYing a session. This is useful if you" -" wish to have more control over the synchronization of multiple " -"IDENTIFYing clients." -msgstr "" - -#: discord.Client.before_identify_hook:7 of -msgid "The default implementation sleeps for 5 seconds." -msgstr "" - -#: discord.Client.before_identify_hook:11 of -msgid "The shard ID that requested being IDENTIFY'd" -msgstr "" - -#: discord.Client.before_identify_hook:13 of -msgid "Whether this IDENTIFY is the first initial IDENTIFY." -msgstr "" - -#: discord.Client.login:3 of -msgid "Logs in the client with the specified credentials." -msgstr "指定された資格情報を使用してクライアントにログインします。" - -#: discord.Client.login:5 of -msgid "This function can be used in two different ways." -msgstr "この関数は、異なる二通りの方法で使用することができます。" - -#: discord.Client.login:9 of -#, fuzzy -msgid "" -"Logging on with a user token is against the Discord `Terms of Service " -"`_ and doing " -"so might potentially get your account banned. Use this at your own risk." -msgstr "" -"ユーザートークンを用いてのログインはDiscordの `利用規約 `_ に違反しているため、アカウントを停止される可能性があります。自己責任で使用してください。" - -#: discord.Client.login:14 of -msgid "" -"The authentication token. Do not prefix this token with anything as the " -"library will do it for you." -msgstr "認証用のトークン。このライブラリが処理するため、トークンの頭に何も付けないでください。" - -#: discord.Client.login:17 of -msgid "" -"Keyword argument that specifies if the account logging on is a bot token " -"or not." -msgstr "ログインに使用しているアカウントがBotのトークンであるかを指定するキーワード引数。" - -#: discord.Client.login:21 of -#, fuzzy -msgid "The wrong credentials are passed." -msgstr ":exc:`.LoginFailure` -- 誤った資格情報が渡された。" - -#: discord.Client.login:22 of -#, fuzzy -msgid "" -"An unknown HTTP related error occurred, usually when it isn't 200 or " -"the known incorrect credentials passing status code." -msgstr "" -":exc:`.HTTPException` -- " -"不明なHTTP関連のエラーが発生した。通常、ステータスコードが200でないか、既知の誤った資格情報がステータスコードを渡しています。" - -#: discord.Client.logout:3 of -msgid "Logs out of Discord and closes all connections." -msgstr "Discordからログアウトし、すべての接続を終了します。" - -#: discord.Client.logout:7 of -msgid "" -"This is just an alias to :meth:`close`. If you want to do extraneous " -"cleanup when subclassing, it is suggested to override :meth:`close` " -"instead." -msgstr "" -"これは :meth:`close` の別名です。サブクラス化する場合に外部のクリーンアップを行いたい場合は、代わりに :meth:`close` " -"を上書きすることをお勧めします。" - -#: discord.AutoShardedClient.connect:3 discord.Client.connect:3 of -msgid "" -"Creates a websocket connection and lets the websocket listen to messages " -"from Discord. This is a loop that runs the entire event system and " -"miscellaneous aspects of the library. Control is not resumed until the " -"WebSocket connection is terminated." -msgstr "WebSocket接続を作成し、Discordからのメッセージをリッスンできるようにします。これはイベントシステム全体とライブラリの様々な機能を実行するループです。WebSocket接続が終了するまで、制御は再開されません。" - -#: discord.AutoShardedClient.connect:8 discord.Client.connect:8 of -msgid "" -"If we should attempt reconnecting, either due to internet failure or a " -"specific failure on Discord's part. Certain disconnects that lead to bad " -"state will not be handled (such as invalid sharding payloads or bad " -"tokens)." -msgstr "インターネットの障害やDiscord側の特定の障害が発生した際に再接続を試みるかどうかを表します。不正な状態へつながることによる特定の切断(無効なシャーディングペイロードや不正なトークンなど)は処理されません。" - -#: discord.AutoShardedClient.connect:14 discord.Client.connect:14 of -#, fuzzy -msgid "" -"If the gateway to connect to Discord is not found. Usually if this is" -" thrown then there is a Discord API outage." -msgstr "" -":exc:`.GatewayNotFound` -- " -"Discordに接続するゲートウェイが見つからない。通常、これが発生した場合はAPIの停止が考えられます。" - -#: discord.AutoShardedClient.connect:15 discord.Client.connect:15 of -#, fuzzy -msgid "The websocket connection has been terminated." -msgstr ":exc:`.ConnectionClosed` -- WebSocket接続が終了した。" - -#: discord.AutoShardedClient.close:3 discord.Client.close:3 of -msgid "Closes the connection to Discord." -msgstr "Discordとの接続を閉じます。" - -#: discord.Client.clear:1 of -msgid "Clears the internal state of the bot." -msgstr "Botの内部状態をクリアします。" - -#: discord.Client.clear:3 of -msgid "" -"After this, the bot can be considered \"re-opened\", i.e. " -":meth:`is_closed` and :meth:`is_ready` both return ``False`` along with " -"the bot's internal cache cleared." -msgstr "" -"これが実行されると、Botは「再オープン」されたとみなされます。そのため、 :meth:`is_closed` や " -":meth:`is_ready` は ``False`` を返し、内部のキャッシュもクリアされます。" - -#: discord.Client.start:3 of -msgid "A shorthand coroutine for :meth:`login` + :meth:`connect`." -msgstr ":meth:`login` + :meth:`connect` を簡略化したコルーチン。" - -#: discord.Client.start:5 of -#, fuzzy -msgid "An unexpected keyword argument was received." -msgstr ":exc:`TypeError` -- 予期しないキーワード引数を受け取った。" - -#: discord.Client.run:1 of -msgid "" -"A blocking call that abstracts away the event loop initialisation from " -"you." -msgstr "イベントループの初期化を抽象化するブロッキングコール。" - -#: discord.Client.run:4 of -msgid "" -"If you want more control over the event loop then this function should " -"not be used. Use :meth:`start` coroutine or :meth:`connect` + " -":meth:`login`." -msgstr "" -"イベントループをより詳細に制御するには、この関数を使用しないでください。 :meth:`start` または :meth:`connect` + " -":meth:`login` を使用してください。" - -#: discord.Client.run:8 of -msgid "Roughly Equivalent to: ::" -msgstr "おおよそ次のものに相当:" - -#: discord.Client.run:20 of -msgid "" -"This function must be the last function to call due to the fact that it " -"is blocking. That means that registration of events or anything being " -"called after this function call will not execute until it returns." -msgstr "この関数はブロッキングを行うため、必ず最後に呼び出してください。この関数を呼び出した後に呼び出されるイベントや関数は、Botが停止するまで実行されません。" - -#: discord.Client.is_closed:1 of -#, fuzzy -msgid ":class:`bool`: Indicates if the websocket connection is closed." -msgstr "WebSocketが閉じられているかどうかを表します。" - -#: discord.Client.activity:1 of -msgid "The activity being used upon logging in." -msgstr "" - -#: discord.Client.activity:4 of -msgid "Optional[:class:`.BaseActivity`]" -msgstr "" - -#: discord.Client.allowed_mentions:1 of -msgid "The allowed mention configuration." -msgstr "" - -#: discord.Client.allowed_mentions:5 of -#, fuzzy -msgid "Optional[:class:`~discord.AllowedMentions`]" -msgstr ":class:`~discord.ClientUser`" - -#: discord.Client.intents:1 of -msgid "The intents configured for this connection." -msgstr "" - -#: discord.Client.intents:5 of -#, fuzzy -msgid ":class:`Intents`" -msgstr ":class:`bytes`" - -#: discord.Client.users:1 of -#, fuzzy -msgid "Returns a list of all the users the bot can see." -msgstr "List[:class:`~discord.User`] -- ボットが見ることができるすべてのユーザーのリストを返します。" - -#: discord.Client.users:3 of -#, fuzzy -msgid "List[:class:`~discord.User`]" -msgstr ":class:`~discord.User`" - -#: discord.Client.get_channel:1 discord.Guild.get_channel:1 of -#, fuzzy -msgid "Returns a channel with the given ID." -msgstr "このユーザーと :class:`DMChannel` を作ります。" - -#: discord.Client.get_channel:3 discord.Client.get_emoji:3 -#: discord.Client.get_guild:3 discord.Client.get_user:3 -#: discord.Guild.get_channel:3 discord.Guild.get_member:3 -#: discord.Guild.get_role:3 of -#, fuzzy -msgid "The ID to search for." -msgstr "検索するイテラブル。" - -#: ../../api.rst discord.Asset.read discord.Asset.save discord.Attachment.read -#: discord.Attachment.save discord.Attachment.to_file discord.AudioSource.read -#: discord.CallMessage.duration discord.CategoryChannel.clone -#: discord.CategoryChannel.create_invite -#: discord.CategoryChannel.create_text_channel -#: discord.CategoryChannel.create_voice_channel discord.CategoryChannel.invites -#: discord.CategoryChannel.overwrites discord.CategoryChannel.overwrites_for -#: discord.CategoryChannel.permissions_for discord.Client.application_info -#: discord.Client.create_guild discord.Client.fetch_channel -#: discord.Client.fetch_guild discord.Client.fetch_invite -#: discord.Client.fetch_template discord.Client.fetch_user -#: discord.Client.fetch_user_profile discord.Client.fetch_webhook -#: discord.Client.fetch_widget discord.Client.get_channel -#: discord.Client.get_emoji discord.Client.get_guild discord.Client.get_user -#: discord.Client.wait_for discord.ClientUser.avatar_url_as -#: discord.ClientUser.create_group discord.ClientUser.edit_settings -#: discord.ClientUser.get_relationship discord.ClientUser.mentioned_in -#: discord.DMChannel.fetch_message discord.DMChannel.permissions_for -#: discord.DMChannel.pins discord.DMChannel.send -#: discord.FFmpegOpusAudio.from_probe discord.FFmpegOpusAudio.probe -#: discord.FFmpegOpusAudio.read discord.FFmpegPCMAudio.read -#: discord.GroupCall.voice_state_for discord.GroupChannel.fetch_message -#: discord.GroupChannel.permissions_for discord.GroupChannel.pins -#: discord.GroupChannel.send discord.Guild.banner_url_as discord.Guild.bans -#: discord.Guild.by_category discord.Guild.create_category -#: discord.Guild.create_category_channel discord.Guild.create_custom_emoji -#: discord.Guild.create_role discord.Guild.create_text_channel -#: discord.Guild.create_voice_channel discord.Guild.discovery_splash_url_as -#: discord.Guild.edit_role_positions discord.Guild.estimate_pruned_members -#: discord.Guild.fetch_ban discord.Guild.fetch_channels -#: discord.Guild.fetch_emoji discord.Guild.fetch_emojis -#: discord.Guild.fetch_member discord.Guild.fetch_roles -#: discord.Guild.get_channel discord.Guild.get_member -#: discord.Guild.get_member_named discord.Guild.get_role -#: discord.Guild.icon_url_as discord.Guild.integrations discord.Guild.invites -#: discord.Guild.prune_members discord.Guild.query_members -#: discord.Guild.splash_url_as discord.Guild.vanity_invite -#: discord.Guild.webhooks discord.Guild.widget discord.Member.avatar_url_as -#: discord.Member.create_dm discord.Member.fetch_message -#: discord.Member.mentioned_in discord.Member.mutual_friends -#: discord.Member.permissions_in discord.Member.pins discord.Member.profile -#: discord.Member.send discord.MemberCacheFlags.from_intents -#: discord.PCMAudio.read discord.PCMVolumeTransformer.read -#: discord.PartialInviteGuild.banner_url_as -#: discord.PartialInviteGuild.icon_url_as -#: discord.PartialInviteGuild.splash_url_as -#: discord.PermissionOverwrite.is_empty discord.Template.create_guild -#: discord.TextChannel.clone discord.TextChannel.create_invite -#: discord.TextChannel.create_webhook discord.TextChannel.fetch_message -#: discord.TextChannel.follow discord.TextChannel.invites -#: discord.TextChannel.last_message discord.TextChannel.overwrites -#: discord.TextChannel.overwrites_for discord.TextChannel.permissions_for -#: discord.TextChannel.pins discord.TextChannel.purge discord.TextChannel.send -#: discord.TextChannel.webhooks discord.User.avatar_url_as -#: discord.User.create_dm discord.User.fetch_message discord.User.mentioned_in -#: discord.User.mutual_friends discord.User.pins discord.User.profile -#: discord.User.send discord.VoiceChannel.clone discord.VoiceChannel.connect -#: discord.VoiceChannel.create_invite discord.VoiceChannel.invites -#: discord.VoiceChannel.overwrites discord.VoiceChannel.overwrites_for -#: discord.VoiceChannel.permissions_for discord.VoiceChannel.voice_states -#: discord.Webhook.avatar_url_as discord.Webhook.from_url -#: discord.Webhook.partial discord.Webhook.send discord.Widget.fetch_invite -#: discord.WidgetMember.avatar_url_as discord.WidgetMember.mentioned_in -#: discord.abc.GuildChannel.clone discord.abc.GuildChannel.create_invite -#: discord.abc.GuildChannel.invites discord.abc.GuildChannel.overwrites -#: discord.abc.GuildChannel.overwrites_for -#: discord.abc.GuildChannel.permissions_for -#: discord.abc.Messageable.fetch_message discord.abc.Messageable.pins -#: discord.abc.Messageable.send discord.opus.is_loaded -#: discord.utils.escape_markdown discord.utils.escape_mentions -#: discord.utils.oauth_url discord.utils.resolve_invite -#: discord.utils.resolve_template discord.utils.snowflake_time of -msgid "Returns" -msgstr "戻り値" - -#: discord.Client.get_channel:6 discord.Guild.get_channel:6 of -msgid "The returned channel or ``None`` if not found." -msgstr "" - -#: ../../api.rst discord.Asset.read discord.Asset.save discord.Attachment.read -#: discord.Attachment.save discord.Attachment.to_file discord.AudioSource.read -#: discord.CallMessage.duration discord.CategoryChannel.clone -#: discord.CategoryChannel.create_invite -#: discord.CategoryChannel.create_text_channel -#: discord.CategoryChannel.create_voice_channel discord.CategoryChannel.invites -#: discord.CategoryChannel.overwrites discord.CategoryChannel.overwrites_for -#: discord.CategoryChannel.permissions_for discord.Client.application_info -#: discord.Client.create_guild discord.Client.fetch_channel -#: discord.Client.fetch_guild discord.Client.fetch_invite -#: discord.Client.fetch_template discord.Client.fetch_user -#: discord.Client.fetch_user_profile discord.Client.fetch_webhook -#: discord.Client.fetch_widget discord.Client.get_channel -#: discord.Client.get_emoji discord.Client.get_guild discord.Client.get_user -#: discord.Client.wait_for discord.ClientUser.avatar_url_as -#: discord.ClientUser.create_group discord.ClientUser.edit_settings -#: discord.ClientUser.get_relationship discord.ClientUser.mentioned_in -#: discord.DMChannel.fetch_message discord.DMChannel.permissions_for -#: discord.DMChannel.pins discord.DMChannel.send -#: discord.FFmpegOpusAudio.from_probe discord.FFmpegOpusAudio.probe -#: discord.FFmpegOpusAudio.read discord.FFmpegPCMAudio.read -#: discord.GroupCall.voice_state_for discord.GroupChannel.fetch_message -#: discord.GroupChannel.permissions_for discord.GroupChannel.pins -#: discord.GroupChannel.send discord.Guild.banner_url_as discord.Guild.bans -#: discord.Guild.by_category discord.Guild.create_category -#: discord.Guild.create_category_channel discord.Guild.create_custom_emoji -#: discord.Guild.create_role discord.Guild.create_text_channel -#: discord.Guild.create_voice_channel discord.Guild.discovery_splash_url_as -#: discord.Guild.edit_role_positions discord.Guild.estimate_pruned_members -#: discord.Guild.fetch_ban discord.Guild.fetch_channels -#: discord.Guild.fetch_emoji discord.Guild.fetch_emojis -#: discord.Guild.fetch_member discord.Guild.fetch_roles -#: discord.Guild.get_channel discord.Guild.get_member -#: discord.Guild.get_member_named discord.Guild.get_role -#: discord.Guild.icon_url_as discord.Guild.integrations discord.Guild.invites -#: discord.Guild.prune_members discord.Guild.query_members -#: discord.Guild.splash_url_as discord.Guild.vanity_invite -#: discord.Guild.webhooks discord.Guild.widget discord.Member.avatar_url_as -#: discord.Member.create_dm discord.Member.fetch_message -#: discord.Member.mentioned_in discord.Member.mutual_friends -#: discord.Member.permissions_in discord.Member.pins discord.Member.profile -#: discord.Member.send discord.MemberCacheFlags.from_intents -#: discord.PCMAudio.read discord.PCMVolumeTransformer.read -#: discord.PartialInviteGuild.banner_url_as -#: discord.PartialInviteGuild.icon_url_as -#: discord.PartialInviteGuild.splash_url_as -#: discord.PermissionOverwrite.is_empty discord.Template.create_guild -#: discord.TextChannel.clone discord.TextChannel.create_invite -#: discord.TextChannel.create_webhook discord.TextChannel.fetch_message -#: discord.TextChannel.follow discord.TextChannel.invites -#: discord.TextChannel.last_message discord.TextChannel.overwrites -#: discord.TextChannel.overwrites_for discord.TextChannel.permissions_for -#: discord.TextChannel.pins discord.TextChannel.purge discord.TextChannel.send -#: discord.TextChannel.webhooks discord.User.avatar_url_as -#: discord.User.create_dm discord.User.fetch_message discord.User.mentioned_in -#: discord.User.mutual_friends discord.User.pins discord.User.profile -#: discord.User.send discord.VoiceChannel.clone discord.VoiceChannel.connect -#: discord.VoiceChannel.create_invite discord.VoiceChannel.invites -#: discord.VoiceChannel.overwrites discord.VoiceChannel.overwrites_for -#: discord.VoiceChannel.permissions_for discord.VoiceChannel.voice_states -#: discord.Webhook.avatar_url_as discord.Webhook.from_url -#: discord.Webhook.partial discord.Webhook.send discord.Widget.fetch_invite -#: discord.WidgetMember.avatar_url_as discord.WidgetMember.mentioned_in -#: discord.abc.GuildChannel.clone discord.abc.GuildChannel.create_invite -#: discord.abc.GuildChannel.invites discord.abc.GuildChannel.overwrites -#: discord.abc.GuildChannel.overwrites_for -#: discord.abc.GuildChannel.permissions_for -#: discord.abc.Messageable.fetch_message discord.abc.Messageable.pins -#: discord.abc.Messageable.send discord.opus.is_loaded -#: discord.utils.escape_markdown discord.utils.escape_mentions -#: discord.utils.oauth_url discord.utils.resolve_invite -#: discord.utils.resolve_template discord.utils.snowflake_time of -msgid "Return type" -msgstr "戻り値の型" - -#: discord.Client.get_channel:7 of -#, fuzzy -msgid "Optional[Union[:class:`.abc.GuildChannel`, :class:`.Thread`, :class:`.abc.PrivateChannel`]]" -msgstr "Union[:class:`.abc.GuildChannel`, :class:`.Thread`, :class:`.abc.PrivateChannel`]" - -#: discord.Client.get_guild:1 of -#, fuzzy -msgid "Returns a guild with the given ID." -msgstr "Optional[:class:`.Guild`]: 与えられたIDを持つギルドを返します。" - -#: discord.Client.get_guild:6 of -msgid "The guild or ``None`` if not found." -msgstr "" - -#: discord.Client.get_guild:7 of -#, fuzzy -msgid "Optional[:class:`.Guild`]" -msgstr ":class:`.Guild`" - -#: discord.Client.get_user:1 of -#, fuzzy -msgid "Returns a user with the given ID." -msgstr "Optional[:class:`~discord.User`]: 与えられたIDを持つユーザーを返します。" - -#: discord.Client.get_user:6 of -msgid "The user or ``None`` if not found." -msgstr "" - -#: discord.Client.get_user:7 of -#, fuzzy -msgid "Optional[:class:`~discord.User`]" -msgstr ":class:`~discord.User`" - -#: discord.Client.get_emoji:1 of -#, fuzzy -msgid "Returns an emoji with the given ID." -msgstr "Optional[:class:`.Emoji`]: 与えられたIDを持つ絵文字を返します。" - -#: discord.Client.get_emoji:6 of -msgid "The custom emoji or ``None`` if not found." -msgstr "" - -#: discord.Client.get_emoji:7 of -msgid "Optional[:class:`.Emoji`]" -msgstr "" - -#: discord.Client.get_all_channels:1 of -msgid "" -"A generator that retrieves every :class:`.abc.GuildChannel` the client " -"can 'access'." -msgstr "クライアントが「アクセス」できるすべての :class:`.abc.GuildChannel` のジェネレータを取得します。" - -#: discord.Client.get_all_channels:3 discord.Client.get_all_members:3 of -msgid "This is equivalent to: ::" -msgstr "使用例:" - -#: discord.Client.get_all_channels:11 of -msgid "" -"Just because you receive a :class:`.abc.GuildChannel` does not mean that " -"you can communicate in said channel. " -":meth:`.abc.GuildChannel.permissions_for` should be used for that." -msgstr "" -":class:`.abc.GuildChannel` " -"を受け取ったからと言って、そのチャンネルで発言ができるという意味ではありません。発言可能なチャンネルのみを取得したいのなら、 " -":meth:`.abc.GuildChannel.permissions_for` を使いましょう。" - -#: discord.Client.fetch_guilds discord.Client.get_all_channels -#: discord.Client.get_all_members discord.DMChannel.history -#: discord.GroupChannel.history discord.Guild.audit_logs -#: discord.Guild.fetch_members discord.Member.history discord.Reaction.users -#: discord.TextChannel.history discord.User.history -#: discord.abc.Messageable.history of -msgid "Yields" -msgstr "Yieldする値" - -#: discord.Client.get_all_channels:15 of -#, fuzzy -msgid ":class:`.abc.GuildChannel` -- A channel the client can 'access'." -msgstr "クライアントが「アクセス」できるすべての :class:`.abc.GuildChannel` のジェネレータを取得します。" - -#: discord.Client.get_all_members:1 of -msgid "Returns a generator with every :class:`.Member` the client can see." -msgstr "クライアントが参照可能なすべての :class:`.Member` のジェネレータを返します。" - -#: discord.Client.get_all_members:9 of -#, fuzzy -msgid ":class:`.Member` -- A member the client can see." -msgstr "クライアントが参照可能なすべての :class:`.Member` のジェネレータを返します。" - -#: discord.Client.wait_until_ready:3 of -msgid "Waits until the client's internal cache is all ready." -msgstr "クライアントの内部キャッシュの準備が完了するまで待機します。" - -#: discord.Client.wait_for:3 of -msgid "Waits for a WebSocket event to be dispatched." -msgstr "WebSocketイベントがディスパッチされるまで待機します。" - -#: discord.Client.wait_for:5 of -msgid "" -"This could be used to wait for a user to reply to a message, or to react " -"to a message, or to edit a message in a self-contained way." -msgstr "メッセージの送信者が、メッセージに返信したり、リアクションをつけたり、編集したりする、自己完結型の処理に利用できます。" - -#: discord.Client.wait_for:9 of -msgid "" -"The ``timeout`` parameter is passed onto :func:`asyncio.wait_for`. By " -"default, it does not timeout. Note that this does propagate the " -":exc:`asyncio.TimeoutError` for you in case of timeout and is provided " -"for ease of use." -msgstr "" -"``timeout`` パラメータは :func:`asyncio.wait_for` " -"に渡されます。デフォルトではタイムアウトしません。タイムアウトした際に :exc:`asyncio.TimeoutError` " -"が発生するのは、使いやすさを考慮したためです。" - -#: discord.Client.wait_for:14 of -msgid "" -"In case the event returns multiple arguments, a :class:`tuple` containing" -" those arguments is returned instead. Please check the " -":ref:`documentation ` for a list of events and their " -"parameters." -msgstr "" -"イベントが複数の引数を返す場合は、それらを含む :class:`tuple` が代わりに返ります。イベントとそのパラメーターについては " -":ref:`ドキュメント ` を参照してください。" - -#: discord.Client.wait_for:19 of -msgid "This function returns the **first event that meets the requirements**." -msgstr "この関数は **条件を満たす最初のイベント** を返します。" - -#: discord.CategoryChannel.set_permissions:21 discord.Client.fetch_guilds:15 -#: discord.Client.wait_for:22 discord.DMChannel.history:6 -#: discord.FFmpegOpusAudio.from_probe:7 discord.GroupChannel.history:6 -#: discord.Guild.audit_logs:6 discord.Guild.create_text_channel:20 -#: discord.Guild.fetch_members:25 discord.Member.history:6 -#: discord.Reaction.users:7 discord.TextChannel.history:6 -#: discord.TextChannel.purge:17 discord.TextChannel.set_permissions:21 -#: discord.User.history:6 discord.VoiceChannel.set_permissions:21 -#: discord.abc.GuildChannel.set_permissions:21 -#: discord.abc.Messageable.history:6 discord.utils.get:16 of -msgid "Examples" -msgstr "例" - -#: discord.Client.wait_for:23 of -msgid "Waiting for a user reply: ::" -msgstr "ユーザーからの返信を待つ場合: ::" - -#: discord.Client.wait_for:37 of -msgid "Waiting for a thumbs up reaction from the message author: ::" -msgstr "メッセージ送信者がサムズアップリアクションを付けるのを待つ場合: ::" - -#: discord.Client.wait_for:55 of -msgid "" -"The event name, similar to the :ref:`event reference `, but without the ``on_`` prefix, to wait for." -msgstr "" -"イベント名は :ref:`イベントリファレンス ` に似ていますが接頭詞の ``on_`` " -"が必要ありません。" - -#: discord.Client.wait_for:58 of -msgid "" -"A predicate to check what to wait for. The arguments must meet the " -"parameters of the event being waited for." -msgstr "待っているものに該当するかを確認する関数。引数は待機しているイベントのパラメータを満たしている必要があります。" - -#: discord.Client.wait_for:61 of -msgid "" -"The number of seconds to wait before timing out and raising " -":exc:`asyncio.TimeoutError`." -msgstr "タイムアウトして :exc:`asyncio.TimeoutError` が発生するまでの秒数。" - -#: discord.Client.wait_for:65 of -#, fuzzy -msgid "If a timeout is provided and it was reached." -msgstr ":exc:`asyncio.TimeoutError` -- タイムアウト値が設定されていて、かつその時間が経過した。" - -#: discord.Client.wait_for:67 of -msgid "" -"Returns no arguments, a single argument, or a :class:`tuple` of multiple " -"arguments that mirrors the parameters passed in the :ref:`event reference" -" `." -msgstr "" -"単一の引数、あるいは :ref:`イベントリファレンス ` のパラメータを反映した複数の引数の値を含む " -":class:`tuple` が返ります。返る引数がない場合もあります。" - -#: discord.Client.event:1 of -msgid "A decorator that registers an event to listen to." -msgstr "リッスンするイベントを登録するデコレータ。" - -#: discord.Client.event:3 of -msgid "" -"You can find more info about the events on the :ref:`documentation below " -"`." -msgstr "イベントの詳細については :ref:`以下のドキュメント ` を参照してください。" - -#: discord.Client.event:5 of -msgid "" -"The events must be a :ref:`coroutine `, if not, " -":exc:`TypeError` is raised." -msgstr "イベントは :ref:`コルーチン ` でなければいけません。違う場合は :exc:`TypeError` が発生します。" - -#: discord.Client.change_presence:6 discord.Client.event:8 of -msgid "Example" -msgstr "例" - -#: discord.Client.event:15 of -#, fuzzy -msgid "The coroutine passed is not actually a coroutine." -msgstr ":exc:`TypeError` -- 渡されたコルーチンが実際にはコルーチンではない。" - -#: discord.AutoShardedClient.change_presence:3 discord.Client.change_presence:3 -#: of -msgid "Changes the client's presence." -msgstr "クライアントのプレゼンスを変更します。" - -#: discord.AutoShardedClient.change_presence:10 -#: discord.Client.change_presence:12 of -msgid "The activity being done. ``None`` if no currently active activity is done." -msgstr "実行中のアクティビティ。何も実行していない場合は ``None`` です。" - -#: discord.Client.change_presence:14 of -msgid "" -"Indicates what status to change to. If ``None``, then " -":attr:`.Status.online` is used." -msgstr "変更するステータスを示します。 ``None`` の場合、:attr:`.Status.online`となります。" - -#: discord.AutoShardedClient.change_presence:15 -#: discord.Client.change_presence:17 of -msgid "" -"Indicates if you are going AFK. This allows the discord client to know " -"how to handle push notifications better for you in case you are actually " -"idle and not lying." -msgstr "AFKの状態にするかを示します。これによって、実際に退席中の場合に、Discordクライアントにプッシュ通知をよりよく扱わせることができます。" - -#: discord.Client.change_presence:22 of -#, fuzzy -msgid "If the ``activity`` parameter is not the proper type." -msgstr ":exc:`.InvalidArgument` -- ``activity`` に渡された値が適切な型でない。" - -#: discord.Client.fetch_guilds:3 of -msgid "Retrieves an :class:`.AsyncIterator` that enables receiving your guilds." -msgstr "Botが所属するGuildを取得できる、 :class:`AsyncIterator` を取得します。" - -#: discord.Client.fetch_guilds:7 of -msgid "" -"Using this, you will only receive :attr:`.Guild.owner`, " -":attr:`.Guild.icon`, :attr:`.Guild.id`, and :attr:`.Guild.name` per " -":class:`.Guild`." -msgstr "" -"これを使った場合、各 :class:`Guild` の :attr:`Guild.owner` 、 :attr:`Guild.icon` 、 " -":attr:`Guild.id` 、 :attr:`Guild.name` のみ取得できます。" - -#: discord.Client.fetch_guilds:12 of -msgid "" -"This method is an API call. For general usage, consider :attr:`guilds` " -"instead." -msgstr "これはAPIを呼び出します。通常は :attr:`guilds` を代わりに使用してください。" - -#: discord.Client.fetch_guilds:16 discord.DMChannel.history:7 -#: discord.GroupChannel.history:7 discord.Guild.fetch_members:26 -#: discord.Member.history:7 discord.Reaction.users:8 -#: discord.TextChannel.history:7 discord.User.history:7 -#: discord.abc.Messageable.history:7 of -msgid "Usage ::" -msgstr "使い方 ::" - -#: discord.Client.fetch_guilds:21 discord.Guild.fetch_members:31 of -msgid "Flattening into a list ::" -msgstr "リストへフラット化 ::" - -#: discord.Client.fetch_guilds:26 discord.DMChannel.history:19 -#: discord.GroupChannel.history:19 discord.Guild.fetch_members:11 -#: discord.Member.edit:21 discord.Member.history:19 -#: discord.TextChannel.history:19 discord.User.history:19 -#: discord.abc.Messageable.history:19 of -msgid "All parameters are optional." -msgstr "すべてのパラメータがオプションです。" - -#: discord.Client.fetch_guilds:28 of -#, fuzzy -msgid "" -"The number of guilds to retrieve. If ``None``, it retrieves every guild " -"you have access to. Note, however, that this would make it a slow " -"operation. Defaults to ``100``." -msgstr "" -"取得するギルドの数。 ``None`` " -"の場合、あなたがアクセスできるギルドすべてを取得します。ただし、これには時間がかかります。デフォルトは100です。" - -#: discord.Client.fetch_guilds:33 of -msgid "" -"Retrieves guilds before this date or object. If a date is provided it " -"must be a timezone-naive datetime representing UTC time." -msgstr "" -"この日付またはオブジェクトの前のGuildを取得します。もし日付が与えられた場合は、それはUTC時刻を表し、timezone " -"naiveであるdatetimeでないといけません。" - -#: discord.Client.fetch_guilds:36 of -msgid "" -"Retrieve guilds after this date or object. If a date is provided it must " -"be a timezone-naive datetime representing UTC time." -msgstr "" -"この日付またはオブジェクトの後のGuildを取得します。もし日付が与えられた場合は、それはUTC時刻を表し、timezone " -"naiveであるdatetimeでないといけません。" - -#: discord.Client.fetch_guilds:40 of -#, fuzzy -msgid "Getting the guilds failed." -msgstr "ギルドのアイコンの変更" - -#: discord.Client.fetch_guilds:42 of -msgid ":class:`.Guild` -- The guild with the guild data parsed." -msgstr ":class:`.Guild` -- データを解析したGuild。" - -#: discord.Client.fetch_template:3 of -#, fuzzy -msgid "Gets a :class:`.Template` from a discord.new URL or code." -msgstr ":class:`.Invite` をdiscord.gg URLやIDから取得します。" - -#: discord.Client.fetch_template:5 of -#, fuzzy -msgid "The Discord Template Code or URL (must be a discord.new URL)." -msgstr "Discordの招待ID、またはURL(discord.gg URLである必要があります)。" - -#: discord.Client.fetch_template:8 of -#, fuzzy -msgid "The template is invalid." -msgstr "メンバーがオンライン。" - -#: discord.Client.fetch_template:9 of -msgid "Getting the template failed." -msgstr "" - -#: discord.Client.fetch_template:11 of -#, fuzzy -msgid "The template from the URL/code." -msgstr "ギルドの名前。" - -#: discord.Client.fetch_template:12 of -#, fuzzy -msgid ":class:`.Template`" -msgstr ":class:`.Widget`" - -#: discord.Client.fetch_guild:3 of -msgid "Retrieves a :class:`.Guild` from an ID." -msgstr "IDから :class:`.Guild` を取得します。" - -#: discord.Client.fetch_guild:7 of -#, fuzzy -msgid "" -"Using this, you will **not** receive :attr:`.Guild.channels`, " -":attr:`.Guild.members`, :attr:`.Member.activity` and " -":attr:`.Member.voice` per :class:`.Member`." -msgstr "" -"これを使用した場合、 :attr:`.Guild.channels`、 :class:`.Guild.members` 、そして各 " -":class:`.Member` ごとの :attr:`.Member.activity` 、 :attr:`.Member.voice` " -"を取得することは **できません** 。" - -#: discord.Client.fetch_guild:12 of -msgid "" -"This method is an API call. For general usage, consider :meth:`get_guild`" -" instead." -msgstr "このメソッドはAPIを呼び出します。通常は :meth:`get_guild` を代わりとして使用してください。" - -#: discord.Client.fetch_guild:14 of -msgid "The guild's ID to fetch from." -msgstr "取得したいギルドのID。" - -#: discord.Client.fetch_guild:17 discord.Guild.fetch_member:12 of -#, fuzzy -msgid "You do not have access to the guild." -msgstr ":exc:`.Forbidden` -- ギルドにアクセスできない。" - -#: discord.Client.fetch_guild:18 of -#, fuzzy -msgid "Getting the guild failed." -msgstr "ギルドのアイコンの変更" - -#: discord.Client.fetch_guild:20 of -msgid "The guild from the ID." -msgstr "IDから取得したギルド。" - -#: discord.Client.create_guild:25 discord.Client.fetch_guild:21 -#: discord.Template.create_guild:21 of -msgid ":class:`.Guild`" -msgstr ":class:`.Guild`" - -#: discord.Client.create_guild:3 of -msgid "Creates a :class:`.Guild`." -msgstr ":class:`.Guild` を作成します。" - -#: discord.Client.create_guild:5 discord.Template.create_guild:5 of -msgid "Bot accounts in more than 10 guilds are not allowed to create guilds." -msgstr "10以上のギルドに参加しているBotアカウントはギルドの作成ができません。" - -#: discord.Client.create_guild:7 discord.Template.create_guild:7 of -msgid "The name of the guild." -msgstr "ギルドの名前。" - -#: discord.Client.create_guild:9 discord.Template.create_guild:9 of -msgid "" -"The region for the voice communication server. Defaults to " -":attr:`.VoiceRegion.us_west`." -msgstr "ボイスチャンネルの通信サーバーのリージョンです。デフォルトは :attr:`.VoiceRegion.us_west` です。" - -#: discord.Client.create_guild:12 discord.Template.create_guild:12 of -msgid "" -"The :term:`py:bytes-like object` representing the icon. See " -":meth:`.ClientUser.edit` for more details on what is expected." -msgstr "" -"アイコンを表す :term:`py:bytes-like object` です。 :meth:`.ClientUser.edit` " -"で、予期されるデータの詳細を確認してください。" - -#: discord.Client.create_guild:15 of -msgid "The code for a template to create the guild with. .. versionadded:: 1.4" -msgstr "" - -#: discord.Client.create_guild:15 of -msgid "The code for a template to create the guild with." -msgstr "" - -#: discord.Client.create_guild:20 discord.Template.create_guild:16 of -#, fuzzy -msgid "Guild creation failed." -msgstr ":exc:`.HTTPException` -- ギルドの作成に失敗した。" - -#: discord.Client.create_guild:21 discord.Template.create_guild:17 of -#, fuzzy -msgid "Invalid icon image format given. Must be PNG or JPG." -msgstr ":exc:`.InvalidArgument` -- アイコン画像として無効なフォーマットの画像が渡された。PNGかJPGで指定してください。" - -#: discord.Client.create_guild:23 discord.Template.create_guild:19 of -msgid "The guild created. This is not the same guild that is added to cache." -msgstr "作成されたギルド。キャッシュに追加されるギルドとは別物です。" - -#: discord.Client.fetch_invite:3 of -msgid "Gets an :class:`.Invite` from a discord.gg URL or ID." -msgstr ":class:`.Invite` をdiscord.gg URLやIDから取得します。" - -#: discord.Client.fetch_invite:7 of -#, fuzzy -msgid "" -"If the invite is for a guild you have not joined, the guild and channel " -"attributes of the returned :class:`.Invite` will be " -":class:`.PartialInviteGuild` and :class:`.PartialInviteChannel` " -"respectively." -msgstr "" -"もしあなたがInviteのGuildに参加していない場合、 :class:`.Invite` のguildとchannel属性はそれぞれ " -":class:`.PartialInviteGuild` と :class:`PartialInviteChannel` になります。" - -#: discord.Client.fetch_invite:11 of -msgid "The Discord invite ID or URL (must be a discord.gg URL)." -msgstr "Discordの招待ID、またはURL(discord.gg URLである必要があります)。" - -#: discord.Client.fetch_invite:13 of -msgid "" -"Whether to include count information in the invite. This fills the " -":attr:`.Invite.approximate_member_count` and " -":attr:`.Invite.approximate_presence_count` fields." -msgstr "" -"招待にカウントの情報を含めるかどうか。これにより :attr:`.Invite.approximate_member_count` と " -":attr:`.Invite.approximate_presence_count` が追加されます。" - -#: discord.Client.fetch_invite:18 of -#, fuzzy -msgid "The invite has expired or is invalid." -msgstr ":exc:`.NotFound` -- 招待の有効期限が切れている、または無効。" - -#: discord.Client.fetch_invite:19 of -#, fuzzy -msgid "Getting the invite failed." -msgstr ":exc:`.HTTPException` -- 招待の取得に失敗した。" - -#: discord.Client.fetch_invite:21 discord.Widget.fetch_invite:12 of -msgid "The invite from the URL/ID." -msgstr "URL/IDから取得した招待。" - -#: discord.Client.fetch_invite:22 of -msgid ":class:`.Invite`" -msgstr ":class:`.Invite`" - -#: discord.Client.delete_invite:3 of -msgid "Revokes an :class:`.Invite`, URL, or ID to an invite." -msgstr ":class:`.Invite` や、招待のURL、IDを削除します。" - -#: discord.Client.delete_invite:5 of -msgid "" -"You must have the :attr:`~.Permissions.manage_channels` permission in the" -" associated guild to do this." -msgstr "これを行うには、関連付けられたGuildにて、 :attr:`~.Permissions.manage_channels` 権限が必要です。" - -#: discord.Client.delete_invite:8 of -msgid "The invite to revoke." -msgstr "取り消す招待。" - -#: discord.Client.delete_invite:11 discord.Invite.delete:10 of -#, fuzzy -msgid "You do not have permissions to revoke invites." -msgstr ":exc:`.Forbidden` -- 招待を取り消す権限が無い。" - -#: discord.Client.delete_invite:12 discord.Invite.delete:11 of -#, fuzzy -msgid "The invite is invalid or expired." -msgstr ":exc:`.NotFound` -- 招待が無効、あるいは期限切れになっている。" - -#: discord.Client.delete_invite:13 discord.Invite.delete:12 of -#, fuzzy -msgid "Revoking the invite failed." -msgstr ":exc:`.HTTPException` -- 招待の取り消しに失敗した。" - -#: discord.Client.fetch_widget:3 of -msgid "Gets a :class:`.Widget` from a guild ID." -msgstr "ギルドIDから :class:`.Widget` を取得します。" - -#: discord.Client.fetch_widget:7 discord.Guild.widget:7 of -msgid "The guild must have the widget enabled to get this information." -msgstr "この情報を取得するためには、ギルドのウィジェットを有効化しておく必要があります。" - -#: discord.Client.fetch_widget:9 of -msgid "The ID of the guild." -msgstr "ギルドのID。" - -#: discord.Client.fetch_widget:12 discord.Guild.widget:9 of -#, fuzzy -msgid "The widget for this guild is disabled." -msgstr ":exc:`.Forbidden` -- ギルドのウィジェットが有効化されていない。" - -#: discord.Client.fetch_widget:13 discord.Guild.widget:10 of -#, fuzzy -msgid "Retrieving the widget failed." -msgstr ":exc:`.HTTPException` -- ウィジェットの取得に失敗した。" - -#: discord.Client.fetch_widget:15 discord.Guild.widget:12 of -msgid "The guild's widget." -msgstr "ギルドのウィジェット。" - -#: discord.Client.fetch_widget:16 of -msgid ":class:`.Widget`" -msgstr ":class:`.Widget`" - -#: discord.Client.application_info:3 of -msgid "Retrieves the bot's application information." -msgstr "Botのアプリケーション情報を取得します。" - -#: discord.Client.application_info:5 of -#, fuzzy -msgid "Retrieving the information failed somehow." -msgstr ":exc:`.HTTPException` -- 何らかの要因で情報の取得に失敗した。" - -#: discord.Client.application_info:7 of -msgid "The bot's application information." -msgstr "Botのアプリケーション情報。" - -#: discord.Client.application_info:8 of -msgid ":class:`.AppInfo`" -msgstr ":class:`.AppInfo`" - -#: discord.Client.fetch_user:3 of -msgid "" -"Retrieves a :class:`~discord.User` based on their ID. This can only be " -"used by bot accounts. You do not have to share any guilds with the user " -"to get this information, however many operations do require that you do." -msgstr "" -"IDをもとに :class:`~discord.User` " -"を取得します。Botアカウントでのみ使用できます。そのユーザーとギルドを共有する必要はありませんが、操作の多くはそれを必要とします。" - -#: discord.Client.fetch_user:10 of -msgid "" -"This method is an API call. For general usage, consider :meth:`get_user` " -"instead." -msgstr "このメソッドはAPIを呼び出します。通常は :meth:`get_user` を代わりとして使用してください。" - -#: discord.Client.fetch_user:12 of -msgid "The user's ID to fetch from." -msgstr "取得したいユーザーのID。" - -#: discord.Client.fetch_user:15 of -#, fuzzy -msgid "A user with this ID does not exist." -msgstr ":exc:`.NotFound` -- 指定のIDを持つユーザーが存在しない。" - -#: discord.Client.fetch_user:16 of -#, fuzzy -msgid "Fetching the user failed." -msgstr ":exc:`.HTTPException` -- ユーザーの取得に失敗した。" - -#: discord.Client.fetch_user:18 of -msgid "The user you requested." -msgstr "あなたがリクエストしたユーザー。" - -#: discord.Client.fetch_user:19 discord.abc.Messageable:8 discord.abc.User:5 of -msgid ":class:`~discord.User`" -msgstr ":class:`~discord.User`" - -#: discord.Client.fetch_user_profile:3 of -msgid "Gets an arbitrary user's profile." -msgstr "" - -#: discord.Client.fetch_user_profile:7 discord.ClientUser.blocked:5 -#: discord.ClientUser.create_group:9 discord.ClientUser.edit_settings:7 -#: discord.ClientUser.friends:5 discord.ClientUser.get_relationship:5 -#: discord.ClientUser.relationships:5 discord.Member.block:7 -#: discord.Member.is_blocked:5 discord.Member.is_friend:5 -#: discord.Member.mutual_friends:7 discord.Member.profile:7 -#: discord.Member.remove_friend:7 discord.Member.send_friend_request:7 -#: discord.Member.unblock:7 discord.User.block:7 discord.User.is_blocked:5 -#: discord.User.is_friend:5 discord.User.mutual_friends:7 -#: discord.User.profile:7 discord.User.relationship:5 -#: discord.User.remove_friend:7 discord.User.send_friend_request:7 -#: discord.User.unblock:7 of -#, fuzzy -msgid "This can only be used by non-bot accounts." -msgstr "これは非Botアカウントのみに適用されます。" - -#: discord.Client.fetch_user_profile:9 of -msgid "The ID of the user to fetch their profile for." -msgstr "プロフィールを取得したいユーザーのID。" - -#: discord.Client.fetch_user_profile:12 discord.Member.profile:9 -#: discord.User.profile:9 of -#, fuzzy -msgid "Not allowed to fetch profiles." -msgstr ":exc:`.Forbidden` -- プロフィールを取得することが許可されていない。" - -#: discord.Client.fetch_user_profile:13 discord.Member.profile:10 -#: discord.User.profile:10 of -#, fuzzy -msgid "Fetching the profile failed." -msgstr ":exc:`.HTTPException` -- プロフィールの取得に失敗した。" - -#: discord.Client.fetch_user_profile:15 discord.Member.profile:12 -#: discord.User.profile:12 of -msgid "The profile of the user." -msgstr "ユーザーのプロフィール。" - -#: discord.Client.fetch_user_profile:16 of -msgid ":class:`.Profile`" -msgstr ":class:`.Profile`" - -#: discord.Client.fetch_channel:3 of -msgid "" -"Retrieves a :class:`.abc.GuildChannel` or :class:`.abc.PrivateChannel` " -"with the specified ID." -msgstr "" -"指定されたIDを持つ :class:`.abc.GuildChannel` または :class:`.abc.PrivateChannel` " -"を取得します。" - -#: discord.Client.fetch_channel:7 of -msgid "" -"This method is an API call. For general usage, consider " -":meth:`get_channel` instead." -msgstr "このメソッドはAPIを呼び出します。通常は :meth:`get_channel` を代わりとして使用してください。" - -#: discord.Client.fetch_channel:11 discord.Guild.fetch_channels:11 of -#, fuzzy -msgid "An unknown channel type was received from Discord." -msgstr ":exc:`.InvalidData` -- 不明なチャンネルタイプをDiscordから受信した。" - -#: discord.Client.fetch_channel:12 of -#, fuzzy -msgid "Retrieving the channel failed." -msgstr ":exc:`.HTTPException` -- チャンネルの取得に失敗した。" - -#: discord.Client.fetch_channel:13 of -#, fuzzy -msgid "Invalid Channel ID." -msgstr "ボイスチャンネル。" - -#: discord.Client.fetch_channel:14 of -#, fuzzy -msgid "You do not have permission to fetch this channel." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.Client.fetch_channel:16 of -msgid "The channel from the ID." -msgstr "IDから取得したチャンネル。" - -#: discord.Client.fetch_channel:17 of -msgid "Union[:class:`.abc.GuildChannel`, :class:`.abc.PrivateChannel`]" -msgstr "Union[:class:`.abc.GuildChannel`, :class:`.abc.PrivateChannel`]" - -#: discord.Client.fetch_webhook:3 of -msgid "Retrieves a :class:`.Webhook` with the specified ID." -msgstr "特定のIDの :class:`.Webhook` を取得します。" - -#: discord.Client.fetch_webhook:5 of -#, fuzzy -msgid "Retrieving the webhook failed." -msgstr ":exc:`.HTTPException` -- Webhookの取得に失敗した。" - -#: discord.Client.fetch_webhook:6 of -msgid "Invalid webhook ID." -msgstr "" - -#: discord.Client.fetch_webhook:7 of -#, fuzzy -msgid "You do not have permission to fetch this webhook." -msgstr ":exc:`.Forbidden` -- このWebhookを取得する権限がない。" - -#: discord.Client.fetch_webhook:9 of -msgid "The webhook you requested." -msgstr "要求したWebhook。" - -#: discord.Client.fetch_webhook:10 of -msgid ":class:`.Webhook`" -msgstr ":class:`.Webhook`" - -#: discord.AutoShardedClient:1 of -msgid "" -"A client similar to :class:`Client` except it handles the complications " -"of sharding for the user into a more manageable and transparent single " -"process bot." -msgstr "" -"このクライアントは :class:`Client` " -"に似ていますが、管理しやすく、かつ透過的なシングルプロセスのBotに分割するという複雑な処理を行います。" - -#: discord.AutoShardedClient:5 of -msgid "" -"When using this client, you will be able to use it as-if it was a regular" -" :class:`Client` with a single shard when implementation wise internally " -"it is split up into multiple shards. This allows you to not have to deal " -"with IPC or other complicated infrastructure." -msgstr "" -"このクライアントは、実装に関して内部的に複数のシャードに分割されていても、単一のシャードの通常の :class:`Client` " -"のように使用することができます。これにより、IPCやその他の複雑なインフラストラクチャへの対処を行う必要がなくなります。" - -#: discord.AutoShardedClient:10 of -msgid "" -"It is recommended to use this client only if you have surpassed at least " -"1000 guilds." -msgstr "少なくとも1000を超えるギルドで使用される場合にのみ、このクライアントを使用することをおすすめします。" - -#: discord.AutoShardedClient:13 of -msgid "" -"If no :attr:`.shard_count` is provided, then the library will use the Bot" -" Gateway endpoint call to figure out how many shards to use." -msgstr "" -":attr:`.shard_count` が指定されていない場合、ライブラリはBot " -"Gatewayのエンドポイント呼び出しを使用して使用するシャードの数を見つけ出します。" - -#: discord.AutoShardedClient:16 of -msgid "" -"If a ``shard_ids`` parameter is given, then those shard IDs will be used " -"to launch the internal shards. Note that :attr:`.shard_count` must be " -"provided if this is used. By default, when omitted, the client will " -"launch shards from 0 to ``shard_count - 1``." -msgstr "" -"``shard_ids`` パラメータが指定されている場合、それらのシャードIDが内部シャードの起動時に使用されます。これを使用する場合 " -":attr:`.shard_count` の指定が必須です。このパラメータを省略した場合は、クライアントは0から ``shard_count - " -"1`` までのシャードを起動します。" - -#: discord.AutoShardedClient:23 of -#, fuzzy -msgid "An optional list of shard_ids to launch the shards with." -msgstr "Optional[List[:class:`int`]] -- シャードの起動時に使用するshard_idsのオプションリスト。" - -#: discord.AutoShardedClient:25 of -msgid "Optional[List[:class:`int`]]" -msgstr "" - -#: discord.AutoShardedClient.latency:3 of -msgid "" -"This operates similarly to :meth:`Client.latency` except it uses the " -"average latency of every shard's latency. To get a list of shard latency," -" check the :attr:`latencies` property. Returns ``nan`` if there are no " -"shards ready." -msgstr "" -"これは :meth:`Client.latency` " -"と同様に機能しますが、すべてのシャードの平均待ち時間を使用する点が異なります。シャードの待ち時間のリストを取得するには " -":attr:`latencies` プロパティを参照してください。準備ができていない場合は ``nan`` を返します。" - -#: discord.AutoShardedClient.latencies:1 of -msgid "A list of latencies between a HEARTBEAT and a HEARTBEAT_ACK in seconds." -msgstr "" - -#: discord.AutoShardedClient.latencies:3 of -msgid "This returns a list of tuples with elements ``(shard_id, latency)``." -msgstr "これは、 ``(shard_id, latency)`` の要素を持つタプルのリストを返します。" - -#: discord.AutoShardedClient.latencies:5 of -msgid "List[Tuple[:class:`int`, :class:`float`]]" -msgstr "" - -#: discord.AutoShardedClient.get_shard:1 of -msgid "" -"Optional[:class:`ShardInfo`]: Gets the shard information at a given shard" -" ID or ``None`` if not found." -msgstr "" - -#: discord.AutoShardedClient.shards:1 of -msgid "Returns a mapping of shard IDs to their respective info object." -msgstr "" - -#: discord.AutoShardedClient.shards:3 of -msgid "Mapping[int, :class:`ShardInfo`]" -msgstr "" - -#: discord.AutoShardedClient.request_offline_members:3 of -msgid "" -"Requests previously offline members from the guild to be filled up into " -"the :attr:`Guild.members` cache. This function is usually not called. It " -"should only be used if you have the ``fetch_offline_members`` parameter " -"set to ``False``." -msgstr "" -"ギルドのオフラインメンバーを :attr:`Guild.members` " -"キャッシュへ書き込むよう要求します。この関数は通常呼び出されることはありません。 ``fetch_offline_members`` パラメータが" -" ``False`` の場合にのみ使用してください。" - -#: discord.AutoShardedClient.request_offline_members:8 of -msgid "" -"When the client logs on and connects to the websocket, Discord does not " -"provide the library with offline members if the number of members in the " -"guild is larger than 250. You can check if a guild is large if " -":attr:`Guild.large` is ``True``." -msgstr "" -"クライアントがWebSocketに接続し、ログインするとき、ギルド内のメンバー数が250よりも大きいならば、Discordはライブラリにオフラインメンバーを提供しません。" -" :attr:`Guild.large` が ``True`` かどうかでギルドが大きいかどうかを確認することができます。" - -#: discord.AutoShardedClient.change_presence:5 of -msgid "Example: ::" -msgstr "例: ::" - -#: discord.AutoShardedClient.change_presence:12 of -msgid "" -"Indicates what status to change to. If ``None``, then " -":attr:`Status.online` is used." -msgstr "変更するステータスを示します。 ``None`` の場合、 :attr:`Status.online` となります。" - -#: discord.AutoShardedClient.change_presence:19 of -msgid "" -"The shard_id to change the presence to. If not specified or ``None``, " -"then it will change the presence of every shard the bot can see." -msgstr "" -"プレゼンスを変更したいシャードのshard_id。指定されていない、または ``None`` " -"が渡された場合はBotがアクセスできるすべてのシャードのプレゼンスが変更されます。" - -#: discord.AutoShardedClient.change_presence:24 of -#, fuzzy -msgid "If the ``activity`` parameter is not of proper type." -msgstr ":exc:`InvalidArgument` -- ``activity`` に渡された値が適切な型でない。" - -#: discord.AppInfo:1 of -msgid "Represents the application info for the bot provided by Discord." -msgstr "Discordが提供するBotのアプリケーション情報を表します。" - -#: discord.AppInfo:6 of -#, fuzzy -msgid "The application ID." -msgstr "Botのアプリケーション情報。" - -#: ../../api.rst:2238 ../../api.rst:2244 ../../api.rst:2289 ../../api.rst:2303 -#: ../../api.rst:2331 ../../api.rst:2443 ../../api.rst:2451 ../../api.rst:2459 -#: ../../api.rst:2480 ../../api.rst:2497 discord.Activity:16 discord.AppInfo:8 -#: discord.Asset.save:15 discord.Attachment:7 discord.Attachment:13 -#: discord.Attachment.save:24 discord.AuditLogEntry:22 -#: discord.CategoryChannel:39 discord.CategoryChannel:46 discord.ClientUser:31 -#: discord.Colour:28 discord.Colour.b:3 discord.Colour.g:3 discord.Colour.r:3 -#: discord.ConnectionClosed:8 discord.DMChannel:37 discord.Emoji:39 -#: discord.Emoji:63 discord.GroupChannel:37 discord.Guild:46 discord.Guild:64 -#: discord.Guild:70 discord.Guild:124 discord.Guild:178 discord.Guild:184 -#: discord.Guild.emoji_limit:3 discord.Guild.estimate_pruned_members:15 -#: discord.Guild.filesize_limit:3 discord.Guild.member_count:8 -#: discord.Guild.shard_id:3 discord.HTTPException:21 discord.HTTPException:27 -#: discord.Integration:9 discord.Integration:63 discord.IntegrationAccount:9 -#: discord.Intents:37 discord.Invite:50 discord.Invite:87 discord.Invite:93 -#: discord.MemberCacheFlags:40 discord.Message:112 discord.MessageFlags:29 -#: discord.MessageReference:15 discord.Object:32 -#: discord.PartialInviteChannel:34 discord.PartialInviteGuild:34 -#: discord.Permissions:46 discord.PublicUserFlags:28 -#: discord.RawBulkMessageDeleteEvent:13 discord.RawMessageDeleteEvent:7 -#: discord.RawMessageDeleteEvent:19 discord.RawMessageUpdateEvent:7 -#: discord.RawMessageUpdateEvent:15 discord.RawReactionActionEvent:8 -#: discord.RawReactionActionEvent:14 discord.RawReactionActionEvent:20 -#: discord.RawReactionClearEmojiEvent:9 discord.RawReactionClearEmojiEvent:15 -#: discord.RawReactionClearEvent:7 discord.RawReactionClearEvent:13 -#: discord.Reaction:36 discord.Role:41 discord.Role:66 discord.ShardInfo:12 -#: discord.SystemChannelFlags:32 discord.Team:7 discord.Team:25 -#: discord.TeamMember:33 discord.Template:15 discord.TextChannel:37 -#: discord.TextChannel:56 discord.TextChannel:72 discord.User:31 -#: discord.VoiceChannel:37 discord.VoiceChannel:50 discord.VoiceChannel:56 -#: discord.VoiceChannel:62 discord.Webhook:62 discord.Widget:21 -#: discord.WidgetChannel:25 discord.WidgetChannel:37 discord.WidgetMember:25 -#: discord.abc.GuildChannel:28 discord.abc.Snowflake:13 -#: discord.opus.OpusError:7 of -msgid ":class:`int`" -msgstr "" - -#: discord.AppInfo:12 of -#, fuzzy -msgid "The application name." -msgstr ":class:`str` -- アプリケーションの名前。" - -#: ../../api.rst:2186 ../../api.rst:2192 ../../api.rst:2198 ../../api.rst:2297 -#: ../../api.rst:2323 ../../api.rst:2418 ../../api.rst:2488 discord.Activity:22 -#: discord.Activity:28 discord.Activity:40 discord.Activity:46 -#: discord.AppInfo:14 discord.AppInfo:69 discord.AppInfo:77 -#: discord.Attachment:31 discord.Attachment:38 discord.Attachment:46 -#: discord.CategoryChannel:27 discord.CategoryChannel.mention:3 -#: discord.ClientUser:25 discord.ClientUser:37 -#: discord.ClientUser.display_name:7 discord.ClientUser.mention:3 -#: discord.ConnectionClosed:14 discord.Embed:24 discord.Embed:31 -#: discord.Embed:38 discord.Embed:45 discord.Emoji:33 discord.Game:34 -#: discord.Guild:27 discord.Guild:199 discord.HTTPException:15 -#: discord.Integration:15 discord.Integration:27 discord.IntegrationAccount:15 -#: discord.Invite:56 discord.Invite.id:3 discord.Invite.url:3 -#: discord.Member.display_name:7 discord.Member.mention:3 -#: discord.Member.raw_status:5 discord.Message:31 -#: discord.Message.clean_content:15 discord.Message.jump_url:3 -#: discord.Message.system_content:8 discord.PartialInviteChannel:28 -#: discord.PartialInviteChannel.mention:3 discord.PartialInviteGuild:28 -#: discord.RawReactionActionEvent:50 discord.Role:47 discord.Role.mention:3 -#: discord.Spotify.album:3 discord.Spotify.album_cover_url:3 -#: discord.Spotify.artist:6 discord.Spotify.name:3 discord.Spotify.party_id:3 -#: discord.Spotify.title:3 discord.Spotify.track_id:3 discord.Streaming:29 -#: discord.Streaming:55 discord.Team:13 discord.TeamMember:27 -#: discord.TeamMember:39 discord.Template:9 discord.Template:21 -#: discord.Template:27 discord.TextChannel:25 discord.TextChannel.mention:3 -#: discord.User:25 discord.User:37 discord.User.display_name:7 -#: discord.User.mention:3 discord.VoiceChannel:25 -#: discord.VoiceChannel.mention:3 discord.VoiceClient:17 discord.VoiceClient:23 -#: discord.VoiceClient:29 discord.Webhook.url:3 discord.Widget:27 -#: discord.Widget.json_url:3 discord.WidgetChannel:31 -#: discord.WidgetChannel.mention:3 discord.WidgetMember:31 -#: discord.WidgetMember:37 discord.WidgetMember.display_name:3 -#: discord.WidgetMember.mention:3 discord.abc.GuildChannel:15 -#: discord.abc.GuildChannel.mention:3 discord.abc.User:15 discord.abc.User:21 -#: discord.abc.User.display_name:3 discord.abc.User.mention:3 -#: discord.utils.escape_markdown:18 discord.utils.escape_mentions:17 -#: discord.utils.oauth_url:15 discord.utils.resolve_invite:7 -#: discord.utils.resolve_template:9 of -msgid ":class:`str`" -msgstr ":class:`str`" - -#: discord.AppInfo:18 of -#, fuzzy -msgid "The application owner." -msgstr ":class:`User` -- アプリケーションの所有者。" - -#: ../../api.rst:864 ../../api.rst:2435 discord.AppInfo:20 discord.DMChannel:25 -#: discord.GroupChannel:43 discord.Integration:69 discord.Invite:99 -#: discord.Relationship:10 discord.Template:33 of -#, fuzzy -msgid ":class:`User`" -msgstr ":class:`str`" - -#: discord.AppInfo:24 of -#, fuzzy -msgid "The application's team." -msgstr ":class:`str` -- アプリケーションの名前。" - -#: discord.AppInfo:28 of -msgid "Optional[:class:`Team`]" -msgstr "" - -#: discord.AppInfo:32 discord.Team:17 of -#, fuzzy -msgid "The icon hash, if it exists." -msgstr "Optional[:class:`str`] -- アイコンのハッシュ。(存在する場合)" - -#: ../../api.rst:2361 discord.Activity.large_image_text:3 -#: discord.Activity.large_image_url:3 discord.Activity.small_image_text:3 -#: discord.Activity.small_image_url:3 discord.AppInfo:34 discord.AppInfo:40 -#: discord.AppInfo:104 discord.AppInfo:113 discord.AuditLogEntry:35 -#: discord.ClientUser:43 discord.ClientUser:69 discord.ClientUser:75 -#: discord.CustomActivity:27 discord.File:30 discord.GroupChannel:49 -#: discord.GroupChannel:55 discord.Guild:58 discord.Guild:110 discord.Guild:116 -#: discord.Guild:171 discord.Guild:191 discord.Member:48 -#: discord.PartialEmoji:32 discord.PartialInviteGuild:52 -#: discord.PartialInviteGuild:58 discord.PartialInviteGuild:64 -#: discord.PartialInviteGuild:70 discord.Streaming:35 discord.Streaming:41 -#: discord.Streaming:49 discord.Streaming.twitch_name:6 discord.Team:19 -#: discord.TeamMember:45 discord.TextChannel:49 discord.User:43 -#: discord.Webhook:77 discord.Webhook:102 discord.Webhook:108 -#: discord.Widget.invite_url:3 discord.WidgetMember:55 discord.WidgetMember:61 -#: discord.abc.User:27 of -#, fuzzy -msgid "Optional[:class:`str`]" -msgstr ":class:`str`" - -#: discord.AppInfo:38 of -#, fuzzy -msgid "The application description." -msgstr "Optional[:class:`str`] -- アプリケーションの説明。" - -#: discord.AppInfo:44 of -#, fuzzy -msgid "" -"Whether the bot can be invited by anyone or if it is locked to the " -"application owner." -msgstr ":class:`bool` -- 誰でもBotを招待することができるか、それともアプリケーション所有者のみに限定されているか。" - -#: ../../api.rst:869 ../../api.rst:883 ../../api.rst:888 ../../api.rst:893 -#: ../../api.rst:898 ../../api.rst:903 ../../api.rst:915 ../../api.rst:923 -#: ../../api.rst:2250 ../../api.rst:2369 ../../api.rst:2377 ../../api.rst:2402 -#: ../../api.rst:2410 ../../api.rst:2467 discord.AllowedMentions:11 -#: discord.AppInfo:47 discord.AppInfo:54 discord.CallMessage.call_ended:3 -#: discord.CategoryChannel.permissions_synced:8 discord.ClientUser:49 -#: discord.ClientUser:57 discord.ClientUser:63 discord.ClientUser:81 -#: discord.ClientUser:87 discord.ClientUser.mentioned_in:7 discord.Emoji:45 -#: discord.Emoji:51 discord.Emoji:57 discord.Emoji:69 discord.File:36 -#: discord.GroupCall:15 discord.Guild:80 discord.Guild.chunked:9 -#: discord.Guild.large:6 discord.Integration:33 discord.Integration:39 -#: discord.Intents.bans:10 discord.Intents.dm_messages:25 -#: discord.Intents.dm_reactions:18 discord.Intents.dm_typing:11 -#: discord.Intents.emojis:14 discord.Intents.guild_messages:24 -#: discord.Intents.guild_reactions:18 discord.Intents.guild_typing:11 -#: discord.Intents.guilds:23 discord.Intents.integrations:9 -#: discord.Intents.invites:10 discord.Intents.members:31 -#: discord.Intents.messages:25 discord.Intents.presences:20 -#: discord.Intents.reactions:18 discord.Intents.typing:11 -#: discord.Intents.voice_states:13 discord.Intents.webhooks:9 discord.Invite:68 -#: discord.Invite:81 discord.Member.mentioned_in:7 -#: discord.MemberCacheFlags.joined:8 discord.MemberCacheFlags.online:8 -#: discord.MemberCacheFlags.voice:7 discord.Message:11 discord.Message:78 -#: discord.Message:131 discord.MessageFlags.crossposted:3 -#: discord.MessageFlags.is_crossposted:3 -#: discord.MessageFlags.source_message_deleted:3 -#: discord.MessageFlags.suppress_embeds:3 discord.MessageFlags.urgent:5 -#: discord.PartialEmoji:38 discord.PermissionOverwrite.is_empty:7 -#: discord.Permissions.add_reactions:3 discord.Permissions.administrator:5 -#: discord.Permissions.attach_files:3 discord.Permissions.ban_members:3 -#: discord.Permissions.change_nickname:3 discord.Permissions.connect:3 -#: discord.Permissions.create_instant_invite:3 -#: discord.Permissions.deafen_members:3 discord.Permissions.embed_links:3 -#: discord.Permissions.external_emojis:3 discord.Permissions.kick_members:3 -#: discord.Permissions.manage_channels:5 discord.Permissions.manage_emojis:3 -#: discord.Permissions.manage_guild:3 discord.Permissions.manage_messages:7 -#: discord.Permissions.manage_nicknames:3 -#: discord.Permissions.manage_permissions:5 discord.Permissions.manage_roles:5 -#: discord.Permissions.manage_webhooks:3 discord.Permissions.mention_everyone:3 -#: discord.Permissions.move_members:3 discord.Permissions.mute_members:3 -#: discord.Permissions.priority_speaker:3 -#: discord.Permissions.read_message_history:3 -#: discord.Permissions.read_messages:3 discord.Permissions.send_messages:3 -#: discord.Permissions.send_tts_messages:3 discord.Permissions.speak:3 -#: discord.Permissions.stream:3 discord.Permissions.use_external_emojis:5 -#: discord.Permissions.use_voice_activation:3 -#: discord.Permissions.view_audit_log:3 discord.Permissions.view_channel:5 -#: discord.Permissions.view_guild_insights:5 -#: discord.PublicUserFlags.bug_hunter:3 -#: discord.PublicUserFlags.bug_hunter_level_2:3 -#: discord.PublicUserFlags.early_supporter:3 -#: discord.PublicUserFlags.early_verified_bot_developer:5 -#: discord.PublicUserFlags.hypesquad:3 -#: discord.PublicUserFlags.hypesquad_balance:3 -#: discord.PublicUserFlags.hypesquad_bravery:3 -#: discord.PublicUserFlags.hypesquad_brilliance:3 -#: discord.PublicUserFlags.partner:3 discord.PublicUserFlags.staff:3 -#: discord.PublicUserFlags.system:3 discord.PublicUserFlags.team_user:3 -#: discord.PublicUserFlags.verified_bot:3 -#: discord.PublicUserFlags.verified_bot_developer:3 discord.Reaction:42 -#: discord.Reaction.custom_emoji:3 discord.Role:59 discord.Role:73 -#: discord.Role:79 discord.SystemChannelFlags.join_notifications:3 -#: discord.SystemChannelFlags.premium_subscriptions:3 discord.TeamMember:51 -#: discord.TextChannel.permissions_synced:8 discord.User:49 discord.User:55 -#: discord.User.mentioned_in:7 discord.VoiceChannel.permissions_synced:8 -#: discord.VoiceState:7 discord.VoiceState:13 discord.VoiceState:19 -#: discord.VoiceState:25 discord.VoiceState:33 discord.VoiceState:39 -#: discord.VoiceState:45 discord.WidgetMember:43 -#: discord.WidgetMember.mentioned_in:7 -#: discord.abc.GuildChannel.permissions_synced:8 discord.abc.User:33 -#: discord.opus.is_loaded:7 of -msgid ":class:`bool`" -msgstr ":class:`bool`" - -#: discord.AppInfo:51 of -#, fuzzy -msgid "" -"Whether the bot requires the completion of the full oauth2 code grant " -"flow to join." -msgstr ":class:`bool` -- Botの参加に、完全なOAuth2認可コードフローの完了を必要とするかどうか。" - -#: discord.AppInfo:58 of -msgid "A list of RPC origin URLs, if RPC is enabled." -msgstr "" - -#: discord.AppInfo:60 of -#, fuzzy -msgid "Optional[List[:class:`str`]]" -msgstr ":class:`str`" - -#: discord.AppInfo:64 of -msgid "" -"If this application is a game sold on Discord, this field will be the " -"summary field for the store page of its primary SKU" -msgstr "" - -#: discord.AppInfo:73 of -msgid "The base64 encoded key for the GameSDK's GetTicket" -msgstr "" - -#: discord.AppInfo:81 discord.AppInfo.guild:1 of -msgid "" -"If this application is a game sold on Discord, this field will be the " -"guild to which it has been linked" -msgstr "" - -#: discord.AppInfo:86 discord.AppInfo:95 discord.Attachment:19 -#: discord.Attachment:25 discord.ConnectionClosed:20 discord.Guild:86 -#: discord.Guild:96 discord.Guild:104 discord.Guild.prune_members:38 -#: discord.Invite:105 discord.Invite:112 discord.Message:119 -#: discord.MessageReference:9 discord.MessageReference:21 -#: discord.PartialEmoji:44 discord.PrivilegedIntentsRequired:14 -#: discord.RawBulkMessageDeleteEvent:19 discord.RawMessageDeleteEvent:13 -#: discord.RawReactionActionEvent:26 discord.RawReactionClearEmojiEvent:21 -#: discord.RawReactionClearEvent:19 discord.ShardInfo:18 discord.TextChannel:43 -#: discord.TextChannel:63 discord.VoiceChannel:43 discord.Webhook:83 -#: discord.Webhook:89 of -msgid "Optional[:class:`int`]" -msgstr "" - -#: discord.AppInfo:90 of -msgid "" -"If this application is a game sold on Discord, this field will be the id " -"of the \"Game SKU\" that is created, if exists" -msgstr "" - -#: discord.AppInfo:99 of -msgid "" -"If this application is a game sold on Discord, this field will be the URL" -" slug that links to the store page" -msgstr "" - -#: discord.AppInfo:108 of -msgid "" -"If this application is a game sold on Discord, this field will be the " -"hash of the image on store embeds" -msgstr "" - -#: discord.AppInfo.icon_url:1 of -#, fuzzy -msgid "Retrieves the application's icon asset." -msgstr ":class:`.Asset` -- アプリケーションのアイコンアセット。" - -#: discord.AppInfo.cover_image_url:5 discord.AppInfo.icon_url:5 -#: discord.Team.icon_url:3 of -#, fuzzy -msgid ":class:`.Asset`" -msgstr ":class:`str`" - -#: discord.AppInfo.cover_image_url:1 of -msgid "Retrieves the cover image on a store embed." -msgstr "" - -#: discord.AppInfo.guild:6 discord.Message.guild:3 discord.VoiceClient.guild:3 -#: discord.Webhook.guild:5 of -#, fuzzy -msgid "Optional[:class:`Guild`]" -msgstr ":class:`.Guild`" - -#: discord.Team:1 of -#, fuzzy -msgid "Represents an application team for a bot provided by Discord." -msgstr "Discordが提供するBotのアプリケーション情報を表します。" - -#: discord.Team:5 of -#, fuzzy -msgid "The team ID." -msgstr "アムステルダムリージョン。" - -#: discord.Team:11 of -msgid "The team name" -msgstr "" - -#: discord.Team:23 of -msgid "The team's owner ID." -msgstr "" - -#: discord.Team:29 of -msgid "A list of the members in the team" -msgstr "" - -#: discord.Team:33 of -msgid "List[:class:`TeamMember`]" -msgstr "" - -#: discord.Team.icon_url:1 of -#, fuzzy -msgid "Retrieves the team's icon asset." -msgstr "Botのアプリケーション情報を取得します。" - -#: discord.Team.owner:1 of -msgid "The team's owner." -msgstr "" - -#: discord.Team.owner:3 of -msgid "Optional[:class:`TeamMember`]" -msgstr "" - -#: discord.TeamMember:1 of -#, fuzzy -msgid "Represents a team member in a team." -msgstr "オーディオストリームを表します。" - -#: discord.TeamMember:7 of -#, fuzzy -msgid "Checks if two team members are equal." -msgstr "二つのユーザーが等しいかを比較します。" - -#: discord.TeamMember:11 of -#, fuzzy -msgid "Checks if two team members are not equal." -msgstr "二つのユーザーが等しいものではないか比較します。" - -#: discord.TeamMember:15 of -#, fuzzy -msgid "Return the team member's hash." -msgstr "ユーザーのハッシュ値を返します。" - -#: discord.TeamMember:19 of -#, fuzzy -msgid "Returns the team member's name with discriminator." -msgstr "ユーザー名とディスクリミネータを返します。" - -#: discord.TeamMember:25 of -#, fuzzy -msgid "The team member's username." -msgstr "更新されたメンバーの更新後情報。" - -#: discord.TeamMember:31 of -#, fuzzy -msgid "The team member's unique ID." -msgstr "更新されたメンバーの更新後情報。" - -#: discord.TeamMember:37 of -#, fuzzy -msgid "" -"The team member's discriminator. This is given when the username has " -"conflicts." -msgstr ":class:`str` -- ユーザーの識別子。これはユーザー名が重複しているときに与えられます。" - -#: discord.TeamMember:43 of -#, fuzzy -msgid "The avatar hash the team member has. Could be None." -msgstr "Optional[:class:`str`] -- ユーザーのアバターハッシュ。 Noneが返る場合もあります。" - -#: discord.ClientUser:47 discord.TeamMember:49 discord.User:47 of -#, fuzzy -msgid "Specifies if the user is a bot account." -msgstr ":class:`bool` -- ユーザーがBotアカウントであるかを表します。" - -#: discord.TeamMember:55 of -#, fuzzy -msgid "The team that the member is from." -msgstr "メンションが削除されたテキスト。" - -#: discord.TeamMember:57 of -#, fuzzy -msgid ":class:`Team`" -msgstr ":class:`bytes`" - -#: discord.TeamMember:61 of -msgid "The membership state of the member (e.g. invited or accepted)" -msgstr "" - -#: discord.TeamMember:63 of -msgid ":class:`TeamMembershipState`" -msgstr "" - -#: ../../api.rst:52 -msgid "Voice" -msgstr "ボイス" - -#: discord.VoiceClient:1 of -msgid "Represents a Discord voice connection." -msgstr "Discordの音声接続を表します。" - -#: discord.VoiceClient:3 of -msgid "" -"You do not create these, you typically get them from e.g. " -":meth:`VoiceChannel.connect`." -msgstr "これを意図的に生成することはできません。通常、 :meth:`VoiceChannel.connect` などを使用した際に、取得できます。" - -#: discord.VoiceClient:8 of -msgid "" -"In order to use PCM based AudioSources, you must have the opus library " -"installed on your system and loaded through :func:`opus.load_opus`. " -"Otherwise, your AudioSources must be opus encoded (e.g. using " -":class:`FFmpegOpusAudio`) or the library will not be able to transmit " -"audio." -msgstr "" - -#: discord.VoiceClient:15 of -#, fuzzy -msgid "The voice connection session ID." -msgstr ":class:`str` -- 音声接続のセッションID。" - -#: discord.VoiceClient:21 of -#, fuzzy -msgid "The voice connection token." -msgstr ":class:`str` -- 音声接続のトークン." - -#: discord.VoiceClient:27 of -#, fuzzy -msgid "The endpoint we are connecting to." -msgstr ":class:`str` -- 接続先のエンドポイント。" - -#: discord.VoiceClient:33 of -#, fuzzy -msgid "The voice channel connected to." -msgstr ":class:`abc.Connectable` -- 接続しているボイスチャンネル。" - -#: discord.VoiceClient:35 of -#, fuzzy -msgid ":class:`abc.Connectable`" -msgstr ":class:`.Invite`" - -#: discord.VoiceClient:39 of -#, fuzzy -msgid "The event loop that the voice client is running on." -msgstr ":class:`asyncio.AbstractEventLoop` -- ボイスクライアントが実行されているイベントループ。" - -#: discord.VoiceClient.guild:1 of -#, fuzzy -msgid "The guild we're connected to, if applicable." -msgstr "Optional[:class:`Guild`] -- 存在する場合は、接続しているギルドを返します。" - -#: discord.VoiceClient.user:1 of -#, fuzzy -msgid "The user connected to voice (i.e. ourselves)." -msgstr ":class:`ClientUser` -- ボイスチャンネルに接続しているユーザー。(つまり、自分自身)" - -#: discord.DMChannel:31 discord.GroupChannel:31 discord.VoiceClient.user:3 of -#, fuzzy -msgid ":class:`ClientUser`" -msgstr ":class:`~discord.ClientUser`" - -#: discord.VoiceClient.on_voice_state_update:3 -#: discord.VoiceProtocol.on_voice_state_update:3 of -msgid "" -"An abstract method that is called when the client's voice state has " -"changed. This corresponds to ``VOICE_STATE_UPDATE``." -msgstr "" - -#: discord.VoiceClient.on_voice_state_update:6 -#: discord.VoiceProtocol.on_voice_state_update:6 of -msgid "" -"The raw `voice state payload`__. .. _voice_state_update_payload: " -"https://discord.com/developers/docs/resources/voice#voice-state-object " -"__ voice_state_update_payload_" -msgstr "" - -#: discord.VoiceClient.on_voice_state_update:6 -#: discord.VoiceProtocol.on_voice_state_update:6 of -#, fuzzy -msgid "The raw `voice state payload`__." -msgstr "生のイベントペイロードデータ。" - -#: discord.VoiceClient.on_voice_server_update:3 -#: discord.VoiceProtocol.on_voice_server_update:3 of -msgid "" -"An abstract method that is called when initially connecting to voice. " -"This corresponds to ``VOICE_SERVER_UPDATE``." -msgstr "" - -#: discord.VoiceClient.on_voice_server_update:6 -#: discord.VoiceProtocol.on_voice_server_update:6 of -msgid "" -"The raw `voice server update payload`__. .. " -"_voice_server_update_payload: " -"https://discord.com/developers/docs/topics/gateway#voice-server-update-" -"voice-server-update-event-fields __ voice_server_update_payload_" -msgstr "" - -#: discord.VoiceClient.on_voice_server_update:6 -#: discord.VoiceProtocol.on_voice_server_update:6 of -msgid "The raw `voice server update payload`__." -msgstr "" - -#: discord.VoiceClient.connect:3 discord.VoiceProtocol.connect:3 of -msgid "" -"An abstract method called when the client initiates the connection " -"request." -msgstr "" - -#: discord.VoiceClient.connect:5 discord.VoiceProtocol.connect:5 of -msgid "" -"When a connection is requested initially, the library calls the " -"constructor under ``__init__`` and then calls :meth:`connect`. If " -":meth:`connect` fails at some point then :meth:`disconnect` is called." -msgstr "" - -#: discord.VoiceClient.connect:9 discord.VoiceProtocol.connect:9 of -msgid "" -"Within this method, to start the voice connection flow it is recommended " -"to use :meth:`Guild.change_voice_state` to start the flow. After which, " -":meth:`on_voice_server_update` and :meth:`on_voice_state_update` will be " -"called. The order that these two are called is unspecified." -msgstr "" - -#: discord.VoiceClient.connect:14 discord.VoiceProtocol.connect:14 of -msgid "The timeout for the connection." -msgstr "" - -#: discord.VoiceClient.connect:16 discord.VoiceProtocol.connect:16 of -#, fuzzy -msgid "Whether reconnection is expected." -msgstr "Discordとの接続を閉じます。" - -#: discord.VoiceClient.latency:1 of -msgid "Latency between a HEARTBEAT and a HEARTBEAT_ACK in seconds." -msgstr "" - -#: discord.VoiceClient.latency:3 of -msgid "" -"This could be referred to as the Discord Voice WebSocket latency and is " -"an analogue of user's voice latencies as seen in the Discord client." -msgstr "" - -#: discord.VoiceClient.average_latency:1 of -msgid "Average of most recent 20 HEARTBEAT latencies in seconds." -msgstr "" - -#: discord.VoiceClient.disconnect:3 of -msgid "Disconnects this voice client from voice." -msgstr "ボイスクライアントをボイスチャンネルから切断します。" - -#: discord.VoiceClient.move_to:3 of -msgid "Moves you to a different voice channel." -msgstr "別のボイスチャンネルへ移動させます。" - -#: discord.VoiceClient.move_to:5 of -msgid "The channel to move to. Must be a voice channel." -msgstr "移動先のチャンネル。ボイスチャンネルである必要があります。" - -#: discord.VoiceClient.is_connected:1 of -msgid "Indicates if the voice client is connected to voice." -msgstr "ボイスチャンネルに接続しているかどうかを表します。" - -#: discord.VoiceClient.play:1 of -msgid "Plays an :class:`AudioSource`." -msgstr ":class:`AudioSource` を再生します。" - -#: discord.VoiceClient.play:3 of -msgid "" -"The finalizer, ``after`` is called after the source has been exhausted or" -" an error occurred." -msgstr "ファイナライザーである ``after`` はソースがなくなったか、エラーが発生した後に呼び出されます。" - -#: discord.VoiceClient.play:6 of -#, fuzzy -msgid "" -"If an error happens while the audio player is running, the exception is " -"caught and the audio player is then stopped. If no after callback is " -"passed, any caught exception will be displayed as if it were raised." -msgstr "オーディオプレイヤーの実行中にエラーが発生した場合、例外はキャッチされ、プレイヤーは停止します。" - -#: discord.VoiceClient.play:10 of -msgid "The audio source we're reading from." -msgstr "読み込むオーディオソース。" - -#: discord.VoiceClient.play:12 of -#, fuzzy -msgid "" -"The finalizer that is called after the stream is exhausted. This function" -" must have a single parameter, ``error``, that denotes an optional " -"exception that was raised during playing." -msgstr "" -"ファイナライザーはストリームが空になると呼び出されます。発生した例外はすべて破棄されます。この関数には再生中に発生したオプションの例外を表す一つのパラメータ" -" ``error`` が必要です。" - -#: discord.VoiceClient.play:17 of -#, fuzzy -msgid "Already playing audio or not connected." -msgstr ":exc:`ClientException` -- すでにオーディオを再生しているか、VCに接続していない。" - -#: discord.VoiceClient.play:18 of -#, fuzzy -msgid "Source is not a :class:`AudioSource` or after is not a callable." -msgstr ":exc:`TypeError` -- sourceが :class:`AudioSource` でないか、afterが呼び出し可能でない。" - -#: discord.VoiceClient.play:19 of -msgid "Source is not opus encoded and opus is not loaded." -msgstr "" - -#: discord.VoiceClient.is_playing:1 of -msgid "Indicates if we're currently playing audio." -msgstr "現在オーディオを再生しているかを表します。" - -#: discord.VoiceClient.is_paused:1 of -msgid "Indicates if we're playing audio, but if we're paused." -msgstr "再生中のオーディオを一時停止しているかを表します。" - -#: discord.VoiceClient.stop:1 of -msgid "Stops playing audio." -msgstr "音声の再生を停止します。" - -#: discord.VoiceClient.pause:1 of -msgid "Pauses the audio playing." -msgstr "音声の再生を一時的に停止します。" - -#: discord.VoiceClient.resume:1 of -msgid "Resumes the audio playing." -msgstr "音声の再生を再開します。" - -#: discord.VoiceClient.source:1 of -#, fuzzy -msgid "The audio source being played, if playing." -msgstr "Optional[:class:`AudioSource`] -- 再生中の場合、再生しているオーディオソースを返します。" - -#: discord.VoiceClient.source:3 of -msgid "" -"This property can also be used to change the audio source currently being" -" played." -msgstr "このプロパティは現在再生しているオーディオソースの変更にも使うことが出来ます。" - -#: discord.VoiceClient.source:5 of -#, fuzzy -msgid "Optional[:class:`AudioSource`]" -msgstr ":class:`AudioSource` を再生します。" - -#: discord.VoiceClient.send_audio_packet:1 of -msgid "Sends an audio packet composed of the data." -msgstr "データで構成されるオーディオパケットを送信します。" - -#: discord.VoiceClient.send_audio_packet:3 of -msgid "You must be connected to play audio." -msgstr "オーディオを再生するには、ボイスチャンネルに接続している必要があります。" - -#: discord.VoiceClient.send_audio_packet:5 of -msgid "The :term:`py:bytes-like object` denoting PCM or Opus voice data." -msgstr "PCM、またはOpusボイスデータを表す :term:`py:bytes-like object` 。" - -#: discord.VoiceClient.send_audio_packet:7 of -msgid "Indicates if ``data`` should be encoded into Opus." -msgstr "``data`` をOpusにエンコードする必要があるかを表します。" - -#: discord.VoiceClient.send_audio_packet:10 of -#, fuzzy -msgid "You are not connected." -msgstr ":exc:`ClientException` -- ボイスチャンネルに接続していない。" - -#: discord.VoiceClient.send_audio_packet:11 of -#, fuzzy -msgid "Encoding the data failed." -msgstr ":exc:`opus.OpusError` -- dataのエンコードに失敗した。" - -#: discord.VoiceProtocol:1 of -#, fuzzy -msgid "A class that represents the Discord voice protocol." -msgstr "Discordの音声接続を表します。" - -#: discord.VoiceProtocol:3 of -msgid "" -"This is an abstract class. The library provides a concrete implementation" -" under :class:`VoiceClient`." -msgstr "" - -#: discord.VoiceProtocol:6 of -msgid "" -"This class allows you to implement a protocol to allow for an external " -"method of sending voice, such as Lavalink_ or a native library " -"implementation." -msgstr "" - -#: discord.VoiceProtocol:9 of -msgid "These classes are passed to :meth:`abc.Connectable.connect`." -msgstr "" - -#: discord.VoiceProtocol:13 of -msgid "The client (or its subclasses) that started the connection request." -msgstr "" - -#: discord.VoiceProtocol:15 of -#, fuzzy -msgid "The voice channel that is being connected to." -msgstr "ピン留めが更新されたプライベートチャンネル。" - -#: discord.VoiceProtocol.disconnect:3 of -msgid "An abstract method called when the client terminates the connection." -msgstr "" - -#: discord.VoiceProtocol.disconnect:5 of -msgid "See :meth:`cleanup`." -msgstr "" - -#: discord.VoiceProtocol.disconnect:7 of -#, fuzzy -msgid "Whether the disconnection was forced." -msgstr "Discordとの接続を閉じます。" - -#: discord.VoiceProtocol.cleanup:1 of -msgid "" -"This method *must* be called to ensure proper clean-up during a " -"disconnect." -msgstr "" - -#: discord.VoiceProtocol.cleanup:3 of -msgid "" -"It is advisable to call this from within :meth:`disconnect` when you are " -"completely done with the voice protocol instance." -msgstr "" - -#: discord.VoiceProtocol.cleanup:6 of -msgid "" -"This method removes it from the internal state cache that keeps track of " -"currently alive voice clients. Failure to clean-up will cause subsequent " -"connections to report that it's still connected." -msgstr "" - -#: discord.AudioSource:1 of -msgid "Represents an audio stream." -msgstr "オーディオストリームを表します。" - -#: discord.AudioSource:3 of -msgid "" -"The audio stream can be Opus encoded or not, however if the audio stream " -"is not Opus encoded then the audio format must be 16-bit 48KHz stereo " -"PCM." -msgstr "オーディオストリームはOpusにエンコードされていなくても構いませんが、エンコードされていない場合、オーディオフォーマットは16ビットの48KHzステレオPCMである必要があります。" - -#: discord.AudioSource:8 of -msgid "The audio source reads are done in a separate thread." -msgstr "オーディオソースの読み込みは別スレッドで行われます。" - -#: discord.AudioSource.read:1 discord.FFmpegOpusAudio.read:1 -#: discord.FFmpegPCMAudio.read:1 discord.PCMAudio.read:1 -#: discord.PCMVolumeTransformer.read:1 of -msgid "Reads 20ms worth of audio." -msgstr "20ms分のオーディオを読み込みます。" - -#: discord.AsyncWebhookAdapter.handle_execution_response:7 -#: discord.AsyncWebhookAdapter.request:3 discord.AudioSource.read:3 -#: discord.FFmpegOpusAudio.read:3 discord.FFmpegPCMAudio.read:3 -#: discord.PCMAudio.read:3 discord.PCMVolumeTransformer.read:3 -#: discord.RequestsWebhookAdapter.handle_execution_response:7 -#: discord.RequestsWebhookAdapter.request:3 -#: discord.WebhookAdapter.handle_execution_response:7 -#: discord.WebhookAdapter.request:3 of -msgid "Subclasses must implement this." -msgstr "サブクラスはこれを実装する必要があります。" - -#: discord.AudioSource.read:5 discord.FFmpegOpusAudio.read:5 -#: discord.FFmpegPCMAudio.read:5 discord.PCMAudio.read:5 -#: discord.PCMVolumeTransformer.read:5 of -msgid "" -"If the audio is complete, then returning an empty :term:`py:bytes-like " -"object` to signal this is the way to do so." -msgstr "オーディオの読み取りが終了すると、空の :term:`py:bytes-like object` を返してこれを通知します。" - -#: discord.AudioSource.read:8 discord.FFmpegOpusAudio.read:8 -#: discord.FFmpegPCMAudio.read:8 discord.PCMAudio.read:8 -#: discord.PCMVolumeTransformer.read:8 of -msgid "" -"If :meth:`is_opus` method returns ``True``, then it must return 20ms " -"worth of Opus encoded audio. Otherwise, it must be 20ms worth of 16-bit " -"48KHz stereo PCM, which is about 3,840 bytes per frame (20ms worth of " -"audio)." -msgstr "" -":meth:`is_opus` が ``True`` " -"を返す場合、20ms分のOpusにエンコードされたオーディオを返さなければいけません。それ以外の場合は、フレームあたり約3,840バイトの20ms相当の16ビット48KHzステレオPCM(20ms分のオーディオ)が必要です。" - -#: discord.AudioSource.read:13 discord.FFmpegOpusAudio.read:13 -#: discord.FFmpegPCMAudio.read:13 discord.PCMAudio.read:13 -#: discord.PCMVolumeTransformer.read:13 of -msgid "A bytes like object that represents the PCM or Opus data." -msgstr "PCMまたはOpusデータを表すバイトライクオブジェクト。" - -#: discord.Asset.read:18 discord.Attachment.read:20 discord.AudioSource.read:14 -#: discord.FFmpegOpusAudio.read:14 discord.FFmpegPCMAudio.read:14 -#: discord.PCMAudio.read:14 discord.PCMVolumeTransformer.read:14 of -msgid ":class:`bytes`" -msgstr ":class:`bytes`" - -#: discord.AudioSource.is_opus:1 discord.FFmpegOpusAudio.is_opus:1 -#: discord.FFmpegPCMAudio.is_opus:1 of -msgid "Checks if the audio source is already encoded in Opus." -msgstr "オーディオソースがOpusにエンコードされているかを表します。" - -#: discord.AudioSource.cleanup:1 discord.FFmpegAudio.cleanup:1 -#: discord.PCMVolumeTransformer.cleanup:1 of -msgid "Called when clean-up is needed to be done." -msgstr "クリーンアップが必要な時に呼び出されます。" - -#: discord.AudioSource.cleanup:3 discord.FFmpegAudio.cleanup:3 -#: discord.PCMVolumeTransformer.cleanup:3 of -msgid "" -"Useful for clearing buffer data or processes after it is done playing " -"audio." -msgstr "オーディオの再生が終了した後にバッファデータやプロセスをクリアするのに便利です。" - -#: discord.PCMAudio:1 of -msgid "Represents raw 16-bit 48KHz stereo PCM audio source." -msgstr "生の16ビット48KHzステレオPCMオーディオソースを表します。" - -#: discord.PCMAudio:5 of -#, fuzzy -msgid "A file-like object that reads byte data representing raw PCM." -msgstr ":term:`py:file object` -- 生のPCMを表したバイトデータを読み取るファイルライクオブジェクト。" - -#: discord.PCMAudio:7 of -msgid ":term:`py:file object`" -msgstr "" - -#: discord.FFmpegAudio:1 of -msgid "Represents an FFmpeg (or AVConv) based AudioSource." -msgstr "" - -#: discord.FFmpegAudio:3 of -msgid "" -"User created AudioSources using FFmpeg differently from how " -":class:`FFmpegPCMAudio` and :class:`FFmpegOpusAudio` work should subclass" -" this." -msgstr "" - -#: discord.FFmpegOpusAudio:1 discord.FFmpegPCMAudio:1 of -msgid "An audio source from FFmpeg (or AVConv)." -msgstr "FFmpeg(またはAVConv)のオーディオソース。" - -#: discord.FFmpegPCMAudio:3 of -msgid "This launches a sub-process to a specific input file given." -msgstr "与えられた特定の入力ファイルに対してサブプロセスを起動します。" - -#: discord.FFmpegOpusAudio:18 discord.FFmpegPCMAudio:7 of -msgid "" -"You must have the ffmpeg or avconv executable in your path environment " -"variable in order for this to work." -msgstr "環境変数にffmpegまたはavconv実行可能ファイルがなければなりません。" - -#: discord.FFmpegPCMAudio:10 of -#, fuzzy -msgid "" -"The input that ffmpeg will take and convert to PCM bytes. If ``pipe`` is " -"``True`` then this is a file-like object that is passed to the stdin of " -"ffmpeg." -msgstr "" -"ffmpegが受け取り、PCMバイトへ変換する入力。 ``pipe`` " -"がTrueの場合、これはffmpegの標準入力に渡されるファイルライクオブジェクトです。" - -#: discord.FFmpegOpusAudio:39 discord.FFmpegPCMAudio:14 of -msgid "The executable name (and path) to use. Defaults to ``ffmpeg``." -msgstr "使用する実行可能ファイルの名前 (およびパス)。デフォルトでは ``ffmpeg`` です。" - -#: discord.FFmpegOpusAudio:41 discord.FFmpegPCMAudio:16 of -msgid "" -"If ``True``, denotes that ``source`` parameter will be passed to the " -"stdin of ffmpeg. Defaults to ``False``." -msgstr "``True`` の場合、 ``source`` パラメータがffmpegの標準入力に渡されます。デフォルトでは ``False`` です。" - -#: discord.FFmpegOpusAudio:44 discord.FFmpegPCMAudio:19 of -msgid "" -"A file-like object to pass to the Popen constructor. Could also be an " -"instance of ``subprocess.PIPE``." -msgstr "Popenのコンストラクタに渡すファイルライクオブジェクト。 ``subprocess.PIPE`` のようなインスタンスにすることも可能です。" - -#: discord.FFmpegOpusAudio:47 discord.FFmpegPCMAudio:22 of -msgid "Extra command line arguments to pass to ffmpeg before the ``-i`` flag." -msgstr "``-i`` フラグのまえにffmepgに渡す追加のコマンドライン引数。" - -#: discord.FFmpegOpusAudio:49 discord.FFmpegPCMAudio:24 of -msgid "Extra command line arguments to pass to ffmpeg after the ``-i`` flag." -msgstr "``-i`` フラグのあとにffmepgに渡す追加のコマンドライン引数。" - -#: discord.FFmpegOpusAudio:52 discord.FFmpegPCMAudio:27 of -#, fuzzy -msgid "The subprocess failed to be created." -msgstr ":exc:`ClientException` -- サブプロセスの作成に失敗した。" - -#: discord.FFmpegOpusAudio:3 of -msgid "" -"This launches a sub-process to a specific input file given. However, " -"rather than producing PCM packets like :class:`FFmpegPCMAudio` does that " -"need to be encoded to Opus, this class produces Opus packets, skipping " -"the encoding step done by the library." -msgstr "" - -#: discord.FFmpegOpusAudio:7 of -msgid "" -"Alternatively, instead of instantiating this class directly, you can use " -":meth:`FFmpegOpusAudio.from_probe` to probe for bitrate and codec " -"information. This can be used to opportunistically skip pointless re-" -"encoding of existing Opus audio data for a boost in performance at the " -"cost of a short initial delay to gather the information. The same can be " -"achieved by passing ``copy`` to the ``codec`` parameter, but only if you " -"know that the input source is Opus encoded beforehand." -msgstr "" - -#: discord.FFmpegOpusAudio:21 of -#, fuzzy -msgid "" -"The input that ffmpeg will take and convert to Opus bytes. If ``pipe`` is" -" ``True`` then this is a file-like object that is passed to the stdin of " -"ffmpeg." -msgstr "" -"ffmpegが受け取り、PCMバイトへ変換する入力。 ``pipe`` " -"がTrueの場合、これはffmpegの標準入力に渡されるファイルライクオブジェクトです。" - -#: discord.FFmpegOpusAudio:25 of -msgid "The bitrate in kbps to encode the output to. Defaults to ``128``." -msgstr "" - -#: discord.FFmpegOpusAudio:27 of -msgid "" -"The codec to use to encode the audio data. Normally this would be just " -"``libopus``, but is used by :meth:`FFmpegOpusAudio.from_probe` to " -"opportunistically skip pointlessly re-encoding Opus audio data by passing" -" ``copy`` as the codec value. Any values other than ``copy``, ``opus``, " -"or ``libopus`` will be considered ``libopus``. Defaults to ``libopus``." -" .. warning:: Do not provide this parameter unless you are certain " -"that the audio input is already Opus encoded. For typical use " -":meth:`FFmpegOpusAudio.from_probe` should be used to determine the " -"proper value for this parameter." -msgstr "" - -#: discord.FFmpegOpusAudio:27 of -msgid "" -"The codec to use to encode the audio data. Normally this would be just " -"``libopus``, but is used by :meth:`FFmpegOpusAudio.from_probe` to " -"opportunistically skip pointlessly re-encoding Opus audio data by passing" -" ``copy`` as the codec value. Any values other than ``copy``, ``opus``, " -"or ``libopus`` will be considered ``libopus``. Defaults to ``libopus``." -msgstr "" - -#: discord.FFmpegOpusAudio:35 of -msgid "" -"Do not provide this parameter unless you are certain that the audio input" -" is already Opus encoded. For typical use " -":meth:`FFmpegOpusAudio.from_probe` should be used to determine the proper" -" value for this parameter." -msgstr "" - -#: discord.FFmpegOpusAudio.from_probe:3 of -msgid "" -"A factory method that creates a :class:`FFmpegOpusAudio` after probing " -"the input source for audio codec and bitrate information." -msgstr "" - -#: discord.FFmpegOpusAudio.from_probe:8 of -msgid "" -"Use this function to create an :class:`FFmpegOpusAudio` instance instead " -"of the constructor: ::" -msgstr "" - -#: discord.FFmpegOpusAudio.from_probe:13 of -msgid "" -"If you are on Windows and don't have ffprobe installed, use the " -"``fallback`` method to probe using ffmpeg instead: ::" -msgstr "" - -#: discord.FFmpegOpusAudio.from_probe:19 of -msgid "Using a custom method of determining codec and bitrate: ::" -msgstr "" - -#: discord.FFmpegOpusAudio.from_probe:29 of -msgid "Identical to the ``source`` parameter for the constructor." -msgstr "" - -#: discord.FFmpegOpusAudio.from_probe:30 of -msgid "" -"The probing method used to determine bitrate and codec information. As a " -"string, valid values are ``native`` to use ffprobe (or avprobe) and " -"``fallback`` to use ffmpeg (or avconv). As a callable, it must take two " -"string arguments, ``source`` and ``executable``. Both parameters are the" -" same values passed to this factory function. ``executable`` will default" -" to ``ffmpeg`` if not provided as a keyword argument." -msgstr "" - -#: discord.FFmpegOpusAudio.from_probe:36 of -msgid "" -"The remaining parameters to be passed to the :class:`FFmpegOpusAudio` " -"constructor, excluding ``bitrate`` and ``codec``." -msgstr "" - -#: discord.FFmpegOpusAudio.from_probe:39 discord.FFmpegOpusAudio.probe:10 of -msgid "Invalid probe method, must be ``'native'`` or ``'fallback'``." -msgstr "" - -#: discord.FFmpegOpusAudio.from_probe:40 discord.FFmpegOpusAudio.probe:11 of -msgid "Invalid value for ``probe`` parameter, must be :class:`str` or a callable." -msgstr "" - -#: discord.FFmpegOpusAudio.from_probe:42 of -msgid "An instance of this class." -msgstr "" - -#: discord.FFmpegOpusAudio.from_probe:43 of -msgid ":class:`FFmpegOpusAudio`" -msgstr "" - -#: discord.FFmpegOpusAudio.probe:3 of -msgid "Probes the input source for bitrate and codec information." -msgstr "" - -#: discord.FFmpegOpusAudio.probe:5 of -msgid "Identical to the ``source`` parameter for :class:`FFmpegOpusAudio`." -msgstr "" - -#: discord.FFmpegOpusAudio.probe:6 of -msgid "" -"Identical to the ``method`` parameter for " -":meth:`FFmpegOpusAudio.from_probe`." -msgstr "" - -#: discord.FFmpegOpusAudio.probe:7 of -msgid "Identical to the ``executable`` parameter for :class:`FFmpegOpusAudio`." -msgstr "" - -#: discord.FFmpegOpusAudio.probe:13 of -msgid "A 2-tuple with the codec and bitrate of the input source." -msgstr "" - -#: discord.FFmpegOpusAudio.probe:14 of -msgid "Tuple[Optional[:class:`str`], Optional[:class:`int`]]" -msgstr "" - -#: discord.PCMVolumeTransformer:1 of -msgid "Transforms a previous :class:`AudioSource` to have volume controls." -msgstr "前述の :class:`AudioSource` をボリュームコントロールを持つものに変換します。" - -#: discord.PCMVolumeTransformer:3 of -msgid "" -"This does not work on audio sources that have :meth:`AudioSource.is_opus`" -" set to ``True``." -msgstr "これは :meth:`AudioSource.is_opus` が ``True`` になっているオーディオソースでは動作しません。" - -#: discord.PCMVolumeTransformer:6 of -msgid "The original AudioSource to transform." -msgstr "変換する元のAudioSource。" - -#: discord.PCMVolumeTransformer:8 of -msgid "The initial volume to set it to. See :attr:`volume` for more info." -msgstr "設定する初期ボリューム。詳細は :attr:`volume` を参照してください。" - -#: discord.PCMVolumeTransformer:12 of -#, fuzzy -msgid "Not an audio source." -msgstr "オーディオストリームを表します。" - -#: discord.PCMVolumeTransformer:13 of -#, fuzzy -msgid "The audio source is opus encoded." -msgstr ":exc:`ClientException` -- オーディオソースがopusエンコード済み。" - -#: discord.PCMVolumeTransformer.volume:1 of -#, fuzzy -msgid "" -"Retrieves or sets the volume as a floating point percentage (e.g. ``1.0``" -" for 100%)." -msgstr "ボリュームを浮動小数点数パーセンテージ (100%の場合は1.0)として取得、または設定します。" - -#: ../../api.rst:79 -msgid "Opus Library" -msgstr "Opusライブラリ" - -#: discord.opus.load_opus:1 of -msgid "Loads the libopus shared library for use with voice." -msgstr "libopus共有ライブラリを音声用にロードします。" - -#: discord.opus.load_opus:3 of -msgid "" -"If this function is not called then the library uses the function " -":func:`ctypes.util.find_library` and then loads that one if available." -msgstr "" -"この関数が呼び出されない場合、ライブラリは :func:`ctypes.util.find_library` " -"関数を使用して利用可能であればロードします。" - -#: discord.opus.load_opus:6 of -#, fuzzy -msgid "" -"Not loading a library and attempting to use PCM based AudioSources will " -"lead to voice not working." -msgstr "ライブラリをロードしないと音声が機能しなくなります。" - -#: discord.opus.load_opus:9 of -msgid "This function propagates the exceptions thrown." -msgstr "この関数は、スローされた例外を伝播します。" - -#: discord.opus.load_opus:13 of -msgid "" -"The bitness of the library must match the bitness of your python " -"interpreter. If the library is 64-bit then your python interpreter must " -"be 64-bit as well. Usually if there's a mismatch in bitness then the load" -" will throw an exception." -msgstr "ライブラリのbit数は、あなたのPythonインタプリタのbit数と一致していなければなりません。ライブラリが64bitの場合は、Pythonインタプリタも64bitである必要があります。bit数が一致しない場合は、ロード時に例外を投げます。" - -#: discord.opus.load_opus:20 of -msgid "" -"On Windows, this function should not need to be called as the binaries " -"are automatically loaded." -msgstr "Windowsでは、バイナリが自動的に読み込まれるため、この関数を呼び出す必要はありません。" - -#: discord.opus.load_opus:25 of -msgid "" -"On Windows, the .dll extension is not necessary. However, on Linux the " -"full extension is required to load the library, e.g. ``libopus.so.1``. On" -" Linux however, :func:`ctypes.util.find_library` will usually find the " -"library automatically without you having to call this." -msgstr "" -"Windowsでは .dll拡張は必要ありませんが、Linuxではライブラリをロードするために ``libopus.so.1`` " -"のような完全な拡張ライブラリが必要です。しかしながら、Linux上でも通常の場合は " -":func:`ctypes.util.find_library` が自動的にライブラリを検出します。" - -#: discord.opus.load_opus:30 of -msgid "The filename of the shared library." -msgstr "共有ライブラリのファイル名。" - -#: discord.opus.is_loaded:1 of -msgid "" -"Function to check if opus lib is successfully loaded either via the " -":func:`ctypes.util.find_library` call of :func:`load_opus`." -msgstr "" -":func:`load_opus` の :func:`ctypes.util.find_library` " -"呼び出しで、opusライブラリが正常にロードされたかどうかをチェックする関数。" - -#: discord.opus.is_loaded:4 of -msgid "This must return ``True`` for voice to work." -msgstr "ボイス関連の機能を動かすためには、これが ``True`` を返す必要があります。" - -#: discord.opus.is_loaded:6 of -msgid "Indicates if the opus library has been loaded." -msgstr "opusライブラリがロードされているかを表します。" - -#: ../../api.rst:88 -msgid "Event Reference" -msgstr "イベントリファレンス" - -#: ../../api.rst:90 -msgid "" -"This page outlines the different types of events listened by " -":class:`Client`." -msgstr "この項目では :class:`Client` が受け取る様々なイベントについて説明します。" - -#: ../../api.rst:92 -msgid "" -"There are two ways to register an event, the first way is through the use" -" of :meth:`Client.event`. The second way is through subclassing " -":class:`Client` and overriding the specific events. For example: ::" -msgstr "" -"イベントを登録する方法は二通りあります。一つ目は :meth:`Client.event` を使用する方法です。二つ目は " -":class:`Client` を継承してサブクラスを作り、イベントをオーバーライドする方法です。この方法を用いた場合は以下のようになります:" - -#: ../../api.rst:107 -msgid "" -"If an event handler raises an exception, :func:`on_error` will be called " -"to handle it, which defaults to print a traceback and ignoring the " -"exception." -msgstr "" -"イベントハンドラが例外を発生させると、それを処理するために :func:`on_error` が呼び出されます。 " -"デフォルトではトレースバックが出力され、例外は無視されます。" - -#: ../../api.rst:112 -msgid "" -"All the events must be a |coroutine_link|_. If they aren't, then you " -"might get unexpected errors. In order to turn a function into a coroutine" -" they must be ``async def`` functions." -msgstr "" -"すべてのイベントは |coroutine_link|_ である必要があります。 |coroutine_link|_ " -"でない場合、予期せぬエラーが発生する可能性があります。関数をコルーチンにするには、関数定義の際に ``async def`` を使用してください。" - -#: ../../api.rst:118 -msgid "" -"Called when the client has successfully connected to Discord. This is not" -" the same as the client being fully prepared, see :func:`on_ready` for " -"that." -msgstr "" -"クライアントがDiscordに正常に接続できたときに呼び出されます。クライアントの準備が完了していることと同義ではありません。 " -":func:`on_ready` を参照してください。" - -#: ../../api.rst:121 -msgid "The warnings on :func:`on_ready` also apply." -msgstr ":func:`on_ready` での警告も適用されます。" - -#: ../../api.rst:125 -#, fuzzy -msgid "" -"Similar to :func:`on_connect` except used by :class:`AutoShardedClient` " -"to denote when a particular shard ID has connected to Discord." -msgstr "" -"特定の Shard IDが準備完了になったかを確認するために :class:`AutoShardedClient` で使用される以外は " -":func:`on_ready` とほとんど同じです。" - -#: ../../api.rst:130 -#, fuzzy -msgid "The shard ID that has connected." -msgstr "準備が完了したShard ID。" - -#: ../../api.rst:135 -msgid "" -"Called when the client has disconnected from Discord. This could happen " -"either through the internet being disconnected, explicit calls to logout," -" or Discord terminating the connection one way or the other." -msgstr "クライアントがDiscordから切断したときに呼び出されます。これはインターネットが切断された、明示的にログアウトした、またはDiscord側から何らかの方法で切断されたというような場合に呼び出される可能性があります。" - -#: ../../api.rst:139 -msgid "This function can be called many times." -msgstr "この関数は何度でも呼び出すことができます。" - -#: ../../api.rst:143 -#, fuzzy -msgid "" -"Similar to :func:`on_disconnect` except used by " -":class:`AutoShardedClient` to denote when a particular shard ID has " -"disconnected from Discord." -msgstr "" -"特定の Shard IDが準備完了になったかを確認するために :class:`AutoShardedClient` で使用される以外は " -":func:`on_ready` とほとんど同じです。" - -#: ../../api.rst:148 -#, fuzzy -msgid "The shard ID that has disconnected." -msgstr "準備が完了したShard ID。" - -#: ../../api.rst:153 -msgid "" -"Called when the client is done preparing the data received from Discord. " -"Usually after login is successful and the :attr:`Client.guilds` and co. " -"are filled up." -msgstr "" -"クライアントがDiscordから受信したデータの準備を完了した際に呼び出されます。通常はログインが成功したあと、 " -":attr:`Client.guilds` とそれに関連するものの準備が完了したときです。" - -#: ../../api.rst:158 -msgid "" -"This function is not guaranteed to be the first event called. Likewise, " -"this function is **not** guaranteed to only be called once. This library " -"implements reconnection logic and thus will end up calling this event " -"whenever a RESUME request fails." -msgstr "" -"このイベントは、最初に呼び出されるイベントとは限りません。同時に、このイベントは **一度だけ呼ばれるという保証もできません** " -"。このライブラリは、再接続ロジックを実装しているためリジューム要求が失敗するたびにこのイベントが呼び出されることになります。" - -#: ../../api.rst:165 -msgid "" -"Similar to :func:`on_ready` except used by :class:`AutoShardedClient` to " -"denote when a particular shard ID has become ready." -msgstr "" -"特定の Shard IDが準備完了になったかを確認するために :class:`AutoShardedClient` で使用される以外は " -":func:`on_ready` とほとんど同じです。" - -#: ../../api.rst:168 -msgid "The shard ID that is ready." -msgstr "準備が完了したShard ID。" - -#: ../../api.rst:173 -msgid "Called when the client has resumed a session." -msgstr "クライアントがセッションを再開したときに呼び出されます。" - -#: ../../api.rst:177 -#, fuzzy -msgid "" -"Similar to :func:`on_resumed` except used by :class:`AutoShardedClient` " -"to denote when a particular shard ID has resumed a session." -msgstr "" -"特定の Shard IDが準備完了になったかを確認するために :class:`AutoShardedClient` で使用される以外は " -":func:`on_ready` とほとんど同じです。" - -#: ../../api.rst:182 -#, fuzzy -msgid "The shard ID that has resumed." -msgstr "準備が完了したShard ID。" - -#: ../../api.rst:187 -msgid "" -"Usually when an event raises an uncaught exception, a traceback is " -"printed to stderr and the exception is ignored. If you want to change " -"this behaviour and handle the exception for whatever reason yourself, " -"this event can be overridden. Which, when done, will suppress the default" -" action of printing the traceback." -msgstr "イベントがキャッチされない例外を発生させた場合、通常はトレースバックがstderrに出力され、その例外は無視されます。何らかの理由でこの動作を変更して、自分自身で例外処理を行いたい場合は、このイベントをオーバーライドすることができます。これを行った場合、トレースバックを出力するというデフォルトの動作は行われません。" - -#: ../../api.rst:193 -msgid "" -"The information of the exception raised and the exception itself can be " -"retrieved with a standard call to :func:`sys.exc_info`." -msgstr "発生した例外の情報と、例外事態は :func:`sys.exc_info` への標準呼び出しで取得できます。" - -#: ../../api.rst:196 -msgid "" -"If you want exception to propagate out of the :class:`Client` class you " -"can define an ``on_error`` handler consisting of a single empty " -":ref:`py:raise`. Exceptions raised by ``on_error`` will not be handled " -"in any way by :class:`Client`." -msgstr "" -"例外を :class:`Client` クラスの外に伝播させたい場合は、単一の空の :ref:`py:raise` 文を持つ " -"``on_error`` を定義することができます。発生した例外は、 :class:`Client` の ``on_error`` " -"では決して処理されることはありません。" - -#: ../../api.rst:203 -msgid "``on_error`` will only be dispatched to :meth:`Client.event`." -msgstr "" - -#: ../../api.rst:205 -msgid "" -"It will not be received by :meth:`Client.wait_for`, or, if used, " -":ref:`ext_commands_api_bot` listeners such as " -":meth:`~ext.commands.Bot.listen` or :meth:`~ext.commands.Cog.listener`." -msgstr "" - -#: ../../api.rst:209 -msgid "The name of the event that raised the exception." -msgstr "例外を発生させたイベントの名前。" - -#: ../../api.rst:212 -msgid "The positional arguments for the event that raised the exception." -msgstr "例外を発生させたイベントの位置引数。" - -#: ../../api.rst:214 -msgid "The keyword arguments for the event that raised the exception." -msgstr "例外を発生させたイベントのキーワード引数。" - -#: ../../api.rst:219 -msgid "" -"Called whenever a message is received from the WebSocket, before it's " -"processed. This event is always dispatched when a message is received and" -" the passed data is not processed in any way." -msgstr "メッセージが処理される前、WebSocketからメッセージが受信されるたびに呼び出されます。このイベントはメッセージを受信した場合、渡されたデータが処理できないときでも常に呼びだされます。" - -#: ../../api.rst:223 ../../api.rst:242 -msgid "" -"This is only really useful for grabbing the WebSocket stream and " -"debugging purposes." -msgstr "これはWebSocketストリームを取得してデバッグする時のみに役に立ちます。" - -#: ../../api.rst:228 -msgid "" -"This is only for the messages received from the client WebSocket. The " -"voice WebSocket will not trigger this event." -msgstr "これは、クライアントWebSocketから受信したメッセージ専用です。音声WebSocketではこのイベントは実行されません。" - -#: ../../api.rst:231 -msgid "" -"The message passed in from the WebSocket library. Could be :class:`bytes`" -" for a binary message or :class:`str` for a regular message." -msgstr "" -"WebSocketライブラリから渡されたメッセージ。バイナリメッセージの場合は :class:`bytes` 、通常のメッセージの場合は " -":class:`str` です。" - -#: ../../api.rst:238 -msgid "" -"Called whenever a send operation is done on the WebSocket before the " -"message is sent. The passed parameter is the message that is being sent " -"to the WebSocket." -msgstr "メッセージが送信される前にWebSocketで送信操作が行われるたびに呼び出されます。渡されるパラメータはWebSocketに送信されているメッセージです。" - -#: ../../api.rst:247 -#, fuzzy -msgid "" -"This is only for the messages sent from the client WebSocket. The voice " -"WebSocket will not trigger this event." -msgstr "これは、クライアントWebSocketから受信したメッセージ専用です。音声WebSocketではこのイベントは実行されません。" - -#: ../../api.rst:250 -msgid "" -"The message that is about to be passed on to the WebSocket library. It " -"can be :class:`bytes` to denote a binary message or :class:`str` to " -"denote a regular text message." -msgstr "" -"WebSocketライブラリから渡されるメッセージ。バイナリメッセージの場合は :class:`bytes` 、通常のメッセージの場合は " -":class:`str` です。" - -#: ../../api.rst:256 -msgid "Called when someone begins typing a message." -msgstr "誰かがメッセージを入力し始めたときに呼び出されます。" - -#: ../../api.rst:258 -msgid "" -"The ``channel`` parameter can be a :class:`abc.Messageable` instance. " -"Which could either be :class:`TextChannel`, :class:`GroupChannel`, or " -":class:`DMChannel`." -msgstr "" -"channelパラメータは :class:`abc.Messageable` インスタンスにすることができます。 " -":class:`TextChannel` 、 :class:`GroupChannel` 、または :class:`DMChannel` " -"のいずれかです。" - -#: ../../api.rst:262 -msgid "" -"If the ``channel`` is a :class:`TextChannel` then the ``user`` parameter " -"is a :class:`Member`, otherwise it is a :class:`User`." -msgstr "" -"``channel`` が :class:`TextChannel` である場合、 ``user`` パラメータは :class:`Member`" -" 、それ以外の場合は :class:`User` です。" - -#: ../../api.rst:265 -msgid "This requires :attr:`Intents.typing` to be enabled." -msgstr "" - -#: ../../api.rst:267 -msgid "The location where the typing originated from." -msgstr "入力が行われたチャンネル。" - -#: ../../api.rst:269 -msgid "The user that started typing." -msgstr "入力を始めたユーザー。" - -#: ../../api.rst:271 -msgid "When the typing started as a naive datetime in UTC." -msgstr "UTCのnaive datetimeでの、タイピングの開始時刻。" - -#: ../../api.rst:276 -msgid "Called when a :class:`Message` is created and sent." -msgstr ":class:`Message` が作成され送信されたときに呼び出されます。" - -#: ../../api.rst:278 ../../api.rst:301 ../../api.rst:318 ../../api.rst:331 -#: ../../api.rst:344 ../../api.rst:370 ../../api.rst:393 ../../api.rst:505 -#: ../../api.rst:514 -msgid "This requires :attr:`Intents.messages` to be enabled." -msgstr "" - -#: ../../api.rst:282 -msgid "" -"Your bot's own messages and private messages are sent through this event." -" This can lead cases of 'recursion' depending on how your bot was " -"programmed. If you want the bot to not reply to itself, consider checking" -" the user IDs. Note that :class:`~ext.commands.Bot` does not have this " -"problem." -msgstr "Botのメッセージとプライベートメッセージはこのイベントを通して送信されます。Botのプログラムによっては「再帰呼び出し」を続けることになります。Botが自分自身に返信しないようにするためにはユーザーIDを確認する方法が考えられます。この問題はBotが抱えるものではありません。" - -#: ../../api.rst:288 -msgid "The current message." -msgstr "現在のメッセージ。" - -#: ../../api.rst:293 -msgid "" -"Called when a message is deleted. If the message is not found in the " -"internal message cache, then this event will not be called. Messages " -"might not be in cache if the message is too old or the client is " -"participating in high traffic guilds." -msgstr "メッセージが削除された際に呼び出されます。メッセージが内部のメッセージキャッシュに見つからない場合、このイベントは呼び出されません。これはメッセージが古すぎるか、クライアントが通信の多いギルドに参加している場合に発生します。" - -#: ../../api.rst:298 -#, fuzzy -msgid "" -"If this occurs increase the :attr:`Client.max_messages` attribute or use " -"the :func:`on_raw_message_delete` event instead." -msgstr "このような場合には :attr:`Client.max_messages` を増やしてください。" - -#: ../../api.rst:303 -msgid "The deleted message." -msgstr "削除されたメッセージ。" - -#: ../../api.rst:308 -msgid "" -"Called when messages are bulk deleted. If none of the messages deleted " -"are found in the internal message cache, then this event will not be " -"called. If individual messages were not found in the internal message " -"cache, this event will still be called, but the messages not found will " -"not be included in the messages list. Messages might not be in cache if " -"the message is too old or the client is participating in high traffic " -"guilds." -msgstr "メッセージが一括削除されたときに呼び出されます。メッセージが内部のメッセージキャッシュに見つからない場合、このイベントは呼び出されません。個々のメッセージが見つからない場合でも、このイベントは呼び出されますが、見つからなかったメッセージはメッセージのリストに含まれません。これはメッセージが古すぎるか、クライアントが通信の多いギルドに参加している場合に発生します。" - -#: ../../api.rst:315 -#, fuzzy -msgid "" -"If this occurs increase the :attr:`Client.max_messages` attribute or use " -"the :func:`on_raw_bulk_message_delete` event instead." -msgstr "このような場合には :attr:`Client.max_messages` を増やしてください。" - -#: ../../api.rst:320 -msgid "The messages that have been deleted." -msgstr "削除されたメッセージのリスト。" - -#: ../../api.rst:325 -msgid "" -"Called when a message is deleted. Unlike :func:`on_message_delete`, this " -"is called regardless of the message being in the internal message cache " -"or not." -msgstr "" -"メッセージが削除されたときに呼び出されます。 :func:`on_message_delete` " -"とは異なり、削除されたメッセージが内部キャッシュに存在するか否かにかかわらず呼び出されます。" - -#: ../../api.rst:328 -msgid "" -"If the message is found in the message cache, it can be accessed via " -":attr:`RawMessageDeleteEvent.cached_message`" -msgstr "" -"メッセージがメッセージキャッシュ内に見つかった場合、 :attr:`RawMessageDeleteEvent.cached_message` " -"を介してアクセスすることができます。" - -#: ../../api.rst:333 ../../api.rst:346 ../../api.rst:395 ../../api.rst:422 -#: ../../api.rst:449 ../../api.rst:472 ../../api.rst:497 -msgid "The raw event payload data." -msgstr "生のイベントペイロードデータ。" - -#: ../../api.rst:338 -msgid "" -"Called when a bulk delete is triggered. Unlike " -":func:`on_bulk_message_delete`, this is called regardless of the messages" -" being in the internal message cache or not." -msgstr "" -"メッセージが一括削除されたときに呼び出されます。 :func:`on_bulk_message_delete` " -"とは異なり、削除されたメッセージが内部キャッシュに存在するか否かにかかわらず呼び出されます。" - -#: ../../api.rst:341 -msgid "" -"If the messages are found in the message cache, they can be accessed via " -":attr:`RawBulkMessageDeleteEvent.cached_messages`" -msgstr "" -"メッセージがメッセージキャッシュ内に見つかった場合、 " -":attr:`RawBulkMessageDeleteEvent.cached_messages` を介してアクセスすることができます。" - -#: ../../api.rst:351 -msgid "" -"Called when a :class:`Message` receives an update event. If the message " -"is not found in the internal message cache, then these events will not be" -" called. Messages might not be in cache if the message is too old or the " -"client is participating in high traffic guilds." -msgstr "" -":class:`Message` " -"が更新イベントを受け取ったときに呼び出されます。メッセージが内部のメッセージキャッシュに見つからない場合、このイベントは呼び出されません。これはメッセージが古すぎるか、クライアントが通信の多いギルドに参加している場合に発生します。" - -#: ../../api.rst:356 -#, fuzzy -msgid "" -"If this occurs increase the :attr:`Client.max_messages` attribute or use " -"the :func:`on_raw_message_edit` event instead." -msgstr "このような場合には :attr:`Client.max_messages` を増やしてください。" - -#: ../../api.rst:359 -msgid "The following non-exhaustive cases trigger this event:" -msgstr "以下の非網羅的ケースがこのイベントを発生させます:" - -#: ../../api.rst:361 -msgid "A message has been pinned or unpinned." -msgstr "メッセージをピン留め、または解除した。" - -#: ../../api.rst:362 -msgid "The message content has been changed." -msgstr "メッセージの内容を変更した。" - -#: ../../api.rst:363 -msgid "The message has received an embed." -msgstr "メッセージが埋め込みを受け取った。" - -#: ../../api.rst:365 -msgid "" -"For performance reasons, the embed server does not do this in a " -"\"consistent\" manner." -msgstr "パフォーマンス上の理由から、埋め込みのサーバーはこれを「一貫した」方法では行いません。" - -#: ../../api.rst:367 -msgid "The message's embeds were suppressed or unsuppressed." -msgstr "" - -#: ../../api.rst:368 -msgid "A call message has received an update to its participants or ending time." -msgstr "通話呼び出しメッセージの参加者や終了時刻が変わった。" - -#: ../../api.rst:372 -msgid "The previous version of the message." -msgstr "更新前のメッセージ。" - -#: ../../api.rst:374 -msgid "The current version of the message." -msgstr "更新後のメッセージ。" - -#: ../../api.rst:379 -msgid "" -"Called when a message is edited. Unlike :func:`on_message_edit`, this is " -"called regardless of the state of the internal message cache." -msgstr "" -"メッセージが編集されたときに呼び出されます。 :func:`on_message_edit` " -"とは異なり、これは内部のメッセージキャッシュの状態に関係なく呼び出されます。" - -#: ../../api.rst:382 -msgid "" -"If the message is found in the message cache, it can be accessed via " -":attr:`RawMessageUpdateEvent.cached_message`" -msgstr "" -"メッセージがメッセージキャッシュ内に見つかった場合、 :attr:`RawMessageUpdateEvent.cached_message` " -"を介してアクセスすることができます。" - -#: ../../api.rst:385 -#, fuzzy -msgid "" -"Due to the inherently raw nature of this event, the data parameter " -"coincides with the raw data given by the `gateway " -"`_." -msgstr "" -"このイベントの性質は、本質的に生表現のため、データのパラメータは `ゲートウェイ " -"`_ " -"によって与えられた生データと一致します。" - -#: ../../api.rst:388 -msgid "" -"Since the data payload can be partial, care must be taken when accessing " -"stuff in the dictionary. One example of a common case of partial data is " -"when the ``'content'`` key is inaccessible. This denotes an \"embed\" " -"only edit, which is an edit in which only the embeds are updated by the " -"Discord embed server." -msgstr "データのペイロードが部分的であるため、データにアクセスするときは気をつけてください。部分的なデータの主な場合のひとつは、``'content'``にアクセスできない場合です。Discordの埋め込みサーバーによって、埋め込みが更新される、\"埋め込み\"しか変わっていない編集がそうです。" - -#: ../../api.rst:400 -#, fuzzy -msgid "" -"Called when a message has a reaction added to it. Similar to " -":func:`on_message_edit`, if the message is not found in the internal " -"message cache, then this event will not be called. Consider using " -":func:`on_raw_reaction_add` instead." -msgstr "" -"メッセージにリアクションが追加されたときに呼び出されます。 :func:`on_message_edit` " -"のように、内部メッセージキャッシュにメッセージが見つからない場合は、このイベントは呼び出されません。" - -#: ../../api.rst:406 -msgid "" -"To get the :class:`Message` being reacted, access it via " -":attr:`Reaction.message`." -msgstr "リアクションの付いた:class:`Message`を取得するには、:attr:`Reaction.message`を使ってください。" - -#: ../../api.rst:408 ../../api.rst:420 ../../api.rst:435 ../../api.rst:447 -#: ../../api.rst:458 ../../api.rst:470 ../../api.rst:481 ../../api.rst:493 -msgid "This requires :attr:`Intents.reactions` to be enabled." -msgstr "" - -#: ../../api.rst:410 ../../api.rst:437 -msgid "The current state of the reaction." -msgstr "リアクションの現在の状態。" - -#: ../../api.rst:412 ../../api.rst:439 -msgid "The user who added the reaction." -msgstr "リアクションを追加したユーザー。" - -#: ../../api.rst:417 -msgid "" -"Called when a message has a reaction added. Unlike " -":func:`on_reaction_add`, this is called regardless of the state of the " -"internal message cache." -msgstr "" -"メッセージにリアクションが追加されたときに呼び出されます。 :func:`on_reaction_add` " -"とは異なり、これは内部のメッセージキャッシュの状態に関係なく呼び出されます。" - -#: ../../api.rst:427 -msgid "" -"Called when a message has a reaction removed from it. Similar to " -"on_message_edit, if the message is not found in the internal message " -"cache, then this event will not be called." -msgstr "メッセージのリアクションが取り除かれたときに呼び出されます。on_message_editのように、内部のメッセージキャッシュにメッセージがないときには、このイベントは呼び出されません。" - -#: ../../api.rst:433 -msgid "To get the message being reacted, access it via :attr:`Reaction.message`." -msgstr "リアクションの付いたメッセージを取得するには、:attr:`Reaction.message`を使ってください。" - -#: ../../api.rst:444 -msgid "" -"Called when a message has a reaction removed. Unlike " -":func:`on_reaction_remove`, this is called regardless of the state of the" -" internal message cache." -msgstr "" -"メッセージからリアクションが削除されたときに呼び出されます。 :func:`on_reaction_remove` " -"とは異なり、これは内部メッセージキャッシュの状態に関係なく呼び出されます。" - -#: ../../api.rst:454 -#, fuzzy -msgid "" -"Called when a message has all its reactions removed from it. Similar to " -":func:`on_message_edit`, if the message is not found in the internal " -"message cache, then this event will not be called. Consider using " -":func:`on_raw_reaction_clear` instead." -msgstr "" -"メッセージのリアクションがすべて削除されたときに呼び出されます。 :func:`on_message_edit` " -"のように、内部メッセージキャッシュにメッセージが見つからない場合は、このイベントは呼び出されません。" - -#: ../../api.rst:460 -msgid "The message that had its reactions cleared." -msgstr "リアクションが削除されたメッセージ。" - -#: ../../api.rst:462 -msgid "The reactions that were removed." -msgstr "除去されたリアクション。" - -#: ../../api.rst:467 -msgid "" -"Called when a message has all its reactions removed. Unlike " -":func:`on_reaction_clear`, this is called regardless of the state of the " -"internal message cache." -msgstr "" -"メッセージからリアクションがすべて削除されたときに呼び出されます。 :func:`on_reaction_clear` " -"とは異なり、これは内部メッセージキャッシュの状態に関係なく呼び出されます。" - -#: ../../api.rst:477 -#, fuzzy -msgid "" -"Called when a message has a specific reaction removed from it. Similar to" -" :func:`on_message_edit`, if the message is not found in the internal " -"message cache, then this event will not be called. Consider using " -":func:`on_raw_reaction_clear_emoji` instead." -msgstr "" -"メッセージのリアクションがすべて削除されたときに呼び出されます。 :func:`on_message_edit` " -"のように、内部メッセージキャッシュにメッセージが見つからない場合は、このイベントは呼び出されません。" - -#: ../../api.rst:485 -#, fuzzy -msgid "The reaction that got cleared." -msgstr "除去されたリアクション。" - -#: ../../api.rst:490 -#, fuzzy -msgid "" -"Called when a message has a specific reaction removed from it. Unlike " -":func:`on_reaction_clear_emoji` this is called regardless of the state of" -" the internal message cache." -msgstr "" -"メッセージからリアクションがすべて削除されたときに呼び出されます。 :func:`on_reaction_clear` " -"とは異なり、これは内部メッセージキャッシュの状態に関係なく呼び出されます。" - -#: ../../api.rst:503 -msgid "Called whenever a private channel is deleted or created." -msgstr "プライベートチャンネルが削除されたり作成されたときに呼び出されます。" - -#: ../../api.rst:507 -msgid "The private channel that got created or deleted." -msgstr "作成、または削除されたプライベートチャンネル。" - -#: ../../api.rst:512 -msgid "Called whenever a private group DM is updated. e.g. changed name or topic." -msgstr "プライベートグループDMが更新されたとき呼び出されます。 例: 名前やトピックの変更。" - -#: ../../api.rst:516 -msgid "The updated group channel's old info." -msgstr "更新されたグループチャンネルの更新前情報。" - -#: ../../api.rst:518 -msgid "The updated group channel's new info." -msgstr "更新されたグループチャンネルの更新後情報。" - -#: ../../api.rst:523 -msgid "Called whenever a message is pinned or unpinned from a private channel." -msgstr "プライベートチャンネルのメッセージがピン留めされたりはずされたりしたときに呼ばれます。" - -#: ../../api.rst:525 -msgid "The private channel that had its pins updated." -msgstr "ピン留めが更新されたプライベートチャンネル。" - -#: ../../api.rst:527 ../../api.rst:561 -msgid "" -"The latest message that was pinned as a naive datetime in UTC. Could be " -"``None``." -msgstr "最後にピン留めされたメッセージがピン留めされたUTC naive datetime。 ``None``の場合もあります。" - -#: ../../api.rst:533 -msgid "Called whenever a guild channel is deleted or created." -msgstr "ギルドのチャンネルが削除・作成されたとき呼び出されます。" - -#: ../../api.rst:535 -msgid "Note that you can get the guild from :attr:`~abc.GuildChannel.guild`." -msgstr "ギルドは :attr:`~abc.GuildChannel.guild` で取得できます。" - -#: ../../api.rst:537 ../../api.rst:546 ../../api.rst:557 ../../api.rst:634 -#: ../../api.rst:653 ../../api.rst:667 ../../api.rst:681 ../../api.rst:690 -#: ../../api.rst:716 -msgid "This requires :attr:`Intents.guilds` to be enabled." -msgstr "" - -#: ../../api.rst:539 -msgid "The guild channel that got created or deleted." -msgstr "作成、または削除されたギルドチャンネル。" - -#: ../../api.rst:544 -msgid "" -"Called whenever a guild channel is updated. e.g. changed name, topic, " -"permissions." -msgstr "ギルドチャンネルが更新されるたびに呼び出されます。例えば名前、トピック、権限の変更などです。" - -#: ../../api.rst:548 -msgid "The updated guild channel's old info." -msgstr "更新されたギルドの更新前情報。" - -#: ../../api.rst:550 -msgid "The updated guild channel's new info." -msgstr "更新されたギルドの更新後情報。" - -#: ../../api.rst:555 -msgid "Called whenever a message is pinned or unpinned from a guild channel." -msgstr "ギルドチャンネルのメッセージがピン留めされたり、解除されたりしたときに呼び出されます。" - -#: ../../api.rst:559 -msgid "The guild channel that had its pins updated." -msgstr "ピン留めが更新されたギルドチャンネル。" - -#: ../../api.rst:568 -msgid "" -"Called whenever an integration is created, modified, or removed from a " -"guild." -msgstr "ギルドの連携サービスが作成、更新、削除されるたびに呼び出されます。" - -#: ../../api.rst:570 -msgid "This requires :attr:`Intents.integrations` to be enabled." -msgstr "" - -#: ../../api.rst:572 -msgid "The guild that had its integrations updated." -msgstr "連携サービスが更新されたギルド。" - -#: ../../api.rst:577 -msgid "" -"Called whenever a webhook is created, modified, or removed from a guild " -"channel." -msgstr "ギルドチャンネルのWebhookが作成、更新、削除されたときに呼び出されます。" - -#: ../../api.rst:579 -msgid "This requires :attr:`Intents.webhooks` to be enabled." -msgstr "" - -#: ../../api.rst:581 -msgid "The channel that had its webhooks updated." -msgstr "Webhookが更新されたチャンネル。" - -#: ../../api.rst:587 -msgid "Called when a :class:`Member` leaves or joins a :class:`Guild`." -msgstr ":class:`Member` が :class:`Guild` に参加したり退出したりしたときに呼び出されます。" - -#: ../../api.rst:589 ../../api.rst:605 ../../api.rst:622 -msgid "This requires :attr:`Intents.members` to be enabled." -msgstr "" - -#: ../../api.rst:591 -msgid "The member who joined or left." -msgstr "参加、または脱退したメンバー。" - -#: ../../api.rst:596 -msgid "Called when a :class:`Member` updates their profile." -msgstr ":class:`Member` がプロフィールを編集したとき呼び出されます。" - -#: ../../api.rst:598 ../../api.rst:616 -msgid "This is called when one or more of the following things change:" -msgstr "これらのうちひとつ以上が変更されたとき呼び出されます:" - -#: ../../api.rst:600 -msgid "status" -msgstr "ステータス" - -#: ../../api.rst:601 -msgid "activity" -msgstr "" - -#: ../../api.rst:602 -msgid "nickname" -msgstr "ニックネーム" - -#: ../../api.rst:603 discord.Member.edit:16 of -msgid "roles" -msgstr "roles" - -#: ../../api.rst:607 -msgid "The updated member's old info." -msgstr "更新されたメンバーの更新前情報。" - -#: ../../api.rst:609 -msgid "The updated member's updated info." -msgstr "更新されたメンバーの更新後情報。" - -#: ../../api.rst:614 -msgid "Called when a :class:`User` updates their profile." -msgstr ":class:`User` がプロフィールを編集したとき呼び出されます。" - -#: ../../api.rst:618 -msgid "avatar" -msgstr "アバター" - -#: ../../api.rst:619 -msgid "username" -msgstr "ユーザー名" - -#: ../../api.rst:620 -msgid "discriminator" -msgstr "識別子" - -#: ../../api.rst:624 -msgid "The updated user's old info." -msgstr "更新されたユーザーの更新前情報。" - -#: ../../api.rst:626 -msgid "The updated user's updated info." -msgstr "更新されたユーザーの更新後情報。" - -#: ../../api.rst:631 -msgid "" -"Called when a :class:`Guild` is either created by the :class:`Client` or " -"when the :class:`Client` joins a guild." -msgstr "" -":class:`Client` によって :class:`Guild` が作成された。または :class:`Client` " -"がギルドに参加したときに呼び出されます。" - -#: ../../api.rst:636 -msgid "The guild that was joined." -msgstr "参加したギルド。" - -#: ../../api.rst:641 -msgid "Called when a :class:`Guild` is removed from the :class:`Client`." -msgstr ":class:`Client` が :class:`Guild` から削除されたときに呼び出されます。" - -#: ../../api.rst:643 -msgid "This happens through, but not limited to, these circumstances:" -msgstr "これは以下の状況時に呼び出されますが、これに限ったものではありません:" - -#: ../../api.rst:645 -msgid "The client got banned." -msgstr "クライアントがBANされた。" - -#: ../../api.rst:646 -msgid "The client got kicked." -msgstr "クライアントがキックされた。" - -#: ../../api.rst:647 -msgid "The client left the guild." -msgstr "クライアントがギルドから退出した。" - -#: ../../api.rst:648 -msgid "The client or the guild owner deleted the guild." -msgstr "クライアント、またはギルドオーナーがギルドを削除した。" - -#: ../../api.rst:650 -msgid "" -"In order for this event to be invoked then the :class:`Client` must have " -"been part of the guild to begin with. (i.e. it is part of " -":attr:`Client.guilds`)" -msgstr "" -"このイベントが呼び出されるためには、 :class:`Client` がギルドに参加している必要があります。(つまり、 " -":attr:`Client.guilds` にギルドが存在しなければならない)" - -#: ../../api.rst:655 -msgid "The guild that got removed." -msgstr "削除されたギルド。" - -#: ../../api.rst:660 -msgid "Called when a :class:`Guild` updates, for example:" -msgstr ":class:`Guild` が更新されたときに呼び出されます。例えば:" - -#: ../../api.rst:662 -msgid "Changed name" -msgstr "名前が変更された" - -#: ../../api.rst:663 -msgid "Changed AFK channel" -msgstr "AFKチャンネルが変更された" - -#: ../../api.rst:664 -msgid "Changed AFK timeout" -msgstr "AFKのタイムアウト時間が変更された" - -#: ../../api.rst:665 -msgid "etc" -msgstr "その他" - -#: ../../api.rst:669 -msgid "The guild prior to being updated." -msgstr "更新される前のギルド。" - -#: ../../api.rst:671 -msgid "The guild after being updated." -msgstr "更新された後のギルド。" - -#: ../../api.rst:677 -msgid "Called when a :class:`Guild` creates or deletes a new :class:`Role`." -msgstr ":class:`Guild` で :class:`Role` が新しく作成されたか、削除されたときに呼び出されます。" - -#: ../../api.rst:679 -msgid "To get the guild it belongs to, use :attr:`Role.guild`." -msgstr "ギルドを取得するには :attr:`Role.guild` を使用してください。" - -#: ../../api.rst:683 -msgid "The role that was created or deleted." -msgstr "作成、または削除された役職。" - -#: ../../api.rst:688 -msgid "Called when a :class:`Role` is changed guild-wide." -msgstr ":class:`Role` がギルド全体で変更されたときに呼び出されます。" - -#: ../../api.rst:692 -msgid "The updated role's old info." -msgstr "更新された役職の更新前情報。" - -#: ../../api.rst:694 -msgid "The updated role's updated info." -msgstr "更新された役職の更新後情報。" - -#: ../../api.rst:699 -msgid "Called when a :class:`Guild` adds or removes :class:`Emoji`." -msgstr ":class:`Guild` に :class:`Emoji` が追加、または削除されたときに呼び出されます。" - -#: ../../api.rst:701 -msgid "This requires :attr:`Intents.emojis` to be enabled." -msgstr "" - -#: ../../api.rst:703 -msgid "The guild who got their emojis updated." -msgstr "絵文字が更新されたギルド。" - -#: ../../api.rst:705 -msgid "A list of emojis before the update." -msgstr "更新前の絵文字のリスト。" - -#: ../../api.rst:707 -msgid "A list of emojis after the update." -msgstr "更新後の絵文字のリスト。" - -#: ../../api.rst:713 -msgid "" -"Called when a guild becomes available or unavailable. The guild must have" -" existed in the :attr:`Client.guilds` cache." -msgstr "ギルドが利用可能・不可能になったときに呼び出されます。ギルドは :attr:`Client.guilds` キャッシュに存在していないといけません。" - -#: ../../api.rst:718 -msgid "The :class:`Guild` that has changed availability." -msgstr "利用状況が変わった:class:`Guild`。" - -#: ../../api.rst:722 -msgid "Called when a :class:`Member` changes their :class:`VoiceState`." -msgstr ":class:`Member` が :class:`VoiceState` を変更したとき呼び出されます。" - -#: ../../api.rst:724 -msgid "" -"The following, but not limited to, examples illustrate when this event is" -" called:" -msgstr "これらの場合に限りませんが、例を挙げると、以下の場合に呼び出されます:" - -#: ../../api.rst:726 -msgid "A member joins a voice channel." -msgstr "メンバーがボイスチャンネルに参加したとき。" - -#: ../../api.rst:727 -msgid "A member leaves a voice channel." -msgstr "メンバーがボイスチャンネルから退出したとき。" - -#: ../../api.rst:728 -msgid "A member is muted or deafened by their own accord." -msgstr "メンバーが自身でマイクやスピーカーをミュートしたとき。" - -#: ../../api.rst:729 -msgid "A member is muted or deafened by a guild administrator." -msgstr "メンバーがギルドの管理者によってマイクやスピーカーをミュートされたとき。" - -#: ../../api.rst:731 -msgid "This requires :attr:`Intents.voice_states` to be enabled." -msgstr "" - -#: ../../api.rst:733 -msgid "The member whose voice states changed." -msgstr "ボイスの状態が変わった `Member` 。" - -#: ../../api.rst:735 -msgid "The voice state prior to the changes." -msgstr "更新前のボイス状態。" - -#: ../../api.rst:737 -msgid "The voice state after to the changes." -msgstr "更新後のボイス状態。" - -#: ../../api.rst:742 -msgid "Called when user gets banned from a :class:`Guild`." -msgstr "ユーザーが :class:`Guild` からBANされたとき呼び出されます。" - -#: ../../api.rst:744 ../../api.rst:757 -msgid "This requires :attr:`Intents.bans` to be enabled." -msgstr "" - -#: ../../api.rst:746 -msgid "The guild the user got banned from." -msgstr "ユーザーがBANされたギルド。" - -#: ../../api.rst:748 -msgid "" -"The user that got banned. Can be either :class:`User` or :class:`Member` " -"depending if the user was in the guild or not at the time of removal." -msgstr "BANされたユーザー。BAN時にユーザーがギルドにいたかによって、 :class:`User` か :class:`Member` になります。" - -#: ../../api.rst:755 -msgid "Called when a :class:`User` gets unbanned from a :class:`Guild`." -msgstr ":class:`User` が :class:`Guild` のBANを解除されたとき呼び出されます。" - -#: ../../api.rst:759 -msgid "The guild the user got unbanned from." -msgstr "ユーザーのBANが解除されたギルド。" - -#: ../../api.rst:761 -msgid "The user that got unbanned." -msgstr "Banが解除されたユーザー。" - -#: ../../api.rst:766 -#, fuzzy -msgid "" -"Called when an :class:`Invite` is created. You must have the " -":attr:`~Permissions.manage_channels` permission to receive this." -msgstr "これを行うには、関連付けられたGuildにて、 :attr:`~.Permissions.manage_channels` 権限が必要です。" - -#: ../../api.rst:773 ../../api.rst:790 -msgid "" -"There is a rare possibility that the :attr:`Invite.guild` and " -":attr:`Invite.channel` attributes will be of :class:`Object` rather than " -"the respective models." -msgstr "" - -#: ../../api.rst:776 ../../api.rst:796 -msgid "This requires :attr:`Intents.invites` to be enabled." -msgstr "" - -#: ../../api.rst:778 discord.CategoryChannel.create_invite:26 -#: discord.TextChannel.create_invite:26 discord.VoiceChannel.create_invite:26 -#: discord.abc.GuildChannel.create_invite:26 of -msgid "The invite that was created." -msgstr "" - -#: ../../api.rst:783 -#, fuzzy -msgid "" -"Called when an :class:`Invite` is deleted. You must have the " -":attr:`~Permissions.manage_channels` permission to receive this." -msgstr "これを行うには、関連付けられたGuildにて、 :attr:`~.Permissions.manage_channels` 権限が必要です。" - -#: ../../api.rst:793 -msgid "" -"Outside of those two attributes, the only other attribute guaranteed to " -"be filled by the Discord gateway for this event is :attr:`Invite.code`." -msgstr "" - -#: ../../api.rst:798 -#, fuzzy -msgid "The invite that was deleted." -msgstr "招待の更新。" - -#: ../../api.rst:804 -msgid "Called when someone joins or leaves a :class:`GroupChannel`." -msgstr "誰かが :class:`GroupChannel` に参加、または脱退したときに呼び出されます。" - -#: ../../api.rst:806 -msgid "The group that the user joined or left." -msgstr "ユーザーが参加または脱退したグループ。" - -#: ../../api.rst:808 -msgid "The user that joined or left." -msgstr "参加または脱退したユーザー。" - -#: ../../api.rst:814 -msgid "" -"Called when a :class:`Relationship` is added or removed from the " -":class:`ClientUser`." -msgstr ":class:`ClientUser` の :class:`Relationship` が追加・削除されたとき呼び出されます。" - -#: ../../api.rst:817 -msgid "The relationship that was added or removed." -msgstr "追加・削除されたRelationship。" - -#: ../../api.rst:822 -msgid "" -"Called when a :class:`Relationship` is updated, e.g. when you block a " -"friend or a friendship is accepted." -msgstr ":class:`Relationship` が更新されたとき、たとえばフレンドをブロックしたり、フレンドが承認されたときに呼び出されます。" - -#: ../../api.rst:825 -msgid "The previous relationship status." -msgstr "以前のフレンドの状態。" - -#: ../../api.rst:827 -msgid "The updated relationship status." -msgstr "更新されたのフレンドの状態。" - -#: ../../api.rst:833 -msgid "Utility Functions" -msgstr "ユーティリティ関数" - -#: discord.utils.find:1 of -msgid "" -"A helper to return the first element found in the sequence that meets the" -" predicate. For example: ::" -msgstr "与えられた関数を満たす最初の要素を返すヘルパー。例: ::" - -#: discord.utils.find:6 of -msgid "" -"would find the first :class:`~discord.Member` whose name is 'Mighty' and " -"return it. If an entry is not found, then ``None`` is returned." -msgstr "" -"は、名前が'Mighty'である最初に見つかった :class:`~discord.Member` を返します。見つからない場合は " -"``None`` を返します。" - -#: discord.utils.find:9 of -msgid "" -"This is different from :func:`py:filter` due to the fact it stops the " -"moment it finds a valid entry." -msgstr "これは、適切な値を見つけると止まる点で、 :func:`py:filter` と異なります。" - -#: discord.utils.find:12 of -msgid "A function that returns a boolean-like result." -msgstr "真偽値を返す関数。" - -#: discord.utils.find:13 of -msgid "The iterable to search through." -msgstr "検索するイテラブル。" - -#: discord.utils.get:1 of -msgid "" -"A helper that returns the first element in the iterable that meets all " -"the traits passed in ``attrs``. This is an alternative for " -":func:`~discord.utils.find`." -msgstr "``attrs`` に渡されたすべての条件を満たす最初の要素を返すヘルパー。 :func:`~discord.utils.find` の代替案です。" - -#: discord.utils.get:5 of -msgid "" -"When multiple attributes are specified, they are checked using logical " -"AND, not logical OR. Meaning they have to meet every attribute passed in " -"and not one of them." -msgstr "複数の条件が指定されている場合、またはではなくかつでチェックされます。つまり、どれかではなく、すべての条件を満たさないといけません。" - -#: discord.utils.get:9 of -msgid "" -"To have a nested attribute search (i.e. search by ``x.y``) then pass in " -"``x__y`` as the keyword argument." -msgstr "ネストされている属性で検索するとき (例: ``x.y`` で検索) は、キーワード引数に ``x__y`` を渡してください。" - -#: discord.utils.get:12 of -msgid "" -"If nothing is found that matches the attributes passed, then ``None`` is " -"returned." -msgstr "与えられた属性にマッチする項目がない場合、 ``None`` を返します。" - -#: discord.utils.get:17 of -msgid "Basic usage:" -msgstr "基本的な使用法:" - -#: discord.utils.get:23 of -msgid "Multiple attribute matching:" -msgstr "複数の属性のマッチ:" - -#: discord.utils.get:29 of -msgid "Nested attribute matching:" -msgstr "ネストされた属性のマッチ:" - -#: discord.utils.get:35 of -msgid "An iterable to search through." -msgstr "検索するイテラブル。" - -#: discord.utils.get:36 of -msgid "Keyword arguments that denote attributes to search with." -msgstr "検索用の属性を表すキーワード引数。" - -#: discord.utils.snowflake_time:1 of -msgid "The snowflake ID." -msgstr "" - -#: discord.utils.snowflake_time:4 of -#, fuzzy -msgid "The creation date in UTC of a Discord snowflake ID." -msgstr "Discordのsnowflake IDの作成日時をUTCで返します。" - -#: ../../api.rst:878 discord.AuditLogEntry.created_at:3 -#: discord.CategoryChannel.created_at:3 discord.ClientUser.created_at:5 -#: discord.DMChannel.created_at:3 discord.Embed:51 discord.Emoji.created_at:3 -#: discord.GroupChannel.created_at:3 discord.Guild.created_at:3 -#: discord.Integration:81 discord.Invite:74 discord.Message.created_at:3 -#: discord.Object.created_at:3 discord.PartialInviteChannel.created_at:3 -#: discord.PartialInviteGuild.created_at:3 discord.Role.created_at:3 -#: discord.Spotify.end:3 discord.Spotify.start:3 discord.Template:39 -#: discord.Template:45 discord.TextChannel.created_at:3 -#: discord.User.created_at:5 discord.VoiceChannel.created_at:3 -#: discord.Webhook.created_at:3 discord.Widget.created_at:3 -#: discord.WidgetChannel.created_at:3 discord.WidgetMember.created_at:5 -#: discord.abc.GuildChannel.created_at:3 discord.abc.Snowflake.created_at:3 -#: discord.utils.snowflake_time:5 of -msgid ":class:`datetime.datetime`" -msgstr "" - -#: discord.utils.oauth_url:1 of -msgid "" -"A helper function that returns the OAuth2 URL for inviting the bot into " -"guilds." -msgstr "ボットをギルドに招待するOAuth2 URLを返すヘルパー関数。" - -#: discord.utils.oauth_url:4 of -msgid "The client ID for your bot." -msgstr "ボットのクライアントID。" - -#: discord.utils.oauth_url:6 of -msgid "" -"The permissions you're requesting. If not given then you won't be " -"requesting any permissions." -msgstr "要求する権限。もし与えられていない場合、権限を要求しません。" - -#: discord.utils.oauth_url:9 of -msgid "The guild to pre-select in the authorization screen, if available." -msgstr "利用できる場合は、認証画面であらかじめ選択されるギルド。" - -#: discord.utils.oauth_url:11 of -msgid "An optional valid redirect URI." -msgstr "任意の有効なリダイレクトURI。" - -#: discord.utils.oauth_url:14 of -#, fuzzy -msgid "The OAuth2 URL for inviting the bot into guilds." -msgstr "ボットをギルドに招待するOAuth2 URLを返すヘルパー関数。" - -#: discord.utils.escape_markdown:1 of -msgid "A helper function that escapes Discord's markdown." -msgstr "Discordのマークダウンをエスケープするヘルパー関数。" - -#: discord.utils.escape_markdown:3 of -msgid "The text to escape markdown from." -msgstr "マークダウンをエスケープするテキスト。" - -#: discord.utils.escape_markdown:5 of -msgid "" -"Whether to escape the markdown characters as needed. This means that it " -"does not escape extraneous characters if it's not necessary, e.g. " -"``**hello**`` is escaped into ``\\*\\*hello**`` instead of " -"``\\*\\*hello\\*\\*``. Note however that this can open you up to some " -"clever syntax abuse. Defaults to ``False``." -msgstr "" -"必要に応じてマークダウンをエスケープするかどうか。必要でなければ無関係な文字をエスケープしません。 ``**hello**`` は " -"``\\*\\*hello\\*\\*`` ではなく ``\\*\\*hello**`` " -"にエスケープされます。ただし、これによって巧妙な構文の乱用が発生する可能性があります。デフォルトは ``False`` です。" - -#: discord.utils.escape_markdown:11 of -msgid "" -"Whether to leave links alone when escaping markdown. For example, if a " -"URL in the text contains characters such as ``_`` then it will be left " -"alone. This option is not supported with ``as_needed``. Defaults to " -"``True``." -msgstr "" -"マークダウンをエスケープするときにリンクを残すかどうか。たとえば、テキスト中のURLが ``_`` " -"のような文字を含む場合、これは残されます。これは ``as_needed`` と併用できません。デフォルトは ``True`` です。" - -#: discord.utils.escape_markdown:17 of -msgid "The text with the markdown special characters escaped with a slash." -msgstr "マークダウンの特殊文字をスラッシュでエスケープしたテキスト。" - -#: discord.utils.escape_mentions:1 of -msgid "A helper function that escapes everyone, here, role, and user mentions." -msgstr "everyone、here、役職とユーザーのメンションをエスケープするヘルパー関数。" - -#: discord.utils.escape_mentions:5 of -msgid "This does not include channel mentions." -msgstr "チャンネルのメンションはエスケープしません。" - -#: discord.utils.escape_mentions:9 of -msgid "" -"For more granular control over what mentions should be escaped within " -"messages, refer to the :class:`~discord.AllowedMentions` class." -msgstr "" - -#: discord.utils.escape_mentions:13 of -msgid "The text to escape mentions from." -msgstr "メンションをエスケープするテキスト。" - -#: discord.utils.escape_mentions:16 of -msgid "The text with the mentions removed." -msgstr "メンションが削除されたテキスト。" - -#: discord.utils.resolve_invite:1 of -#, fuzzy -msgid "Resolves an invite from a :class:`~discord.Invite`, URL or code." -msgstr ":class:`~discord.Invite` やURL、IDから招待を解決します" - -#: discord.utils.resolve_invite:3 of -msgid "The invite." -msgstr "招待。" - -#: discord.utils.resolve_invite:6 of -msgid "The invite code." -msgstr "招待コード。" - -#: discord.utils.resolve_template:1 of -#, fuzzy -msgid "Resolves a template code from a :class:`~discord.Template`, URL or code." -msgstr ":class:`~discord.Invite` やURL、IDから招待を解決します" - -#: discord.utils.resolve_template:5 of -#, fuzzy -msgid "The code." -msgstr "招待コード。" - -#: discord.Template:7 discord.utils.resolve_template:8 of -#, fuzzy -msgid "The template code." -msgstr "招待コード。" - -#: discord.utils.sleep_until:3 of -#, fuzzy -msgid "Sleep until a specified time." -msgstr "特定のインデックスのフィールドを削除します。" - -#: discord.utils.sleep_until:5 of -msgid "If the time supplied is in the past this function will yield instantly." -msgstr "" - -#: discord.utils.sleep_until:9 of -msgid "" -"The timestamp in which to sleep until. If the datetime is naive then it " -"is assumed to be in UTC." -msgstr "" - -#: discord.utils.sleep_until:12 of -msgid "If provided is returned to the caller when the coroutine completes." -msgstr "" - -#: ../../api.rst:854 -msgid "Profile" -msgstr "プロフィール" - -#: ../../api.rst:858 -msgid "A namedtuple representing a user's Discord public profile." -msgstr "Discordの公開プロフィールを表すnamedtuple。" - -#: ../../api.rst:862 -msgid "The :class:`User` the profile belongs to." -msgstr "このプロフィールを持つ :class:`User` 。" - -#: ../../api.rst:867 -msgid "A boolean indicating if the user has premium (i.e. Discord Nitro)." -msgstr "このユーザーがプレミアム(つまり: Discord Nitro)を持っているかを示す真偽値。" - -#: ../../api.rst:872 -msgid "An alias for :attr:`premium`." -msgstr ":attr:`premium` のエイリアス。" - -#: ../../api.rst:875 -msgid "" -"A naive UTC datetime indicating how long the user has been premium since." -" This could be ``None`` if not applicable." -msgstr "プレミアムを有効にした日時を表すtimezone naiveなUTC datetime。利用できない場合は ``None`` になります。" - -#: ../../api.rst:881 -msgid "A boolean indicating if the user is Discord Staff." -msgstr "ユーザーがDiscordのスタッフかを示す真偽値。" - -#: ../../api.rst:886 -msgid "A boolean indicating if the user is a Discord Partner." -msgstr "ユーザーがDiscordパートナーかを示す真偽値。" - -#: ../../api.rst:891 -msgid "A boolean indicating if the user is a Bug Hunter." -msgstr "ユーザーがバグハンターかを示す真偽値。" - -#: ../../api.rst:896 -msgid "A boolean indicating if the user has had premium before 10 October, 2018." -msgstr "ユーザーが2018年10月10日以前にNitroを持っていたかを示す真偽値。" - -#: ../../api.rst:901 -msgid "A boolean indicating if the user is in Discord HypeSquad." -msgstr "ユーザーがDiscord HypeSquadに属しているかを示す真偽値。" - -#: ../../api.rst:906 -msgid "A list of :class:`HypeSquadHouse` that the user is in." -msgstr "ユーザーが所属する :class:`HypeSquadHouse` のリスト。" - -#: ../../api.rst:908 -msgid "List[:class:`HypeSquadHouse`]" -msgstr "" - -#: ../../api.rst:911 -#, fuzzy -msgid "A boolean indicating if the user is in part of a team." -msgstr "ユーザーがDiscordのスタッフかを示す真偽値。" - -#: ../../api.rst:919 -#, fuzzy -msgid "" -"A boolean indicating if the user is officially part of the Discord urgent" -" message system." -msgstr "ユーザーがDiscordパートナーかを示す真偽値。" - -#: ../../api.rst:927 -msgid "" -"A list of :class:`Guild` that the :class:`ClientUser` shares with this " -"user." -msgstr ":class:`ClientUser` がこのユーザーと共有する :class:`Guild` の一覧。" - -#: ../../api.rst:930 -#, fuzzy -msgid "List[:class:`Guild`]" -msgstr ":class:`.Guild`" - -#: ../../api.rst:934 -msgid "A list of dict objects indicating the accounts the user has connected." -msgstr "ユーザーが関連付けたアカウントを示す辞書型のリスト。" - -#: ../../api.rst:936 -msgid "An example entry can be seen below: ::" -msgstr "以下がその例です: ::" - -#: ../../api.rst:940 -msgid "List[Dict[:class:`str`, :class:`str`]]" -msgstr "" - -#: ../../api.rst:945 -msgid "Enumerations" -msgstr "列挙型" - -#: ../../api.rst:947 -msgid "" -"The API provides some enumerations for certain types of strings to avoid " -"the API from being stringly typed in case the strings change in the " -"future." -msgstr "APIは、文字列が将来変わることに備え、文字列を直書きするのを防ぐために、いくらかの文字列の列挙型を提供します。" - -#: ../../api.rst:950 -msgid "" -"All enumerations are subclasses of an internal class which mimics the " -"behaviour of :class:`enum.Enum`." -msgstr "列挙型はすべて :class:`enum.Enum` の動作を模倣した内部クラスのサブクラスです。" - -#: ../../api.rst:955 -msgid "Specifies the type of channel." -msgstr "特定チャンネルのチャンネルタイプ。" - -#: ../../api.rst:959 -msgid "A text channel." -msgstr "テキストチャンネル。" - -#: ../../api.rst:962 -msgid "A voice channel." -msgstr "ボイスチャンネル。" - -#: ../../api.rst:965 -msgid "A private text channel. Also called a direct message." -msgstr "プライベートのテキストチャンネル。ダイレクトメッセージとも呼ばれています。" - -#: ../../api.rst:968 -msgid "A private group text channel." -msgstr "プライベートのグループDM。" - -#: ../../api.rst:971 -#, fuzzy -msgid "A category channel." -msgstr "テキストチャンネル。" - -#: ../../api.rst:974 -msgid "A guild news channel." -msgstr "ギルドのニュースチャンネル。" - -#: ../../api.rst:978 -msgid "A guild store channel." -msgstr "ギルドのストアチャンネル。" - -#: ../../api.rst:982 -msgid "" -"Specifies the type of :class:`Message`. This is used to denote if a " -"message is to be interpreted as a system message or a regular message." -msgstr ":class:`Message` のタイプを指定します。これは、メッセージが通常のものかシステムメッセージかを判断するのに使用できます。" - -#: ../../api.rst:989 -#, fuzzy -msgid "Checks if two messages are equal." -msgstr "二つのユーザーが等しいかを比較します。" - -#: ../../api.rst:992 -#, fuzzy -msgid "Checks if two messages are not equal." -msgstr "二つのユーザーが等しいものではないか比較します。" - -#: ../../api.rst:996 -msgid "The default message type. This is the same as regular messages." -msgstr "デフォルトのメッセージ。これは通常のメッセージと同じです。" - -#: ../../api.rst:999 -msgid "" -"The system message when a recipient is added to a group private message, " -"i.e. a private channel of type :attr:`ChannelType.group`." -msgstr "" -"グループのプライベートメッセージ、つまり、 :attr:`ChannelType.group` " -"のプライベートチャンネルの参加者が増えたときのシステムメッセージ。" - -#: ../../api.rst:1003 -msgid "" -"The system message when a recipient is removed from a group private " -"message, i.e. a private channel of type :attr:`ChannelType.group`." -msgstr "" -"グループのプライベートメッセージ、つまり、 :attr:`ChannelType.group` " -"のプライベートチャンネルの参加者が減ったときのシステムメッセージ。" - -#: ../../api.rst:1007 -msgid "" -"The system message denoting call state, e.g. missed call, started call, " -"etc." -msgstr "通話の状態を示すシステムメッセージ。例: 不在着信、通話の開始、その他。" - -#: ../../api.rst:1011 -msgid "The system message denoting that a channel's name has been changed." -msgstr "チャンネル名の変更を示すシステムメッセージ。" - -#: ../../api.rst:1014 -msgid "The system message denoting that a channel's icon has been changed." -msgstr "チャンネルのアイコンの変更を示すシステムメッセージ。" - -#: ../../api.rst:1017 -msgid "" -"The system message denoting that a pinned message has been added to a " -"channel." -msgstr "ピン留めの追加を示すシステムメッセージ。" - -#: ../../api.rst:1020 -msgid "The system message denoting that a new member has joined a Guild." -msgstr "ギルドの新規メンバーの参加を示すシステムメッセージ。" - -#: ../../api.rst:1024 -msgid "The system message denoting that a member has \"nitro boosted\" a guild." -msgstr "メンバーがギルドを「ニトロブースト」したことを表すシステムメッセージ。" - -#: ../../api.rst:1027 -msgid "" -"The system message denoting that a member has \"nitro boosted\" a guild " -"and it achieved level 1." -msgstr "メンバーがギルドを「ニトロブースト」し、それによってギルドがレベル1に到達したことを表すシステムメッセージ。" - -#: ../../api.rst:1031 -msgid "" -"The system message denoting that a member has \"nitro boosted\" a guild " -"and it achieved level 2." -msgstr "メンバーがギルドを「ニトロブースト」し、それによってギルドがレベル2に到達したことを表すシステムメッセージ。" - -#: ../../api.rst:1035 -msgid "" -"The system message denoting that a member has \"nitro boosted\" a guild " -"and it achieved level 3." -msgstr "メンバーがギルドを「ニトロブースト」し、それによってギルドがレベル3に到達したことを表すシステムメッセージ。" - -#: ../../api.rst:1039 -#, fuzzy -msgid "" -"The system message denoting that an announcement channel has been " -"followed." -msgstr "チャンネル名の変更を示すシステムメッセージ。" - -#: ../../api.rst:1045 -msgid "" -"Specifies the type of :class:`Activity`. This is used to check how to " -"interpret the activity itself." -msgstr ":class:`Activity` のタイプを指定します。これはアクティビティをどう解釈するか確認するために使われます。" - -#: ../../api.rst:1050 -msgid "An unknown activity type. This should generally not happen." -msgstr "不明なアクティビティタイプ。これは通常起こらないはずです。" - -#: ../../api.rst:1053 -msgid "A \"Playing\" activity type." -msgstr "プレイ中のアクティビティタイプ。" - -#: ../../api.rst:1056 -msgid "A \"Streaming\" activity type." -msgstr "放送中のアクティビティタイプ。" - -#: ../../api.rst:1059 -msgid "A \"Listening\" activity type." -msgstr "再生中のアクティビティタイプ。" - -#: ../../api.rst:1062 -msgid "A \"Watching\" activity type." -msgstr "視聴中のアクティビティタイプ。" - -#: ../../api.rst:1065 -#, fuzzy -msgid "A custom activity type." -msgstr "放送中のアクティビティタイプ。" - -#: ../../api.rst:1068 -#, fuzzy -msgid "A competing activity type." -msgstr "視聴中のアクティビティタイプ。" - -#: ../../api.rst:1074 -msgid "Specifies the HypeSquad house a user belongs to." -msgstr "ユーザーが属するHypeSquadハウスを指定します。" - -#: ../../api.rst:1078 -msgid "The \"Bravery\" house." -msgstr "Braveryのハウス。" - -#: ../../api.rst:1081 -msgid "The \"Brilliance\" house." -msgstr "Brillianceのハウス。" - -#: ../../api.rst:1084 -msgid "The \"Balance\" house." -msgstr "Balanceのハウス。" - -#: ../../api.rst:1088 -msgid "Specifies the region a voice server belongs to." -msgstr "ボイスサーバーのリージョンを指定します。" - -#: ../../api.rst:1092 -msgid "The Amsterdam region." -msgstr "アムステルダムリージョン。" - -#: ../../api.rst:1095 -msgid "The Brazil region." -msgstr "ブラジルリージョン。" - -#: ../../api.rst:1098 -#, fuzzy -msgid "The Dubai region." -msgstr "インドリージョン。" - -#: ../../api.rst:1104 -msgid "The EU Central region." -msgstr "中央ヨーロッパのリージョン。" - -#: ../../api.rst:1107 -msgid "The EU West region." -msgstr "東ヨーロッパのリージョン。" - -#: ../../api.rst:1110 -#, fuzzy -msgid "The Europe region." -msgstr "日本リージョン。" - -#: ../../api.rst:1116 -msgid "The Frankfurt region." -msgstr "フランクフルトリージョン。" - -#: ../../api.rst:1119 -msgid "The Hong Kong region." -msgstr "香港リージョン。" - -#: ../../api.rst:1122 -msgid "The India region." -msgstr "インドリージョン。" - -#: ../../api.rst:1128 -msgid "The Japan region." -msgstr "日本リージョン。" - -#: ../../api.rst:1131 -msgid "The London region." -msgstr "ロンドンリージョン。" - -#: ../../api.rst:1134 -msgid "The Russia region." -msgstr "ロシアリージョン。" - -#: ../../api.rst:1137 -msgid "The Singapore region." -msgstr "シンガポールリージョン。" - -#: ../../api.rst:1140 -msgid "The South Africa region." -msgstr "南アフリカリージョン。" - -#: ../../api.rst:1143 -#, fuzzy -msgid "The South Korea region." -msgstr "南アフリカリージョン。" - -#: ../../api.rst:1146 -msgid "The Sydney region." -msgstr "シドニーリージョン。" - -#: ../../api.rst:1149 -msgid "The US Central region." -msgstr "中央アメリカのリージョン。" - -#: ../../api.rst:1152 -msgid "The US East region." -msgstr "アメリカ西部のリージョン。" - -#: ../../api.rst:1155 -msgid "The US South region." -msgstr "アメリカ南部のリージョン。" - -#: ../../api.rst:1158 -msgid "The US West region." -msgstr "アメリカ東部のリージョン。" - -#: ../../api.rst:1161 -msgid "The Amsterdam region for VIP guilds." -msgstr "VIPギルド用のアムステルダムリージョン。" - -#: ../../api.rst:1164 -msgid "The US East region for VIP guilds." -msgstr "VIPギルド用のアメリカ東部リージョン。" - -#: ../../api.rst:1167 -msgid "The US West region for VIP guilds." -msgstr "VIPギルド用のアメリカ西部リージョン。" - -#: ../../api.rst:1171 -msgid "" -"Specifies a :class:`Guild`\\'s verification level, which is the criteria " -"in which a member must meet before being able to send messages to the " -"guild." -msgstr ":class:`Guild` の認証レベルを指定します。これは、メンバーがギルドにメッセージを送信できるようになるまでの条件です。" - -#: ../../api.rst:1178 -msgid "Checks if two verification levels are equal." -msgstr "認証レベルが等しいか確認します。" - -#: ../../api.rst:1181 -msgid "Checks if two verification levels are not equal." -msgstr "認証レベルが等しくないか確認します。" - -#: ../../api.rst:1184 -msgid "Checks if a verification level is higher than another." -msgstr "認証レベルがあるレベルより厳しいか確認します。" - -#: ../../api.rst:1187 -msgid "Checks if a verification level is lower than another." -msgstr "認証レベルがあるレベルより緩いか確認します。" - -#: ../../api.rst:1190 -msgid "Checks if a verification level is higher or equal to another." -msgstr "認証レベルがあるレベルと同じ、又は厳しいか確認します。" - -#: ../../api.rst:1193 -msgid "Checks if a verification level is lower or equal to another." -msgstr "認証レベルがあるレベルと同じ、又は緩いか確認します。" - -#: ../../api.rst:1197 -msgid "No criteria set." -msgstr "無制限。" - -#: ../../api.rst:1200 -msgid "Member must have a verified email on their Discord account." -msgstr "メンバーはDiscordアカウントのメール認証を済ませないといけません。" - -#: ../../api.rst:1203 -msgid "" -"Member must have a verified email and be registered on Discord for more " -"than five minutes." -msgstr "メンバーはメール認証をし、かつアカウント登録から5分経過しないといけません。" - -#: ../../api.rst:1207 -msgid "" -"Member must have a verified email, be registered on Discord for more than" -" five minutes, and be a member of the guild itself for more than ten " -"minutes." -msgstr "メンバーはメール認証をし、Discordのアカウント登録から5分経過し、かつ10分以上ギルドに所属していないといけません。" - -#: ../../api.rst:1212 -msgid "An alias for :attr:`high`." -msgstr ":attr:`high` のエイリアス。" - -#: ../../api.rst:1215 -msgid "Member must have a verified phone on their Discord account." -msgstr "メンバーはDiscordアカウントの電話番号認証を済ませないといけません。" - -#: ../../api.rst:1219 ../../api.rst:1223 -msgid "An alias for :attr:`extreme`." -msgstr ":attr:`extreme` のエイリアス。" - -#: ../../api.rst:1229 -msgid "" -"Specifies whether a :class:`Guild` has notifications on for all messages " -"or mentions only by default." -msgstr ":class:`Guild` の通知対象のデフォルト設定をすべてのメッセージ、またはメンションのみに指定します。" - -#: ../../api.rst:1233 -msgid "" -"Members receive notifications for every message regardless of them being " -"mentioned." -msgstr "メンバーは、メンションされているかどうかに関わらず、すべてのメッセージの通知を受け取ります。" - -#: ../../api.rst:1236 -msgid "Members receive notifications for messages they are mentioned in." -msgstr "メンバーは自分がメンションされているメッセージの通知のみ受け取ります。" - -#: ../../api.rst:1240 -msgid "" -"Specifies a :class:`Guild`\\'s explicit content filter, which is the " -"machine learning algorithms that Discord uses to detect if an image " -"contains pornography or otherwise explicit content." -msgstr "" -":class:`Guild` " -"の不適切な表現のフィルターを指定します。これはDiscordがポルノ画像や不適切な表現を検出するために使用している機械学習アルゴリズムです。" - -#: ../../api.rst:1248 -msgid "Checks if two content filter levels are equal." -msgstr "表現のフィルターのレベルが等しいか確認します。" - -#: ../../api.rst:1251 -msgid "Checks if two content filter levels are not equal." -msgstr "表現のフィルターのレベルが等しくないか確認します。" - -#: ../../api.rst:1254 -msgid "Checks if a content filter level is higher than another." -msgstr "表現のフィルターのレベルが他のレベルより大きいか確認します。" - -#: ../../api.rst:1257 -msgid "Checks if a content filter level is lower than another." -msgstr "表現のフィルターのレベルが他のレベルより小さいか確認します。" - -#: ../../api.rst:1260 -msgid "Checks if a content filter level is higher or equal to another." -msgstr "表現のフィルターのレベルが他のレベルより大きい、または等しいか確認します。" - -#: ../../api.rst:1263 -msgid "Checks if a content filter level is lower or equal to another." -msgstr "表現のフィルターのレベルが他のレベルより小さい、または等しいか確認します。" - -#: ../../api.rst:1267 -msgid "The guild does not have the content filter enabled." -msgstr "ギルドで表現のフィルターが有効ではない。" - -#: ../../api.rst:1270 -msgid "The guild has the content filter enabled for members without a role." -msgstr "ギルドで役職を持たないメンバーに対して表現のフィルターが有効化されている。" - -#: ../../api.rst:1273 -msgid "The guild has the content filter enabled for every member." -msgstr "ギルドで、すべてのメンバーに対して表現のフィルターが有効化されている。" - -#: ../../api.rst:1277 -msgid "Specifies a :class:`Member` 's status." -msgstr ":class:`Member` のステータスを指定します。" - -#: ../../api.rst:1281 -msgid "The member is online." -msgstr "メンバーがオンライン。" - -#: ../../api.rst:1284 -msgid "The member is offline." -msgstr "メンバーがオフライン。" - -#: ../../api.rst:1287 -msgid "The member is idle." -msgstr "メンバーが退席中。" - -#: ../../api.rst:1290 -msgid "The member is \"Do Not Disturb\"." -msgstr "メンバーが取り込み中。" - -#: ../../api.rst:1293 -msgid "An alias for :attr:`dnd`." -msgstr ":attr:`dnd` のエイリアス。" - -#: ../../api.rst:1296 -msgid "" -"The member is \"invisible\". In reality, this is only used in sending a " -"presence a la :meth:`Client.change_presence`. When you receive a user's " -"presence this will be :attr:`offline` instead." -msgstr "" -"メンバーがオンライン状態を隠す。実際には、これは :meth:`Client.change_presence` " -"でプレゼンスを送信する時のみ使用します。ユーザーのプレゼンスを受け取った場合、これは :attr:`offline` に置き換えられます。" - -#: ../../api.rst:1303 -msgid "" -"Represents the type of action being done for a :class:`AuditLogEntry`\\, " -"which is retrievable via :meth:`Guild.audit_logs`." -msgstr "" -":class:`AuditLogEntry` で行われた動作の種類を取得します。AuditLogEntryは " -":meth:`Guild.audit_logs` で取得可能です。" - -#: ../../api.rst:1308 -msgid "The guild has updated. Things that trigger this include:" -msgstr "ギルドが更新された。このトリガーとなるものは以下のとおりです。" - -#: ../../api.rst:1310 -msgid "Changing the guild vanity URL" -msgstr "ギルドのvanity URLの変更" - -#: ../../api.rst:1311 -msgid "Changing the guild invite splash" -msgstr "ギルドの招待時のスプラッシュ画像の変更" - -#: ../../api.rst:1312 -msgid "Changing the guild AFK channel or timeout" -msgstr "ギルドのAFKチャンネル、またはタイムアウトの変更" - -#: ../../api.rst:1313 -msgid "Changing the guild voice server region" -msgstr "ギルドの音声通話のサーバーリージョンの変更" - -#: ../../api.rst:1314 -msgid "Changing the guild icon" -msgstr "ギルドのアイコンの変更" - -#: ../../api.rst:1315 -msgid "Changing the guild moderation settings" -msgstr "ギルドの管理設定の変更" - -#: ../../api.rst:1316 -msgid "Changing things related to the guild widget" -msgstr "ギルドのウィジェットに関連するものの変更" - -#: ../../api.rst:1318 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Guild`." -msgstr "これが上記のactionならば、:attr:`~AuditLogEntry.target` のtypeは :class:`Guild`になります。" - -#: ../../api.rst:1321 ../../api.rst:1344 ../../api.rst:1363 ../../api.rst:1382 -#: ../../api.rst:1401 ../../api.rst:1417 ../../api.rst:1432 ../../api.rst:1491 -#: ../../api.rst:1505 ../../api.rst:1550 ../../api.rst:1570 ../../api.rst:1585 -#: ../../api.rst:1600 ../../api.rst:1624 ../../api.rst:1641 ../../api.rst:1657 -#: ../../api.rst:1669 ../../api.rst:1682 ../../api.rst:1693 ../../api.rst:1704 -msgid "Possible attributes for :class:`AuditLogDiff`:" -msgstr ":class:`AuditLogDiff` から、以下の属性を参照できます:" - -#: ../../api.rst:1323 -msgid ":attr:`~AuditLogDiff.afk_channel`" -msgstr ":attr:`~AuditLogDiff.afk_channel`" - -#: ../../api.rst:1324 -msgid ":attr:`~AuditLogDiff.system_channel`" -msgstr ":attr:`~AuditLogDiff.system_channel`" - -#: ../../api.rst:1325 -msgid ":attr:`~AuditLogDiff.afk_timeout`" -msgstr ":attr:`~AuditLogDiff.afk_timeout`" - -#: ../../api.rst:1326 -msgid ":attr:`~AuditLogDiff.default_message_notifications`" -msgstr ":attr:`~AuditLogDiff.default_message_notifications`" - -#: ../../api.rst:1327 -msgid ":attr:`~AuditLogDiff.explicit_content_filter`" -msgstr ":attr:`~AuditLogDiff.explicit_content_filter`" - -#: ../../api.rst:1328 -msgid ":attr:`~AuditLogDiff.mfa_level`" -msgstr ":attr:`~AuditLogDiff.mfa_level`" - -#: ../../api.rst:1329 ../../api.rst:1346 ../../api.rst:1365 ../../api.rst:1384 -#: ../../api.rst:1555 ../../api.rst:1575 ../../api.rst:1590 ../../api.rst:1644 -#: ../../api.rst:1660 ../../api.rst:1672 ../../api.rst:1684 ../../api.rst:1695 -#: ../../api.rst:1706 -msgid ":attr:`~AuditLogDiff.name`" -msgstr ":attr:`~AuditLogDiff.name`" - -#: ../../api.rst:1330 -msgid ":attr:`~AuditLogDiff.owner`" -msgstr ":attr:`~AuditLogDiff.owner`" - -#: ../../api.rst:1331 -msgid ":attr:`~AuditLogDiff.splash`" -msgstr ":attr:`~AuditLogDiff.splash`" - -#: ../../api.rst:1332 -msgid ":attr:`~AuditLogDiff.vanity_url_code`" -msgstr ":attr:`~AuditLogDiff.vanity_url_code`" - -#: ../../api.rst:1336 -msgid "A new channel was created." -msgstr "チャンネルが作成されました。" - -#: ../../api.rst:1338 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is " -"either a :class:`abc.GuildChannel` or :class:`Object` with an ID." -msgstr "" -"これが上記のactionならば、 :attr:`~AuditLogEntry.target` のtypeは、IDが設定されている " -":class:`abc.GuildChannel` か、 :class:`Object` のいずれかになります。" - -#: ../../api.rst:1341 -msgid "" -"A more filled out object in the :class:`Object` case can be found by " -"using :attr:`~AuditLogEntry.after`." -msgstr "" -":class:`Object` の場合、 :attr:`~AuditLogEntry.after` " -"を使用して、より詳細な情報を持つオブジェクトを見つけることができます。" - -#: ../../api.rst:1347 ../../api.rst:1366 ../../api.rst:1385 ../../api.rst:1406 -#: ../../api.rst:1422 ../../api.rst:1437 -msgid ":attr:`~AuditLogDiff.type`" -msgstr ":attr:`~AuditLogDiff.type`" - -#: ../../api.rst:1348 ../../api.rst:1368 ../../api.rst:1386 -msgid ":attr:`~AuditLogDiff.overwrites`" -msgstr ":attr:`~AuditLogDiff.overwrites`" - -#: ../../api.rst:1352 -msgid "A channel was updated. Things that trigger this include:" -msgstr "チャンネルが更新されました。これのトリガーとなるものは以下の通りです。" - -#: ../../api.rst:1354 -msgid "The channel name or topic was changed" -msgstr "チャンネルのチャンネルトピックの変更、または名前の変更。" - -#: ../../api.rst:1355 -msgid "The channel bitrate was changed" -msgstr "チャンネルのビットレートの変更。" - -#: ../../api.rst:1357 ../../api.rst:1392 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`abc.GuildChannel` or :class:`Object` with an ID." -msgstr "" -"これが上記のactionならば、 :attr:`~AuditLogEntry.target` のtypeは、IDが設定されている " -":class:`abc.GuildChannel` か、 :class:`Object` のいずれかになります。" - -#: ../../api.rst:1360 -msgid "" -"A more filled out object in the :class:`Object` case can be found by " -"using :attr:`~AuditLogEntry.after` or :attr:`~AuditLogEntry.before`." -msgstr "" -":class:`Object` の場合、 :attr:`~AuditLogEntry.after` または " -":attr:`~AuditLogEntry.before` を使用して、より詳細な情報を持つオブジェクトを見つけることができます。" - -#: ../../api.rst:1367 -msgid ":attr:`~AuditLogDiff.position`" -msgstr ":attr:`~AuditLogDiff.position`" - -#: ../../api.rst:1369 -msgid ":attr:`~AuditLogDiff.topic`" -msgstr ":attr:`~AuditLogDiff.topic`" - -#: ../../api.rst:1370 -msgid ":attr:`~AuditLogDiff.bitrate`" -msgstr ":attr:`~AuditLogDiff.bitrate`" - -#: ../../api.rst:1374 -msgid "A channel was deleted." -msgstr "チャンネルの削除。" - -#: ../../api.rst:1376 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is an " -":class:`Object` with an ID." -msgstr "" -"これが上記のactionならば、 :attr:`~AuditLogEntry.target` のtypeは、IDが設定されている " -":class:`Object` になります。" - -#: ../../api.rst:1379 -msgid "" -"A more filled out object can be found by using the " -":attr:`~AuditLogEntry.before` object." -msgstr "" - -#: ../../api.rst:1390 -msgid "A channel permission overwrite was created." -msgstr "チャンネルにおける権限の上書き設定の作成。" - -#: ../../api.rst:1395 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.extra` is " -"either a :class:`Role` or :class:`Member`. If the object is not found " -"then it is a :class:`Object` with an ID being filled, a name, and a " -"``type`` attribute set to either ``'role'`` or ``'member'`` to help " -"dictate what type of ID it is." -msgstr "" -"この場合には、 :attr:`~AuditLogEntry.extra` は :class:`Role` か :class:`Member` " -"です。もしオブジェクトが見つからない場合はid、name、 ``'role'`` か ``'member'`` である``type`` 属性がある" -" :class:`Object` です。" - -#: ../../api.rst:1403 ../../api.rst:1419 ../../api.rst:1434 -msgid ":attr:`~AuditLogDiff.deny`" -msgstr ":attr:`~AuditLogDiff.deny`" - -#: ../../api.rst:1404 ../../api.rst:1420 ../../api.rst:1435 -msgid ":attr:`~AuditLogDiff.allow`" -msgstr ":attr:`~AuditLogDiff.allow`" - -#: ../../api.rst:1405 ../../api.rst:1421 ../../api.rst:1436 -msgid ":attr:`~AuditLogDiff.id`" -msgstr ":attr:`~AuditLogDiff.id`" - -#: ../../api.rst:1410 -msgid "" -"A channel permission overwrite was changed, this is typically when the " -"permission values change." -msgstr "チャンネルの権限の上書きが変更されました。典型的な例は、権限が変更された場合です。" - -#: ../../api.rst:1413 ../../api.rst:1428 -msgid "" -"See :attr:`overwrite_create` for more information on how the " -":attr:`~AuditLogEntry.target` and :attr:`~AuditLogEntry.extra` fields are" -" set." -msgstr "" -":attr:`overwrite_create` に、 :attr:`~AuditLogEntry.target` と " -":attr:`~AuditLogEntry.extra` についての説明があります。" - -#: ../../api.rst:1426 -msgid "A channel permission overwrite was deleted." -msgstr "チャンネルにおける権限の上書き設定の削除。" - -#: ../../api.rst:1441 -msgid "A member was kicked." -msgstr "メンバーのキック。" - -#: ../../api.rst:1443 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`User` who got kicked." -msgstr "" -"これが上記のactionならば、:attr:`~AuditLogEntry.target` のtypeはキックされたユーザーに該当する " -":class:`User` になります。" - -#: ../../api.rst:1446 ../../api.rst:1461 ../../api.rst:1470 ../../api.rst:1479 -msgid "When this is the action, :attr:`~AuditLogEntry.changes` is empty." -msgstr "これが上記のactionなら、:attr:`~AuditLogEntry.changes` は空になります。" - -#: ../../api.rst:1450 -msgid "A member prune was triggered." -msgstr "非アクティブメンバーの一括キック。" - -#: ../../api.rst:1452 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is set" -" to ``None``." -msgstr "これが上記のactionならば、:attr:`~AuditLogEntry.target` のtypeは ``None`` に設定されます。" - -#: ../../api.rst:1455 ../../api.rst:1514 ../../api.rst:1716 ../../api.rst:1743 -#: ../../api.rst:1758 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.extra` is set " -"to an unspecified proxy object with two attributes:" -msgstr "" - -#: ../../api.rst:1458 -msgid "``delete_members_days``: An integer specifying how far the prune was." -msgstr "" - -#: ../../api.rst:1459 -msgid "``members_removed``: An integer specifying how many members were removed." -msgstr "" - -#: ../../api.rst:1465 -msgid "A member was banned." -msgstr "メンバーのBAN。" - -#: ../../api.rst:1467 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`User` who got banned." -msgstr "" -"これが上記のactionならば、:attr:`~AuditLogEntry.target` のtypeはBANされたユーザーに該当する " -":class:`User` になります。" - -#: ../../api.rst:1474 -msgid "A member was unbanned." -msgstr "メンバーのBANの解除。" - -#: ../../api.rst:1476 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`User` who got unbanned." -msgstr "" -"これが上記のactionならば、:attr:`~AuditLogEntry.target` のtypeはBANが解除されたユーザーに該当する " -":class:`User` になります。" - -#: ../../api.rst:1483 -msgid "A member has updated. This triggers in the following situations:" -msgstr "メンバーの何らかの更新。これのトリガーとなるのは以下の場合です:" - -#: ../../api.rst:1485 -msgid "A nickname was changed" -msgstr "メンバーのニックネームの変更。" - -#: ../../api.rst:1486 -msgid "They were server muted or deafened (or it was undo'd)" -msgstr "" - -#: ../../api.rst:1488 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Member` or :class:`User` who got updated." -msgstr "" -"これが上記のactionならば、 :attr:`~AuditLogEntry.target` のtypeは、更新の行われた " -":class:`Member` あるいは :class:`User` になります。" - -#: ../../api.rst:1493 -msgid ":attr:`~AuditLogDiff.nick`" -msgstr ":attr:`~AuditLogDiff.nick`" - -#: ../../api.rst:1494 -msgid ":attr:`~AuditLogDiff.mute`" -msgstr ":attr:`~AuditLogDiff.mute`" - -#: ../../api.rst:1495 -msgid ":attr:`~AuditLogDiff.deaf`" -msgstr ":attr:`~AuditLogDiff.deaf`" - -#: ../../api.rst:1499 -msgid "" -"A member's role has been updated. This triggers when a member either " -"gains a role or losses a role." -msgstr "" - -#: ../../api.rst:1502 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Member` or :class:`User` who got the role." -msgstr "" -"これが上記のactionならば、 :attr:`~AuditLogEntry.target` のtypeは、役職の更新が行われた " -":class:`Member` あるいは :class:`User` になります。" - -#: ../../api.rst:1507 -msgid ":attr:`~AuditLogDiff.roles`" -msgstr ":attr:`~AuditLogDiff.roles`" - -#: ../../api.rst:1511 -msgid "" -"A member's voice channel has been updated. This triggers when a member is" -" moved to a different voice channel." -msgstr "" - -#: ../../api.rst:1517 -msgid "" -"``channel``: A :class:`TextChannel` or :class:`Object` with the channel " -"ID where the members were moved." -msgstr "" - -#: ../../api.rst:1518 -msgid "``count``: An integer specifying how many members were moved." -msgstr "" - -#: ../../api.rst:1524 -msgid "" -"A member's voice state has changed. This triggers when a member is force " -"disconnected from voice." -msgstr "" - -#: ../../api.rst:1527 ../../api.rst:1729 -#, fuzzy -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.extra` is set " -"to an unspecified proxy object with one attribute:" -msgstr "" -"これが上記のactionならば、 :attr:`~AuditLogEntry.target` のtypeは、IDが設定されている " -":class:`Object` になります。" - -#: ../../api.rst:1530 -msgid "``count``: An integer specifying how many members were disconnected." -msgstr "" - -#: ../../api.rst:1536 -msgid "A bot was added to the guild." -msgstr "" - -#: ../../api.rst:1538 -#, fuzzy -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Member` or :class:`User` which was added to the guild." -msgstr "" -"これが上記のactionならば、 :attr:`~AuditLogEntry.target` のtypeは、役職の更新が行われた " -":class:`Member` あるいは :class:`User` になります。" - -#: ../../api.rst:1545 -msgid "A new role was created." -msgstr "新しい役職の作成。" - -#: ../../api.rst:1547 ../../api.rst:1567 ../../api.rst:1582 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Role` or a :class:`Object` with the ID." -msgstr "" -"これが上記のactionならば、 :attr:`~AuditLogEntry.target` のtypeは、IDが設定されている " -":class:`Role` か、 :class:`Object` のいずれかになります。" - -#: ../../api.rst:1552 ../../api.rst:1572 ../../api.rst:1587 -msgid ":attr:`~AuditLogDiff.colour`" -msgstr ":attr:`~AuditLogDiff.colour`" - -#: ../../api.rst:1553 ../../api.rst:1573 ../../api.rst:1588 -msgid ":attr:`~AuditLogDiff.mentionable`" -msgstr ":attr:`~AuditLogDiff.mentionable`" - -#: ../../api.rst:1554 ../../api.rst:1574 ../../api.rst:1589 -msgid ":attr:`~AuditLogDiff.hoist`" -msgstr ":attr:`~AuditLogDiff.hoist`" - -#: ../../api.rst:1556 ../../api.rst:1576 ../../api.rst:1591 -msgid ":attr:`~AuditLogDiff.permissions`" -msgstr ":attr:`~AuditLogDiff.permissions`" - -#: ../../api.rst:1560 -msgid "A role was updated. This triggers in the following situations:" -msgstr "役職の何らかの更新。これのトリガーとなるのは以下の場合です:" - -#: ../../api.rst:1562 -msgid "The name has changed" -msgstr "名前の更新。" - -#: ../../api.rst:1563 -msgid "The permissions have changed" -msgstr "" - -#: ../../api.rst:1564 -msgid "The colour has changed" -msgstr "" - -#: ../../api.rst:1565 -msgid "Its hoist/mentionable state has changed" -msgstr "" - -#: ../../api.rst:1580 -msgid "A role was deleted." -msgstr "役職の削除。" - -#: ../../api.rst:1595 -msgid "An invite was created." -msgstr "招待の作成。" - -#: ../../api.rst:1597 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Invite` that was created." -msgstr "" -"これが上記のactionならば、:attr:`~AuditLogEntry.target` のtypeは作成された招待に該当する " -":class:`Invite` になります。" - -#: ../../api.rst:1602 ../../api.rst:1626 -msgid ":attr:`~AuditLogDiff.max_age`" -msgstr ":attr:`~AuditLogDiff.max_age`" - -#: ../../api.rst:1603 ../../api.rst:1627 -msgid ":attr:`~AuditLogDiff.code`" -msgstr ":attr:`~AuditLogDiff.code`" - -#: ../../api.rst:1604 ../../api.rst:1628 -msgid ":attr:`~AuditLogDiff.temporary`" -msgstr ":attr:`~AuditLogDiff.temporary`" - -#: ../../api.rst:1605 ../../api.rst:1629 -msgid ":attr:`~AuditLogDiff.inviter`" -msgstr ":attr:`~AuditLogDiff.inviter`" - -#: ../../api.rst:1606 ../../api.rst:1630 ../../api.rst:1643 ../../api.rst:1659 -#: ../../api.rst:1671 -msgid ":attr:`~AuditLogDiff.channel`" -msgstr ":attr:`~AuditLogDiff.channel`" - -#: ../../api.rst:1607 ../../api.rst:1631 -msgid ":attr:`~AuditLogDiff.uses`" -msgstr ":attr:`~AuditLogDiff.uses`" - -#: ../../api.rst:1608 ../../api.rst:1632 -msgid ":attr:`~AuditLogDiff.max_uses`" -msgstr ":attr:`~AuditLogDiff.max_uses`" - -#: ../../api.rst:1612 -msgid "An invite was updated." -msgstr "招待の更新。" - -#: ../../api.rst:1614 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Invite` that was updated." -msgstr "" - -#: ../../api.rst:1619 -msgid "An invite was deleted." -msgstr "" - -#: ../../api.rst:1621 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Invite` that was deleted." -msgstr "" - -#: ../../api.rst:1636 -msgid "A webhook was created." -msgstr "" - -#: ../../api.rst:1638 ../../api.rst:1654 ../../api.rst:1666 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Object` with the webhook ID." -msgstr "" - -#: ../../api.rst:1645 ../../api.rst:1673 -msgid ":attr:`~AuditLogDiff.type` (always set to ``1`` if so)" -msgstr "" - -#: ../../api.rst:1649 -msgid "A webhook was updated. This trigger in the following situations:" -msgstr "" - -#: ../../api.rst:1651 -msgid "The webhook name changed" -msgstr "" - -#: ../../api.rst:1652 -msgid "The webhook channel changed" -msgstr "" - -#: ../../api.rst:1664 -msgid "A webhook was deleted." -msgstr "" - -#: ../../api.rst:1677 -msgid "An emoji was created." -msgstr "" - -#: ../../api.rst:1679 ../../api.rst:1690 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Emoji` or :class:`Object` with the emoji ID." -msgstr "" - -#: ../../api.rst:1688 -msgid "An emoji was updated. This triggers when the name has changed." -msgstr "" - -#: ../../api.rst:1699 -msgid "An emoji was deleted." -msgstr "" - -#: ../../api.rst:1701 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Object` with the emoji ID." -msgstr "" - -#: ../../api.rst:1710 -msgid "" -"A message was deleted by a moderator. Note that this only triggers if the" -" message was deleted by someone other than the author." -msgstr "" - -#: ../../api.rst:1713 -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Member` or :class:`User` who had their message deleted." -msgstr "" - -#: ../../api.rst:1719 ../../api.rst:1732 -msgid "``count``: An integer specifying how many messages were deleted." -msgstr "" - -#: ../../api.rst:1720 -msgid "" -"``channel``: A :class:`TextChannel` or :class:`Object` with the channel " -"ID where the message got deleted." -msgstr "" - -#: ../../api.rst:1724 -msgid "Messages were bulk deleted by a moderator." -msgstr "" - -#: ../../api.rst:1726 -#, fuzzy -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`TextChannel` or :class:`Object` with the ID of the channel that " -"was purged." -msgstr "" -"これが上記のactionならば、 :attr:`~AuditLogEntry.target` のtypeは、IDが設定されている " -":class:`abc.GuildChannel` か、 :class:`Object` のいずれかになります。" - -#: ../../api.rst:1738 -#, fuzzy -msgid "A message was pinned in a channel." -msgstr "メッセージをピン留め、または解除した。" - -#: ../../api.rst:1740 -#, fuzzy -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Member` or :class:`User` who had their message pinned." -msgstr "" -"これが上記のactionならば、 :attr:`~AuditLogEntry.target` のtypeは、役職の更新が行われた " -":class:`Member` あるいは :class:`User` になります。" - -#: ../../api.rst:1746 -msgid "" -"``channel``: A :class:`TextChannel` or :class:`Object` with the channel " -"ID where the message was pinned." -msgstr "" - -#: ../../api.rst:1747 -msgid "``message_id``: the ID of the message which was pinned." -msgstr "" - -#: ../../api.rst:1753 -#, fuzzy -msgid "A message was unpinned in a channel." -msgstr "ギルドチャンネルのメッセージがピン留めされたり、解除されたりしたときに呼び出されます。" - -#: ../../api.rst:1755 -#, fuzzy -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Member` or :class:`User` who had their message unpinned." -msgstr "" -"これが上記のactionならば、 :attr:`~AuditLogEntry.target` のtypeは、更新の行われた " -":class:`Member` あるいは :class:`User` になります。" - -#: ../../api.rst:1761 -msgid "" -"``channel``: A :class:`TextChannel` or :class:`Object` with the channel " -"ID where the message was unpinned." -msgstr "" - -#: ../../api.rst:1762 -msgid "``message_id``: the ID of the message which was unpinned." -msgstr "" - -#: ../../api.rst:1768 -#, fuzzy -msgid "A guild integration was created." -msgstr "招待の作成。" - -#: ../../api.rst:1770 -#, fuzzy -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Object` with the integration ID of the integration which was " -"created." -msgstr "" -"これが上記のactionならば、:attr:`~AuditLogEntry.target` のtypeは作成された招待に該当する " -":class:`Invite` になります。" - -#: ../../api.rst:1777 -#, fuzzy -msgid "A guild integration was updated." -msgstr "連携サービスが更新されたギルド。" - -#: ../../api.rst:1779 -#, fuzzy -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Object` with the integration ID of the integration which was " -"updated." -msgstr "" -"これが上記のactionならば、:attr:`~AuditLogEntry.target` のtypeは作成された招待に該当する " -":class:`Invite` になります。" - -#: ../../api.rst:1786 -#, fuzzy -msgid "A guild integration was deleted." -msgstr "連携サービスが更新されたギルド。" - -#: ../../api.rst:1788 -#, fuzzy -msgid "" -"When this is the action, the type of :attr:`~AuditLogEntry.target` is the" -" :class:`Object` with the integration ID of the integration which was " -"deleted." -msgstr "" -"これが上記のactionならば、:attr:`~AuditLogEntry.target` のtypeは作成された招待に該当する " -":class:`Invite` になります。" - -#: ../../api.rst:1795 -msgid "Represents the category that the :class:`AuditLogAction` belongs to." -msgstr "" - -#: ../../api.rst:1797 -msgid "This can be retrieved via :attr:`AuditLogEntry.category`." -msgstr "" - -#: ../../api.rst:1801 -msgid "The action is the creation of something." -msgstr "" - -#: ../../api.rst:1805 -msgid "The action is the deletion of something." -msgstr "" - -#: ../../api.rst:1809 -msgid "The action is the update of something." -msgstr "" - -#: ../../api.rst:1813 -msgid "Specifies the type of :class:`Relationship`." -msgstr "" - -#: ../../api.rst:1817 ../../api.rst:1843 ../../api.rst:1865 ../../api.rst:1894 -#: ../../api.rst:1911 -msgid "This only applies to users, *not* bots." -msgstr "" - -#: ../../api.rst:1821 -msgid "You are friends with this user." -msgstr "" - -#: ../../api.rst:1825 -msgid "You have blocked this user." -msgstr "このユーザーはブロックされています。" - -#: ../../api.rst:1829 -msgid "The user has sent you a friend request." -msgstr "フレンド申請が届いています。" - -#: ../../api.rst:1833 -msgid "You have sent a friend request to this user." -msgstr "" - -#: ../../api.rst:1838 -msgid "" -"Represents the options found in ``Settings > Privacy & Safety > Safe " -"Direct Messaging`` in the Discord client." -msgstr "" - -#: ../../api.rst:1847 -msgid "Scan all direct messages from everyone." -msgstr "" - -#: ../../api.rst:1851 -msgid "Scan all direct messages that aren't from friends." -msgstr "" - -#: ../../api.rst:1855 -msgid "Don't scan any direct messages." -msgstr "" - -#: ../../api.rst:1860 -msgid "" -"Represents the options found in ``Settings > Privacy & Safety > Who Can " -"Add You As A Friend`` in the Discord client." -msgstr "" - -#: ../../api.rst:1869 -msgid "This allows no-one to add you as a friend." -msgstr "" - -#: ../../api.rst:1873 -msgid "This allows guild members to add you as a friend." -msgstr "" - -#: ../../api.rst:1877 -msgid "This allows friends of friends to add you as a friend." -msgstr "" - -#: ../../api.rst:1881 -msgid "This is a superset of :attr:`mutual_guilds` and :attr:`mutual_friends`." -msgstr "" - -#: ../../api.rst:1885 -msgid "This allows everyone to add you as a friend." -msgstr "" - -#: ../../api.rst:1890 -msgid "Represents the user's Discord Nitro subscription type." -msgstr "" - -#: ../../api.rst:1898 -msgid "Represents the Discord Nitro with Nitro-exclusive games." -msgstr "" - -#: ../../api.rst:1902 -msgid "Represents the Discord Nitro with no Nitro-exclusive games." -msgstr "" - -#: ../../api.rst:1907 -msgid "Represents the theme synced across all Discord clients." -msgstr "" - -#: ../../api.rst:1915 -msgid "Represents the Light theme on Discord." -msgstr "Discordのライトテーマを表します。" - -#: ../../api.rst:1919 -msgid "Represents the Dark theme on Discord." -msgstr "Discordのダークテーマを表します。" - -#: ../../api.rst:1924 -msgid "" -"Represents the membership state of a team member retrieved through " -":func:`Bot.application_info`." -msgstr "" - -#: ../../api.rst:1930 -#, fuzzy -msgid "Represents an invited member." -msgstr "Discordの埋め込みを表します。" - -#: ../../api.rst:1934 -msgid "Represents a member currently in the team." -msgstr "" - -#: ../../api.rst:1938 -msgid "Represents the type of webhook that can be received." -msgstr "" - -#: ../../api.rst:1944 -msgid "Represents a webhook that can post messages to channels with a token." -msgstr "" - -#: ../../api.rst:1948 -msgid "" -"Represents a webhook that is internally managed by Discord, used for " -"following channels." -msgstr "" - -#: ../../api.rst:1952 -msgid "" -"Represents the behaviour the :class:`Integration` should perform when a " -"user's subscription has finished." -msgstr "" - -#: ../../api.rst:1955 -msgid "There is an alias for this called ``ExpireBehavior``." -msgstr "" - -#: ../../api.rst:1961 -msgid "" -"This will remove the :attr:`Integration.role` from the user when their " -"subscription is finished." -msgstr "" - -#: ../../api.rst:1966 -msgid "This will kick the user when their subscription is finished." -msgstr "" - -#: ../../api.rst:1970 -msgid "Represents the default avatar of a Discord :class:`User`" -msgstr "" - -#: ../../api.rst:1974 -msgid "" -"Represents the default avatar with the color blurple. See also " -":attr:`Colour.blurple`" -msgstr "" - -#: ../../api.rst:1978 -msgid "" -"Represents the default avatar with the color grey. See also " -":attr:`Colour.greyple`" -msgstr "" - -#: ../../api.rst:1982 -#, fuzzy -msgid "An alias for :attr:`grey`." -msgstr ":attr:`high` のエイリアス。" - -#: ../../api.rst:1985 -msgid "" -"Represents the default avatar with the color green. See also " -":attr:`Colour.green`" -msgstr "" - -#: ../../api.rst:1989 -msgid "" -"Represents the default avatar with the color orange. See also " -":attr:`Colour.orange`" -msgstr "" - -#: ../../api.rst:1993 -msgid "" -"Represents the default avatar with the color red. See also " -":attr:`Colour.red`" -msgstr "" - -#: ../../api.rst:1998 -msgid "Async Iterator" -msgstr "非同期イテレータ" - -#: ../../api.rst:2000 -msgid "" -"Some API functions return an \"async iterator\". An async iterator is " -"something that is capable of being used in an :ref:`async for statement " -"`." -msgstr "" -"一部のAPI関数では「非同期イテレータ」を返します。非同期イテレータは :ref:`async for 構文 ` " -"で使用できるものです。" - -#: ../../api.rst:2003 -msgid "These async iterators can be used as follows: ::" -msgstr "これら非同期イテレータは以下のようにして使用可能です: ::" - -#: ../../api.rst:2008 -msgid "" -"Certain utilities make working with async iterators easier, detailed " -"below." -msgstr "" - -#: ../../api.rst:2012 -msgid "" -"Represents the \"AsyncIterator\" concept. Note that no such class exists," -" it is purely abstract." -msgstr "" - -#: ../../api.rst:2019 -msgid "Iterates over the contents of the async iterator." -msgstr "" - -#: ../../api.rst:2027 -msgid "" -"Advances the iterator by one, if possible. If no more items are found " -"then this raises :exc:`NoMoreItems`." -msgstr "" - -#: ../../api.rst:2035 -msgid "Similar to :func:`utils.get` except run over the async iterator." -msgstr "" - -#: ../../api.rst:2037 -msgid "Getting the last message by a user named 'Dave' or ``None``: ::" -msgstr "" - -#: ../../api.rst:2046 -msgid "Similar to :func:`utils.find` except run over the async iterator." -msgstr "" - -#: ../../api.rst:2048 -msgid "" -"Unlike :func:`utils.find`\\, the predicate provided can be a " -"|coroutine_link|_." -msgstr "" - -#: ../../api.rst:2051 -msgid "Getting the last audit log with a reason or ``None``: ::" -msgstr "" - -#: ../../api.rst:2058 -msgid "The predicate to use. Could be a |coroutine_link|_." -msgstr "" - -#: ../../api.rst:2059 -msgid "The first element that returns ``True`` for the predicate or ``None``." -msgstr "" - -#: ../../api.rst:2066 -msgid "Flattens the async iterator into a :class:`list` with all the elements." -msgstr "" - -#: ../../api.rst:2068 -msgid "A list of every element in the async iterator." -msgstr "" - -#: ../../api.rst:2073 -msgid "" -"This is similar to the built-in :func:`map ` function. Another " -":class:`AsyncIterator` is returned that executes the function on every " -"element it is iterating over. This function can either be a regular " -"function or a |coroutine_link|_." -msgstr "" - -#: ../../api.rst:2078 -msgid "Creating a content iterator: ::" -msgstr "" - -#: ../../api.rst:2086 -msgid "The function to call on every element. Could be a |coroutine_link|_." -msgstr "" - -#: ../../api.rst:2087 ../../api.rst:2104 -#, fuzzy -msgid ":class:`AsyncIterator`" -msgstr ":class:`str`" - -#: ../../api.rst:2091 -msgid "" -"This is similar to the built-in :func:`filter ` function. " -"Another :class:`AsyncIterator` is returned that filters over the original" -" async iterator. This predicate can be a regular function or a " -"|coroutine_link|_." -msgstr "" - -#: ../../api.rst:2095 -msgid "Getting messages by non-bot accounts: ::" -msgstr "" - -#: ../../api.rst:2103 -msgid "The predicate to call on every element. Could be a |coroutine_link|_." -msgstr "" - -#: ../../api.rst:2109 -msgid "Audit Log Data" -msgstr "監査ログデータ" - -#: ../../api.rst:2111 -msgid "" -"Working with :meth:`Guild.audit_logs` is a complicated process with a lot" -" of machinery involved. The library attempts to make it easy to use and " -"friendly. In order to accomplish this goal, it must make use of a couple " -"of data classes that aid in this goal." -msgstr "" - -#: discord.AuditLogEntry:1 of -msgid "Represents an Audit Log entry." -msgstr "" - -#: discord.AuditLogEntry:3 of -msgid "You retrieve these via :meth:`Guild.audit_logs`." -msgstr "" - -#: discord.AuditLogEntry:7 of -#, fuzzy -msgid "The action that was done." -msgstr "参加したギルド。" - -#: discord.AuditLogEntry:9 of -#, fuzzy -msgid ":class:`AuditLogAction`" -msgstr ":class:`.Guild`" - -#: discord.AuditLogEntry:13 of -msgid "" -"The user who initiated this action. Usually a :class:`Member`\\, unless " -"gone then it's a :class:`User`." -msgstr "" - -#: discord.AuditLogEntry:16 discord.Message:25 of -#, fuzzy -msgid ":class:`abc.User`" -msgstr ":class:`str`" - -#: discord.AuditLogEntry:20 of -msgid "The entry ID." -msgstr "" - -#: discord.AuditLogEntry:26 of -msgid "" -"The target that got changed. The exact type of this depends on the action" -" being done." -msgstr "" - -#: discord.AuditLogEntry:29 discord.AuditLogEntry:44 of -msgid "Any" -msgstr "" - -#: discord.AuditLogEntry:33 of -msgid "The reason this action was done." -msgstr "" - -#: discord.AuditLogEntry:39 of -msgid "" -"Extra information that this entry has that might be useful. For most " -"actions, this is ``None``. However in some cases it contains extra " -"information. See :class:`AuditLogAction` for which actions have this " -"field filled out." -msgstr "" - -#: discord.AuditLogEntry.created_at:1 of -#, fuzzy -msgid "Returns the entry's creation time in UTC." -msgstr "カテゴリの名前を返します。" - -#: discord.AuditLogEntry.category:1 of -#, fuzzy -msgid "The category of the action, if applicable." -msgstr "該当すれば :class:`Relationship` が返ります。" - -#: discord.AuditLogEntry.category:3 of -msgid "Optional[:class:`AuditLogActionCategory`]" -msgstr "" - -#: discord.AuditLogEntry.changes:1 of -msgid "The list of changes this entry has." -msgstr "" - -#: discord.AuditLogEntry.changes:3 of -#, fuzzy -msgid ":class:`AuditLogChanges`" -msgstr ":class:`bytes`" - -#: discord.AuditLogEntry.before:1 of -msgid "The target's prior state." -msgstr "" - -#: discord.AuditLogEntry.after:3 discord.AuditLogEntry.before:3 of -#, fuzzy -msgid ":class:`AuditLogDiff`" -msgstr ":class:`.Guild`" - -#: discord.AuditLogEntry.after:1 of -msgid "The target's subsequent state." -msgstr "" - -#: ../../api.rst:2120 -msgid "An audit log change set." -msgstr "" - -#: ../../api.rst:2124 -msgid "The old value. The attribute has the type of :class:`AuditLogDiff`." -msgstr "" - -#: ../../api.rst:2126 ../../api.rst:2146 -msgid "" -"Depending on the :class:`AuditLogActionCategory` retrieved by " -":attr:`~AuditLogEntry.category`\\, the data retrieved by this attribute " -"differs:" -msgstr "" - -#: ../../api.rst:2131 ../../api.rst:2151 -msgid "Category" -msgstr "" - -#: ../../api.rst:2131 ../../api.rst:2151 -msgid "Description" -msgstr "" - -#: ../../api.rst:2133 ../../api.rst:2153 -msgid ":attr:`~AuditLogActionCategory.create`" -msgstr ":attr:`~AuditLogActionCategory.create`" - -#: ../../api.rst:2133 -msgid "All attributes are set to ``None``." -msgstr "" - -#: ../../api.rst:2135 ../../api.rst:2155 -msgid ":attr:`~AuditLogActionCategory.delete`" -msgstr ":attr:`~AuditLogActionCategory.delete`" - -#: ../../api.rst:2135 -msgid "All attributes are set the value before deletion." -msgstr "" - -#: ../../api.rst:2137 ../../api.rst:2157 -msgid ":attr:`~AuditLogActionCategory.update`" -msgstr ":attr:`~AuditLogActionCategory.update`" - -#: ../../api.rst:2137 -msgid "All attributes are set the value before updating." -msgstr "" - -#: ../../api.rst:2139 ../../api.rst:2159 -msgid "``None``" -msgstr "``None``" - -#: ../../api.rst:2139 ../../api.rst:2159 -msgid "No attributes are set." -msgstr "" - -#: ../../api.rst:2144 -msgid "The new value. The attribute has the type of :class:`AuditLogDiff`." -msgstr "" - -#: ../../api.rst:2153 -msgid "All attributes are set to the created value" -msgstr "" - -#: ../../api.rst:2155 -msgid "All attributes are set to ``None``" -msgstr "" - -#: ../../api.rst:2157 -msgid "All attributes are set the value after updating." -msgstr "" - -#: ../../api.rst:2164 -msgid "" -"Represents an audit log \"change\" object. A change object has dynamic " -"attributes that depend on the type of action being done. Certain actions " -"map to certain attributes being set." -msgstr "" - -#: ../../api.rst:2168 -msgid "" -"Note that accessing an attribute that does not match the specified action" -" will lead to an attribute error." -msgstr "" - -#: ../../api.rst:2171 -msgid "" -"To get a list of attributes that have been set, you can iterate over " -"them. To see a list of all possible attributes that could be set based on" -" the action being done, check the documentation for " -":class:`AuditLogAction`, otherwise check the documentation below for all " -"attributes that are possible." -msgstr "" - -#: ../../api.rst:2180 -msgid "Returns an iterator over (attribute, value) tuple of this diff." -msgstr "" - -#: ../../api.rst:2184 -#, fuzzy -msgid "A name of something." -msgstr "ギルドの名前。" - -#: ../../api.rst:2190 -msgid "A guild's icon hash. See also :attr:`Guild.icon`." -msgstr "" - -#: ../../api.rst:2196 -msgid "The guild's invite splash hash. See also :attr:`Guild.splash`." -msgstr "" - -#: ../../api.rst:2202 -msgid "The guild's owner. See also :attr:`Guild.owner`" -msgstr "" - -#: ../../api.rst:2204 -msgid "Union[:class:`Member`, :class:`User`]" -msgstr "" - -#: ../../api.rst:2208 -msgid "The guild's voice region. See also :attr:`Guild.region`." -msgstr "" - -#: ../../api.rst:2210 discord.GroupCall:27 discord.Guild:40 of -#, fuzzy -msgid ":class:`VoiceRegion`" -msgstr ":class:`bool`" - -#: ../../api.rst:2214 -#, fuzzy -msgid "The guild's AFK channel." -msgstr "ギルドのニュースチャンネル。" - -#: ../../api.rst:2216 ../../api.rst:2227 -msgid "" -"If this could not be found, then it falls back to a :class:`Object` with " -"the ID being set." -msgstr "" - -#: ../../api.rst:2219 -msgid "See :attr:`Guild.afk_channel`." -msgstr "" - -#: ../../api.rst:2221 -#, fuzzy -msgid "Union[:class:`VoiceChannel`, :class:`Object`]" -msgstr "Union[:class:`.abc.GuildChannel`, :class:`.abc.PrivateChannel`]" - -#: ../../api.rst:2225 -#, fuzzy -msgid "The guild's system channel." -msgstr "ギルドのストアチャンネル。" - -#: ../../api.rst:2230 -msgid "See :attr:`Guild.system_channel`." -msgstr "" - -#: ../../api.rst:2232 ../../api.rst:2259 -#, fuzzy -msgid "Union[:class:`TextChannel`, :class:`Object`]" -msgstr "Union[:class:`.abc.GuildChannel`, :class:`.abc.PrivateChannel`]" - -#: ../../api.rst:2236 -msgid "The guild's AFK timeout. See :attr:`Guild.afk_timeout`." -msgstr "" - -#: ../../api.rst:2242 -msgid "The guild's MFA level. See :attr:`Guild.mfa_level`." -msgstr "" - -#: ../../api.rst:2248 -msgid "The guild's widget has been enabled or disabled." -msgstr "" - -#: ../../api.rst:2254 -#, fuzzy -msgid "The widget's channel." -msgstr "ボイスチャンネル。" - -#: ../../api.rst:2256 -msgid "" -"If this could not be found then it falls back to a :class:`Object` with " -"the ID being set." -msgstr "" - -#: ../../api.rst:2263 discord.Guild:128 of -#, fuzzy -msgid "The guild's verification level." -msgstr "認証レベルが等しいか確認します。" - -#: ../../api.rst:2265 -msgid "See also :attr:`Guild.verification_level`." -msgstr "" - -#: ../../api.rst:2267 discord.Guild:130 discord.PartialInviteGuild:40 of -#, fuzzy -msgid ":class:`VerificationLevel`" -msgstr ":class:`.Profile`" - -#: ../../api.rst:2271 -msgid "The guild's default notification level." -msgstr "" - -#: ../../api.rst:2273 -msgid "See also :attr:`Guild.default_notifications`." -msgstr "" - -#: ../../api.rst:2275 discord.Guild:142 of -#, fuzzy -msgid ":class:`NotificationLevel`" -msgstr ":class:`.Profile`" - -#: ../../api.rst:2279 -#, fuzzy -msgid "The guild's content filter." -msgstr "ギルドで表現のフィルターが有効ではない。" - -#: ../../api.rst:2281 -msgid "See also :attr:`Guild.explicit_content_filter`." -msgstr "" - -#: ../../api.rst:2283 discord.Guild:136 of -#, fuzzy -msgid ":class:`ContentFilter`" -msgstr ":class:`.Profile`" - -#: ../../api.rst:2287 -#, fuzzy -msgid "The guild's default message notification setting." -msgstr ":attr:`~AuditLogDiff.default_message_notifications`" - -#: ../../api.rst:2293 -#, fuzzy -msgid "The guild's vanity URL." -msgstr "ギルドのウィジェット。" - -#: ../../api.rst:2295 -msgid "See also :meth:`Guild.vanity_invite` and :meth:`Guild.edit`." -msgstr "" - -#: ../../api.rst:2301 -msgid "The position of a :class:`Role` or :class:`abc.GuildChannel`." -msgstr "" - -#: ../../api.rst:2307 -#, fuzzy -msgid "The type of channel or channel permission overwrite." -msgstr "権限を確認したいチャンネル。" - -#: ../../api.rst:2309 -msgid "" -"If the type is an :class:`int`, then it is a type of channel which can be" -" either ``0`` to indicate a text channel or ``1`` to indicate a voice " -"channel." -msgstr "" - -#: ../../api.rst:2312 -msgid "" -"If the type is a :class:`str`, then it is a type of permission overwrite " -"which can be either ``'role'`` or ``'member'``." -msgstr "" - -#: ../../api.rst:2315 -#, fuzzy -msgid "Union[:class:`int`, :class:`str`]" -msgstr "Union[:class:`.abc.GuildChannel`, :class:`.abc.PrivateChannel`]" - -#: ../../api.rst:2319 -#, fuzzy -msgid "The topic of a :class:`TextChannel`." -msgstr ":class:`str` – :class:`TextChannel` のトピック。" - -#: ../../api.rst:2321 -msgid "See also :attr:`TextChannel.topic`." -msgstr "" - -#: ../../api.rst:2327 -#, fuzzy -msgid "The bitrate of a :class:`VoiceChannel`." -msgstr ":class:`str` – :class:`TextChannel` のトピック。" - -#: ../../api.rst:2329 -msgid "See also :attr:`VoiceChannel.bitrate`." -msgstr "" - -#: ../../api.rst:2335 -msgid "" -"A list of permission overwrite tuples that represents a target and a " -":class:`PermissionOverwrite` for said target." -msgstr "" - -#: ../../api.rst:2338 -msgid "" -"The first element is the object being targeted, which can either be a " -":class:`Member` or :class:`User` or :class:`Role`. If this object is not " -"found then it is a :class:`Object` with an ID being filled and a ``type``" -" attribute set to either ``'role'`` or ``'member'`` to help decide what " -"type of ID it is." -msgstr "" - -#: ../../api.rst:2344 -msgid "List[Tuple[target, :class:`PermissionOverwrite`]]" -msgstr "" - -#: ../../api.rst:2348 -msgid "A list of roles being added or removed from a member." -msgstr "" - -#: ../../api.rst:2350 -msgid "" -"If a role is not found then it is a :class:`Object` with the ID and name " -"being filled in." -msgstr "" - -#: ../../api.rst:2353 -msgid "List[Union[:class:`Role`, :class:`Object`]]" -msgstr "" - -#: ../../api.rst:2357 -msgid "The nickname of a member." -msgstr "" - -#: ../../api.rst:2359 -msgid "See also :attr:`Member.nick`" -msgstr "" - -#: ../../api.rst:2365 -msgid "Whether the member is being server deafened." -msgstr "" - -#: ../../api.rst:2367 -msgid "See also :attr:`VoiceState.deaf`." -msgstr "" - -#: ../../api.rst:2373 -msgid "Whether the member is being server muted." -msgstr "" - -#: ../../api.rst:2375 -msgid "See also :attr:`VoiceState.mute`." -msgstr "" - -#: ../../api.rst:2381 -#, fuzzy -msgid "The permissions of a role." -msgstr ":class:`Permissions` – 役職の権限。" - -#: ../../api.rst:2383 -msgid "See also :attr:`Role.permissions`." -msgstr "" - -#: ../../api.rst:2385 ../../api.rst:2474 discord.DMChannel.permissions_for:17 -#: discord.GroupChannel.permissions_for:18 discord.Member.guild_permissions:12 -#: discord.Member.permissions_in:13 discord.Role.permissions:3 of -msgid ":class:`Permissions`" -msgstr "" - -#: ../../api.rst:2390 -#, fuzzy -msgid "The colour of a role." -msgstr ":class:`Colour` – 役職の色。" - -#: ../../api.rst:2392 -msgid "See also :attr:`Role.colour`" -msgstr "" - -#: ../../api.rst:2394 discord.ClientUser.color:6 discord.ClientUser.colour:6 -#: discord.Member.color:7 discord.Member.colour:7 discord.Role.color:3 -#: discord.Role.colour:3 discord.Spotify.color:5 discord.Spotify.colour:5 -#: discord.User.color:6 discord.User.colour:6 discord.WidgetMember.color:6 -#: discord.WidgetMember.colour:6 of -#, fuzzy -msgid ":class:`Colour`" -msgstr ":class:`bool`" - -#: ../../api.rst:2398 -msgid "Whether the role is being hoisted or not." -msgstr "" - -#: ../../api.rst:2400 -msgid "See also :attr:`Role.hoist`" -msgstr "" - -#: ../../api.rst:2406 -msgid "Whether the role is mentionable or not." -msgstr "" - -#: ../../api.rst:2408 -msgid "See also :attr:`Role.mentionable`" -msgstr "" - -#: ../../api.rst:2414 -#, fuzzy -msgid "The invite's code." -msgstr "招待コード。" - -#: ../../api.rst:2416 -msgid "See also :attr:`Invite.code`" -msgstr "" - -#: ../../api.rst:2422 -#, fuzzy -msgid "A guild channel." -msgstr "ギルドのニュースチャンネル。" - -#: ../../api.rst:2424 -msgid "" -"If the channel is not found then it is a :class:`Object` with the ID " -"being set. In some cases the channel name is also set." -msgstr "" - -#: ../../api.rst:2427 -#, fuzzy -msgid "Union[:class:`abc.GuildChannel`, :class:`Object`]" -msgstr "Union[:class:`.abc.GuildChannel`, :class:`.abc.PrivateChannel`]" - -#: ../../api.rst:2431 discord.Invite:97 of -#, fuzzy -msgid "The user who created the invite." -msgstr ":class:`User` – 招待を作成したユーザー。" - -#: ../../api.rst:2433 -msgid "See also :attr:`Invite.inviter`." -msgstr "" - -#: ../../api.rst:2439 -#, fuzzy -msgid "The invite's max uses." -msgstr ":class:`int` – 招待の最大使用可能回数。" - -#: ../../api.rst:2441 -msgid "See also :attr:`Invite.max_uses`." -msgstr "" - -#: ../../api.rst:2447 -#, fuzzy -msgid "The invite's current uses." -msgstr ":class:`int` – 招待の現在までの使用回数。" - -#: ../../api.rst:2449 -msgid "See also :attr:`Invite.uses`." -msgstr "" - -#: ../../api.rst:2455 -#, fuzzy -msgid "The invite's max age in seconds." -msgstr ":class:`int` – 招待の最大使用可能回数。" - -#: ../../api.rst:2457 -msgid "See also :attr:`Invite.max_age`." -msgstr "" - -#: ../../api.rst:2463 -msgid "If the invite is a temporary invite." -msgstr "" - -#: ../../api.rst:2465 -msgid "See also :attr:`Invite.temporary`." -msgstr "" - -#: ../../api.rst:2472 -msgid "The permissions being allowed or denied." -msgstr "" - -#: ../../api.rst:2478 -#, fuzzy -msgid "The ID of the object being changed." -msgstr "更新される前のギルド。" - -#: ../../api.rst:2484 -msgid "The avatar hash of a member." -msgstr "" - -#: ../../api.rst:2486 -msgid "See also :attr:`User.avatar`." -msgstr "" - -#: ../../api.rst:2492 -msgid "" -"The number of seconds members have to wait before sending another message" -" in the channel." -msgstr "" - -#: ../../api.rst:2495 -msgid "See also :attr:`TextChannel.slowmode_delay`." -msgstr "" - -#: ../../api.rst:2503 -msgid "Webhook Support" -msgstr "Webhookサポート" - -#: ../../api.rst:2505 -msgid "" -"pycord offers support for creating, editing, and executing webhooks " -"through the :class:`Webhook` class." -msgstr "" - -#: discord.Webhook:1 of -msgid "Represents a Discord webhook." -msgstr "" - -#: discord.Webhook:3 of -msgid "" -"Webhooks are a form to send messages to channels in Discord without a bot" -" user or authentication." -msgstr "" - -#: discord.Webhook:6 of -msgid "" -"There are two main ways to use Webhooks. The first is through the ones " -"received by the library such as :meth:`.Guild.webhooks` and " -":meth:`.TextChannel.webhooks`. The ones received by the library will " -"automatically have an adapter bound using the library's HTTP session. " -"Those webhooks will have :meth:`~.Webhook.send`, :meth:`~.Webhook.delete`" -" and :meth:`~.Webhook.edit` as coroutines." -msgstr "" - -#: discord.Webhook:13 of -msgid "" -"The second form involves creating a webhook object manually without " -"having it bound to a websocket connection using the " -":meth:`~.Webhook.from_url` or :meth:`~.Webhook.partial` classmethods. " -"This form allows finer grained control over how requests are done, " -"allowing you to mix async and sync code using either :doc:`aiohttp " -"` or :doc:`req:index`." -msgstr "" - -#: discord.Webhook:19 of -msgid "" -"For example, creating a webhook from a URL and using :doc:`aiohttp " -"`:" -msgstr "" - -#: discord.Webhook:31 of -msgid "Or creating a webhook from an ID and token and using :doc:`req:index`:" -msgstr "" - -#: discord.Webhook:45 of -#, fuzzy -msgid "Checks if two webhooks are equal." -msgstr "二つのユーザーが等しいかを比較します。" - -#: discord.Webhook:49 of -#, fuzzy -msgid "Checks if two webhooks are not equal." -msgstr "二つのユーザーが等しいものではないか比較します。" - -#: discord.Webhook:53 of -#, fuzzy -msgid "Returns the webhooks's hash." -msgstr "カテゴリのハッシュを返します。" - -#: discord.Webhook:55 of -msgid "Webhooks are now comparable and hashable." -msgstr "" - -#: discord.Webhook:60 of -msgid "The webhook's ID" -msgstr "" - -#: discord.Webhook:66 of -#, fuzzy -msgid "The type of the webhook." -msgstr "ユーザーのプロフィール。" - -#: discord.Webhook:70 of -#, fuzzy -msgid ":class:`WebhookType`" -msgstr ":class:`.Webhook`" - -#: discord.Webhook:74 of -msgid "" -"The authentication token of the webhook. If this is ``None`` then the " -"webhook cannot be used to make requests." -msgstr "" - -#: discord.Webhook:81 of -msgid "The guild ID this webhook is for." -msgstr "" - -#: discord.Webhook:87 of -#, fuzzy -msgid "The channel ID this webhook is for." -msgstr "Webhookが更新されたチャンネル。" - -#: discord.Webhook:93 of -msgid "" -"The user this webhook was created by. If the webhook was received without" -" authentication then this will be ``None``." -msgstr "" - -#: discord.Webhook:96 of -msgid "Optional[:class:`abc.User`]" -msgstr "" - -#: discord.Webhook:100 of -#, fuzzy -msgid "The default name of the webhook." -msgstr "フィールドの名前。" - -#: discord.Webhook:106 of -msgid "The default avatar of the webhook." -msgstr "" - -#: discord.Webhook.url:1 of -msgid "Returns the webhook's url." -msgstr "" - -#: discord.Webhook.partial:1 of -msgid "Creates a partial :class:`Webhook`." -msgstr "" - -#: discord.Webhook.partial:3 of -msgid "The ID of the webhook." -msgstr "" - -#: discord.Webhook.partial:5 of -msgid "The authentication token of the webhook." -msgstr "" - -#: discord.Webhook.from_url:5 discord.Webhook.partial:7 of -msgid "" -"The webhook adapter to use when sending requests. This is typically " -":class:`AsyncWebhookAdapter` for :doc:`aiohttp ` or " -":class:`RequestsWebhookAdapter` for :doc:`req:index`." -msgstr "" - -#: discord.Webhook.from_url:12 discord.Webhook.partial:12 of -msgid "" -"A partial :class:`Webhook`. A partial webhook is just a webhook object " -"with an ID and a token." -msgstr "" - -#: discord.TextChannel.create_webhook:22 discord.TextChannel.follow:23 -#: discord.Webhook.from_url:14 discord.Webhook.partial:14 -#: discord.WebhookAdapter:7 of -msgid ":class:`Webhook`" -msgstr "" - -#: discord.Webhook.from_url:1 of -msgid "Creates a partial :class:`Webhook` from a webhook URL." -msgstr "" - -#: discord.Webhook.from_url:3 of -msgid "The URL of the webhook." -msgstr "" - -#: discord.Webhook.from_url:10 of -#, fuzzy -msgid "The URL is invalid." -msgstr "メンバーがオンライン。" - -#: discord.Webhook.guild:1 of -msgid "The guild this webhook belongs to." -msgstr "" - -#: discord.Webhook.channel:3 discord.Webhook.guild:3 of -msgid "If this is a partial webhook, then this will always return ``None``." -msgstr "" - -#: discord.Webhook.channel:1 of -#, fuzzy -msgid "The text channel this webhook belongs to." -msgstr "Webhookが更新されたチャンネル。" - -#: discord.Guild.public_updates_channel:9 discord.Guild.rules_channel:8 -#: discord.Guild.system_channel:5 discord.Webhook.channel:5 of -msgid "Optional[:class:`TextChannel`]" -msgstr "" - -#: discord.Webhook.created_at:1 of -msgid "Returns the webhook's creation time in UTC." -msgstr "" - -#: discord.Webhook.avatar_url:1 discord.Webhook.avatar_url_as:1 of -msgid "Returns an :class:`Asset` for the avatar the webhook has." -msgstr "" - -#: discord.Webhook.avatar_url:3 discord.Webhook.avatar_url_as:3 of -msgid "" -"If the webhook does not have a traditional avatar, an asset for the " -"default avatar is returned instead." -msgstr "" - -#: discord.Webhook.avatar_url:6 of -msgid "" -"This is equivalent to calling :meth:`avatar_url_as` with the default " -"parameters." -msgstr "" - -#: discord.ClientUser.avatar_url:9 discord.ClientUser.avatar_url_as:24 -#: discord.ClientUser.default_avatar_url:3 discord.Emoji.url:3 -#: discord.GroupChannel.icon_url:3 discord.Guild.banner_url:3 -#: discord.Guild.banner_url_as:14 discord.Guild.discovery_splash_url:5 -#: discord.Guild.discovery_splash_url_as:16 discord.Guild.icon_url:3 -#: discord.Guild.icon_url_as:20 discord.Guild.splash_url:3 -#: discord.Guild.splash_url_as:14 discord.Member.avatar_url_as:24 -#: discord.PartialEmoji.url:3 discord.PartialInviteGuild.banner_url:3 -#: discord.PartialInviteGuild.banner_url_as:4 -#: discord.PartialInviteGuild.icon_url:3 -#: discord.PartialInviteGuild.icon_url_as:4 -#: discord.PartialInviteGuild.splash_url:3 -#: discord.PartialInviteGuild.splash_url_as:4 discord.User.avatar_url:9 -#: discord.User.avatar_url_as:24 discord.User.default_avatar_url:3 -#: discord.Webhook.avatar_url:9 discord.Webhook.avatar_url_as:18 -#: discord.WidgetMember.avatar_url:9 discord.WidgetMember.avatar_url_as:24 -#: discord.WidgetMember.default_avatar_url:3 of -msgid ":class:`Asset`" -msgstr "" - -#: discord.Webhook.avatar_url_as:6 of -msgid "" -"The format must be one of 'jpeg', 'jpg', or 'png'. The size must be a " -"power of 2 between 16 and 1024." -msgstr "" - -#: discord.Webhook.avatar_url_as:9 of -msgid "" -"The format to attempt to convert the avatar to. If the format is " -"``None``, then it is equivalent to png." -msgstr "" - -#: discord.ClientUser.avatar_url_as:18 discord.Guild.banner_url_as:8 -#: discord.Guild.discovery_splash_url_as:10 discord.Guild.icon_url_as:14 -#: discord.Guild.splash_url_as:8 discord.Member.avatar_url_as:18 -#: discord.User.avatar_url_as:18 discord.Webhook.avatar_url_as:12 -#: discord.WidgetMember.avatar_url_as:18 of -msgid "The size of the image to display." -msgstr "" - -#: discord.Guild.banner_url_as:11 discord.Guild.discovery_splash_url_as:13 -#: discord.Guild.icon_url_as:17 discord.Guild.splash_url_as:11 -#: discord.Webhook.avatar_url_as:15 of -msgid "Bad image format passed to ``format`` or invalid ``size``." -msgstr "" - -#: discord.ClientUser.avatar_url_as:23 discord.Guild.banner_url_as:13 -#: discord.Guild.discovery_splash_url_as:15 discord.Guild.icon_url_as:19 -#: discord.Guild.splash_url_as:13 discord.Member.avatar_url_as:23 -#: discord.PartialInviteGuild.banner_url_as:3 -#: discord.PartialInviteGuild.icon_url_as:3 -#: discord.PartialInviteGuild.splash_url_as:3 discord.User.avatar_url_as:23 -#: discord.Webhook.avatar_url_as:17 discord.WidgetMember.avatar_url_as:23 of -msgid "The resulting CDN asset." -msgstr "" - -#: discord.Webhook.delete:1 discord.Webhook.edit:1 discord.Webhook.send:1 of -msgid "|maybecoro|" -msgstr "" - -#: discord.Webhook.delete:3 of -msgid "Deletes this Webhook." -msgstr "" - -#: discord.Webhook.delete:5 discord.Webhook.edit:5 discord.Webhook.send:5 of -msgid "" -"If the webhook is constructed with a :class:`RequestsWebhookAdapter` then" -" this is not a coroutine." -msgstr "" - -#: discord.Webhook.delete:8 of -msgid "" -"The reason for deleting this webhook. Shows up on the audit log. .. " -"versionadded:: 1.4" -msgstr "" - -#: discord.Webhook.delete:8 of -msgid "The reason for deleting this webhook. Shows up on the audit log." -msgstr "" - -#: discord.Webhook.delete:13 of -#, fuzzy -msgid "Deleting the webhook failed." -msgstr ":exc:`.HTTPException` -- Webhookの取得に失敗した。" - -#: discord.Webhook.delete:14 discord.Webhook.edit:18 of -msgid "This webhook does not exist." -msgstr "" - -#: discord.Webhook.delete:15 of -#, fuzzy -msgid "You do not have permissions to delete this webhook." -msgstr ":exc:`.Forbidden` -- このWebhookを取得する権限がない。" - -#: discord.Webhook.delete:16 discord.Webhook.edit:19 of -msgid "This webhook does not have a token associated with it." -msgstr "" - -#: discord.Webhook.edit:3 of -msgid "Edits this Webhook." -msgstr "" - -#: discord.Webhook.edit:8 of -msgid "The webhook's new default name." -msgstr "" - -#: discord.Webhook.edit:10 of -msgid "" -"A :term:`py:bytes-like object` representing the webhook's new default " -"avatar." -msgstr "" - -#: discord.Webhook.edit:12 of -msgid "" -"The reason for editing this webhook. Shows up on the audit log. .. " -"versionadded:: 1.4" -msgstr "" - -#: discord.Webhook.edit:12 of -msgid "The reason for editing this webhook. Shows up on the audit log." -msgstr "" - -#: discord.Webhook.edit:17 of -#, fuzzy -msgid "Editing the webhook failed." -msgstr ":exc:`.HTTPException` -- Webhookの取得に失敗した。" - -#: discord.Webhook.send:3 of -msgid "Sends a message using the webhook." -msgstr "" - -#: discord.Webhook.send:8 of -msgid "" -"The content must be a type that can convert to a string through " -"``str(content)``." -msgstr "" - -#: discord.Webhook.send:10 of -msgid "" -"To upload a single file, the ``file`` parameter should be used with a " -"single :class:`File` object." -msgstr "" - -#: discord.Webhook.send:13 of -msgid "" -"If the ``embed`` parameter is provided, it must be of type :class:`Embed`" -" and it must be a rich embed type. You cannot mix the ``embed`` parameter" -" with the ``embeds`` parameter, which must be a :class:`list` of " -":class:`Embed` objects to send." -msgstr "" - -#: discord.DMChannel.send:17 discord.GroupChannel.send:17 -#: discord.Member.send:17 discord.TextChannel.send:17 discord.User.send:17 -#: discord.Webhook.send:17 discord.abc.Messageable.send:17 of -msgid "The content of the message to send." -msgstr "" - -#: discord.Webhook.send:19 of -msgid "" -"Whether the server should wait before sending a response. This " -"essentially means that the return type of this function changes from " -"``None`` to a :class:`Message` if set to ``True``." -msgstr "" - -#: discord.Webhook.send:23 of -msgid "" -"The username to send with this message. If no username is provided then " -"the default username for the webhook is used." -msgstr "" - -#: discord.Webhook.send:26 of -msgid "" -"The avatar URL to send with this message. If no avatar URL is provided " -"then the default avatar for the webhook is used." -msgstr "" - -#: discord.DMChannel.send:19 discord.GroupChannel.send:19 -#: discord.Member.send:19 discord.TextChannel.send:19 discord.User.send:19 -#: discord.Webhook.send:29 discord.abc.Messageable.send:19 of -msgid "Indicates if the message should be sent using text-to-speech." -msgstr "" - -#: discord.Webhook.send:31 of -msgid "The file to upload. This cannot be mixed with ``files`` parameter." -msgstr "" - -#: discord.Webhook.send:33 of -msgid "" -"A list of files to send with the content. This cannot be mixed with the " -"``file`` parameter." -msgstr "" - -#: discord.Webhook.send:36 of -msgid "" -"The rich embed for the content to send. This cannot be mixed with " -"``embeds`` parameter." -msgstr "" - -#: discord.Webhook.send:39 of -msgid "" -"A list of embeds to send with the content. Maximum of 10. This cannot be " -"mixed with the ``embed`` parameter." -msgstr "" - -#: discord.Message.edit:25 discord.Webhook.send:42 of -msgid "" -"Controls the mentions being processed in this message. .. versionadded::" -" 1.4" -msgstr "" - -#: discord.Message.edit:25 discord.Webhook.send:42 of -msgid "Controls the mentions being processed in this message." -msgstr "" - -#: discord.DMChannel.send:44 discord.GroupChannel.send:44 -#: discord.Member.send:44 discord.TextChannel.send:44 discord.User.send:44 -#: discord.Webhook.send:47 discord.abc.Messageable.send:44 of -msgid "Sending the message failed." -msgstr "" - -#: discord.Webhook.send:48 of -msgid "This webhook was not found." -msgstr "" - -#: discord.Webhook.send:49 of -msgid "The authorization token for the webhook is incorrect." -msgstr "" - -#: discord.Webhook.send:50 of -msgid "" -"You specified both ``embed`` and ``embeds`` or the length of " -"``embeds`` was invalid or there was no token associated with this " -"webhook." -msgstr "" - -#: discord.DMChannel.send:48 discord.GroupChannel.send:48 -#: discord.Member.send:48 discord.TextChannel.send:48 discord.User.send:48 -#: discord.Webhook.send:52 discord.abc.Messageable.send:48 of -msgid "The message that was sent." -msgstr "" - -#: discord.MessageReference.cached_message:3 discord.RawMessageDeleteEvent:25 -#: discord.RawMessageUpdateEvent:27 discord.TextChannel.last_message:14 -#: discord.Webhook.send:53 of -msgid "Optional[:class:`Message`]" -msgstr "" - -#: discord.Webhook.execute:1 of -msgid "An alias for :meth:`~.Webhook.send`." -msgstr "" - -#: ../../api.rst:2511 -msgid "Adapters" -msgstr "" - -#: ../../api.rst:2513 -msgid "" -"Adapters allow you to change how the request should be handled. They all " -"build on a single interface, :meth:`WebhookAdapter.request`." -msgstr "" - -#: discord.WebhookAdapter:1 of -msgid "Base class for all webhook adapters." -msgstr "" - -#: discord.WebhookAdapter:5 of -msgid "The webhook that owns this adapter." -msgstr "" - -#: discord.AsyncWebhookAdapter.request:1 -#: discord.RequestsWebhookAdapter.request:1 discord.WebhookAdapter.request:1 of -msgid "Actually does the request." -msgstr "" - -#: discord.AsyncWebhookAdapter.request:5 -#: discord.RequestsWebhookAdapter.request:5 discord.WebhookAdapter.request:5 of -msgid "The HTTP verb to use for the request." -msgstr "" - -#: discord.AsyncWebhookAdapter.request:7 -#: discord.RequestsWebhookAdapter.request:7 discord.WebhookAdapter.request:7 of -msgid "" -"The URL to send the request to. This will have the query parameters " -"already added to it, if any." -msgstr "" - -#: discord.AsyncWebhookAdapter.request:10 -#: discord.RequestsWebhookAdapter.request:10 discord.WebhookAdapter.request:10 -#: of -msgid "" -"A dict containing multipart form data to send with the request. If a " -"filename is being uploaded, then it will be under a ``file`` key which " -"will have a 3-element :class:`tuple` denoting ``(filename, file, " -"content_type)``." -msgstr "" - -#: discord.AsyncWebhookAdapter.request:15 -#: discord.RequestsWebhookAdapter.request:15 discord.WebhookAdapter.request:15 -#: of -msgid "The JSON to send with the request, if any." -msgstr "" - -#: discord.AsyncWebhookAdapter.handle_execution_response:1 -#: discord.RequestsWebhookAdapter.handle_execution_response:1 -#: discord.WebhookAdapter.handle_execution_response:1 of -msgid "Transforms the webhook execution response into something more meaningful." -msgstr "" - -#: discord.AsyncWebhookAdapter.handle_execution_response:4 -#: discord.RequestsWebhookAdapter.handle_execution_response:4 -#: discord.WebhookAdapter.handle_execution_response:4 of -msgid "" -"This is mainly used to convert the data into a :class:`Message` if " -"necessary." -msgstr "" - -#: discord.AsyncWebhookAdapter.handle_execution_response:9 -#: discord.RequestsWebhookAdapter.handle_execution_response:9 -#: discord.WebhookAdapter.handle_execution_response:9 of -msgid "The data that was returned from the request." -msgstr "" - -#: discord.AsyncWebhookAdapter.handle_execution_response:10 -#: discord.RequestsWebhookAdapter.handle_execution_response:10 -#: discord.WebhookAdapter.handle_execution_response:10 of -msgid "Whether the webhook execution was asked to wait or not." -msgstr "" - -#: discord.AsyncWebhookAdapter:1 of -msgid "A webhook adapter suited for use with aiohttp." -msgstr "" - -#: discord.AsyncWebhookAdapter:5 of -msgid "You are responsible for cleaning up the client session." -msgstr "" - -#: discord.AsyncWebhookAdapter:7 of -msgid "The session to use to send requests." -msgstr "" - -#: discord.RequestsWebhookAdapter:1 of -msgid "A webhook adapter suited for use with ``requests``." -msgstr "" - -#: discord.RequestsWebhookAdapter:3 of -msgid "Only versions of :doc:`req:index` higher than 2.13.0 are supported." -msgstr "" - -#: discord.RequestsWebhookAdapter:5 of -msgid "" -"The requests session to use for sending requests. If not given then each " -"request will create a new session. Note if a session is given, the " -"webhook adapter **will not** clean it up for you. You must close the " -"session yourself." -msgstr "" - -#: discord.RequestsWebhookAdapter:10 of -msgid "" -"Whether to sleep the thread when encountering a 429 or pre-emptive rate " -"limit or a 5xx status code. Defaults to ``True``. If set to ``False`` " -"then this will raise an :exc:`HTTPException` instead." -msgstr "" - -#: ../../api.rst:2528 -msgid "Abstract Base Classes" -msgstr "抽象基底クラス" - -#: ../../api.rst:2530 -msgid "" -"An :term:`py:abstract base class` (also known as an ``abc``) is a class " -"that models can inherit to get their behaviour. The Python implementation" -" of an :doc:`abc ` is slightly different in that you can " -"register them at run-time. **Abstract base classes cannot be " -"instantiated**. They are mainly there for usage with " -":func:`py:isinstance` and :func:`py:issubclass`\\." -msgstr "" - -#: ../../api.rst:2535 -msgid "" -"This library has a module related to abstract base classes, some of which" -" are actually from the :doc:`abc ` standard module, " -"others which are not." -msgstr "" - -#: discord.abc.Snowflake:1 of -msgid "An ABC that details the common operations on a Discord model." -msgstr "" - -#: discord.abc.Snowflake:3 of -msgid "" -"Almost all :ref:`Discord models ` meet this abstract " -"base class." -msgstr "" - -#: discord.abc.Snowflake:6 of -msgid "" -"If you want to create a snowflake on your own, consider using " -":class:`.Object`." -msgstr "" - -#: discord.abc.Snowflake:11 of -msgid "The model's unique ID." -msgstr "" - -#: discord.abc.Snowflake.created_at:1 of -#, fuzzy -msgid "Returns the model's creation time as a naive datetime in UTC." -msgstr "UTCのnaive datetimeでの、タイピングの開始時刻。" - -#: discord.abc.User:1 of -msgid "An ABC that details the common operations on a Discord user." -msgstr "" - -#: discord.abc.Connectable:4 discord.abc.GuildChannel:3 -#: discord.abc.Messageable:3 discord.abc.PrivateChannel:3 discord.abc.User:3 of -msgid "The following implement this ABC:" -msgstr "" - -#: discord.abc.PrivateChannel:14 discord.abc.User:6 of -msgid ":class:`~discord.ClientUser`" -msgstr ":class:`~discord.ClientUser`" - -#: discord.abc.Messageable:9 discord.abc.User:7 of -msgid ":class:`~discord.Member`" -msgstr "" - -#: discord.abc.GuildChannel:9 discord.abc.PrivateChannel:8 discord.abc.User:9 -#: of -msgid "This ABC must also implement :class:`~discord.abc.Snowflake`." -msgstr "" - -#: discord.ClientUser:23 discord.User:23 discord.abc.User:13 of -#, fuzzy -msgid "The user's username." -msgstr ":class:`str` -- ユーザーのユーザー名。" - -#: discord.abc.User:19 of -#, fuzzy -msgid "The user's discriminator." -msgstr "ユーザー名とディスクリミネータを返します。" - -#: discord.abc.User:25 of -#, fuzzy -msgid "The avatar hash the user has." -msgstr "ユーザーのハッシュ値を返します。" - -#: discord.abc.User:31 of -#, fuzzy -msgid "If the user is a bot account." -msgstr ":class:`bool` -- ユーザーがBotアカウントであるかを表します。" - -#: discord.ClientUser.display_name:1 discord.Member.display_name:1 -#: discord.User.display_name:1 discord.abc.User.display_name:1 of -#, fuzzy -msgid "Returns the user's display name." -msgstr "役職の名前を返します。" - -#: discord.ClientUser.mention:1 discord.User.mention:1 -#: discord.WidgetMember.mention:1 discord.abc.User.mention:1 of -msgid "Returns a string that allows you to mention the given user." -msgstr "" - -#: discord.abc.PrivateChannel:1 of -msgid "An ABC that details the common operations on a private Discord channel." -msgstr "" - -#: discord.abc.Messageable:6 discord.abc.PrivateChannel:5 of -msgid ":class:`~discord.DMChannel`" -msgstr "" - -#: discord.abc.Messageable:7 discord.abc.PrivateChannel:6 of -msgid ":class:`~discord.GroupChannel`" -msgstr "" - -#: discord.DMChannel:29 discord.GroupChannel:29 discord.abc.PrivateChannel:12 -#: of -#, fuzzy -msgid "The user presenting yourself." -msgstr ":class:`~discord.ClientUser` -- ユーザー自分自身。" - -#: discord.abc.GuildChannel:1 of -msgid "An ABC that details the common operations on a Discord guild channel." -msgstr "" - -#: discord.abc.GuildChannel:5 discord.abc.Messageable:5 of -msgid ":class:`~discord.TextChannel`" -msgstr "" - -#: discord.abc.Connectable:6 discord.abc.GuildChannel:6 of -msgid ":class:`~discord.VoiceChannel`" -msgstr "" - -#: discord.abc.GuildChannel:7 of -msgid ":class:`~discord.CategoryChannel`" -msgstr "" - -#: discord.TextChannel:23 discord.VoiceChannel:23 discord.abc.GuildChannel:13 -#: of -#, fuzzy -msgid "The channel name." -msgstr "テキストチャンネル。" - -#: discord.TextChannel:29 discord.VoiceChannel:29 discord.abc.GuildChannel:19 -#: of -#, fuzzy -msgid "The guild the channel belongs to." -msgstr "ギルドのストアチャンネル。" - -#: discord.abc.GuildChannel:21 of -#, fuzzy -msgid ":class:`~discord.Guild`" -msgstr ":class:`~discord.User`" - -#: discord.Guild.create_text_channel:47 discord.TextChannel:53 -#: discord.VoiceChannel:47 discord.abc.GuildChannel:25 of -msgid "" -"The position in the channel list. This is a number that starts at 0. e.g." -" the top channel is position 0." -msgstr "" - -#: discord.CategoryChannel.changed_roles:1 discord.TextChannel.changed_roles:1 -#: discord.VoiceChannel.changed_roles:1 -#: discord.abc.GuildChannel.changed_roles:1 of -msgid "" -"Returns a list of roles that have been overridden from their default " -"values in the :attr:`~discord.Guild.roles` attribute." -msgstr "" - -#: discord.CategoryChannel.changed_roles:4 discord.TextChannel.changed_roles:4 -#: discord.VoiceChannel.changed_roles:4 -#: discord.abc.GuildChannel.changed_roles:4 of -#, fuzzy -msgid "List[:class:`~discord.Role`]" -msgstr ":class:`~discord.User`" - -#: discord.CategoryChannel.mention:1 discord.PartialInviteChannel.mention:1 -#: discord.TextChannel.mention:1 discord.VoiceChannel.mention:1 -#: discord.WidgetChannel.mention:1 discord.abc.GuildChannel.mention:1 of -msgid "The string that allows you to mention the channel." -msgstr "" - -#: discord.CategoryChannel.created_at:1 discord.GroupChannel.created_at:1 -#: discord.PartialInviteChannel.created_at:1 discord.TextChannel.created_at:1 -#: discord.VoiceChannel.created_at:1 discord.WidgetChannel.created_at:1 -#: discord.abc.GuildChannel.created_at:1 of -msgid "Returns the channel's creation time in UTC." -msgstr "" - -#: discord.CategoryChannel.overwrites_for:1 -#: discord.TextChannel.overwrites_for:1 discord.VoiceChannel.overwrites_for:1 -#: discord.abc.GuildChannel.overwrites_for:1 of -msgid "Returns the channel-specific overwrites for a member or a role." -msgstr "" - -#: discord.CategoryChannel.overwrites_for:3 -#: discord.TextChannel.overwrites_for:3 discord.VoiceChannel.overwrites_for:3 -#: discord.abc.GuildChannel.overwrites_for:3 of -msgid "The role or user denoting whose overwrite to get." -msgstr "" - -#: discord.CategoryChannel.overwrites_for:7 -#: discord.TextChannel.overwrites_for:7 discord.VoiceChannel.overwrites_for:7 -#: discord.abc.GuildChannel.overwrites_for:7 of -msgid "The permission overwrites for this object." -msgstr "" - -#: discord.CategoryChannel.overwrites_for:8 -#: discord.TextChannel.overwrites_for:8 discord.VoiceChannel.overwrites_for:8 -#: discord.abc.GuildChannel.overwrites_for:8 of -msgid ":class:`~discord.PermissionOverwrite`" -msgstr "" - -#: discord.CategoryChannel.overwrites:1 discord.TextChannel.overwrites:1 -#: discord.VoiceChannel.overwrites:1 discord.abc.GuildChannel.overwrites:1 of -msgid "Returns all of the channel's overwrites." -msgstr "" - -#: discord.CategoryChannel.overwrites:3 discord.TextChannel.overwrites:3 -#: discord.VoiceChannel.overwrites:3 discord.abc.GuildChannel.overwrites:3 of -msgid "" -"This is returned as a dictionary where the key contains the target which " -"can be either a :class:`~discord.Role` or a :class:`~discord.Member` and " -"the value is the overwrite as a :class:`~discord.PermissionOverwrite`." -msgstr "" - -#: discord.CategoryChannel.overwrites:7 discord.TextChannel.overwrites:7 -#: discord.VoiceChannel.overwrites:7 discord.abc.GuildChannel.overwrites:7 of -msgid "The channel's permission overwrites." -msgstr "" - -#: discord.CategoryChannel.overwrites:8 discord.TextChannel.overwrites:8 -#: discord.VoiceChannel.overwrites:8 discord.abc.GuildChannel.overwrites:8 of -msgid "" -"Mapping[Union[:class:`~discord.Role`, :class:`~discord.Member`], " -":class:`~discord.PermissionOverwrite`]" -msgstr "" - -#: discord.CategoryChannel.category:1 discord.TextChannel.category:1 -#: discord.VoiceChannel.category:1 discord.abc.GuildChannel.category:1 of -msgid "The category this channel belongs to." -msgstr "" - -#: discord.CategoryChannel.category:3 discord.TextChannel.category:3 -#: discord.VoiceChannel.category:3 discord.abc.GuildChannel.category:3 of -msgid "If there is no category then this is ``None``." -msgstr "" - -#: discord.CategoryChannel.category:5 discord.TextChannel.category:5 -#: discord.VoiceChannel.category:5 discord.abc.GuildChannel.category:5 of -#, fuzzy -msgid "Optional[:class:`~discord.CategoryChannel`]" -msgstr ":class:`~discord.User`" - -#: discord.CategoryChannel.permissions_synced:1 -#: discord.TextChannel.permissions_synced:1 -#: discord.VoiceChannel.permissions_synced:1 -#: discord.abc.GuildChannel.permissions_synced:1 of -msgid "" -"Whether or not the permissions for this channel are synced with the " -"category it belongs to." -msgstr "" - -#: discord.CategoryChannel.permissions_synced:4 -#: discord.TextChannel.permissions_synced:4 -#: discord.VoiceChannel.permissions_synced:4 -#: discord.abc.GuildChannel.permissions_synced:4 of -msgid "If there is no category then this is ``False``." -msgstr "" - -#: discord.CategoryChannel.permissions_for:1 -#: discord.TextChannel.permissions_for:1 discord.VoiceChannel.permissions_for:1 -#: discord.abc.GuildChannel.permissions_for:1 of -msgid "Handles permission resolution for the current :class:`~discord.Member`." -msgstr "" - -#: discord.CategoryChannel.permissions_for:3 -#: discord.TextChannel.permissions_for:3 discord.VoiceChannel.permissions_for:3 -#: discord.abc.GuildChannel.permissions_for:3 of -msgid "This function takes into consideration the following cases:" -msgstr "" - -#: discord.CategoryChannel.permissions_for:5 -#: discord.TextChannel.permissions_for:5 discord.VoiceChannel.permissions_for:5 -#: discord.abc.GuildChannel.permissions_for:5 of -msgid "Guild owner" -msgstr "" - -#: discord.CategoryChannel.permissions_for:6 -#: discord.TextChannel.permissions_for:6 discord.VoiceChannel.permissions_for:6 -#: discord.abc.GuildChannel.permissions_for:6 of -msgid "Guild roles" -msgstr "" - -#: discord.CategoryChannel.permissions_for:7 -#: discord.TextChannel.permissions_for:7 discord.VoiceChannel.permissions_for:7 -#: discord.abc.GuildChannel.permissions_for:7 of -msgid "Channel overrides" -msgstr "" - -#: discord.CategoryChannel.permissions_for:8 -#: discord.TextChannel.permissions_for:8 discord.VoiceChannel.permissions_for:8 -#: discord.abc.GuildChannel.permissions_for:8 of -msgid "Member overrides" -msgstr "" - -#: discord.CategoryChannel.permissions_for:10 -#: discord.TextChannel.permissions_for:10 -#: discord.VoiceChannel.permissions_for:10 -#: discord.abc.GuildChannel.permissions_for:10 of -msgid "The member to resolve permissions for." -msgstr "" - -#: discord.CategoryChannel.permissions_for:13 discord.Member.permissions_in:12 -#: discord.TextChannel.permissions_for:13 -#: discord.VoiceChannel.permissions_for:13 -#: discord.abc.GuildChannel.permissions_for:13 of -msgid "The resolved permissions for the member." -msgstr "" - -#: discord.CategoryChannel.permissions_for:14 -#: discord.TextChannel.permissions_for:14 -#: discord.VoiceChannel.permissions_for:14 -#: discord.abc.GuildChannel.permissions_for:14 of -msgid ":class:`~discord.Permissions`" -msgstr "" - -#: discord.CategoryChannel.delete:3 discord.TextChannel.delete:3 -#: discord.VoiceChannel.delete:3 discord.abc.GuildChannel.delete:3 of -msgid "Deletes the channel." -msgstr "" - -#: discord.CategoryChannel.delete:5 discord.TextChannel.delete:5 -#: discord.VoiceChannel.delete:5 discord.abc.GuildChannel.delete:5 of -#, fuzzy -msgid "You must have :attr:`~Permissions.manage_channels` permission to use this." -msgstr "これを行うためには、そのチャンネルの :attr:`~.Permissions.read_message_history` 権限が必要です。" - -#: discord.CategoryChannel.delete:7 discord.TextChannel.delete:7 -#: discord.VoiceChannel.delete:7 discord.abc.GuildChannel.delete:7 of -msgid "The reason for deleting this channel. Shows up on the audit log." -msgstr "" - -#: discord.CategoryChannel.delete:11 discord.TextChannel.delete:11 -#: discord.VoiceChannel.delete:11 discord.abc.GuildChannel.delete:11 of -#, fuzzy -msgid "You do not have proper permissions to delete the channel." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.CategoryChannel.delete:12 discord.TextChannel.delete:12 -#: discord.VoiceChannel.delete:12 discord.abc.GuildChannel.delete:12 of -#, fuzzy -msgid "The channel was not found or was already deleted." -msgstr "作成、または削除されたギルドチャンネル。" - -#: discord.CategoryChannel.delete:13 discord.TextChannel.delete:13 -#: discord.VoiceChannel.delete:13 discord.abc.GuildChannel.delete:13 of -#, fuzzy -msgid "Deleting the channel failed." -msgstr ":exc:`.HTTPException` -- チャンネルの取得に失敗した。" - -#: discord.CategoryChannel.set_permissions:3 -#: discord.TextChannel.set_permissions:3 discord.VoiceChannel.set_permissions:3 -#: discord.abc.GuildChannel.set_permissions:3 of -msgid "" -"Sets the channel specific permission overwrites for a target in the " -"channel." -msgstr "" - -#: discord.CategoryChannel.set_permissions:6 -#: discord.TextChannel.set_permissions:6 discord.VoiceChannel.set_permissions:6 -#: discord.abc.GuildChannel.set_permissions:6 of -msgid "" -"The ``target`` parameter should either be a :class:`~discord.Member` or a" -" :class:`~discord.Role` that belongs to guild." -msgstr "" - -#: discord.CategoryChannel.set_permissions:9 -#: discord.TextChannel.set_permissions:9 discord.VoiceChannel.set_permissions:9 -#: discord.abc.GuildChannel.set_permissions:9 of -msgid "" -"The ``overwrite`` parameter, if given, must either be ``None`` or " -":class:`~discord.PermissionOverwrite`. For convenience, you can pass in " -"keyword arguments denoting :class:`~discord.Permissions` attributes. If " -"this is done, then you cannot mix the keyword arguments with the " -"``overwrite`` parameter." -msgstr "" - -#: discord.CategoryChannel.set_permissions:15 -#: discord.TextChannel.set_permissions:15 -#: discord.VoiceChannel.set_permissions:15 -#: discord.abc.GuildChannel.set_permissions:15 of -msgid "" -"If the ``overwrite`` parameter is ``None``, then the permission " -"overwrites are deleted." -msgstr "" - -#: discord.CategoryChannel.set_permissions:18 discord.Member.add_roles:5 -#: discord.Member.remove_roles:5 discord.Role.delete:5 discord.Role.edit:5 -#: discord.TextChannel.set_permissions:18 -#: discord.VoiceChannel.set_permissions:18 -#: discord.abc.GuildChannel.set_permissions:18 of -msgid "" -"You must have the :attr:`~Permissions.manage_roles` permission to use " -"this." -msgstr "" - -#: discord.CategoryChannel.set_permissions:22 -#: discord.TextChannel.set_permissions:22 -#: discord.VoiceChannel.set_permissions:22 -#: discord.abc.GuildChannel.set_permissions:22 of -msgid "Setting allow and deny: ::" -msgstr "" - -#: discord.CategoryChannel.set_permissions:27 -#: discord.TextChannel.set_permissions:27 -#: discord.VoiceChannel.set_permissions:27 -#: discord.abc.GuildChannel.set_permissions:27 of -msgid "Deleting overwrites ::" -msgstr "" - -#: discord.CategoryChannel.set_permissions:31 -#: discord.TextChannel.set_permissions:31 -#: discord.VoiceChannel.set_permissions:31 -#: discord.abc.GuildChannel.set_permissions:31 of -msgid "Using :class:`~discord.PermissionOverwrite` ::" -msgstr "" - -#: discord.CategoryChannel.set_permissions:38 -#: discord.TextChannel.set_permissions:38 -#: discord.VoiceChannel.set_permissions:38 -#: discord.abc.GuildChannel.set_permissions:38 of -msgid "The member or role to overwrite permissions for." -msgstr "" - -#: discord.CategoryChannel.set_permissions:40 -#: discord.TextChannel.set_permissions:40 -#: discord.VoiceChannel.set_permissions:40 -#: discord.abc.GuildChannel.set_permissions:40 of -msgid "" -"The permissions to allow and deny to the target, or ``None`` to delete " -"the overwrite." -msgstr "" - -#: discord.CategoryChannel.set_permissions:43 -#: discord.TextChannel.set_permissions:43 -#: discord.VoiceChannel.set_permissions:43 -#: discord.abc.GuildChannel.set_permissions:43 of -msgid "" -"A keyword argument list of permissions to set for ease of use. Cannot be " -"mixed with ``overwrite``." -msgstr "" - -#: discord.CategoryChannel.set_permissions:45 discord.Guild.prune_members:21 -#: discord.Guild.unban:12 discord.Member.move_to:16 -#: discord.TextChannel.set_permissions:45 -#: discord.VoiceChannel.set_permissions:45 -#: discord.abc.GuildChannel.set_permissions:45 of -msgid "The reason for doing this action. Shows up on the audit log." -msgstr "" - -#: discord.CategoryChannel.set_permissions:48 -#: discord.TextChannel.set_permissions:48 -#: discord.VoiceChannel.set_permissions:48 -#: discord.abc.GuildChannel.set_permissions:48 of -msgid "You do not have permissions to edit channel specific permissions." -msgstr "" - -#: discord.CategoryChannel.set_permissions:49 -#: discord.TextChannel.set_permissions:49 -#: discord.VoiceChannel.set_permissions:49 -#: discord.abc.GuildChannel.set_permissions:49 of -#, fuzzy -msgid "Editing channel specific permissions failed." -msgstr "権限を確認したいチャンネル。" - -#: discord.CategoryChannel.set_permissions:50 -#: discord.TextChannel.set_permissions:50 -#: discord.VoiceChannel.set_permissions:50 -#: discord.abc.GuildChannel.set_permissions:50 of -msgid "The role or member being edited is not part of the guild." -msgstr "" - -#: discord.CategoryChannel.set_permissions:51 -#: discord.TextChannel.set_permissions:51 -#: discord.VoiceChannel.set_permissions:51 -#: discord.abc.GuildChannel.set_permissions:51 of -msgid "" -"The overwrite parameter invalid or the target type was not " -":class:`~discord.Role` or :class:`~discord.Member`." -msgstr "" - -#: discord.CategoryChannel.clone:3 discord.TextChannel.clone:3 -#: discord.VoiceChannel.clone:3 discord.abc.GuildChannel.clone:3 of -msgid "" -"Clones this channel. This creates a channel with the same properties as " -"this channel." -msgstr "" - -#: discord.CategoryChannel.clone:6 discord.TextChannel.clone:6 -#: discord.VoiceChannel.clone:6 discord.abc.GuildChannel.clone:6 of -#, fuzzy -msgid "" -"You must have the :attr:`~discord.Permissions.manage_channels` permission" -" to do this." -msgstr "これを行うには、関連付けられたGuildにて、 :attr:`~.Permissions.manage_channels` 権限が必要です。" - -#: discord.CategoryChannel.clone:11 discord.TextChannel.clone:11 -#: discord.VoiceChannel.clone:11 discord.abc.GuildChannel.clone:11 of -msgid "" -"The name of the new channel. If not provided, defaults to this channel " -"name." -msgstr "" - -#: discord.CategoryChannel.clone:14 discord.TextChannel.clone:14 -#: discord.VoiceChannel.clone:14 discord.abc.GuildChannel.clone:14 of -msgid "The reason for cloning this channel. Shows up on the audit log." -msgstr "" - -#: discord.CategoryChannel.clone:17 discord.Guild.create_category:10 -#: discord.Guild.create_category_channel:10 -#: discord.Guild.create_text_channel:60 discord.Guild.create_voice_channel:11 -#: discord.TextChannel.clone:17 discord.VoiceChannel.clone:17 -#: discord.abc.GuildChannel.clone:17 of -#, fuzzy -msgid "You do not have the proper permissions to create this channel." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.CategoryChannel.clone:18 discord.Guild.create_category:11 -#: discord.Guild.create_category_channel:11 -#: discord.Guild.create_text_channel:61 discord.Guild.create_voice_channel:12 -#: discord.TextChannel.clone:18 discord.VoiceChannel.clone:18 -#: discord.abc.GuildChannel.clone:18 of -#, fuzzy -msgid "Creating the channel failed." -msgstr ":exc:`.HTTPException` -- チャンネルの取得に失敗した。" - -#: discord.CategoryChannel.clone:20 discord.Member.create_dm:6 -#: discord.TextChannel.clone:20 discord.User.create_dm:6 -#: discord.VoiceChannel.clone:20 discord.abc.GuildChannel.clone:20 of -#, fuzzy -msgid "The channel that was created." -msgstr "チャンネルが作成されました。" - -#: discord.CategoryChannel.clone:21 discord.TextChannel.clone:21 -#: discord.VoiceChannel.clone:21 discord.abc.GuildChannel.clone:21 of -#, fuzzy -msgid ":class:`.abc.GuildChannel`" -msgstr ":class:`.Guild`" - -#: discord.CategoryChannel.create_invite:3 discord.TextChannel.create_invite:3 -#: discord.VoiceChannel.create_invite:3 -#: discord.abc.GuildChannel.create_invite:3 of -msgid "Creates an instant invite." -msgstr "" - -#: discord.CategoryChannel.create_invite:5 discord.TextChannel.create_invite:5 -#: discord.VoiceChannel.create_invite:5 -#: discord.abc.GuildChannel.create_invite:5 of -#, fuzzy -msgid "" -"You must have the :attr:`~Permissions.create_instant_invite` permission " -"to do this." -msgstr "これを行うためには、そのチャンネルの :attr:`~.Permissions.read_message_history` 権限が必要です。" - -#: discord.CategoryChannel.create_invite:8 discord.TextChannel.create_invite:8 -#: discord.VoiceChannel.create_invite:8 -#: discord.abc.GuildChannel.create_invite:8 of -msgid "" -"How long the invite should last in seconds. If it's 0 then the invite " -"doesn't expire. Defaults to ``0``." -msgstr "" - -#: discord.CategoryChannel.create_invite:11 -#: discord.TextChannel.create_invite:11 discord.VoiceChannel.create_invite:11 -#: discord.abc.GuildChannel.create_invite:11 of -msgid "" -"How many uses the invite could be used for. If it's 0 then there are " -"unlimited uses. Defaults to ``0``." -msgstr "" - -#: discord.CategoryChannel.create_invite:14 -#: discord.TextChannel.create_invite:14 discord.VoiceChannel.create_invite:14 -#: discord.abc.GuildChannel.create_invite:14 of -msgid "" -"Denotes that the invite grants temporary membership (i.e. they get kicked" -" after they disconnect). Defaults to ``False``." -msgstr "" - -#: discord.CategoryChannel.create_invite:17 -#: discord.TextChannel.create_invite:17 discord.VoiceChannel.create_invite:17 -#: discord.abc.GuildChannel.create_invite:17 of -msgid "" -"Indicates if a unique invite URL should be created. Defaults to True. If " -"this is set to ``False`` then it will return a previously created invite." -msgstr "" - -#: discord.CategoryChannel.create_invite:21 -#: discord.TextChannel.create_invite:21 discord.VoiceChannel.create_invite:21 -#: discord.abc.GuildChannel.create_invite:21 of -msgid "The reason for creating this invite. Shows up on the audit log." -msgstr "" - -#: discord.CategoryChannel.create_invite:24 -#: discord.TextChannel.create_invite:24 discord.VoiceChannel.create_invite:24 -#: discord.abc.GuildChannel.create_invite:24 of -#, fuzzy -msgid "Invite creation failed." -msgstr "招待の作成。" - -#: discord.CategoryChannel.create_invite:27 -#: discord.TextChannel.create_invite:27 discord.VoiceChannel.create_invite:27 -#: discord.abc.GuildChannel.create_invite:27 of -msgid ":class:`~discord.Invite`" -msgstr "" - -#: discord.CategoryChannel.invites:3 discord.TextChannel.invites:3 -#: discord.VoiceChannel.invites:3 discord.abc.GuildChannel.invites:3 of -msgid "Returns a list of all active instant invites from this channel." -msgstr "" - -#: discord.CategoryChannel.invites:5 discord.TextChannel.invites:5 -#: discord.VoiceChannel.invites:5 discord.abc.GuildChannel.invites:5 of -#, fuzzy -msgid "You must have :attr:`~Permissions.manage_guild` to get this information." -msgstr "これを行うためには、そのチャンネルの :attr:`~.Permissions.read_message_history` 権限が必要です。" - -#: discord.CategoryChannel.invites:7 discord.Guild.bans:13 -#: discord.Guild.fetch_ban:13 discord.Guild.invites:8 -#: discord.TextChannel.invites:7 discord.VoiceChannel.invites:7 -#: discord.abc.GuildChannel.invites:7 of -#, fuzzy -msgid "You do not have proper permissions to get the information." -msgstr "この情報を取得するためには、ギルドのウィジェットを有効化しておく必要があります。" - -#: discord.CategoryChannel.invites:8 discord.Guild.bans:14 -#: discord.Guild.fetch_ban:15 discord.Guild.invites:9 -#: discord.TextChannel.invites:8 discord.VoiceChannel.invites:8 -#: discord.abc.GuildChannel.invites:8 of -msgid "An error occurred while fetching the information." -msgstr "" - -#: discord.CategoryChannel.invites:10 discord.Guild.invites:11 -#: discord.TextChannel.invites:10 discord.VoiceChannel.invites:10 -#: discord.abc.GuildChannel.invites:10 of -msgid "The list of invites that are currently active." -msgstr "" - -#: discord.CategoryChannel.invites:11 discord.TextChannel.invites:11 -#: discord.VoiceChannel.invites:11 discord.abc.GuildChannel.invites:11 of -msgid "List[:class:`~discord.Invite`]" -msgstr "" - -#: discord.abc.Messageable:1 of -msgid "" -"An ABC that details the common operations on a model that can send " -"messages." -msgstr "" - -#: discord.abc.Messageable:10 of -msgid ":class:`~discord.ext.commands.Context`" -msgstr "" - -#: discord.DMChannel.history:1 discord.GroupChannel.history:1 -#: discord.Member.history:1 discord.TextChannel.history:1 -#: discord.User.history:1 discord.abc.Messageable.history:1 of -msgid "" -"Returns an :class:`~discord.AsyncIterator` that enables receiving the " -"destination's message history." -msgstr "" - -#: discord.DMChannel.history:3 discord.GroupChannel.history:3 -#: discord.Member.history:3 discord.TextChannel.history:3 -#: discord.User.history:3 discord.abc.Messageable.history:3 of -#, fuzzy -msgid "" -"You must have :attr:`~Permissions.read_message_history` permissions to " -"use this." -msgstr "これを行うためには、そのチャンネルの :attr:`~.Permissions.read_message_history` 権限が必要です。" - -#: discord.DMChannel.history:14 discord.GroupChannel.history:14 -#: discord.Member.history:14 discord.Reaction.users:14 -#: discord.TextChannel.history:14 discord.User.history:14 -#: discord.abc.Messageable.history:14 of -msgid "Flattening into a list: ::" -msgstr "" - -#: discord.DMChannel.history:21 discord.GroupChannel.history:21 -#: discord.Member.history:21 discord.TextChannel.history:21 -#: discord.User.history:21 discord.abc.Messageable.history:21 of -msgid "" -"The number of messages to retrieve. If ``None``, retrieves every message " -"in the channel. Note, however, that this would make it a slow operation." -msgstr "" - -#: discord.DMChannel.history:25 discord.GroupChannel.history:25 -#: discord.Member.history:25 discord.TextChannel.history:25 -#: discord.User.history:25 discord.abc.Messageable.history:25 of -msgid "" -"Retrieve messages before this date or message. If a date is provided it " -"must be a timezone-naive datetime representing UTC time." -msgstr "" - -#: discord.DMChannel.history:28 discord.GroupChannel.history:28 -#: discord.Member.history:28 discord.TextChannel.history:28 -#: discord.User.history:28 discord.abc.Messageable.history:28 of -msgid "" -"Retrieve messages after this date or message. If a date is provided it " -"must be a timezone-naive datetime representing UTC time." -msgstr "" - -#: discord.DMChannel.history:31 discord.GroupChannel.history:31 -#: discord.Member.history:31 discord.TextChannel.history:31 -#: discord.User.history:31 discord.abc.Messageable.history:31 of -msgid "" -"Retrieve messages around this date or message. If a date is provided it " -"must be a timezone-naive datetime representing UTC time. When using this " -"argument, the maximum limit is 101. Note that if the limit is an even " -"number then this will return at most limit + 1 messages." -msgstr "" - -#: discord.DMChannel.history:36 discord.GroupChannel.history:36 -#: discord.Member.history:36 discord.TextChannel.history:36 -#: discord.User.history:36 discord.abc.Messageable.history:36 of -msgid "" -"If set to ``True``, return messages in oldest->newest order. Defaults to " -"``True`` if ``after`` is specified, otherwise ``False``." -msgstr "" - -#: discord.DMChannel.history:40 discord.GroupChannel.history:40 -#: discord.Member.history:40 discord.TextChannel.history:40 -#: discord.User.history:40 discord.abc.Messageable.history:40 of -#, fuzzy -msgid "You do not have permissions to get channel message history." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.DMChannel.history:41 discord.GroupChannel.history:41 -#: discord.Member.history:41 discord.TextChannel.history:41 -#: discord.User.history:41 discord.abc.Messageable.history:41 of -msgid "The request to get message history failed." -msgstr "" - -#: discord.DMChannel.history:43 discord.GroupChannel.history:43 -#: discord.Member.history:43 discord.TextChannel.history:43 -#: discord.User.history:43 discord.abc.Messageable.history:43 of -msgid ":class:`~discord.Message` -- The message with the message data parsed." -msgstr "" - -#: discord.DMChannel.typing:1 discord.GroupChannel.typing:1 -#: discord.Member.typing:1 discord.TextChannel.typing:1 discord.User.typing:1 -#: discord.abc.Messageable.typing:1 of -msgid "" -"Returns a context manager that allows you to type for an indefinite " -"period of time." -msgstr "" - -#: discord.DMChannel.typing:3 discord.GroupChannel.typing:3 -#: discord.Member.typing:3 discord.TextChannel.typing:3 discord.User.typing:3 -#: discord.abc.Messageable.typing:3 of -msgid "This is useful for denoting long computations in your bot." -msgstr "" - -#: discord.DMChannel.typing:7 discord.GroupChannel.typing:7 -#: discord.Member.typing:7 discord.TextChannel.typing:7 discord.User.typing:7 -#: discord.abc.Messageable.typing:7 of -msgid "" -"This is both a regular context manager and an async context manager. This" -" means that both ``with`` and ``async with`` work with this." -msgstr "" - -#: discord.DMChannel.typing:10 discord.GroupChannel.typing:10 -#: discord.Member.typing:10 discord.TextChannel.typing:10 -#: discord.User.typing:10 discord.abc.Messageable.typing:10 of -msgid "Example Usage: ::" -msgstr "" - -#: discord.DMChannel.send:3 discord.GroupChannel.send:3 discord.Member.send:3 -#: discord.TextChannel.send:3 discord.User.send:3 -#: discord.abc.Messageable.send:3 of -msgid "Sends a message to the destination with the content given." -msgstr "" - -#: discord.DMChannel.send:5 discord.GroupChannel.send:5 discord.Member.send:5 -#: discord.TextChannel.send:5 discord.User.send:5 -#: discord.abc.Messageable.send:5 of -msgid "" -"The content must be a type that can convert to a string through " -"``str(content)``. If the content is set to ``None`` (the default), then " -"the ``embed`` parameter must be provided." -msgstr "" - -#: discord.DMChannel.send:9 discord.GroupChannel.send:9 discord.Member.send:9 -#: discord.TextChannel.send:9 discord.User.send:9 -#: discord.abc.Messageable.send:9 of -msgid "" -"To upload a single file, the ``file`` parameter should be used with a " -"single :class:`~discord.File` object. To upload multiple files, the " -"``files`` parameter should be used with a :class:`list` of " -":class:`~discord.File` objects. **Specifying both parameters will lead to" -" an exception**." -msgstr "" - -#: discord.DMChannel.send:14 discord.GroupChannel.send:14 -#: discord.Member.send:14 discord.TextChannel.send:14 discord.User.send:14 -#: discord.abc.Messageable.send:14 of -msgid "" -"If the ``embed`` parameter is provided, it must be of type " -":class:`~discord.Embed` and it must be a rich embed type." -msgstr "" - -#: discord.DMChannel.send:21 discord.GroupChannel.send:21 -#: discord.Member.send:21 discord.TextChannel.send:21 discord.User.send:21 -#: discord.abc.Messageable.send:21 of -msgid "The rich embed for the content." -msgstr "" - -#: discord.DMChannel.send:23 discord.GroupChannel.send:23 -#: discord.Member.send:23 discord.TextChannel.send:23 discord.User.send:23 -#: discord.abc.Messageable.send:23 of -msgid "The file to upload." -msgstr "" - -#: discord.DMChannel.send:25 discord.GroupChannel.send:25 -#: discord.Member.send:25 discord.TextChannel.send:25 discord.User.send:25 -#: discord.abc.Messageable.send:25 of -msgid "A list of files to upload. Must be a maximum of 10." -msgstr "" - -#: discord.DMChannel.send:27 discord.GroupChannel.send:27 -#: discord.Member.send:27 discord.TextChannel.send:27 discord.User.send:27 -#: discord.abc.Messageable.send:27 of -msgid "" -"The nonce to use for sending this message. If the message was " -"successfully sent, then the message will have a nonce with this value." -msgstr "" - -#: discord.DMChannel.send:30 discord.GroupChannel.send:30 -#: discord.Member.send:30 discord.TextChannel.send:30 discord.User.send:30 -#: discord.abc.Messageable.send:30 of -msgid "" -"If provided, the number of seconds to wait in the background before " -"deleting the message we just sent. If the deletion fails, then it is " -"silently ignored." -msgstr "" - -#: discord.DMChannel.send:34 discord.GroupChannel.send:34 -#: discord.Member.send:34 discord.TextChannel.send:34 discord.User.send:34 -#: discord.abc.Messageable.send:34 of -msgid "" -"Controls the mentions being processed in this message. If this is passed," -" then the object is merged with :attr:`~discord.Client.allowed_mentions`." -" The merging behaviour only overrides attributes that have been " -"explicitly passed to the object, otherwise it uses the attributes set in " -":attr:`~discord.Client.allowed_mentions`. If no object is passed at all " -"then the defaults given by :attr:`~discord.Client.allowed_mentions` are " -"used instead. .. versionadded:: 1.4" -msgstr "" - -#: discord.DMChannel.send:34 discord.GroupChannel.send:34 -#: discord.Member.send:34 discord.TextChannel.send:34 discord.User.send:34 -#: discord.abc.Messageable.send:34 of -msgid "" -"Controls the mentions being processed in this message. If this is passed," -" then the object is merged with :attr:`~discord.Client.allowed_mentions`." -" The merging behaviour only overrides attributes that have been " -"explicitly passed to the object, otherwise it uses the attributes set in " -":attr:`~discord.Client.allowed_mentions`. If no object is passed at all " -"then the defaults given by :attr:`~discord.Client.allowed_mentions` are " -"used instead." -msgstr "" - -#: discord.DMChannel.send:45 discord.GroupChannel.send:45 -#: discord.Member.send:45 discord.TextChannel.send:45 discord.User.send:45 -#: discord.abc.Messageable.send:45 of -msgid "You do not have the proper permissions to send the message." -msgstr "" - -#: discord.DMChannel.send:46 discord.GroupChannel.send:46 -#: discord.Member.send:46 discord.TextChannel.send:46 discord.User.send:46 -#: discord.abc.Messageable.send:46 of -msgid "" -"The ``files`` list is not of the appropriate size or you specified " -"both ``file`` and ``files``." -msgstr "" - -#: discord.DMChannel.fetch_message:15 discord.DMChannel.send:49 -#: discord.GroupChannel.fetch_message:15 discord.GroupChannel.send:49 -#: discord.Member.fetch_message:15 discord.Member.send:49 -#: discord.TextChannel.fetch_message:15 discord.TextChannel.send:49 -#: discord.User.fetch_message:15 discord.User.send:49 -#: discord.abc.Messageable.fetch_message:15 discord.abc.Messageable.send:49 of -msgid ":class:`~discord.Message`" -msgstr "" - -#: discord.DMChannel.trigger_typing:3 discord.GroupChannel.trigger_typing:3 -#: discord.Member.trigger_typing:3 discord.TextChannel.trigger_typing:3 -#: discord.User.trigger_typing:3 discord.abc.Messageable.trigger_typing:3 of -msgid "Triggers a *typing* indicator to the destination." -msgstr "" - -#: discord.DMChannel.trigger_typing:5 discord.GroupChannel.trigger_typing:5 -#: discord.Member.trigger_typing:5 discord.TextChannel.trigger_typing:5 -#: discord.User.trigger_typing:5 discord.abc.Messageable.trigger_typing:5 of -msgid "" -"*Typing* indicator will go away after 10 seconds, or after a message is " -"sent." -msgstr "" - -#: discord.DMChannel.fetch_message:3 discord.GroupChannel.fetch_message:3 -#: discord.Member.fetch_message:3 discord.TextChannel.fetch_message:3 -#: discord.User.fetch_message:3 discord.abc.Messageable.fetch_message:3 of -msgid "Retrieves a single :class:`~discord.Message` from the destination." -msgstr "" - -#: discord.DMChannel.fetch_message:5 discord.GroupChannel.fetch_message:5 -#: discord.Member.fetch_message:5 discord.TextChannel.fetch_message:5 -#: discord.User.fetch_message:5 discord.abc.Messageable.fetch_message:5 of -msgid "This can only be used by bot accounts." -msgstr "" - -#: discord.DMChannel.fetch_message:7 discord.GroupChannel.fetch_message:7 -#: discord.Member.fetch_message:7 discord.TextChannel.fetch_message:7 -#: discord.User.fetch_message:7 discord.abc.Messageable.fetch_message:7 of -msgid "The message ID to look for." -msgstr "" - -#: discord.DMChannel.fetch_message:10 discord.GroupChannel.fetch_message:10 -#: discord.Member.fetch_message:10 discord.TextChannel.fetch_message:10 -#: discord.User.fetch_message:10 discord.abc.Messageable.fetch_message:10 of -msgid "The specified message was not found." -msgstr "" - -#: discord.DMChannel.fetch_message:11 discord.GroupChannel.fetch_message:11 -#: discord.Member.fetch_message:11 discord.TextChannel.fetch_message:11 -#: discord.User.fetch_message:11 discord.abc.Messageable.fetch_message:11 of -msgid "You do not have the permissions required to get a message." -msgstr "" - -#: discord.DMChannel.fetch_message:12 discord.GroupChannel.fetch_message:12 -#: discord.Member.fetch_message:12 discord.TextChannel.fetch_message:12 -#: discord.User.fetch_message:12 discord.abc.Messageable.fetch_message:12 of -msgid "Retrieving the message failed." -msgstr "" - -#: discord.DMChannel.fetch_message:14 discord.GroupChannel.fetch_message:14 -#: discord.Member.fetch_message:14 discord.TextChannel.fetch_message:14 -#: discord.User.fetch_message:14 discord.abc.Messageable.fetch_message:14 of -msgid "The message asked for." -msgstr "" - -#: discord.DMChannel.pins:3 discord.GroupChannel.pins:3 discord.Member.pins:3 -#: discord.TextChannel.pins:3 discord.User.pins:3 -#: discord.abc.Messageable.pins:3 of -msgid "Retrieves all messages that are currently pinned in the channel." -msgstr "" - -#: discord.DMChannel.pins:7 discord.GroupChannel.pins:7 discord.Member.pins:7 -#: discord.TextChannel.pins:7 discord.User.pins:7 -#: discord.abc.Messageable.pins:7 of -msgid "" -"Due to a limitation with the Discord API, the :class:`.Message` objects " -"returned by this method do not contain complete " -":attr:`.Message.reactions` data." -msgstr "" - -#: discord.DMChannel.pins:11 discord.GroupChannel.pins:11 -#: discord.Member.pins:11 discord.TextChannel.pins:11 discord.User.pins:11 -#: discord.abc.Messageable.pins:11 of -msgid "Retrieving the pinned messages failed." -msgstr "" - -#: discord.DMChannel.pins:13 discord.GroupChannel.pins:13 -#: discord.Member.pins:13 discord.TextChannel.pins:13 discord.User.pins:13 -#: discord.abc.Messageable.pins:13 of -msgid "The messages that are currently pinned." -msgstr "" - -#: discord.DMChannel.pins:14 discord.GroupChannel.pins:14 -#: discord.Member.pins:14 discord.TextChannel.pins:14 discord.User.pins:14 -#: discord.abc.Messageable.pins:14 of -msgid "List[:class:`~discord.Message`]" -msgstr "" - -#: discord.abc.Connectable:1 of -msgid "" -"An ABC that details the common operations on a channel that can connect " -"to a voice server." -msgstr "" - -#: ../../api.rst:2565 -msgid "Discord Models" -msgstr "Discordモデル" - -#: ../../api.rst:2567 -msgid "" -"Models are classes that are received from Discord and are not meant to be" -" created by the user of the library." -msgstr "モデルはDiscordから受け取るクラスであり、ユーザーによって作成されることを想定していません。" - -#: ../../api.rst:2572 -msgid "" -"The classes listed below are **not intended to be created by users** and " -"are also **read-only**." -msgstr "下記のクラスは、 **ユーザーによって作成されることを想定しておらず** 、中には **読み取り専用** のものもあります。" - -#: ../../api.rst:2575 -msgid "" -"For example, this means that you should not make your own :class:`User` " -"instances nor should you modify the :class:`User` instance yourself." -msgstr "" -"つまり、独自の :class:`User` を作成は行うべきではなく、また、 :class:`User` " -"インスタンスの値の変更もするべきではありません。" - -#: ../../api.rst:2578 -msgid "" -"If you want to get one of these model classes instances they'd have to be" -" through the cache, and a common way of doing so is through the " -":func:`utils.find` function or attributes of model classes that you " -"receive from the events specified in the :ref:`discord-api-events`." -msgstr "" -"このようなモデルクラスのインスタンスを取得したい場合は、 キャッシュを経由して取得する必要があります。一般的な方法としては " -":func:`utils.find` 関数を用いるか、 :ref:`discord-api-events` " -"の特定のイベントから受け取る方法が挙げられます。" - -#: ../../api.rst:2585 ../../api.rst:2870 -msgid "" -"Nearly all classes here have :ref:`py:slots` defined which means that it " -"is impossible to have dynamic attributes to the data classes." -msgstr "ほぼすべてのクラスに :ref:`py:slots` が定義されています。つまり、データクラスに動的に変数を追加することは不可能です。" - -#: ../../api.rst:2590 -msgid "ClientUser" -msgstr "ClientUser" - -#: discord.ClientUser:1 of -msgid "Represents your Discord user." -msgstr "あなたのDiscordユーザーを表します。" - -#: discord.ClientUser:7 discord.User:7 of -msgid "Checks if two users are equal." -msgstr "二つのユーザーが等しいかを比較します。" - -#: discord.ClientUser:11 discord.User:11 of -msgid "Checks if two users are not equal." -msgstr "二つのユーザーが等しいものではないか比較します。" - -#: discord.ClientUser:15 discord.User:15 of -msgid "Return the user's hash." -msgstr "ユーザーのハッシュ値を返します。" - -#: discord.ClientUser:19 discord.User:19 of -msgid "Returns the user's name with discriminator." -msgstr "ユーザー名とディスクリミネータを返します。" - -#: discord.ClientUser:29 discord.User:29 of -#, fuzzy -msgid "The user's unique ID." -msgstr ":class:`int` -- ユーザーの一意のID。" - -#: discord.ClientUser:35 discord.User:35 of -#, fuzzy -msgid "The user's discriminator. This is given when the username has conflicts." -msgstr ":class:`str` -- ユーザーの識別子。これはユーザー名が重複しているときに与えられます。" - -#: discord.ClientUser:41 of -#, fuzzy -msgid "The avatar hash the user has. Could be ``None``." -msgstr "Optional[:class:`str`] -- ユーザーのアバターハッシュ。 Noneが返る場合もあります。" - -#: discord.ClientUser:53 discord.User:53 of -#, fuzzy -msgid "" -"Specifies if the user is a system user (i.e. represents Discord " -"officially)." -msgstr ":class:`bool` -- ユーザーがプレミアムユーザー (例えば Discord Nitro) であるかを表します。" - -#: discord.ClientUser:61 of -#, fuzzy -msgid "Specifies if the user is a verified account." -msgstr ":class:`bool` -- ユーザーが認証済みアカウントであるかを表します。" - -#: discord.ClientUser:67 of -#, fuzzy -msgid "The email the user used when registering." -msgstr "Optional[:class:`str`] -- ユーザーが登録時に使用したEメールアドレス。" - -#: discord.ClientUser:73 of -#, fuzzy -msgid "The IETF language tag used to identify the language the user is using." -msgstr "Optional[:class:`str`] -- ユーザーが使用している言語を識別するためのIETF言語タグ。" - -#: discord.ClientUser:79 of -#, fuzzy -msgid "Specifies if the user has MFA turned on and working." -msgstr ":class:`bool` -- ユーザーが二段階認証を行っているかを表します。" - -#: discord.ClientUser:85 of -#, fuzzy -msgid "Specifies if the user is a premium user (e.g. has Discord Nitro)." -msgstr ":class:`bool` -- ユーザーがプレミアムユーザー (例えば Discord Nitro) であるかを表します。" - -#: discord.ClientUser:91 of -#, fuzzy -msgid "" -"Specifies the type of premium a user has (e.g. Nitro or Nitro Classic). " -"Could be None if the user is not premium." -msgstr "" -":class:`PremiumType` -- ユーザーのプレミアムの種類 (例えばNitroやNitro Classic) " -"を表します。ユーザーがプレミアムでない場合、Noneが返ります。" - -#: discord.ClientUser:93 of -msgid "Optional[:class:`PremiumType`]" -msgstr "" - -#: discord.ClientUser.get_relationship:1 of -msgid "Retrieves the :class:`Relationship` if applicable." -msgstr "該当すれば :class:`Relationship` が返ります。" - -#: discord.ClientUser.get_relationship:7 of -msgid "The user ID to check if we have a relationship with them." -msgstr "リレーションシップがあるか確認したいユーザーのID。" - -#: discord.ClientUser.get_relationship:10 of -msgid "The relationship if available or ``None``." -msgstr "該当すればリレーションシップが返り、それ以外は ``None`` が返ります。" - -#: discord.ClientUser.get_relationship:11 discord.User.relationship:7 of -msgid "Optional[:class:`Relationship`]" -msgstr "" - -#: discord.ClientUser.relationships:1 of -#, fuzzy -msgid "Returns all the relationships that the user has." -msgstr "List[:class:`User`] -- ユーザーが持つすべてのリレーションシップを返します。" - -#: discord.CallMessage:16 discord.ClientUser.blocked:7 -#: discord.ClientUser.friends:7 discord.ClientUser.relationships:7 -#: discord.GroupCall:21 discord.GroupCall.connected:3 discord.GroupChannel:25 -#: discord.Member.mutual_friends:13 discord.User.mutual_friends:13 of -msgid "List[:class:`User`]" -msgstr "" - -#: discord.ClientUser.friends:1 of -#, fuzzy -msgid "Returns all the users that the user is friends with." -msgstr "List[:class:`User`] -- ユーザーのフレンドであるすべてのユーザーを返します。" - -#: discord.ClientUser.blocked:1 of -#, fuzzy -msgid "Returns all the users that the user has blocked." -msgstr "List[:class:`User`] -- ユーザーがブロックしているすべてのユーザーを返します。" - -#: discord.ClientUser.edit:3 of -msgid "Edits the current profile of the client." -msgstr "現在のクライアントのプロフィールを編集します。" - -#: discord.ClientUser.edit:5 of -msgid "" -"If a bot account is used then a password field is optional, otherwise it " -"is required." -msgstr "Botアカウントである場合はpasswordフィールドはオプションとなります。それ以外の場合は必須です。" - -#: discord.ClientUser.edit:10 of -msgid "" -"To upload an avatar, a :term:`py:bytes-like object` must be passed in " -"that represents the image being uploaded. If this is done through a file " -"then the file must be opened via ``open('some_filename', 'rb')`` and the " -":term:`py:bytes-like object` is given through the use of ``fp.read()``." -msgstr "" -"アバターをアップロードする際には、アップロードする画像を表す :term:`py:bytes-like object` " -"を渡す必要があります。これをファイルを介して行う場合、ファイルを ``open('some_filename', 'rb')`` で開き、 " -":term:`py:bytes-like object` は ``fp.read()`` で取得できます。" - -#: discord.ClientUser.edit:15 of -msgid "The only image formats supported for uploading is JPEG and PNG." -msgstr "" - -#: discord.ClientUser.edit:17 of -msgid "" -"The current password for the client's account. Only applicable to user " -"accounts." -msgstr "クライアントの現在のパスワード。ユーザーアカウントでのみ適用可能です。" - -#: discord.ClientUser.edit:20 of -msgid "The new password you wish to change to. Only applicable to user accounts." -msgstr "変更する際の新しいパスワード。ユーザーアカウントでのみ適用可能です。" - -#: discord.ClientUser.edit:23 of -msgid "The new email you wish to change to. Only applicable to user accounts." -msgstr "変更する際の新しいEメールアドレス。ユーザーアカウントでのみ適用可能です。" - -#: discord.ClientUser.edit:26 of -msgid "" -"The hypesquad house you wish to change to. Could be ``None`` to leave the" -" current house. Only applicable to user accounts." -msgstr "" -"変更する際の新しいHypesquad house。現在のhouseから脱退したい場合は ``None`` " -"を指定してください。ユーザアカウントでのみ適用可能です。" - -#: discord.ClientUser.edit:30 of -msgid "The new username you wish to change to." -msgstr "変更する際の新しいユーザー名。" - -#: discord.ClientUser.edit:32 of -msgid "" -"A :term:`py:bytes-like object` representing the image to upload. Could be" -" ``None`` to denote no avatar." -msgstr "" -"アップロードする画像を表す :term:`py:bytes-like object` 。アバターをなしにしたい場合は ``None`` " -"を設定することが出来ます。" - -#: discord.ClientUser.edit:36 of -#, fuzzy -msgid "Editing your profile failed." -msgstr ":exc:`HTTPException` -- プロフィールの編集に失敗した。" - -#: discord.ClientUser.edit:37 of -#, fuzzy -msgid "Wrong image format passed for ``avatar``." -msgstr ":exc:`InvalidArgument` -- ``avatar`` に誤った形式の画像が渡された。" - -#: discord.ClientUser.edit:38 of -#, fuzzy -msgid "" -"Password is required for non-bot accounts. House field was not a " -"HypeSquadHouse." -msgstr "" -":exc:`ClientException` -- Botではないアカウントでpasswordが指定されていない。 " -"HouseフィールドがHypeSquadHouseでない。" - -#: discord.ClientUser.create_group:3 of -msgid "" -"Creates a group direct message with the recipients provided. These " -"recipients must be have a relationship of type " -":attr:`RelationshipType.friend`." -msgstr "" -"与えられたrecipientsを含むグループダイレクトメッセージを作成します。これを実行するにはrecipientsとの間に " -":attr:`RelationshipType.friend` のリレーションシップを持っていなければなりません。" - -#: discord.ClientUser.create_group:11 of -msgid "An argument :class:`list` of :class:`User` to have in your group." -msgstr "グループに参加させたい :class:`User` の :class:`list` 。" - -#: discord.ClientUser.create_group:15 of -#, fuzzy -msgid "Failed to create the group direct message." -msgstr ":exc:`HTTPException` -- グループダイレクトメッセージの作成に失敗した。" - -#: discord.ClientUser.create_group:16 of -msgid "" -"Attempted to create a group with only one recipient. This does not " -"include yourself." -msgstr "" - -#: discord.ClientUser.create_group:18 of -msgid "The new group channel." -msgstr "新しいグループチャンネル。" - -#: discord.ClientUser.create_group:19 of -msgid ":class:`GroupChannel`" -msgstr "" - -#: discord.ClientUser.edit_settings:3 of -msgid "Edits the client user's settings." -msgstr "クライアントユーザーの設定を変更します。" - -#: discord.ClientUser.edit_settings:9 of -msgid "" -"How long (in seconds) the user needs to be AFK until Discord sends push " -"notifications to your mobile device." -msgstr "" - -#: discord.ClientUser.edit_settings:12 of -msgid "Whether or not to animate emojis in the chat." -msgstr "" - -#: discord.ClientUser.edit_settings:14 of -msgid "" -"Whether or not to automatically convert emoticons into emojis. e.g. :-) " -"-> 😃" -msgstr "" - -#: discord.ClientUser.edit_settings:17 of -msgid "" -"Whether or not to automatically disable DMs between you and members of " -"new guilds you join." -msgstr "" - -#: discord.ClientUser.edit_settings:20 of -msgid "" -"Whether or not to automatically detect accounts from services like Steam " -"and Blizzard when you open the Discord client." -msgstr "" - -#: discord.ClientUser.edit_settings:23 of -msgid "Whether or not to enable developer mode." -msgstr "" - -#: discord.ClientUser.edit_settings:25 of -msgid "Whether or not to disable the showing of the Games tab." -msgstr "" - -#: discord.ClientUser.edit_settings:27 of -msgid "Whether or not to allow tts messages to be played/sent." -msgstr "" - -#: discord.ClientUser.edit_settings:29 of -msgid "The filter for explicit content in all messages." -msgstr "" - -#: discord.ClientUser.edit_settings:31 of -msgid "Who can add you as a friend." -msgstr "" - -#: discord.ClientUser.edit_settings:33 of -msgid "Whether or not to automatically play gifs that are in the chat." -msgstr "" - -#: discord.ClientUser.edit_settings:35 of -msgid "" -"A list of guilds in order of the guild/guild icons that are on the left " -"hand side of the UI." -msgstr "" - -#: discord.ClientUser.edit_settings:38 of -msgid "Whether or not to display attachments when they are uploaded in chat." -msgstr "" - -#: discord.ClientUser.edit_settings:40 of -msgid "Whether or not to display videos and images from links posted in chat." -msgstr "" - -#: discord.ClientUser.edit_settings:42 of -msgid "" -"The :rfc:`3066` language identifier of the locale to use for the language" -" of the Discord client." -msgstr "" - -#: discord.ClientUser.edit_settings:45 of -msgid "Whether or not to use the compact Discord display mode." -msgstr "" - -#: discord.ClientUser.edit_settings:47 of -msgid "Whether or not to render embeds that are sent in the chat." -msgstr "" - -#: discord.ClientUser.edit_settings:49 of -msgid "Whether or not to render reactions that are added to messages." -msgstr "" - -#: discord.ClientUser.edit_settings:51 of -msgid "A list of guilds that you will not receive DMs from." -msgstr "" - -#: discord.ClientUser.edit_settings:53 of -msgid "Whether or not to display the game that you are currently playing." -msgstr "" - -#: discord.ClientUser.edit_settings:55 of -msgid "The clients status that is shown to others." -msgstr "" - -#: discord.ClientUser.edit_settings:57 of -msgid "The theme of the Discord UI." -msgstr "" - -#: discord.ClientUser.edit_settings:59 of -msgid "The timezone offset to use." -msgstr "" - -#: discord.ClientUser.edit_settings:62 of -#, fuzzy -msgid "Editing the settings failed." -msgstr ":exc:`HTTPException` -- 設定の編集に失敗した。" - -#: discord.ClientUser.edit_settings:63 of -#, fuzzy -msgid "The client is a bot user and not a user account." -msgstr ":exc:`Forbidden` -- クライアントがBotユーザーであり、ユーザーアカウントでない。" - -#: discord.ClientUser.edit_settings:65 of -msgid "The client user's updated settings." -msgstr "クライアントユーザーの更新された設定。" - -#: discord.Activity:57 discord.Activity:69 discord.Activity:78 -#: discord.ClientUser.edit_settings:66 discord.RawMessageUpdateEvent:21 -#: discord.Streaming:61 of -msgid ":class:`dict`" -msgstr "" - -#: discord.ClientUser.avatar_url:1 discord.ClientUser.avatar_url_as:1 -#: discord.Member.avatar_url_as:1 discord.User.avatar_url:1 -#: discord.User.avatar_url_as:1 discord.WidgetMember.avatar_url:1 -#: discord.WidgetMember.avatar_url_as:1 of -msgid "Returns an :class:`Asset` for the avatar the user has." -msgstr "" - -#: discord.ClientUser.avatar_url:3 discord.ClientUser.avatar_url_as:3 -#: discord.Member.avatar_url_as:3 discord.User.avatar_url:3 -#: discord.User.avatar_url_as:3 discord.WidgetMember.avatar_url:3 -#: discord.WidgetMember.avatar_url_as:3 of -msgid "" -"If the user does not have a traditional avatar, an asset for the default " -"avatar is returned instead." -msgstr "" - -#: discord.ClientUser.avatar_url:6 discord.User.avatar_url:6 -#: discord.WidgetMember.avatar_url:6 of -msgid "" -"This is equivalent to calling :meth:`avatar_url_as` with the default " -"parameters (i.e. webp/gif detection and a size of 1024)." -msgstr "" -"これはデフォルトパラメータ(webp/gif フォーマット及びサイズが1024)で :meth:`avatar_url_as` " -"を呼び出すのと同等の処理です。" - -#: discord.ClientUser.avatar_url_as:6 discord.Guild.icon_url_as:3 -#: discord.Member.avatar_url_as:6 discord.User.avatar_url_as:6 -#: discord.WidgetMember.avatar_url_as:6 of -msgid "" -"The format must be one of 'webp', 'jpeg', 'jpg', 'png' or 'gif', and " -"'gif' is only valid for animated avatars. The size must be a power of 2 " -"between 16 and 4096." -msgstr "" - -#: discord.ClientUser.avatar_url_as:10 discord.Member.avatar_url_as:10 -#: discord.User.avatar_url_as:10 discord.WidgetMember.avatar_url_as:10 of -msgid "" -"The format to attempt to convert the avatar to. If the format is " -"``None``, then it is automatically detected into either 'gif' or " -"static_format depending on the avatar being animated or not." -msgstr "" -"アバターのフォーマット。 ``None`` の場合はアニメーションアバターなら 「gif」、それ以外は static_format " -"のフォーマットに自動的に変換されます。" - -#: discord.ClientUser.avatar_url_as:15 discord.Member.avatar_url_as:15 -#: discord.User.avatar_url_as:15 discord.WidgetMember.avatar_url_as:15 of -msgid "" -"Format to attempt to convert only non-animated avatars to. Defaults to " -"'webp'" -msgstr "アバターがアニメーションでない場合に変換されるフォーマット。デフォルトでは「webp」です。" - -#: discord.ClientUser.avatar_url_as:21 discord.Member.avatar_url_as:21 -#: discord.User.avatar_url_as:21 discord.WidgetMember.avatar_url_as:21 of -msgid "" -"Bad image format passed to ``format`` or ``static_format``, or " -"invalid ``size``." -msgstr "" - -#: discord.ClientUser.color:1 discord.User.color:1 discord.WidgetMember.color:1 -#: of -msgid "" -"A property that returns a color denoting the rendered color for the user." -" This always returns :meth:`Colour.default`." -msgstr "" - -#: discord.ClientUser.color:4 discord.Member.color:5 discord.User.color:4 -#: discord.WidgetMember.color:4 of -msgid "There is an alias for this named :attr:`colour`." -msgstr "" - -#: discord.ClientUser.colour:1 discord.User.colour:1 -#: discord.WidgetMember.colour:1 of -msgid "" -"A property that returns a colour denoting the rendered colour for the " -"user. This always returns :meth:`Colour.default`." -msgstr "" - -#: discord.ClientUser.colour:4 discord.Member.colour:5 discord.User.colour:4 -#: discord.WidgetMember.colour:4 of -msgid "There is an alias for this named :attr:`color`." -msgstr "" - -#: discord.ClientUser.created_at:1 discord.User.created_at:1 -#: discord.WidgetMember.created_at:1 of -#, fuzzy -msgid "Returns the user's creation time in UTC." -msgstr "ユーザー名とディスクリミネータを返します。" - -#: discord.ClientUser.created_at:3 discord.User.created_at:3 -#: discord.WidgetMember.created_at:3 of -#, fuzzy -msgid "This is when the user's Discord account was created." -msgstr "これはユーザーのDiscordアカウントが作成された時間です。" - -#: discord.ClientUser.default_avatar:1 discord.User.default_avatar:1 -#: discord.WidgetMember.default_avatar:1 of -msgid "" -"Returns the default avatar for a given user. This is calculated by the " -"user's discriminator." -msgstr "" - -#: discord.ClientUser.default_avatar:3 discord.User.default_avatar:3 -#: discord.WidgetMember.default_avatar:3 of -#, fuzzy -msgid ":class:`DefaultAvatar`" -msgstr ":class:`str`" - -#: discord.ClientUser.default_avatar_url:1 discord.User.default_avatar_url:1 -#: discord.WidgetMember.default_avatar_url:1 of -msgid "Returns a URL for a user's default avatar." -msgstr "" - -#: discord.ClientUser.display_name:3 discord.Member.display_name:3 -#: discord.User.display_name:3 of -msgid "" -"For regular users this is just their username, but if they have a guild " -"specific nickname then that is returned instead." -msgstr "通常であれば、これはユーザー名がそのまま返りますが、ギルドにてニックネームを設定している場合は、代替としてニックネームが返ります。" - -#: discord.ClientUser.is_avatar_animated:1 discord.Member.is_avatar_animated:1 -#: discord.User.is_avatar_animated:1 discord.WidgetMember.is_avatar_animated:1 -#: of -#, fuzzy -msgid ":class:`bool`: Indicates if the user has an animated avatar." -msgstr ":class:`bool` -- ユーザーが認証済みアカウントであるかを表します。" - -#: discord.ClientUser.mentioned_in:1 discord.User.mentioned_in:1 -#: discord.WidgetMember.mentioned_in:1 of -msgid "Checks if the user is mentioned in the specified message." -msgstr "指定のメッセージにユーザーに対するメンションが含まれているかを確認します。" - -#: discord.ClientUser.mentioned_in:3 discord.Member.mentioned_in:3 -#: discord.User.mentioned_in:3 discord.WidgetMember.mentioned_in:3 of -msgid "The message to check if you're mentioned in." -msgstr "メンションが含まれているかを確認するメッセージ。" - -#: discord.ClientUser.mentioned_in:6 discord.User.mentioned_in:6 -#: discord.WidgetMember.mentioned_in:6 of -#, fuzzy -msgid "Indicates if the user is mentioned in the message." -msgstr "指定のメッセージにユーザーに対するメンションが含まれているかを確認します。" - -#: discord.ClientUser.permissions_in:1 discord.Member.permissions_in:1 -#: discord.User.permissions_in:1 discord.WidgetMember.permissions_in:1 of -msgid "An alias for :meth:`abc.GuildChannel.permissions_for`." -msgstr ":meth:`abc.GuildChannel.permissions_for` のエイリアス。" - -#: discord.ClientUser.permissions_in:3 discord.Member.permissions_in:3 -#: discord.User.permissions_in:3 discord.WidgetMember.permissions_in:3 of -msgid "Basically equivalent to:" -msgstr "基本的には以下と同等です:" - -#: discord.ClientUser.permissions_in:9 discord.Member.permissions_in:9 -#: discord.User.permissions_in:9 discord.WidgetMember.permissions_in:9 of -msgid "The channel to check your permissions for." -msgstr "権限を確認したいチャンネル。" - -#: discord.ClientUser.public_flags:1 discord.User.public_flags:1 -#: discord.WidgetMember.public_flags:1 of -msgid "The publicly available flags the user has." -msgstr "" - -#: discord.ClientUser.public_flags:3 discord.User.public_flags:3 -#: discord.WidgetMember.public_flags:3 of -#, fuzzy -msgid ":class:`PublicUserFlags`" -msgstr ":class:`bytes`" - -#: ../../api.rst:2597 -msgid "Relationship" -msgstr "" - -#: discord.Relationship:1 of -msgid "Represents a relationship in Discord." -msgstr "Discordのリレーションシップを表します。" - -#: discord.Relationship:3 of -msgid "" -"A relationship is like a friendship, a person who is blocked, etc. Only " -"non-bot accounts can have relationships." -msgstr "フレンドや、ブロックした人などのようなリレーションシップです。Botでないアカウントのみがリレーションシップを持つことが出来ます。" - -#: discord.Relationship:8 of -#, fuzzy -msgid "The user you have the relationship with." -msgstr "リレーションシップがあるか確認したいユーザーのID。" - -#: discord.Relationship:14 of -#, fuzzy -msgid "The type of relationship you have." -msgstr "以前のフレンドの状態。" - -#: discord.Relationship:16 of -#, fuzzy -msgid ":class:`RelationshipType`" -msgstr ":class:`.Invite`" - -#: discord.Relationship.delete:3 of -msgid "Deletes the relationship." -msgstr "" - -#: discord.Relationship.delete:5 of -msgid "Deleting the relationship failed." -msgstr "" - -#: discord.Relationship.accept:3 of -msgid "Accepts the relationship request. e.g. accepting a friend request." -msgstr "" - -#: discord.Relationship.accept:6 of -#, fuzzy -msgid "Accepting the relationship failed." -msgstr ":exc:`HTTPException` -- 設定の編集に失敗した。" - -#: ../../api.rst:2603 -msgid "User" -msgstr "" - -#: discord.User:1 of -msgid "Represents a Discord user." -msgstr "" - -#: discord.User:41 of -#, fuzzy -msgid "The avatar hash the user has. Could be None." -msgstr "Optional[:class:`str`] -- ユーザーのアバターハッシュ。 Noneが返る場合もあります。" - -#: discord.User.dm_channel:1 of -msgid "Returns the channel associated with this user if it exists." -msgstr "" - -#: discord.User.dm_channel:3 of -msgid "" -"If this returns ``None``, you can create a DM channel by calling the " -":meth:`create_dm` coroutine function." -msgstr "これが ``None``を返すなら、あなたは :meth:`create_dm` コルーチン関数を使って、DMチャンネルを作ることができます。" - -#: discord.User.dm_channel:6 of -msgid "Optional[:class:`DMChannel`]" -msgstr "" - -#: discord.Member.create_dm:1 discord.User.create_dm:1 of -msgid "Creates a :class:`DMChannel` with this user." -msgstr "このユーザーと :class:`DMChannel` を作ります。" - -#: discord.Member.create_dm:3 discord.User.create_dm:3 of -msgid "" -"This should be rarely called, as this is done transparently for most " -"people." -msgstr "" - -#: discord.Member.create_dm:7 discord.User.create_dm:7 of -#, fuzzy -msgid ":class:`.DMChannel`" -msgstr ":class:`.Widget`" - -#: discord.User.relationship:1 of -msgid "" -"Returns the :class:`Relationship` with this user if applicable, ``None`` " -"otherwise." -msgstr "" - -#: discord.Member.mutual_friends:3 discord.User.mutual_friends:3 of -msgid "Gets all mutual friends of this user." -msgstr "" - -#: discord.Member.mutual_friends:9 discord.User.mutual_friends:9 of -msgid "Not allowed to get mutual friends of this user." -msgstr "" - -#: discord.Member.mutual_friends:10 discord.User.mutual_friends:10 of -msgid "Getting mutual friends failed." -msgstr "" - -#: discord.Member.mutual_friends:12 discord.User.mutual_friends:12 of -msgid "The users that are mutual friends." -msgstr "" - -#: discord.Member.is_friend:1 discord.User.is_friend:1 of -#, fuzzy -msgid ":class:`bool`: Checks if the user is your friend." -msgstr ":class:`bool` -- ユーザーが認証済みアカウントであるかを表します。" - -#: discord.Member.is_blocked:1 discord.User.is_blocked:1 of -#, fuzzy -msgid ":class:`bool`: Checks if the user is blocked." -msgstr ":class:`bool` -- ユーザーがBotアカウントであるかを表します。" - -#: discord.Member.block:3 discord.User.block:3 of -msgid "Blocks the user." -msgstr "ユーザーをブロックします。" - -#: discord.Member.block:9 discord.User.block:9 of -#, fuzzy -msgid "Not allowed to block this user." -msgstr "このユーザーはブロックされています。" - -#: discord.Member.block:10 discord.User.block:10 of -#, fuzzy -msgid "Blocking the user failed." -msgstr "ユーザーをブロックします。" - -#: discord.Member.unblock:3 discord.User.unblock:3 of -msgid "Unblocks the user." -msgstr "" - -#: discord.Member.unblock:9 discord.User.unblock:9 of -#, fuzzy -msgid "Not allowed to unblock this user." -msgstr "このユーザーはブロックされています。" - -#: discord.Member.unblock:10 discord.User.unblock:10 of -#, fuzzy -msgid "Unblocking the user failed." -msgstr "ユーザーをブロックします。" - -#: discord.Member.remove_friend:3 discord.User.remove_friend:3 of -msgid "Removes the user as a friend." -msgstr "" - -#: discord.Member.remove_friend:9 discord.User.remove_friend:9 of -msgid "Not allowed to remove this user as a friend." -msgstr "" - -#: discord.Member.remove_friend:10 discord.User.remove_friend:10 of -msgid "Removing the user as a friend failed." -msgstr "" - -#: discord.Member.send_friend_request:3 discord.User.send_friend_request:3 of -msgid "Sends the user a friend request." -msgstr "" - -#: discord.Member.send_friend_request:9 discord.User.send_friend_request:9 of -msgid "Not allowed to send a friend request to the user." -msgstr "" - -#: discord.Member.send_friend_request:10 discord.User.send_friend_request:10 of -msgid "Sending the friend request failed." -msgstr "" - -#: discord.Member.profile:3 discord.User.profile:3 of -msgid "Gets the user's profile." -msgstr "" - -#: discord.Member.profile:13 discord.User.profile:13 of -msgid ":class:`Profile`" -msgstr "" - -#: ../../api.rst:2617 -msgid "Attachment" -msgstr "" - -#: discord.Attachment:1 of -msgid "Represents an attachment from Discord." -msgstr "" - -#: discord.Attachment:5 of -msgid "The attachment ID." -msgstr "" - -#: discord.Attachment:11 of -msgid "The attachment size in bytes." -msgstr "" - -#: discord.Attachment:17 of -msgid "The attachment's height, in pixels. Only applicable to images and videos." -msgstr "" - -#: discord.Attachment:23 of -msgid "The attachment's width, in pixels. Only applicable to images and videos." -msgstr "" - -#: discord.Attachment:29 of -msgid "The attachment's filename." -msgstr "" - -#: discord.Attachment:35 of -msgid "" -"The attachment URL. If the message this attachment was attached to is " -"deleted, then this will 404." -msgstr "" - -#: discord.Attachment:42 of -msgid "" -"The proxy URL. This is a cached version of the :attr:`~Attachment.url` in" -" the case of images. When the message is deleted, this URL might be valid" -" for a few minutes or not valid at all." -msgstr "" - -#: discord.Attachment.is_spoiler:1 of -msgid ":class:`bool`: Whether this attachment contains a spoiler." -msgstr "" - -#: discord.Attachment.save:3 of -msgid "Saves this attachment into a file-like object." -msgstr "" - -#: discord.Attachment.save:5 of -msgid "" -"The file-like object to save this attachment to or the filename to use. " -"If a filename is passed then a file is created with that filename and " -"used instead." -msgstr "" - -#: discord.Attachment.save:9 of -msgid "" -"Whether to seek to the beginning of the file after saving is successfully" -" done." -msgstr "" - -#: discord.Attachment.read:7 discord.Attachment.save:12 -#: discord.Attachment.to_file:8 of -msgid "" -"Whether to use :attr:`proxy_url` rather than :attr:`url` when downloading" -" the attachment. This will allow attachments to be saved after deletion " -"more often, compared to the regular URL which is generally deleted right " -"after the message is deleted. Note that this can still fail to download " -"deleted attachments if too much time has passed and it does not work on " -"some types of attachments." -msgstr "" - -#: discord.Attachment.save:20 of -msgid "Saving the attachment failed." -msgstr "" - -#: discord.Attachment.read:17 discord.Attachment.save:21 -#: discord.Attachment.to_file:24 of -#, fuzzy -msgid "The attachment was deleted." -msgstr "チャンネルの削除。" - -#: discord.Asset.save:14 discord.Attachment.save:23 of -msgid "The number of bytes written." -msgstr "" - -#: discord.Attachment.read:3 of -msgid "Retrieves the content of this attachment as a :class:`bytes` object." -msgstr "" - -#: discord.Attachment.read:15 discord.Attachment.to_file:22 of -msgid "Downloading the attachment failed." -msgstr "" - -#: discord.Attachment.read:16 discord.Attachment.to_file:23 of -#, fuzzy -msgid "You do not have permissions to access this attachment" -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.Attachment.read:19 of -msgid "The contents of the attachment." -msgstr "" - -#: discord.Attachment.to_file:3 of -msgid "" -"Converts the attachment into a :class:`File` suitable for sending via " -":meth:`abc.Messageable.send`." -msgstr "" - -#: discord.Attachment.to_file:8 of -msgid "" -"Whether to use :attr:`proxy_url` rather than :attr:`url` when downloading" -" the attachment. This will allow attachments to be saved after deletion " -"more often, compared to the regular URL which is generally deleted right " -"after the message is deleted. Note that this can still fail to download " -"deleted attachments if too much time has passed and it does not work on " -"some types of attachments. .. versionadded:: 1.4" -msgstr "" - -#: discord.Attachment.to_file:17 of -msgid "Whether the file is a spoiler. .. versionadded:: 1.4" -msgstr "" - -#: discord.Attachment.to_file:17 of -msgid "Whether the file is a spoiler." -msgstr "" - -#: discord.Attachment.to_file:26 of -msgid "The attachment as a file suitable for sending." -msgstr "" - -#: discord.Attachment.to_file:27 of -#, fuzzy -msgid ":class:`File`" -msgstr ":class:`.Profile`" - -#: ../../api.rst:2623 -msgid "Asset" -msgstr "" - -#: discord.Asset:1 of -msgid "Represents a CDN asset on Discord." -msgstr "" - -#: discord.Asset:7 of -msgid "Returns the URL of the CDN asset." -msgstr "" - -#: discord.Asset:11 of -msgid "Returns the length of the CDN asset's URL." -msgstr "" - -#: discord.Asset:15 of -msgid "Checks if the Asset has a URL." -msgstr "" - -#: discord.Asset:19 of -msgid "Checks if the asset is equal to another asset." -msgstr "" - -#: discord.Asset:23 of -msgid "Checks if the asset is not equal to another asset." -msgstr "" - -#: discord.Asset:27 of -msgid "Returns the hash of the asset." -msgstr "" - -#: discord.Asset.read:3 of -msgid "Retrieves the content of this asset as a :class:`bytes` object." -msgstr "" - -#: discord.Asset.read:7 of -msgid "" -":class:`PartialEmoji` won't have a connection state if user created, and " -"a URL won't be present if a custom image isn't associated with the asset," -" e.g. a guild with no custom icon." -msgstr "" - -#: discord.Asset.read:13 discord.Asset.save:10 of -msgid "There was no valid URL or internal connection state." -msgstr "" - -#: discord.Asset.read:14 discord.Asset.save:11 of -msgid "Downloading the asset failed." -msgstr "" - -#: discord.Asset.read:15 discord.Asset.save:12 of -#, fuzzy -msgid "The asset was deleted." -msgstr "役職の削除。" - -#: discord.Asset.read:17 of -msgid "The content of the asset." -msgstr "" - -#: discord.Asset.save:3 of -msgid "Saves this asset into a file-like object." -msgstr "" - -#: discord.Asset.save:5 discord.Asset.save:7 of -msgid "Same as in :meth:`Attachment.save`." -msgstr "" - -#: ../../api.rst:2629 -msgid "Message" -msgstr "" - -#: discord.Message:1 of -msgid "Represents a message from Discord." -msgstr "" - -#: discord.Message:3 of -msgid "There should be no need to create one of these manually." -msgstr "" - -#: discord.Message:7 of -msgid "" -"Specifies if the message was done with text-to-speech. This can only be " -"accurately received in :func:`on_message` due to a discord limitation." -msgstr "" - -#: discord.Message:15 of -msgid "" -"The type of message. In most cases this should not be checked, but it is " -"helpful in cases where it might be a system message for " -":attr:`system_content`." -msgstr "" - -#: discord.Message:18 of -#, fuzzy -msgid ":class:`MessageType`" -msgstr ":class:`str`" - -#: discord.Message:22 of -msgid "" -"A :class:`Member` that sent the message. If :attr:`channel` is a private " -"channel or the user has the left the guild, then it is a :class:`User` " -"instead." -msgstr "" - -#: discord.Message:29 of -#, fuzzy -msgid "The actual contents of the message." -msgstr "更新後のメッセージ。" - -#: discord.Message:35 of -msgid "" -"The value used by the discord guild and the client to verify that the " -"message is successfully sent. This is typically non-important." -msgstr "" - -#: discord.Message:40 of -#, fuzzy -msgid "A list of embeds the message has." -msgstr "更新前の絵文字のリスト。" - -#: discord.Message:42 of -#, fuzzy -msgid "List[:class:`Embed`]" -msgstr ":class:`bytes`" - -#: discord.Message:46 of -msgid "" -"The :class:`TextChannel` that the message was sent from. Could be a " -":class:`DMChannel` or :class:`GroupChannel` if it's a private message." -msgstr "" - -#: discord.Message:49 of -msgid "Union[:class:`abc.Messageable`]" -msgstr "" - -#: discord.Message:53 of -msgid "" -"The call that the message refers to. This is only applicable to messages " -"of type :attr:`MessageType.call`." -msgstr "" - -#: discord.Message:56 of -msgid "Optional[:class:`CallMessage`]" -msgstr "" - -#: discord.Message:60 of -msgid "" -"The message that this message references. This is only applicable to " -"messages of type :attr:`MessageType.pins_add` or crossposted messages " -"created by a followed channel integration." -msgstr "" - -#: discord.Message:66 of -msgid "Optional[:class:`MessageReference`]" -msgstr "" - -#: discord.Message:70 of -msgid "Specifies if the message mentions everyone." -msgstr "" - -#: discord.Message:74 of -msgid "" -"This does not check if the ``@everyone`` or the ``@here`` text is in the " -"message itself. Rather this boolean indicates if either the ``@everyone``" -" or the ``@here`` text is in the message **and** it did end up " -"mentioning." -msgstr "" - -#: discord.Message:82 of -msgid "" -"A list of :class:`Member` that were mentioned. If the message is in a " -"private message then the list will be of :class:`User` instead. For " -"messages that are not of type :attr:`MessageType.default`\\, this array " -"can be used to aid in system messages. For more information, see " -":attr:`system_content`." -msgstr "" - -#: discord.Message:89 of -msgid "" -"The order of the mentions list is not in any particular order so you " -"should not rely on it. This is a discord limitation, not one with the " -"library." -msgstr "" - -#: discord.Message:92 of -#, fuzzy -msgid "List[:class:`abc.User`]" -msgstr ":class:`str`" - -#: discord.Message:96 of -msgid "" -"A list of :class:`abc.GuildChannel` that were mentioned. If the message " -"is in a private message then the list is always empty." -msgstr "" - -#: discord.CategoryChannel.channels:5 discord.Guild.channels:3 -#: discord.Guild.fetch_channels:15 discord.Message:99 of -msgid "List[:class:`abc.GuildChannel`]" -msgstr "" - -#: discord.Message:103 of -msgid "" -"A list of :class:`Role` that were mentioned. If the message is in a " -"private message then the list is always empty." -msgstr "" - -#: discord.Emoji.roles:5 discord.Guild.edit_role_positions:32 -#: discord.Guild.fetch_roles:14 discord.Guild.roles:6 discord.Member.roles:7 -#: discord.Message:106 of -#, fuzzy -msgid "List[:class:`Role`]" -msgstr ":class:`.Profile`" - -#: discord.Message:110 of -#, fuzzy -msgid "The message ID." -msgstr "削除されたメッセージ。" - -#: discord.Message:116 of -msgid "" -"If this message was sent by a webhook, then this is the webhook ID's that" -" sent this message." -msgstr "" - -#: discord.Message:123 of -msgid "A list of attachments given to a message." -msgstr "" - -#: discord.Message:125 of -msgid "List[:class:`Attachment`]" -msgstr "" - -#: discord.Message:129 of -msgid "Specifies if the message is currently pinned." -msgstr "" - -#: discord.Message:135 of -#, fuzzy -msgid "Extra features of the message." -msgstr "更新後のメッセージ。" - -#: discord.Message:139 of -#, fuzzy -msgid ":class:`MessageFlags`" -msgstr ":class:`bytes`" - -#: discord.Message:143 of -msgid "" -"Reactions to a message. Reactions can be either custom emoji or standard " -"unicode emoji." -msgstr "" - -#: discord.Message:145 of -msgid "List[:class:`Reaction`]" -msgstr "" - -#: discord.Message:149 of -msgid "" -"The activity associated with this message. Sent with Rich-Presence " -"related messages that for example, request joining, spectating, or " -"listening to or with another member." -msgstr "" - -#: discord.Message:152 of -msgid "It is a dictionary with the following optional keys:" -msgstr "" - -#: discord.Message:154 of -msgid "" -"``type``: An integer denoting the type of message activity being " -"requested." -msgstr "" - -#: discord.Message:155 of -msgid "``party_id``: The party ID associated with the party." -msgstr "" - -#: discord.Message:157 discord.Message:171 of -msgid "Optional[:class:`dict`]" -msgstr "" - -#: discord.Message:161 of -msgid "The rich presence enabled application associated with this message." -msgstr "" - -#: discord.Message:163 of -msgid "It is a dictionary with the following keys:" -msgstr "" - -#: discord.Message:165 of -msgid "``id``: A string representing the application's ID." -msgstr "" - -#: discord.Message:166 of -msgid "``name``: A string representing the application's name." -msgstr "" - -#: discord.Message:167 of -msgid "``description``: A string representing the application's description." -msgstr "" - -#: discord.Message:168 of -msgid "``icon``: A string representing the icon ID of the application." -msgstr "" - -#: discord.Message:169 of -msgid "``cover_image``: A string representing the embed's image asset ID." -msgstr "" - -#: discord.Message.guild:1 of -msgid "The guild that the message belongs to, if applicable." -msgstr "" - -#: discord.Message.raw_mentions:1 of -msgid "" -"A property that returns an array of user IDs matched with the syntax of " -"``<@user_id>`` in the message content." -msgstr "" - -#: discord.Message.raw_mentions:4 of -msgid "" -"This allows you to receive the user IDs of mentioned users even in a " -"private message context." -msgstr "" - -#: discord.Message.raw_channel_mentions:4 discord.Message.raw_mentions:7 -#: discord.Message.raw_role_mentions:4 of -#, fuzzy -msgid "List[:class:`int`]" -msgstr ":class:`str`" - -#: discord.Message.raw_channel_mentions:1 of -msgid "" -"A property that returns an array of channel IDs matched with the syntax " -"of ``<#channel_id>`` in the message content." -msgstr "" - -#: discord.Message.raw_role_mentions:1 of -msgid "" -"A property that returns an array of role IDs matched with the syntax of " -"``<@&role_id>`` in the message content." -msgstr "" - -#: discord.Message.clean_content:1 of -msgid "" -"A property that returns the content in a \"cleaned up\" manner. This " -"basically means that mentions are transformed into the way the client " -"shows it. e.g. ``<#id>`` will transform into ``#name``." -msgstr "" - -#: discord.Message.clean_content:6 of -msgid "This will also transform @everyone and @here mentions into non-mentions." -msgstr "" - -#: discord.Message.clean_content:11 of -msgid "" -"This *does not* escape markdown. If you want to escape markdown then use " -":func:`utils.escape_markdown` along with this function." -msgstr "" - -#: discord.Message.created_at:1 of -msgid "The message's creation time in UTC." -msgstr "" - -#: discord.Message.edited_at:1 of -msgid "A naive UTC datetime object containing the edited time of the message." -msgstr "" - -#: discord.Activity.end:3 discord.Activity.start:3 -#: discord.BaseActivity.created_at:5 discord.CallMessage:10 discord.Game.end:3 -#: discord.Game.start:3 discord.Member:30 discord.Member:55 -#: discord.Message.edited_at:3 discord.Spotify.created_at:5 of -msgid "Optional[:class:`datetime.datetime`]" -msgstr "" - -#: discord.Message.jump_url:1 of -msgid "Returns a URL that allows the client to jump to this message." -msgstr "" - -#: discord.Message.is_system:1 of -msgid ":class:`bool`: Whether the message is a system message." -msgstr "" - -#: discord.Message.system_content:1 of -msgid "" -"A property that returns the content that is rendered regardless of the " -":attr:`Message.type`." -msgstr "" - -#: discord.Message.system_content:4 of -msgid "" -"In the case of :attr:`MessageType.default`\\, this just returns the " -"regular :attr:`Message.content`. Otherwise this returns an English " -"message denoting the contents of the system message." -msgstr "" - -#: discord.Message.delete:3 of -msgid "Deletes the message." -msgstr "" - -#: discord.Message.delete:5 of -msgid "" -"Your own messages could be deleted without any proper permissions. " -"However to delete other people's messages, you need the " -":attr:`~Permissions.manage_messages` permission." -msgstr "" - -#: discord.Message.delete:9 of -msgid "Added the new ``delay`` keyword-only parameter." -msgstr "" - -#: discord.Message.delete:12 of -msgid "" -"If provided, the number of seconds to wait in the background before " -"deleting the message. If the deletion fails then it is silently ignored." -msgstr "" - -#: discord.Message.delete:16 of -msgid "You do not have proper permissions to delete the message." -msgstr "" - -#: discord.Message.delete:17 of -#, fuzzy -msgid "The message was deleted already" -msgstr "メッセージが埋め込みを受け取った。" - -#: discord.Message.delete:18 of -#, fuzzy -msgid "Deleting the message failed." -msgstr "削除されたメッセージ。" - -#: discord.Message.edit:3 of -msgid "Edits the message." -msgstr "" - -#: discord.Message.edit:5 of -msgid "" -"The content must be able to be transformed into a string via " -"``str(content)``." -msgstr "" - -#: discord.Message.edit:7 of -msgid "The ``suppress`` keyword-only parameter was added." -msgstr "" - -#: discord.Message.edit:10 of -msgid "" -"The new content to replace the message with. Could be ``None`` to remove " -"the content." -msgstr "" - -#: discord.Message.edit:13 of -msgid "" -"The new embed to replace the original with. Could be ``None`` to remove " -"the embed." -msgstr "" - -#: discord.Message.edit:16 of -msgid "" -"Whether to suppress embeds for the message. This removes all the embeds " -"if set to ``True``. If set to ``False`` this brings the embeds back if " -"they were suppressed. Using this parameter requires " -":attr:`~.Permissions.manage_messages`." -msgstr "" - -#: discord.Message.edit:21 of -msgid "" -"If provided, the number of seconds to wait in the background before " -"deleting the message we just edited. If the deletion fails, then it is " -"silently ignored." -msgstr "" - -#: discord.Message.edit:30 of -msgid "Editing the message failed." -msgstr "" - -#: discord.Message.edit:31 of -msgid "" -"Tried to suppress a message without permissions or edited a message's" -" content or embed that isn't yours." -msgstr "" - -#: discord.Message.publish:3 of -msgid "Publishes this message to your announcement channel." -msgstr "" - -#: discord.Message.publish:5 of -#, fuzzy -msgid "" -"If the message is not your own then the " -":attr:`~Permissions.manage_messages` permission is needed." -msgstr "これを行うには、関連付けられたGuildにて、 :attr:`~.Permissions.manage_channels` 権限が必要です。" - -#: discord.Message.publish:8 of -msgid "You do not have the proper permissions to publish this message." -msgstr "" - -#: discord.Message.publish:9 of -msgid "Publishing the message failed." -msgstr "" - -#: discord.Message.pin:3 of -msgid "Pins the message." -msgstr "" - -#: discord.Message.pin:5 discord.Message.unpin:5 of -msgid "" -"You must have the :attr:`~Permissions.manage_messages` permission to do " -"this in a non-private channel context." -msgstr "" - -#: discord.Message.pin:8 of -msgid "" -"The reason for pinning the message. Shows up on the audit log. .. " -"versionadded:: 1.4" -msgstr "" - -#: discord.Message.pin:8 of -msgid "The reason for pinning the message. Shows up on the audit log." -msgstr "" - -#: discord.Message.pin:13 of -#, fuzzy -msgid "You do not have permissions to pin the message." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.Message.pin:14 discord.Message.unpin:14 of -#, fuzzy -msgid "The message or channel was not found or deleted." -msgstr "作成、または削除されたギルドチャンネル。" - -#: discord.Message.pin:15 of -msgid "" -"Pinning the message failed, probably due to the channel having more " -"than 50 pinned messages." -msgstr "" - -#: discord.Message.unpin:3 of -msgid "Unpins the message." -msgstr "" - -#: discord.Message.unpin:8 of -msgid "" -"The reason for unpinning the message. Shows up on the audit log. .. " -"versionadded:: 1.4" -msgstr "" - -#: discord.Message.unpin:8 of -msgid "The reason for unpinning the message. Shows up on the audit log." -msgstr "" - -#: discord.Message.unpin:13 of -#, fuzzy -msgid "You do not have permissions to unpin the message." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.Message.unpin:15 of -msgid "Unpinning the message failed." -msgstr "" - -#: discord.Message.add_reaction:3 of -msgid "Add a reaction to the message." -msgstr "" - -#: discord.Message.add_reaction:5 discord.Message.clear_reaction:5 -#: discord.Message.remove_reaction:5 of -msgid "The emoji may be a unicode emoji or a custom guild :class:`Emoji`." -msgstr "" - -#: discord.Message.add_reaction:7 of -msgid "" -"You must have the :attr:`~Permissions.read_message_history` permission to" -" use this. If nobody else has reacted to the message using this emoji, " -"the :attr:`~Permissions.add_reactions` permission is required." -msgstr "" - -#: discord.Message.add_reaction:11 of -msgid "The emoji to react with." -msgstr "" - -#: discord.Message.add_reaction:14 of -msgid "Adding the reaction failed." -msgstr "" - -#: discord.Message.add_reaction:15 of -msgid "You do not have the proper permissions to react to the message." -msgstr "" - -#: discord.Message.add_reaction:16 discord.Message.clear_reaction:16 -#: discord.Reaction.clear:11 of -msgid "The emoji you specified was not found." -msgstr "" - -#: discord.Message.add_reaction:17 discord.Message.clear_reaction:17 -#: discord.Message.remove_reaction:21 discord.Reaction.clear:12 of -msgid "The emoji parameter is invalid." -msgstr "" - -#: discord.Message.remove_reaction:3 of -msgid "Remove a reaction by the member from the message." -msgstr "" - -#: discord.Message.remove_reaction:7 of -msgid "" -"If the reaction is not your own (i.e. ``member`` parameter is not you) " -"then the :attr:`~Permissions.manage_messages` permission is needed." -msgstr "" - -#: discord.Message.remove_reaction:10 of -msgid "" -"The ``member`` parameter must represent a member and meet the " -":class:`abc.Snowflake` abc." -msgstr "" - -#: discord.Message.remove_reaction:13 of -msgid "The emoji to remove." -msgstr "" - -#: discord.Message.remove_reaction:15 of -msgid "The member for which to remove the reaction." -msgstr "" - -#: discord.Message.remove_reaction:18 discord.Reaction.remove:14 of -msgid "Removing the reaction failed." -msgstr "" - -#: discord.Message.remove_reaction:19 discord.Reaction.remove:15 of -msgid "You do not have the proper permissions to remove the reaction." -msgstr "" - -#: discord.Message.remove_reaction:20 of -msgid "The member or emoji you specified was not found." -msgstr "" - -#: discord.Message.clear_reaction:3 of -#, fuzzy -msgid "Clears a specific reaction from the message." -msgstr "メッセージ送信者がサムズアップリアクションを付けるのを待つ場合: ::" - -#: discord.Message.clear_reaction:7 discord.Message.clear_reactions:5 -#: discord.Reaction.clear:5 of -msgid "You need the :attr:`~Permissions.manage_messages` permission to use this." -msgstr "" - -#: discord.Message.clear_reaction:11 of -msgid "The emoji to clear." -msgstr "" - -#: discord.Message.clear_reaction:14 discord.Reaction.clear:9 of -msgid "Clearing the reaction failed." -msgstr "" - -#: discord.Message.clear_reaction:15 discord.Reaction.clear:10 of -msgid "You do not have the proper permissions to clear the reaction." -msgstr "" - -#: discord.Message.clear_reactions:3 of -msgid "Removes all the reactions from the message." -msgstr "" - -#: discord.Message.clear_reactions:7 of -msgid "Removing the reactions failed." -msgstr "" - -#: discord.Message.clear_reactions:8 of -msgid "You do not have the proper permissions to remove all the reactions." -msgstr "" - -#: discord.Message.ack:3 of -msgid "Marks this message as read." -msgstr "" - -#: discord.Guild.ack:5 discord.Message.ack:5 of -msgid "The user must not be a bot user." -msgstr "" - -#: discord.Guild.ack:7 discord.Message.ack:7 of -msgid "Acking failed." -msgstr "" - -#: discord.Guild.ack:8 discord.Message.ack:8 of -msgid "You must not be a bot user." -msgstr "" - -#: ../../api.rst:2635 -msgid "Reaction" -msgstr "" - -#: discord.Reaction:1 of -msgid "Represents a reaction to a message." -msgstr "" - -#: discord.Emoji:3 discord.Invite:3 discord.Reaction:3 of -msgid "" -"Depending on the way this object was created, some of the attributes can " -"have a value of ``None``." -msgstr "" - -#: discord.Reaction:10 of -msgid "" -"Checks if two reactions are equal. This works by checking if the emoji is" -" the same. So two messages with the same reaction will be considered " -"\"equal\"." -msgstr "" - -#: discord.Reaction:16 of -msgid "Checks if two reactions are not equal." -msgstr "" - -#: discord.Reaction:20 of -msgid "Returns the reaction's hash." -msgstr "" - -#: discord.Reaction:24 of -msgid "Returns the string form of the reaction's emoji." -msgstr "" - -#: discord.Reaction:28 of -msgid "The reaction emoji. May be a custom emoji, or a unicode emoji." -msgstr "" - -#: discord.Reaction:30 of -msgid "Union[:class:`Emoji`, :class:`PartialEmoji`, :class:`str`]" -msgstr "" - -#: discord.Reaction:34 of -msgid "Number of times this reaction was made" -msgstr "" - -#: discord.Reaction:40 of -#, fuzzy -msgid "If the user sent this reaction." -msgstr "リアクションを追加したユーザー。" - -#: discord.Reaction:46 of -#, fuzzy -msgid "Message this reaction is for." -msgstr "リアクションが削除されたメッセージ。" - -#: discord.CallMessage:22 discord.Intents.dm_messages:16 -#: discord.Intents.guild_messages:15 discord.Intents.messages:16 -#: discord.Reaction:48 of -#, fuzzy -msgid ":class:`Message`" -msgstr ":class:`bytes`" - -#: discord.Reaction.users:1 of -msgid "" -"Returns an :class:`AsyncIterator` representing the users that have " -"reacted to the message." -msgstr "" - -#: discord.Reaction.users:3 of -msgid "" -"The ``after`` parameter must represent a member and meet the " -":class:`abc.Snowflake` abc." -msgstr "" - -#: discord.Reaction.users:21 of -msgid "" -"The maximum number of results to return. If not provided, returns all the" -" users who reacted to the message." -msgstr "" - -#: discord.Reaction.users:25 of -msgid "For pagination, reactions are sorted by member." -msgstr "" - -#: discord.Reaction.users:28 of -#, fuzzy -msgid "Getting the users for the reaction failed." -msgstr "リアクションを追加したユーザー。" - -#: discord.Reaction.users:30 of -msgid "" -"Union[:class:`User`, :class:`Member`] -- The member (if retrievable) or " -"the user that has reacted to this message. The case where it can be a " -":class:`Member` is in a guild message context. Sometimes it can be a " -":class:`User` if the member has left the guild." -msgstr "" - -#: discord.Reaction.custom_emoji:1 of -msgid "If this is a custom emoji." -msgstr "" - -#: discord.Reaction.remove:3 of -msgid "Remove the reaction by the provided :class:`User` from the message." -msgstr "" - -#: discord.Reaction.remove:5 of -msgid "" -"If the reaction is not your own (i.e. ``user`` parameter is not you) then" -" the :attr:`~Permissions.manage_messages` permission is needed." -msgstr "" - -#: discord.Reaction.remove:8 of -msgid "" -"The ``user`` parameter must represent a user or member and meet the " -":class:`abc.Snowflake` abc." -msgstr "" - -#: discord.Reaction.remove:11 of -msgid "The user or member from which to remove the reaction." -msgstr "" - -#: discord.Reaction.remove:16 of -msgid "The user you specified, or the reaction's message was not found." -msgstr "" - -#: discord.Reaction.clear:3 of -#, fuzzy -msgid "Clears this reaction from the message." -msgstr "メッセージ送信者がサムズアップリアクションを付けるのを待つ場合: ::" - -#: ../../api.rst:2645 -msgid "CallMessage" -msgstr "" - -#: discord.CallMessage:1 of -msgid "Represents a group call message from Discord." -msgstr "" - -#: discord.CallMessage:3 of -msgid "" -"This is only received in cases where the message type is equivalent to " -":attr:`MessageType.call`." -msgstr "" - -#: discord.CallMessage:8 of -msgid "" -"A naive UTC datetime object that represents the time that the call has " -"ended." -msgstr "" - -#: discord.CallMessage:14 of -msgid "The list of users that are participating in this call." -msgstr "" - -#: discord.CallMessage:20 of -msgid "The message associated with this call message." -msgstr "" - -#: discord.CallMessage.call_ended:1 of -#, fuzzy -msgid "Indicates if the call has ended." -msgstr "opusライブラリがロードされているかを表します。" - -#: discord.CallMessage.channel:1 of -#, fuzzy -msgid "The private channel associated with this message." -msgstr "プライベートのテキストチャンネル。ダイレクトメッセージとも呼ばれています。" - -#: discord.CallMessage.channel:3 discord.GroupCall.channel:3 of -#, fuzzy -msgid ":class:`GroupChannel`" -msgstr ":class:`bool`" - -#: discord.CallMessage.duration:1 of -msgid "Queries the duration of the call." -msgstr "" - -#: discord.CallMessage.duration:3 of -msgid "If the call has not ended then the current duration will be returned." -msgstr "" - -#: discord.CallMessage.duration:6 of -msgid "The timedelta object representing the duration." -msgstr "" - -#: discord.CallMessage.duration:7 discord.Spotify.duration:3 of -msgid ":class:`datetime.timedelta`" -msgstr "" - -#: ../../api.rst:2651 -msgid "GroupCall" -msgstr "" - -#: discord.GroupCall:1 of -msgid "Represents the actual group call from Discord." -msgstr "" - -#: discord.GroupCall:3 of -msgid "This is accompanied with a :class:`CallMessage` denoting the information." -msgstr "" - -#: discord.GroupCall:7 of -msgid "The call message associated with this group call." -msgstr "" - -#: discord.GroupCall:9 of -#, fuzzy -msgid ":class:`CallMessage`" -msgstr ":class:`bytes`" - -#: discord.GroupCall:13 of -msgid "Denotes if this group call is unavailable." -msgstr "" - -#: discord.GroupCall:19 of -msgid "A list of users that are currently being rung to join the call." -msgstr "" - -#: discord.GroupCall:25 of -#, fuzzy -msgid "The guild region the group call is being hosted on." -msgstr "更新される前のギルド。" - -#: discord.GroupCall.connected:1 of -msgid "A property that returns all users that are currently in this call." -msgstr "" - -#: discord.GroupCall.channel:1 of -#, fuzzy -msgid "Returns the channel the group call is in." -msgstr "カテゴリの名前を返します。" - -#: discord.GroupCall.voice_state_for:1 of -msgid "Retrieves the :class:`VoiceState` for a specified :class:`User`." -msgstr "" - -#: discord.GroupCall.voice_state_for:3 of -msgid "" -"If the :class:`User` has no voice state then this function returns " -"``None``." -msgstr "" - -#: discord.GroupCall.voice_state_for:6 of -msgid "The user to retrieve the voice state for." -msgstr "" - -#: discord.GroupCall.voice_state_for:9 of -msgid "The voice state associated with this user." -msgstr "" - -#: discord.GroupCall.voice_state_for:10 discord.Member.voice:3 of -msgid "Optional[:class:`VoiceState`]" -msgstr "" - -#: ../../api.rst:2657 -msgid "Guild" -msgstr "" - -#: discord.Guild:1 of -msgid "Represents a Discord guild." -msgstr "" - -#: discord.Guild:3 of -msgid "This is referred to as a \"server\" in the official Discord UI." -msgstr "" - -#: discord.Guild:9 of -msgid "Checks if two guilds are equal." -msgstr "" - -#: discord.Guild:13 of -msgid "Checks if two guilds are not equal." -msgstr "" - -#: discord.Guild:17 of -msgid "Returns the guild's hash." -msgstr "" - -#: discord.Guild:21 of -msgid "Returns the guild's name." -msgstr "" - -#: discord.Guild:25 of -#, fuzzy -msgid "The guild name." -msgstr "IDから取得したギルド。" - -#: discord.Guild:31 of -msgid "All emojis that the guild owns." -msgstr "" - -#: discord.Guild:33 of -msgid "Tuple[:class:`Emoji`, ...]" -msgstr "" - -#: discord.Guild:37 of -msgid "" -"The region the guild belongs on. There is a chance that the region will " -"be a :class:`str` if the value is not recognised by the enumerator." -msgstr "" - -#: discord.Guild:44 of -msgid "The timeout to get sent to the AFK channel." -msgstr "" - -#: discord.Guild:50 of -msgid "The channel that denotes the AFK channel. ``None`` if it doesn't exist." -msgstr "" - -#: discord.Guild:52 discord.VoiceState:52 discord.WidgetMember:91 of -msgid "Optional[:class:`VoiceChannel`]" -msgstr "" - -#: discord.Guild:56 of -#, fuzzy -msgid "The guild's icon." -msgstr "ギルドのウィジェット。" - -#: discord.Guild:62 discord.Widget:19 of -#, fuzzy -msgid "The guild's ID." -msgstr "ギルドのウィジェット。" - -#: discord.Guild:68 of -msgid "The guild owner's ID. Use :attr:`Guild.owner` instead." -msgstr "" - -#: discord.Guild:74 of -msgid "" -"Indicates if the guild is unavailable. If this is ``True`` then the " -"reliability of other attributes outside of :meth:`Guild.id` is slim and " -"they might all be ``None``. It is best to not do anything with the guild " -"if it is unavailable." -msgstr "" - -#: discord.Guild:78 of -msgid "" -"Check the :func:`on_guild_unavailable` and :func:`on_guild_available` " -"events." -msgstr "" - -#: discord.Guild:84 of -msgid "The maximum amount of presences for the guild." -msgstr "" - -#: discord.Guild:90 of -msgid "The maximum amount of members for the guild." -msgstr "" - -#: discord.Guild:94 of -msgid "This attribute is only available via :meth:`.Client.fetch_guild`." -msgstr "" - -#: discord.Guild:100 of -msgid "The maximum amount of users in a video channel." -msgstr "" - -#: discord.Guild:108 of -#, fuzzy -msgid "The guild's banner." -msgstr "ギルドのウィジェット。" - -#: discord.Guild:114 of -#, fuzzy -msgid "The guild's description." -msgstr "ギルドのウィジェット。" - -#: discord.Guild:120 of -msgid "" -"Indicates the guild's two factor authorisation level. If this value is 0 " -"then the guild does not require 2FA for their administrative members. If " -"the value is 1 then they do." -msgstr "" - -#: discord.Guild:134 of -#, fuzzy -msgid "The guild's explicit content filter." -msgstr "ギルドで表現のフィルターが有効ではない。" - -#: discord.Guild:140 of -#, fuzzy -msgid "The guild's notification settings." -msgstr "ギルドの管理設定の変更" - -#: discord.Guild:146 of -msgid "A list of features that the guild has. They are currently as follows:" -msgstr "" - -#: discord.Guild:148 of -msgid "``VIP_REGIONS``: Guild has VIP voice regions" -msgstr "" - -#: discord.Guild:149 of -msgid "" -"``VANITY_URL``: Guild can have a vanity invite URL (e.g. discord.gg" -"/discord-api)" -msgstr "" - -#: discord.Guild:150 of -msgid "``INVITE_SPLASH``: Guild's invite page can have a special splash." -msgstr "" - -#: discord.Guild:151 of -msgid "``VERIFIED``: Guild is a verified server." -msgstr "" - -#: discord.Guild:152 of -msgid "``PARTNERED``: Guild is a partnered server." -msgstr "" - -#: discord.Guild:153 of -msgid "``MORE_EMOJI``: Guild is allowed to have more than 50 custom emoji." -msgstr "" - -#: discord.Guild:154 of -msgid "``DISCOVERABLE``: Guild shows up in Server Discovery." -msgstr "" - -#: discord.Guild:155 of -msgid "``FEATURABLE``: Guild is able to be featured in Server Discovery." -msgstr "" - -#: discord.Guild:156 of -msgid "``COMMUNITY``: Guild is a community server." -msgstr "" - -#: discord.Guild:157 of -msgid "``COMMERCE``: Guild can sell things using store channels." -msgstr "" - -#: discord.Guild:158 of -msgid "``PUBLIC``: Guild is a public guild." -msgstr "" - -#: discord.Guild:159 of -msgid "``NEWS``: Guild can create news channels." -msgstr "" - -#: discord.Guild:160 of -msgid "``BANNER``: Guild can upload and use a banner (i.e. :meth:`banner_url`)." -msgstr "" - -#: discord.Guild:161 of -msgid "``ANIMATED_ICON``: Guild can upload an animated icon." -msgstr "" - -#: discord.Guild:162 of -msgid "``PUBLIC_DISABLED``: Guild cannot be public." -msgstr "" - -#: discord.Guild:163 of -msgid "``WELCOME_SCREEN_ENABLED``: Guild has enabled the welcome screen" -msgstr "" - -#: discord.Guild:165 discord.PartialInviteGuild:46 discord.Spotify.artists:3 of -#, fuzzy -msgid "List[:class:`str`]" -msgstr ":class:`str`" - -#: discord.Guild:169 of -#, fuzzy -msgid "The guild's invite splash." -msgstr "ギルドの招待時のスプラッシュ画像の変更" - -#: discord.Guild:175 of -msgid "" -"The premium tier for this guild. Corresponds to \"Nitro Server\" in the " -"official UI. The number goes from 0 to 3 inclusive." -msgstr "" - -#: discord.Guild:182 of -msgid "The number of \"boosts\" this guild currently has." -msgstr "" - -#: discord.Guild:188 of -msgid "" -"The preferred locale for the guild. Used when filtering Server Discovery " -"results to a specific language." -msgstr "" - -#: discord.Guild:195 of -#, fuzzy -msgid "The guild's discovery splash." -msgstr "ギルドの招待時のスプラッシュ画像の変更" - -#: discord.Guild.audit_logs:1 of -msgid "" -"Returns an :class:`AsyncIterator` that enables receiving the guild's " -"audit logs." -msgstr "" - -#: discord.Guild.audit_logs:3 of -msgid "" -"You must have the :attr:`~Permissions.view_audit_log` permission to use " -"this." -msgstr "" - -#: discord.Guild.audit_logs:7 of -msgid "Getting the first 100 entries: ::" -msgstr "" - -#: discord.Guild.audit_logs:12 of -msgid "Getting entries for a specific action: ::" -msgstr "" - -#: discord.Guild.audit_logs:17 of -msgid "Getting entries made by a specific user: ::" -msgstr "" - -#: discord.Guild.audit_logs:22 of -msgid "The number of entries to retrieve. If ``None`` retrieve all entries." -msgstr "" - -#: discord.Guild.audit_logs:24 of -msgid "" -"Retrieve entries before this date or entry. If a date is provided it must" -" be a timezone-naive datetime representing UTC time." -msgstr "" - -#: discord.Guild.audit_logs:27 of -msgid "" -"Retrieve entries after this date or entry. If a date is provided it must " -"be a timezone-naive datetime representing UTC time." -msgstr "" - -#: discord.Guild.audit_logs:30 of -msgid "" -"If set to ``True``, return entries in oldest->newest order. Defaults to " -"``True`` if ``after`` is specified, otherwise ``False``." -msgstr "" - -#: discord.Guild.audit_logs:33 of -msgid "The moderator to filter entries from." -msgstr "" - -#: discord.Guild.audit_logs:35 of -msgid "The action to filter with." -msgstr "" - -#: discord.Guild.audit_logs:38 of -msgid "You are not allowed to fetch audit logs" -msgstr "" - -#: discord.Guild.audit_logs:39 of -msgid "An error occurred while fetching the audit logs." -msgstr "" - -#: discord.Guild.audit_logs:41 of -msgid ":class:`AuditLogEntry` -- The audit log entry." -msgstr "" - -#: discord.Guild.channels:1 of -msgid "A list of channels that belongs to this guild." -msgstr "" - -#: discord.Guild.large:1 of -msgid "Indicates if the guild is a 'large' guild." -msgstr "" - -#: discord.Guild.large:3 of -msgid "" -"A large guild is defined as having more than ``large_threshold`` count " -"members, which for this library is set to the maximum of 250." -msgstr "" - -#: discord.Guild.voice_channels:1 of -msgid "A list of voice channels that belongs to this guild." -msgstr "" - -#: discord.Guild.categories:3 discord.Guild.text_channels:3 -#: discord.Guild.voice_channels:3 of -msgid "This is sorted by the position and are in UI order from top to bottom." -msgstr "" - -#: discord.CategoryChannel.voice_channels:3 discord.Guild.voice_channels:5 of -msgid "List[:class:`VoiceChannel`]" -msgstr "" - -#: discord.Guild.me:1 of -msgid "" -"Similar to :attr:`Client.user` except an instance of :class:`Member`. " -"This is essentially used to get the member version of yourself." -msgstr "" - -#: discord.Guild.fetch_member:16 discord.Guild.me:4 of -msgid ":class:`Member`" -msgstr "" - -#: discord.Guild.voice_client:1 of -msgid "Returns the :class:`VoiceProtocol` associated with this guild, if any." -msgstr "" - -#: discord.Guild.voice_client:3 of -msgid "Optional[:class:`VoiceProtocol`]" -msgstr "" - -#: discord.Guild.text_channels:1 of -msgid "A list of text channels that belongs to this guild." -msgstr "" - -#: discord.CategoryChannel.text_channels:3 discord.Guild.text_channels:5 of -msgid "List[:class:`TextChannel`]" -msgstr "" - -#: discord.Guild.categories:1 of -msgid "A list of categories that belongs to this guild." -msgstr "" - -#: discord.Guild.categories:5 of -msgid "List[:class:`CategoryChannel`]" -msgstr "" - -#: discord.Guild.by_category:1 of -msgid "Returns every :class:`CategoryChannel` and their associated channels." -msgstr "" - -#: discord.Guild.by_category:3 of -msgid "These channels and categories are sorted in the official Discord UI order." -msgstr "" - -#: discord.Guild.by_category:5 of -msgid "" -"If the channels do not have a category, then the first element of the " -"tuple is ``None``." -msgstr "" - -#: discord.Guild.by_category:8 of -msgid "The categories and their associated channels." -msgstr "" - -#: discord.Guild.by_category:9 of -msgid "" -"List[Tuple[Optional[:class:`CategoryChannel`], " -"List[:class:`abc.GuildChannel`]]]" -msgstr "" - -#: discord.Guild.get_channel:7 of -#, fuzzy -msgid "Optional[:class:`.abc.GuildChannel`]" -msgstr "Union[:class:`.abc.GuildChannel`, :class:`.abc.PrivateChannel`]" - -#: discord.Guild.system_channel:1 of -msgid "Returns the guild's channel used for system messages." -msgstr "" - -#: discord.Guild.public_updates_channel:5 discord.Guild.rules_channel:4 -#: discord.Guild.system_channel:3 of -msgid "If no channel is set, then this returns ``None``." -msgstr "" - -#: discord.Guild.system_channel_flags:1 of -msgid "Returns the guild's system channel settings." -msgstr "" - -#: discord.Guild.system_channel_flags:3 of -#, fuzzy -msgid ":class:`SystemChannelFlags`" -msgstr ":class:`bytes`" - -#: discord.Guild.rules_channel:1 of -msgid "" -"Return's the guild's channel used for the rules. Must be a discoverable " -"guild." -msgstr "" - -#: discord.Guild.public_updates_channel:1 of -msgid "" -"Return's the guild's channel where admins and moderators of the guilds " -"receive notices from Discord. This is only available to guilds that " -"contain ``PUBLIC`` in :attr:`Guild.features`." -msgstr "" - -#: discord.Guild.emoji_limit:1 of -msgid "The maximum number of emoji slots this guild has." -msgstr "" - -#: discord.Guild.bitrate_limit:1 of -msgid "The maximum bitrate for voice channels this guild can have." -msgstr "" - -#: discord.Guild.filesize_limit:1 of -msgid "The maximum number of bytes files can have when uploaded to this guild." -msgstr "" - -#: discord.Guild.members:1 of -msgid "A list of members that belong to this guild." -msgstr "" - -#: discord.Guild.members:3 discord.Guild.premium_subscribers:3 -#: discord.Guild.query_members:27 discord.Role.members:3 -#: discord.TextChannel.members:3 discord.VoiceChannel.members:3 of -#, fuzzy -msgid "List[:class:`Member`]" -msgstr ":class:`bytes`" - -#: discord.Guild.get_member:1 of -msgid "Returns a member with the given ID." -msgstr "" - -#: discord.Guild.get_member:6 of -msgid "The member or ``None`` if not found." -msgstr "" - -#: discord.Guild.get_member:7 discord.Guild.get_member_named:20 -#: discord.Guild.owner:3 discord.RawReactionActionEvent:40 of -msgid "Optional[:class:`Member`]" -msgstr "" - -#: discord.Guild.premium_subscribers:1 of -msgid "A list of members who have \"boosted\" this guild." -msgstr "" - -#: discord.Guild.roles:1 of -msgid "Returns a :class:`list` of the guild's roles in hierarchy order." -msgstr "" - -#: discord.Guild.roles:3 of -msgid "The first element of this list will be the lowest role in the hierarchy." -msgstr "" - -#: discord.Guild.get_role:1 of -msgid "Returns a role with the given ID." -msgstr "" - -#: discord.Guild.get_role:6 of -msgid "The role or ``None`` if not found." -msgstr "" - -#: discord.Guild.get_role:7 of -#, fuzzy -msgid "Optional[:class:`Role`]" -msgstr ":class:`.Profile`" - -#: discord.Guild.default_role:1 of -msgid "Gets the @everyone role that all members have by default." -msgstr "" - -#: discord.Guild.create_role:31 discord.Guild.default_role:3 -#: discord.Integration:45 discord.Member.top_role:6 of -msgid ":class:`Role`" -msgstr "" - -#: discord.Guild.owner:1 of -#, fuzzy -msgid "The member that owns the guild." -msgstr "ギルドの名前。" - -#: discord.Guild.icon_url:1 discord.PartialInviteGuild.icon_url:1 of -#, fuzzy -msgid "Returns the guild's icon asset." -msgstr "役職の名前を返します。" - -#: discord.Guild.is_icon_animated:1 of -msgid ":class:`bool`: Returns True if the guild has an animated icon." -msgstr "" - -#: discord.Guild.icon_url_as:1 of -msgid "Returns an :class:`Asset` for the guild's icon." -msgstr "" - -#: discord.Guild.icon_url_as:7 of -msgid "" -"The format to attempt to convert the icon to. If the format is ``None``, " -"then it is automatically detected into either 'gif' or static_format " -"depending on the icon being animated or not." -msgstr "" - -#: discord.Guild.icon_url_as:12 of -msgid "Format to attempt to convert only non-animated icons to." -msgstr "" - -#: discord.Guild.banner_url:1 discord.PartialInviteGuild.banner_url:1 of -#, fuzzy -msgid "Returns the guild's banner asset." -msgstr "役職の名前を返します。" - -#: discord.Guild.banner_url_as:1 of -msgid "Returns an :class:`Asset` for the guild's banner." -msgstr "" - -#: discord.Guild.banner_url_as:3 of -msgid "" -"The format must be one of 'webp', 'jpeg', or 'png'. The size must be a " -"power of 2 between 16 and 4096." -msgstr "" - -#: discord.Guild.banner_url_as:6 of -msgid "The format to attempt to convert the banner to." -msgstr "" - -#: discord.Guild.splash_url:1 discord.PartialInviteGuild.splash_url:1 of -#, fuzzy -msgid "Returns the guild's invite splash asset." -msgstr "ギルドの招待時のスプラッシュ画像の変更" - -#: discord.Guild.splash_url_as:1 of -msgid "Returns an :class:`Asset` for the guild's invite splash." -msgstr "" - -#: discord.Guild.discovery_splash_url_as:3 discord.Guild.splash_url_as:3 of -msgid "" -"The format must be one of 'webp', 'jpeg', 'jpg', or 'png'. The size must " -"be a power of 2 between 16 and 4096." -msgstr "" - -#: discord.Guild.discovery_splash_url_as:8 discord.Guild.splash_url_as:6 of -msgid "The format to attempt to convert the splash to." -msgstr "" - -#: discord.Guild.discovery_splash_url:1 of -msgid "Returns the guild's discovery splash asset." -msgstr "" - -#: discord.Guild.discovery_splash_url_as:1 of -msgid "Returns an :class:`Asset` for the guild's discovery splash." -msgstr "" - -#: discord.Guild.member_count:1 of -msgid "Returns the true member count regardless of it being loaded fully or not." -msgstr "" - -#: discord.Guild.member_count:5 of -msgid "" -"Due to a Discord limitation, in order for this attribute to remain up-to-" -"date and accurate, it requires :attr:`Intents.members` to be specified." -msgstr "" - -#: discord.Guild.chunked:1 of -msgid "Returns a boolean indicating if the guild is \"chunked\"." -msgstr "" - -#: discord.Guild.chunked:3 of -msgid "" -"A chunked guild means that :attr:`member_count` is equal to the number of" -" members stored in the internal :attr:`members` cache." -msgstr "" - -#: discord.Guild.chunked:6 of -msgid "" -"If this value returns ``False``, then you should request for offline " -"members." -msgstr "" - -#: discord.Guild.shard_id:1 of -#, fuzzy -msgid "Returns the shard ID for this guild if applicable." -msgstr ":exc:`.Forbidden` -- ギルドのウィジェットが有効化されていない。" - -#: discord.Guild.created_at:1 discord.PartialInviteGuild.created_at:1 of -msgid "Returns the guild's creation time in UTC." -msgstr "" - -#: discord.Guild.get_member_named:1 of -msgid "Returns the first member found that matches the name provided." -msgstr "" - -#: discord.Guild.get_member_named:3 of -msgid "" -"The name can have an optional discriminator argument, e.g. \"Jake#0001\" " -"or \"Jake\" will both do the lookup. However the former will give a more " -"precise result. Note that the discriminator must have all 4 digits for " -"this to work." -msgstr "" - -#: discord.Guild.get_member_named:8 of -msgid "" -"If a nickname is passed, then it is looked up via the nickname. Note " -"however, that a nickname + discriminator combo will not lookup the " -"nickname but rather the username + discriminator combo due to nickname + " -"discriminator not being unique." -msgstr "" - -#: discord.Guild.get_member_named:13 of -msgid "If no member is found, ``None`` is returned." -msgstr "" - -#: discord.Guild.get_member_named:15 of -msgid "The name of the member to lookup with an optional discriminator." -msgstr "" - -#: discord.Guild.get_member_named:18 of -msgid "" -"The member in this guild with the associated name. If not found then " -"``None`` is returned." -msgstr "" - -#: discord.Guild.create_text_channel:3 of -msgid "Creates a :class:`TextChannel` for the guild." -msgstr "" - -#: discord.Guild.create_text_channel:5 of -msgid "" -"Note that you need the :attr:`~Permissions.manage_channels` permission to" -" create the channel." -msgstr "" - -#: discord.Guild.create_text_channel:8 of -msgid "" -"The ``overwrites`` parameter can be used to create a 'secret' channel " -"upon creation. This parameter expects a :class:`dict` of overwrites with " -"the target (either a :class:`Member` or a :class:`Role`) as the key and a" -" :class:`PermissionOverwrite` as the value." -msgstr "" - -#: discord.Guild.create_text_channel:15 of -msgid "" -"Creating a channel of a specified position will not update the position " -"of other channels to follow suit. A follow-up call to " -":meth:`~TextChannel.edit` will be required to update the position of the " -"channel in the channel list." -msgstr "" - -#: discord.Guild.create_text_channel:21 of -msgid "Creating a basic channel:" -msgstr "" - -#: discord.Guild.create_text_channel:27 of -msgid "Creating a \"secret\" channel:" -msgstr "" - -#: discord.Guild.create_text_channel:38 discord.WidgetChannel:29 of -msgid "The channel's name." -msgstr "" - -#: discord.Guild.create_text_channel:40 of -msgid "" -"A :class:`dict` of target (either a role or a member) to " -":class:`PermissionOverwrite` to apply upon creation of a channel. Useful " -"for creating secret channels." -msgstr "" - -#: discord.Guild.create_text_channel:43 of -msgid "" -"The category to place the newly created channel under. The permissions " -"will be automatically synced to category if no overwrites are provided." -msgstr "" - -#: discord.Guild.create_text_channel:50 discord.TextChannel.edit:16 of -msgid "The new channel's topic." -msgstr "" - -#: discord.Guild.create_text_channel:52 of -msgid "" -"Specifies the slowmode rate limit for user in this channel, in seconds. " -"The maximum value possible is `21600`." -msgstr "" - -#: discord.Guild.create_text_channel:55 discord.TextChannel.edit:20 of -msgid "To mark the channel as NSFW or not." -msgstr "" - -#: discord.Guild.create_text_channel:57 of -msgid "The reason for creating this channel. Shows up on the audit log." -msgstr "" - -#: discord.Guild.create_category:12 discord.Guild.create_category_channel:12 -#: discord.Guild.create_text_channel:62 discord.Guild.create_voice_channel:13 -#: of -msgid "The permission overwrite information is not in proper form." -msgstr "" - -#: discord.CategoryChannel.create_text_channel:5 -#: discord.CategoryChannel.create_voice_channel:5 -#: discord.Guild.create_category:14 discord.Guild.create_category_channel:14 -#: discord.Guild.create_text_channel:64 discord.Guild.create_voice_channel:15 -#: of -msgid "The channel that was just created." -msgstr "" - -#: discord.CategoryChannel.create_text_channel:6 -#: discord.Guild.create_text_channel:65 of -msgid ":class:`TextChannel`" -msgstr "" - -#: discord.Guild.create_voice_channel:3 of -msgid "" -"This is similar to :meth:`create_text_channel` except makes a " -":class:`VoiceChannel` instead, in addition to having the following new " -"parameters." -msgstr "" - -#: discord.Guild.create_voice_channel:6 discord.VoiceChannel:54 of -msgid "The channel's preferred audio bitrate in bits per second." -msgstr "" - -#: discord.Guild.create_voice_channel:8 discord.VoiceChannel:60 of -msgid "The channel's limit for number of members that can be in a voice channel." -msgstr "" - -#: discord.CategoryChannel.create_voice_channel:6 -#: discord.Guild.create_voice_channel:16 of -#, fuzzy -msgid ":class:`VoiceChannel`" -msgstr "ボイスチャンネル。" - -#: discord.Guild.create_category:3 discord.Guild.create_category_channel:3 of -msgid "" -"Same as :meth:`create_text_channel` except makes a " -":class:`CategoryChannel` instead." -msgstr "" - -#: discord.Guild.create_category:7 discord.Guild.create_category_channel:7 of -msgid "" -"The ``category`` parameter is not supported in this function since " -"categories cannot have categories." -msgstr "" - -#: discord.Guild.create_category:15 discord.Guild.create_category_channel:15 of -#, fuzzy -msgid ":class:`CategoryChannel`" -msgstr ":class:`str`" - -#: discord.Guild.leave:3 of -msgid "Leaves the guild." -msgstr "" - -#: discord.Guild.leave:7 of -msgid "" -"You cannot leave the guild that you own, you must delete it instead via " -":meth:`delete`." -msgstr "" - -#: discord.Guild.leave:10 of -#, fuzzy -msgid "Leaving the guild failed." -msgstr "ギルドのアイコンの変更" - -#: discord.Guild.delete:3 of -msgid "Deletes the guild. You must be the guild owner to delete the guild." -msgstr "" - -#: discord.Guild.delete:6 of -#, fuzzy -msgid "Deleting the guild failed." -msgstr ":exc:`.HTTPException` -- ギルドの取得に失敗した。" - -#: discord.Guild.delete:7 of -#, fuzzy -msgid "You do not have permissions to delete the guild." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.Guild.edit:3 of -msgid "Edits the guild." -msgstr "" - -#: discord.Guild.edit:5 of -msgid "" -"You must have the :attr:`~Permissions.manage_guild` permission to edit " -"the guild." -msgstr "" - -#: discord.Guild.edit:8 of -msgid "" -"The `rules_channel` and `public_updates_channel` keyword-only parameters " -"were added." -msgstr "" - -#: discord.Guild.edit:11 of -msgid "The new name of the guild." -msgstr "" - -#: discord.Guild.edit:13 of -msgid "" -"The new description of the guild. This is only available to guilds that " -"contain ``PUBLIC`` in :attr:`Guild.features`." -msgstr "" - -#: discord.Guild.edit:16 of -msgid "" -"A :term:`py:bytes-like object` representing the icon. Only PNG/JPEG " -"supported and GIF This is only available to guilds that contain " -"``ANIMATED_ICON`` in :attr:`Guild.features`. Could be ``None`` to denote " -"removal of the icon." -msgstr "" - -#: discord.Guild.edit:20 of -msgid "" -"A :term:`py:bytes-like object` representing the banner. Could be ``None``" -" to denote removal of the banner." -msgstr "" - -#: discord.Guild.edit:23 of -msgid "" -"A :term:`py:bytes-like object` representing the invite splash. Only " -"PNG/JPEG supported. Could be ``None`` to denote removing the splash. This" -" is only available to guilds that contain ``INVITE_SPLASH`` in " -":attr:`Guild.features`." -msgstr "" - -#: discord.Guild.edit:28 of -msgid "The new region for the guild's voice communication." -msgstr "" - -#: discord.Guild.edit:30 of -msgid "" -"The new channel that is the AFK channel. Could be ``None`` for no AFK " -"channel." -msgstr "" - -#: discord.Guild.edit:32 of -msgid "The number of seconds until someone is moved to the AFK channel." -msgstr "" - -#: discord.Guild.edit:34 of -msgid "" -"The new owner of the guild to transfer ownership to. Note that you must " -"be owner of the guild to do this." -msgstr "" - -#: discord.Guild.edit:37 of -msgid "The new verification level for the guild." -msgstr "" - -#: discord.Guild.edit:39 of -msgid "The new default notification level for the guild." -msgstr "" - -#: discord.Guild.edit:41 of -msgid "The new explicit content filter for the guild." -msgstr "" - -#: discord.Guild.edit:43 of -msgid "The new vanity code for the guild." -msgstr "" - -#: discord.Guild.edit:45 of -msgid "" -"The new channel that is used for the system channel. Could be ``None`` " -"for no system channel." -msgstr "" - -#: discord.Guild.edit:47 of -msgid "The new system channel settings to use with the new system channel." -msgstr "" - -#: discord.Guild.edit:49 of -msgid "" -"The new channel that is used for rules. This is only available to guilds " -"that contain ``PUBLIC`` in :attr:`Guild.features`. Could be ``None`` for " -"no rules channel." -msgstr "" - -#: discord.Guild.edit:53 of -msgid "" -"The new channel that is used for public updates from Discord. This is " -"only available to guilds that contain ``PUBLIC`` in " -":attr:`Guild.features`. Could be ``None`` for no public updates channel." -msgstr "" - -#: discord.Guild.edit:57 of -msgid "The reason for editing this guild. Shows up on the audit log." -msgstr "" - -#: discord.Guild.edit:60 of -#, fuzzy -msgid "You do not have permissions to edit the guild." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.Guild.edit:61 discord.Integration.edit:16 of -#, fuzzy -msgid "Editing the guild failed." -msgstr ":exc:`.HTTPException` -- ギルドの取得に失敗した。" - -#: discord.Guild.edit:62 of -msgid "" -"The image format passed in to ``icon`` is invalid. It must be PNG or " -"JPG. This is also raised if you are not the owner of the guild and " -"request an ownership transfer." -msgstr "" - -#: discord.Guild.fetch_channels:3 of -msgid "Retrieves all :class:`abc.GuildChannel` that the guild has." -msgstr "" - -#: discord.Guild.fetch_channels:7 of -msgid "" -"This method is an API call. For general usage, consider :attr:`channels` " -"instead." -msgstr "" - -#: discord.Guild.fetch_channels:12 of -#, fuzzy -msgid "Retrieving the channels failed." -msgstr ":exc:`.HTTPException` -- チャンネルの取得に失敗した。" - -#: discord.Guild.fetch_channels:14 of -msgid "All channels in the guild." -msgstr "" - -#: discord.Guild.fetch_members:3 of -#, fuzzy -msgid "" -"Retrieves an :class:`.AsyncIterator` that enables receiving the guild's " -"members." -msgstr "Botが所属するGuildを取得できる、 :class:`AsyncIterator` を取得します。" - -#: discord.Guild.fetch_members:7 of -#, fuzzy -msgid "" -"This method is an API call. For general usage, consider :attr:`members` " -"instead." -msgstr "これはAPIを呼び出します。通常は :attr:`guilds` を代わりに使用してください。" - -#: discord.Guild.fetch_members:13 of -msgid "" -"The number of members to retrieve. Defaults to 1000. Pass ``None`` to " -"fetch all members. Note that this is potentially slow." -msgstr "" - -#: discord.Guild.fetch_members:16 of -#, fuzzy -msgid "" -"Retrieve members after this date or object. If a date is provided it must" -" be a timezone-naive datetime representing UTC time." -msgstr "" -"この日付またはオブジェクトの後のGuildを取得します。もし日付が与えられた場合は、それはUTC時刻を表し、timezone " -"naiveであるdatetimeでないといけません。" - -#: discord.Guild.fetch_members:20 of -#, fuzzy -msgid "Getting the members failed." -msgstr "メンバーが退席中。" - -#: discord.Guild.fetch_members:22 of -#, fuzzy -msgid ":class:`.Member` -- The member with the member data parsed." -msgstr ":class:`.Guild` -- データを解析したGuild。" - -#: discord.Guild.fetch_member:3 of -msgid "Retrieves a :class:`Member` from a guild ID, and a member ID." -msgstr "" - -#: discord.Guild.fetch_member:7 of -msgid "" -"This method is an API call. For general usage, consider " -":meth:`get_member` instead." -msgstr "" - -#: discord.Guild.fetch_member:9 of -msgid "The member's ID to fetch from." -msgstr "" - -#: discord.Guild.fetch_member:13 of -#, fuzzy -msgid "Fetching the member failed." -msgstr "メンバーが退席中。" - -#: discord.Guild.fetch_member:15 of -msgid "The member from the member ID." -msgstr "" - -#: discord.Guild.fetch_ban:3 of -msgid "" -"Retrieves the :class:`BanEntry` for a user, which is a namedtuple with a " -"``user`` and ``reason`` field. See :meth:`bans` for more information." -msgstr "" - -#: discord.Guild.bans:10 discord.Guild.fetch_ban:7 of -msgid "" -"You must have the :attr:`~Permissions.ban_members` permission to get this" -" information." -msgstr "" - -#: discord.Guild.fetch_ban:10 of -msgid "The user to get ban information from." -msgstr "" - -#: discord.Guild.fetch_ban:14 of -#, fuzzy -msgid "This user is not banned." -msgstr "Banが解除されたユーザー。" - -#: discord.Guild.fetch_ban:17 of -msgid "The BanEntry object for the specified user." -msgstr "" - -#: discord.Guild.bans:3 of -msgid "Retrieves all the users that are banned from the guild." -msgstr "" - -#: discord.Guild.bans:5 of -msgid "" -"This coroutine returns a :class:`list` of BanEntry objects, which is a " -"namedtuple with a ``user`` field to denote the :class:`User` that got " -"banned along with a ``reason`` field specifying why the user was banned " -"that could be set to ``None``." -msgstr "" - -#: discord.Guild.bans:16 of -msgid "A list of BanEntry objects." -msgstr "" - -#: discord.Guild.prune_members:3 of -msgid "Prunes the guild from its inactive members." -msgstr "" - -#: discord.Guild.prune_members:5 of -msgid "" -"The inactive members are denoted if they have not logged on in ``days`` " -"number of days and they have no roles." -msgstr "" - -#: discord.Guild.prune_members:8 of -msgid "" -"You must have the :attr:`~Permissions.kick_members` permission to use " -"this." -msgstr "" - -#: discord.Guild.prune_members:11 of -msgid "" -"To check how many members you would prune without actually pruning, see " -"the :meth:`estimate_pruned_members` function." -msgstr "" - -#: discord.Guild.prune_members:14 of -msgid "To prune members that have specific roles see the ``roles`` parameter." -msgstr "" - -#: discord.Guild.prune_members:16 of -msgid "The ``roles`` keyword-only parameter was added." -msgstr "" - -#: discord.Guild.estimate_pruned_members:7 discord.Guild.prune_members:19 of -msgid "The number of days before counting as inactive." -msgstr "" - -#: discord.Guild.prune_members:23 of -msgid "" -"Whether to compute the prune count. This defaults to ``True`` which makes" -" it prone to timeouts in very large guilds. In order to prevent timeouts," -" you must set this to ``False``. If this is set to ``False``\\, then this" -" function will always return ``None``." -msgstr "" - -#: discord.Guild.prune_members:28 of -msgid "" -"A list of :class:`abc.Snowflake` that represent roles to include in the " -"pruning process. If a member has a role that is not specified, they'll be" -" excluded." -msgstr "" - -#: discord.Guild.estimate_pruned_members:10 discord.Guild.prune_members:32 of -#, fuzzy -msgid "You do not have permissions to prune members." -msgstr ":exc:`.Forbidden` -- 招待を取り消す権限が無い。" - -#: discord.Guild.prune_members:33 of -msgid "An error occurred while pruning members." -msgstr "" - -#: discord.Guild.estimate_pruned_members:12 discord.Guild.prune_members:34 of -msgid "An integer was not passed for ``days``." -msgstr "" - -#: discord.Guild.prune_members:36 of -msgid "" -"The number of members pruned. If ``compute_prune_count`` is ``False`` " -"then this returns ``None``." -msgstr "" - -#: discord.Guild.webhooks:3 of -msgid "Gets the list of webhooks from this guild." -msgstr "" - -#: discord.Guild.webhooks:5 discord.TextChannel.create_webhook:5 -#: discord.TextChannel.webhooks:5 of -msgid "Requires :attr:`~.Permissions.manage_webhooks` permissions." -msgstr "" - -#: discord.Guild.webhooks:7 discord.TextChannel.webhooks:7 of -#, fuzzy -msgid "You don't have permissions to get the webhooks." -msgstr ":exc:`.Forbidden` -- このWebhookを取得する権限がない。" - -#: discord.Guild.webhooks:9 of -msgid "The webhooks for this guild." -msgstr "" - -#: discord.Guild.webhooks:10 discord.TextChannel.webhooks:10 of -msgid "List[:class:`Webhook`]" -msgstr "" - -#: discord.Guild.estimate_pruned_members:3 of -msgid "" -"Similar to :meth:`prune_members` except instead of actually pruning " -"members, it returns how many members it would prune from the guild had it" -" been called." -msgstr "" - -#: discord.Guild.estimate_pruned_members:11 of -msgid "An error occurred while fetching the prune members estimate." -msgstr "" - -#: discord.Guild.estimate_pruned_members:14 of -msgid "The number of members estimated to be pruned." -msgstr "" - -#: discord.Guild.invites:3 of -msgid "Returns a list of all active instant invites from the guild." -msgstr "" - -#: discord.Guild.invites:5 of -msgid "" -"You must have the :attr:`~Permissions.manage_guild` permission to get " -"this information." -msgstr "" - -#: discord.Guild.invites:12 of -msgid "List[:class:`Invite`]" -msgstr "" - -#: discord.Guild.create_integration:3 of -#, fuzzy -msgid "Attaches an integration to the guild." -msgstr "ギルドの名前。" - -#: discord.Guild.create_integration:5 discord.Guild.integrations:5 -#: discord.Integration.delete:5 discord.Integration.edit:5 -#: discord.Integration.sync:5 of -#, fuzzy -msgid "You must have the :attr:`~Permissions.manage_guild` permission to do this." -msgstr "これを行うためには、そのチャンネルの :attr:`~.Permissions.read_message_history` 権限が必要です。" - -#: discord.Guild.create_integration:10 of -msgid "The integration type (e.g. Twitch)." -msgstr "" - -#: discord.Guild.create_integration:12 discord.Integration:7 of -msgid "The integration ID." -msgstr "" - -#: discord.Guild.create_integration:15 discord.Guild.integrations:10 of -#, fuzzy -msgid "You do not have permission to create the integration." -msgstr ":exc:`.Forbidden` -- 招待を取り消す権限が無い。" - -#: discord.Guild.create_integration:16 of -msgid "The account could not be found." -msgstr "" - -#: discord.Guild.integrations:3 of -msgid "Returns a list of all integrations attached to the guild." -msgstr "" - -#: discord.Guild.integrations:11 of -msgid "Fetching the integrations failed." -msgstr "" - -#: discord.Guild.integrations:13 of -msgid "The list of integrations that are attached to the guild." -msgstr "" - -#: discord.Guild.integrations:14 of -msgid "List[:class:`Integration`]" -msgstr "" - -#: discord.Guild.fetch_emojis:3 of -msgid "Retrieves all custom :class:`Emoji`\\s from the guild." -msgstr "" - -#: discord.Guild.fetch_emojis:7 of -msgid "" -"This method is an API call. For general usage, consider :attr:`emojis` " -"instead." -msgstr "" - -#: discord.Guild.fetch_emojis:9 of -msgid "An error occurred fetching the emojis." -msgstr "" - -#: discord.Guild.fetch_emojis:11 of -msgid "The retrieved emojis." -msgstr "" - -#: discord.Guild.fetch_emojis:12 of -msgid "List[:class:`Emoji`]" -msgstr "" - -#: discord.Guild.fetch_emoji:3 of -msgid "Retrieves a custom :class:`Emoji` from the guild." -msgstr "" - -#: discord.Guild.fetch_emoji:7 of -msgid "" -"This method is an API call. For general usage, consider iterating over " -":attr:`emojis` instead." -msgstr "" - -#: discord.Emoji:37 discord.Guild.fetch_emoji:10 of -msgid "The emoji's ID." -msgstr "" - -#: discord.Guild.fetch_emoji:13 of -msgid "The emoji requested could not be found." -msgstr "" - -#: discord.Guild.fetch_emoji:14 of -msgid "An error occurred fetching the emoji." -msgstr "" - -#: discord.Guild.fetch_emoji:16 of -msgid "The retrieved emoji." -msgstr "" - -#: discord.Guild.create_custom_emoji:25 discord.Guild.fetch_emoji:17 -#: discord.Intents.emojis:9 of -msgid ":class:`Emoji`" -msgstr "" - -#: discord.Guild.create_custom_emoji:3 of -msgid "Creates a custom :class:`Emoji` for the guild." -msgstr "" - -#: discord.Guild.create_custom_emoji:5 of -msgid "" -"There is currently a limit of 50 static and animated emojis respectively " -"per guild, unless the guild has the ``MORE_EMOJI`` feature which extends " -"the limit to 200." -msgstr "" - -#: discord.Guild.create_custom_emoji:8 of -msgid "" -"You must have the :attr:`~Permissions.manage_emojis` permission to do " -"this." -msgstr "" - -#: discord.Guild.create_custom_emoji:11 of -msgid "The emoji name. Must be at least 2 characters." -msgstr "" - -#: discord.Guild.create_custom_emoji:13 of -msgid "" -"The :term:`py:bytes-like object` representing the image data to use. Only" -" JPG, PNG and GIF images are supported." -msgstr "" - -#: discord.Emoji.edit:10 discord.Guild.create_custom_emoji:16 of -msgid "" -"A :class:`list` of :class:`Role`\\s that can use this emoji. Leave empty " -"to make it available to everyone." -msgstr "" - -#: discord.Guild.create_custom_emoji:18 of -msgid "The reason for creating this emoji. Shows up on the audit log." -msgstr "" - -#: discord.Guild.create_custom_emoji:21 of -#, fuzzy -msgid "You are not allowed to create emojis." -msgstr "10以上のギルドに参加しているBotアカウントはギルドの作成ができません。" - -#: discord.Guild.create_custom_emoji:22 of -msgid "An error occurred creating an emoji." -msgstr "" - -#: discord.Guild.create_custom_emoji:24 of -msgid "The created emoji." -msgstr "" - -#: discord.Guild.fetch_roles:3 of -#, fuzzy -msgid "Retrieves all :class:`Role` that the guild has." -msgstr "特定のIDの :class:`.Webhook` を取得します。" - -#: discord.Guild.fetch_roles:7 of -#, fuzzy -msgid "" -"This method is an API call. For general usage, consider :attr:`roles` " -"instead." -msgstr "これはAPIを呼び出します。通常は :attr:`guilds` を代わりに使用してください。" - -#: discord.Guild.fetch_roles:11 of -#, fuzzy -msgid "Retrieving the roles failed." -msgstr "役職の名前を返します。" - -#: discord.Guild.fetch_roles:13 of -#, fuzzy -msgid "All roles in the guild." -msgstr "ギルドの名前。" - -#: discord.Guild.create_role:3 of -msgid "Creates a :class:`Role` for the guild." -msgstr "" - -#: discord.Guild.create_role:5 discord.Role.edit:8 of -msgid "All fields are optional." -msgstr "" - -#: discord.Guild.create_role:7 discord.Guild.edit_role_positions:5 of -msgid "You must have the :attr:`~Permissions.manage_roles` permission to do this." -msgstr "" - -#: discord.Guild.create_role:10 of -msgid "The role name. Defaults to 'new role'." -msgstr "" - -#: discord.Guild.create_role:12 of -msgid "The permissions to have. Defaults to no permissions." -msgstr "" - -#: discord.Guild.create_role:14 of -msgid "" -"The colour for the role. Defaults to :meth:`Colour.default`. This is " -"aliased to ``color`` as well." -msgstr "" - -#: discord.Guild.create_role:17 of -msgid "" -"Indicates if the role should be shown separately in the member list. " -"Defaults to ``False``." -msgstr "" - -#: discord.Guild.create_role:20 of -msgid "" -"Indicates if the role should be mentionable by others. Defaults to " -"``False``." -msgstr "" - -#: discord.Guild.create_role:23 of -msgid "The reason for creating this role. Shows up on the audit log." -msgstr "" - -#: discord.Guild.create_role:26 of -#, fuzzy -msgid "You do not have permissions to create the role." -msgstr ":exc:`.Forbidden` -- 招待を取り消す権限が無い。" - -#: discord.Guild.create_role:27 of -#, fuzzy -msgid "Creating the role failed." -msgstr "役職の名前を返します。" - -#: discord.Guild.create_role:28 discord.Guild.edit_role_positions:29 of -msgid "An invalid keyword argument was given." -msgstr "" - -#: discord.Guild.create_role:30 of -msgid "The newly created role." -msgstr "" - -#: discord.Guild.edit_role_positions:3 of -#, fuzzy -msgid "Bulk edits a list of :class:`Role` in the guild." -msgstr ":class:`Role` がギルド全体で変更されたときに呼び出されます。" - -#: discord.Guild.edit_role_positions:10 of -#, fuzzy -msgid "Example:" -msgstr "例" - -#: discord.Guild.edit_role_positions:22 of -msgid "" -"A :class:`dict` of :class:`Role` to :class:`int` to change the positions " -"of each given role." -msgstr "" - -#: discord.Guild.edit_role_positions:24 of -msgid "The reason for editing the role positions. Shows up on the audit log." -msgstr "" - -#: discord.Guild.edit_role_positions:27 of -#, fuzzy -msgid "You do not have permissions to move the roles." -msgstr ":exc:`.Forbidden` -- 招待を取り消す権限が無い。" - -#: discord.Guild.edit_role_positions:28 of -#, fuzzy -msgid "Moving the roles failed." -msgstr "役職の名前を返します。" - -#: discord.Guild.edit_role_positions:31 of -msgid "A list of all the roles in the guild." -msgstr "" - -#: discord.Guild.kick:3 of -msgid "Kicks a user from the guild." -msgstr "" - -#: discord.Guild.ban:5 discord.Guild.kick:5 discord.Guild.unban:5 of -msgid "The user must meet the :class:`abc.Snowflake` abc." -msgstr "" - -#: discord.Guild.kick:7 of -msgid "You must have the :attr:`~Permissions.kick_members` permission to do this." -msgstr "" - -#: discord.Guild.kick:10 of -msgid "The user to kick from their guild." -msgstr "" - -#: discord.Guild.kick:12 of -msgid "The reason the user got kicked." -msgstr "" - -#: discord.Guild.kick:15 of -msgid "You do not have the proper permissions to kick." -msgstr "" - -#: discord.Guild.kick:16 of -msgid "Kicking failed." -msgstr "" - -#: discord.Guild.ban:3 of -msgid "Bans a user from the guild." -msgstr "" - -#: discord.Guild.ban:7 discord.Guild.unban:7 of -msgid "You must have the :attr:`~Permissions.ban_members` permission to do this." -msgstr "" - -#: discord.Guild.ban:10 of -msgid "The user to ban from their guild." -msgstr "" - -#: discord.Guild.ban:12 of -msgid "" -"The number of days worth of messages to delete from the user in the " -"guild. The minimum is 0 and the maximum is 7." -msgstr "" - -#: discord.Guild.ban:15 of -msgid "The reason the user got banned." -msgstr "" - -#: discord.Guild.ban:18 of -msgid "You do not have the proper permissions to ban." -msgstr "" - -#: discord.Guild.ban:19 of -msgid "Banning failed." -msgstr "" - -#: discord.Guild.unban:3 of -msgid "Unbans a user from the guild." -msgstr "" - -#: discord.Guild.unban:10 of -msgid "The user to unban." -msgstr "" - -#: discord.Guild.unban:15 of -msgid "You do not have the proper permissions to unban." -msgstr "" - -#: discord.Guild.unban:16 of -msgid "Unbanning failed." -msgstr "" - -#: discord.Guild.vanity_invite:3 of -msgid "Returns the guild's special vanity invite." -msgstr "" - -#: discord.Guild.vanity_invite:5 of -msgid "The guild must have ``VANITY_URL`` in :attr:`~Guild.features`." -msgstr "" - -#: discord.Guild.vanity_invite:7 of -msgid "" -"You must have the :attr:`~Permissions.manage_guild` permission to use " -"this as well." -msgstr "" - -#: discord.Guild.vanity_invite:10 of -#, fuzzy -msgid "You do not have the proper permissions to get this." -msgstr ":exc:`.Forbidden` -- このWebhookを取得する権限がない。" - -#: discord.Guild.vanity_invite:11 of -#, fuzzy -msgid "Retrieving the vanity invite failed." -msgstr ":exc:`.HTTPException` -- 招待の取り消しに失敗した。" - -#: discord.Guild.vanity_invite:13 of -msgid "The special vanity invite." -msgstr "" - -#: discord.Guild.vanity_invite:14 discord.Widget.fetch_invite:13 of -msgid ":class:`Invite`" -msgstr "" - -#: discord.Guild.ack:3 of -msgid "Marks every message in this guild as read." -msgstr "" - -#: discord.Guild.widget:3 of -msgid "Returns the widget of the guild." -msgstr "" - -#: discord.Guild.widget:13 of -msgid ":class:`Widget`" -msgstr "" - -#: discord.Guild.chunk:3 of -msgid "" -"Requests all members that belong to this guild. In order to use this, " -":meth:`Intents.members` must be enabled." -msgstr "" - -#: discord.Guild.chunk:6 discord.Guild.query_members:6 of -msgid "This is a websocket operation and can be slow." -msgstr "" - -#: discord.Guild.chunk:10 of -msgid "Whether to cache the members as well." -msgstr "" - -#: discord.Guild.chunk:13 of -#, fuzzy -msgid "The members intent is not enabled." -msgstr "メンバーがオンライン。" - -#: discord.Guild.query_members:3 of -msgid "" -"Request members that belong to this guild whose username starts with the " -"query given." -msgstr "" - -#: discord.Guild.query_members:10 of -msgid "The string that the username's start with." -msgstr "" - -#: discord.Guild.query_members:12 of -msgid "" -"The maximum number of members to send back. This must be a number between" -" 5 and 100." -msgstr "" - -#: discord.Guild.query_members:15 of -msgid "" -"Whether to cache the members internally. This makes operations such as " -":meth:`get_member` work for those that matched." -msgstr "" - -#: discord.Guild.query_members:18 of -msgid "" -"List of user IDs to search for. If the user ID is not in the guild then " -"it won't be returned. .. versionadded:: 1.4" -msgstr "" - -#: discord.Guild.query_members:18 of -msgid "" -"List of user IDs to search for. If the user ID is not in the guild then " -"it won't be returned." -msgstr "" - -#: discord.Guild.query_members:23 of -msgid "The query timed out waiting for the members." -msgstr "" - -#: discord.Guild.query_members:24 of -msgid "Invalid parameters were passed to the function" -msgstr "" - -#: discord.Guild.query_members:26 of -msgid "The list of members that have matched the query." -msgstr "" - -#: discord.Guild.change_voice_state:3 of -#, fuzzy -msgid "Changes client's voice state in the guild." -msgstr "クライアントがギルドから退出した。" - -#: discord.Guild.change_voice_state:7 of -msgid "Channel the client wants to join. Use ``None`` to disconnect." -msgstr "" - -#: discord.Guild.change_voice_state:9 of -#, fuzzy -msgid "Indicates if the client should be self-muted." -msgstr "ボイスチャンネルに接続しているかどうかを表します。" - -#: discord.Guild.change_voice_state:11 of -msgid "Indicates if the client should be self-deafened." -msgstr "" - -#: ../../api.rst:2667 -#, fuzzy -msgid "Integration" -msgstr "列挙型" - -#: discord.Integration:1 of -#, fuzzy -msgid "Represents a guild integration." -msgstr "Discordの音声接続を表します。" - -#: discord.Integration:13 of -msgid "The integration name." -msgstr "" - -#: discord.Integration:19 of -#, fuzzy -msgid "The guild of the integration." -msgstr "連携サービスが更新されたギルド。" - -#: discord.CategoryChannel:33 discord.Emoji.guild:3 discord.Integration:21 -#: discord.Member:42 discord.Role:53 discord.Template:51 discord.TextChannel:31 -#: discord.VoiceChannel:31 of -#, fuzzy -msgid ":class:`Guild`" -msgstr ":class:`.Guild`" - -#: discord.Integration:25 of -msgid "The integration type (i.e. Twitch)." -msgstr "" - -#: discord.Integration:31 of -msgid "Whether the integration is currently enabled." -msgstr "" - -#: discord.Integration:37 of -msgid "Where the integration is currently syncing." -msgstr "" - -#: discord.Integration:43 of -msgid "The role which the integration uses for subscribers." -msgstr "" - -#: discord.Integration:49 of -msgid "" -"Whether emoticons should be synced for this integration (currently twitch" -" only)." -msgstr "" - -#: discord.Integration:51 discord.WidgetMember:73 discord.WidgetMember:79 -#: discord.WidgetMember:85 of -#, fuzzy -msgid "Optional[:class:`bool`]" -msgstr ":class:`bool`" - -#: discord.Integration:55 of -msgid "" -"The behaviour of expiring subscribers. Aliased to ``expire_behavior`` as " -"well." -msgstr "" - -#: discord.Integration:57 of -#, fuzzy -msgid ":class:`ExpireBehaviour`" -msgstr ":class:`.Webhook`" - -#: discord.Integration:61 of -msgid "The grace period (in days) for expiring subscribers." -msgstr "" - -#: discord.Integration:67 of -#, fuzzy -msgid "The user for the integration." -msgstr "リアクションを追加したユーザー。" - -#: discord.Integration:73 of -#, fuzzy -msgid "The integration account information." -msgstr "Botのアプリケーション情報。" - -#: discord.Integration:75 of -msgid ":class:`IntegrationAccount`" -msgstr "" - -#: discord.Integration:79 of -msgid "When the integration was last synced." -msgstr "" - -#: discord.Integration.edit:3 of -#, fuzzy -msgid "Edits the integration." -msgstr "クライアントユーザーの設定を変更します。" - -#: discord.Integration.edit:8 of -msgid "" -"The behaviour when an integration subscription lapses. Aliased to " -"``expire_behavior`` as well." -msgstr "" - -#: discord.Integration.edit:10 of -msgid "" -"The period (in days) where the integration will ignore lapsed " -"subscriptions." -msgstr "" - -#: discord.Integration.edit:12 of -msgid "" -"Where emoticons should be synced for this integration (currently twitch " -"only)." -msgstr "" - -#: discord.Integration.edit:15 of -#, fuzzy -msgid "You do not have permission to edit the integration." -msgstr ":exc:`.Forbidden` -- このWebhookを取得する権限がない。" - -#: discord.Integration.edit:17 of -msgid "``expire_behaviour`` did not receive a :class:`ExpireBehaviour`." -msgstr "" - -#: discord.Integration.sync:3 of -#, fuzzy -msgid "Syncs the integration." -msgstr "非同期イテレータ。" - -#: discord.Integration.sync:8 of -#, fuzzy -msgid "You do not have permission to sync the integration." -msgstr ":exc:`.Forbidden` -- このWebhookを取得する権限がない。" - -#: discord.Integration.sync:9 of -msgid "Syncing the integration failed." -msgstr "" - -#: discord.Integration.delete:3 of -msgid "Deletes the integration." -msgstr "" - -#: discord.Integration.delete:8 of -#, fuzzy -msgid "You do not have permission to delete the integration." -msgstr ":exc:`.Forbidden` -- このWebhookを取得する権限がない。" - -#: discord.Integration.delete:9 of -msgid "Deleting the integration failed." -msgstr "" - -#: discord.IntegrationAccount:1 of -#, fuzzy -msgid "Represents an integration account." -msgstr "オーディオストリームを表します。" - -#: discord.IntegrationAccount:7 of -msgid "The account ID." -msgstr "" - -#: discord.IntegrationAccount:13 of -msgid "The account name." -msgstr "" - -#: ../../api.rst:2676 -msgid "Member" -msgstr "" - -#: discord.Member:1 of -msgid "Represents a Discord member to a :class:`Guild`." -msgstr "" - -#: discord.Member:3 of -msgid "This implements a lot of the functionality of :class:`User`." -msgstr "" - -#: discord.Member:9 of -msgid "" -"Checks if two members are equal. Note that this works with :class:`User` " -"instances too." -msgstr "" - -#: discord.Member:14 of -msgid "" -"Checks if two members are not equal. Note that this works with " -":class:`User` instances too." -msgstr "" - -#: discord.Member:19 of -msgid "Returns the member's hash." -msgstr "" - -#: discord.Member:23 of -msgid "Returns the member's name with the discriminator." -msgstr "" - -#: discord.Member:27 of -msgid "" -"A datetime object that specifies the date and time in UTC that the member" -" joined the guild. If the member left and rejoined the guild, this will " -"be the latest date. In certain cases, this can be ``None``." -msgstr "" - -#: discord.Member:34 of -msgid "The activities that the user is currently doing." -msgstr "" - -#: discord.Member:36 of -msgid "Tuple[Union[:class:`BaseActivity`, :class:`Spotify`]]" -msgstr "" - -#: discord.Member:40 of -#, fuzzy -msgid "The guild that the member belongs to." -msgstr "更新された後のギルド。" - -#: discord.Member:46 of -#, fuzzy -msgid "The guild specific nickname of the user." -msgstr "ユーザーのプロフィール。" - -#: discord.Member:52 of -msgid "" -"A datetime object that specifies the date and time in UTC when the member" -" used their Nitro boost on the guild, if available. This could be " -"``None``." -msgstr "" - -#: discord.Member.raw_status:1 of -msgid "The member's overall status as a string value." -msgstr "" - -#: discord.Member.status:1 of -msgid "" -"The member's overall status. If the value is unknown, then it will be a " -":class:`str` instead." -msgstr "" - -#: discord.Member.desktop_status:3 discord.Member.mobile_status:3 -#: discord.Member.status:3 discord.Member.web_status:3 discord.WidgetMember:49 -#: of -#, fuzzy -msgid ":class:`Status`" -msgstr ":class:`str`" - -#: discord.Member.mobile_status:1 of -msgid "The member's status on a mobile device, if applicable." -msgstr "" - -#: discord.Member.desktop_status:1 of -msgid "The member's status on the desktop client, if applicable." -msgstr "" - -#: discord.Member.web_status:1 of -msgid "The member's status on the web client, if applicable." -msgstr "" - -#: discord.Member.is_on_mobile:1 of -msgid "" -":class:`bool`: A helper function that determines if a member is active on" -" a mobile device." -msgstr "" - -#: discord.Member.colour:1 of -msgid "" -"A property that returns a colour denoting the rendered colour for the " -"member. If the default colour is the one rendered then an instance of " -":meth:`Colour.default` is returned." -msgstr "" - -#: discord.Member.color:1 of -msgid "" -"A property that returns a color denoting the rendered color for the " -"member. If the default color is the one rendered then an instance of " -":meth:`Colour.default` is returned." -msgstr "" - -#: discord.Member.roles:1 of -msgid "" -"A :class:`list` of :class:`Role` that the member belongs to. Note that " -"the first element of this list is always the default '@everyone' role." -msgstr "" - -#: discord.Member.roles:5 of -msgid "These roles are sorted by their position in the role hierarchy." -msgstr "" - -#: discord.Member.mention:1 of -msgid "Returns a string that allows you to mention the member." -msgstr "" - -#: discord.Member.activity:1 of -msgid "" -"Returns the primary activity the user is currently doing. Could be " -"``None`` if no activity is being done." -msgstr "" - -#: discord.Member.activity:6 of -msgid "" -"A user may have multiple activities, these can be accessed under " -":attr:`activities`." -msgstr "" - -#: discord.Member.activity:8 of -msgid "Union[:class:`BaseActivity`, :class:`Spotify`]" -msgstr "" - -#: discord.Member.mentioned_in:1 of -msgid "Checks if the member is mentioned in the specified message." -msgstr "" - -#: discord.Member.mentioned_in:6 of -#, fuzzy -msgid "Indicates if the member is mentioned in the message." -msgstr "指定のメッセージにユーザーに対するメンションが含まれているかを確認します。" - -#: discord.Member.top_role:1 of -#, fuzzy -msgid "Returns the member's highest role." -msgstr "オブジェクトのハッシュを返します。" - -#: discord.Member.top_role:3 of -msgid "" -"This is useful for figuring where a member stands in the role hierarchy " -"chain." -msgstr "" - -#: discord.Member.guild_permissions:1 of -msgid "Returns the member's guild permissions." -msgstr "" - -#: discord.Member.guild_permissions:3 of -msgid "" -"This only takes into consideration the guild permissions and not most of " -"the implied permissions or any of the channel permission overwrites. For " -"100% accurate permission calculation, please use either " -":meth:`permissions_in` or :meth:`abc.GuildChannel.permissions_for`." -msgstr "" - -#: discord.Member.guild_permissions:9 of -msgid "" -"This does take into consideration guild ownership and the administrator " -"implication." -msgstr "" - -#: discord.Member.voice:1 of -#, fuzzy -msgid "Returns the member's current voice state." -msgstr "ボイスの状態が変わった `Member` 。" - -#: discord.Member.ban:3 of -msgid "Bans this member. Equivalent to :meth:`Guild.ban`." -msgstr "" - -#: discord.Member.unban:3 of -msgid "Unbans this member. Equivalent to :meth:`Guild.unban`." -msgstr "" - -#: discord.Member.kick:3 of -msgid "Kicks this member. Equivalent to :meth:`Guild.kick`." -msgstr "" - -#: discord.Member.edit:3 of -msgid "Edits the member's data." -msgstr "" - -#: discord.Member.edit:5 of -msgid "" -"Depending on the parameter passed, this requires different permissions " -"listed below:" -msgstr "" - -#: discord.Member.edit:8 of -msgid "Parameter" -msgstr "" - -#: discord.Member.edit:8 of -msgid "Permission" -msgstr "" - -#: discord.Member.edit:10 of -msgid "nick" -msgstr "" - -#: discord.Member.edit:10 of -msgid ":attr:`Permissions.manage_nicknames`" -msgstr ":attr:`Permissions.manage_nicknames`" - -#: discord.Member.edit:12 of -msgid "mute" -msgstr "" - -#: discord.Member.edit:12 of -msgid ":attr:`Permissions.mute_members`" -msgstr ":attr:`Permissions.mute_members`" - -#: discord.Member.edit:14 of -msgid "deafen" -msgstr "" - -#: discord.Member.edit:14 of -msgid ":attr:`Permissions.deafen_members`" -msgstr ":attr:`Permissions.deafen_members`" - -#: discord.Member.edit:16 of -msgid ":attr:`Permissions.manage_roles`" -msgstr ":attr:`Permissions.manage_roles`" - -#: discord.Member.edit:18 of -msgid "voice_channel" -msgstr "" - -#: discord.Member.edit:18 of -msgid ":attr:`Permissions.move_members`" -msgstr ":attr:`Permissions.move_members`" - -#: discord.Member.edit:23 of -msgid "Can now pass ``None`` to ``voice_channel`` to kick a member from voice." -msgstr "" - -#: discord.Member.edit:26 of -msgid "The member's new nickname. Use ``None`` to remove the nickname." -msgstr "" - -#: discord.Member.edit:28 of -msgid "Indicates if the member should be guild muted or un-muted." -msgstr "" - -#: discord.Member.edit:30 of -msgid "Indicates if the member should be guild deafened or un-deafened." -msgstr "" - -#: discord.Member.edit:32 of -msgid "The member's new list of roles. This *replaces* the roles." -msgstr "" - -#: discord.Member.edit:34 of -msgid "" -"The voice channel to move the member to. Pass ``None`` to kick them from " -"voice." -msgstr "" - -#: discord.Member.edit:37 of -msgid "The reason for editing this member. Shows up on the audit log." -msgstr "" - -#: discord.Member.edit:40 of -msgid "You do not have the proper permissions to the action requested." -msgstr "" - -#: discord.Member.edit:41 of -msgid "The operation failed." -msgstr "" - -#: discord.Member.move_to:3 of -msgid "Moves a member to a new voice channel (they must be connected first)." -msgstr "" - -#: discord.Member.move_to:5 of -msgid "" -"You must have the :attr:`~Permissions.move_members` permission to use " -"this." -msgstr "" - -#: discord.Member.move_to:8 of -msgid "This raises the same exceptions as :meth:`edit`." -msgstr "" - -#: discord.Member.move_to:10 of -msgid "Can now pass ``None`` to kick a member from voice." -msgstr "" - -#: discord.Member.move_to:13 of -msgid "" -"The new voice channel to move the member to. Pass ``None`` to kick them " -"from voice." -msgstr "" - -#: discord.Member.add_roles:3 of -msgid "Gives the member a number of :class:`Role`\\s." -msgstr "" - -#: discord.Member.add_roles:8 of -msgid "" -"An argument list of :class:`abc.Snowflake` representing a :class:`Role` " -"to give to the member." -msgstr "" - -#: discord.Member.add_roles:11 of -msgid "The reason for adding these roles. Shows up on the audit log." -msgstr "" - -#: discord.Member.add_roles:13 of -msgid "" -"Whether to atomically add roles. This will ensure that multiple " -"operations will always be applied regardless of the current state of the " -"cache." -msgstr "" - -#: discord.Member.add_roles:18 of -#, fuzzy -msgid "You do not have permissions to add these roles." -msgstr ":exc:`.Forbidden` -- 招待を取り消す権限が無い。" - -#: discord.Member.add_roles:19 of -msgid "Adding roles failed." -msgstr "" - -#: discord.Member.avatar:1 of -msgid "Equivalent to :attr:`User.avatar`" -msgstr "" - -#: discord.Member.avatar_url:1 of -msgid "Equivalent to :attr:`User.avatar_url`" -msgstr "" - -#: discord.Member.bot:1 of -msgid "Equivalent to :attr:`User.bot`" -msgstr "" - -#: discord.Member.created_at:1 of -msgid "Equivalent to :attr:`User.created_at`" -msgstr "" - -#: discord.Member.default_avatar:1 of -msgid "Equivalent to :attr:`User.default_avatar`" -msgstr "" - -#: discord.Member.default_avatar_url:1 of -msgid "Equivalent to :attr:`User.default_avatar_url`" -msgstr "" - -#: discord.Member.discriminator:1 of -msgid "Equivalent to :attr:`User.discriminator`" -msgstr "" - -#: discord.Member.dm_channel:1 of -msgid "Equivalent to :attr:`User.dm_channel`" -msgstr "" - -#: discord.Member.id:1 of -msgid "Equivalent to :attr:`User.id`" -msgstr "" - -#: discord.Member.name:1 of -msgid "Equivalent to :attr:`User.name`" -msgstr "" - -#: discord.Member.public_flags:1 of -msgid "Equivalent to :attr:`User.public_flags`" -msgstr "" - -#: discord.Member.relationship:1 of -msgid "Equivalent to :attr:`User.relationship`" -msgstr "" - -#: discord.Member.remove_roles:3 of -msgid "Removes :class:`Role`\\s from this member." -msgstr "" - -#: discord.Member.remove_roles:8 of -msgid "" -"An argument list of :class:`abc.Snowflake` representing a :class:`Role` " -"to remove from the member." -msgstr "" - -#: discord.Member.remove_roles:11 of -msgid "The reason for removing these roles. Shows up on the audit log." -msgstr "" - -#: discord.Member.remove_roles:13 of -msgid "" -"Whether to atomically remove roles. This will ensure that multiple " -"operations will always be applied regardless of the current state of the " -"cache." -msgstr "" - -#: discord.Member.remove_roles:18 of -#, fuzzy -msgid "You do not have permissions to remove these roles." -msgstr ":exc:`.Forbidden` -- 招待を取り消す権限が無い。" - -#: discord.Member.remove_roles:19 of -#, fuzzy -msgid "Removing the roles failed." -msgstr "役職の名前を返します。" - -#: discord.Member.system:1 of -msgid "Equivalent to :attr:`User.system`" -msgstr "" - -#: ../../api.rst:2690 -msgid "Spotify" -msgstr "" - -#: discord.Spotify:1 of -msgid "" -"Represents a Spotify listening activity from Discord. This is a special " -"case of :class:`Activity` that makes it easier to work with the Spotify " -"integration." -msgstr "" - -#: discord.CustomActivity:7 discord.Spotify:8 of -msgid "Checks if two activities are equal." -msgstr "" - -#: discord.CustomActivity:11 discord.Spotify:12 of -msgid "Checks if two activities are not equal." -msgstr "" - -#: discord.CustomActivity:15 discord.Spotify:16 of -msgid "Returns the activity's hash." -msgstr "" - -#: discord.Spotify:20 of -msgid "Returns the string 'Spotify'." -msgstr "" - -#: discord.CustomActivity.type:1 discord.Spotify.type:1 of -msgid "" -"Returns the activity's type. This is for compatibility with " -":class:`Activity`." -msgstr "" - -#: discord.Spotify.type:3 of -msgid "It always returns :attr:`ActivityType.listening`." -msgstr "" - -#: discord.Activity:34 discord.CustomActivity.type:5 discord.Game.type:5 -#: discord.Spotify.type:5 discord.Streaming.type:5 of -#, fuzzy -msgid ":class:`ActivityType`" -msgstr ":class:`.Invite`" - -#: discord.Spotify.created_at:1 of -#, fuzzy -msgid "When the user started listening in UTC." -msgstr "入力を始めたユーザー。" - -#: discord.Spotify.color:1 discord.Spotify.colour:1 of -msgid "Returns the Spotify integration colour, as a :class:`Colour`." -msgstr "" - -#: discord.Spotify.colour:3 of -msgid "There is an alias for this named :attr:`color`" -msgstr "" - -#: discord.Spotify.color:3 of -msgid "There is an alias for this named :attr:`colour`" -msgstr "" - -#: discord.Spotify.name:1 of -msgid "The activity's name. This will always return \"Spotify\"." -msgstr "" - -#: discord.Spotify.title:1 of -#, fuzzy -msgid "The title of the song being played." -msgstr "更新される前のギルド。" - -#: discord.Spotify.artists:1 of -#, fuzzy -msgid "The artists of the song being played." -msgstr "更新される前のギルド。" - -#: discord.Spotify.artist:1 of -#, fuzzy -msgid "The artist of the song being played." -msgstr "更新される前のギルド。" - -#: discord.Spotify.artist:3 of -msgid "" -"This does not attempt to split the artist information into multiple " -"artists. Useful if there's only a single artist." -msgstr "" - -#: discord.Spotify.album:1 of -msgid "The album that the song being played belongs to." -msgstr "" - -#: discord.Spotify.album_cover_url:1 of -msgid "The album cover image URL from Spotify's CDN." -msgstr "" - -#: discord.Spotify.track_id:1 of -msgid "The track ID used by Spotify to identify this song." -msgstr "" - -#: discord.Spotify.start:1 of -msgid "When the user started playing this song in UTC." -msgstr "" - -#: discord.Spotify.end:1 of -msgid "When the user will stop playing this song in UTC." -msgstr "" - -#: discord.Spotify.duration:1 of -#, fuzzy -msgid "The duration of the song being played." -msgstr "更新される前のギルド。" - -#: discord.Spotify.party_id:1 of -#, fuzzy -msgid "The party ID of the listening party." -msgstr "ユーザーのプロフィール。" - -#: ../../api.rst:2696 -msgid "VoiceState" -msgstr "" - -#: discord.VoiceState:1 of -msgid "Represents a Discord user's voice state." -msgstr "" - -#: discord.VoiceState:5 of -msgid "Indicates if the user is currently deafened by the guild." -msgstr "" - -#: discord.VoiceState:11 of -msgid "Indicates if the user is currently muted by the guild." -msgstr "" - -#: discord.VoiceState:17 of -#, fuzzy -msgid "Indicates if the user is currently muted by their own accord." -msgstr "現在オーディオを再生しているかを表します。" - -#: discord.VoiceState:23 of -#, fuzzy -msgid "Indicates if the user is currently deafened by their own accord." -msgstr "メンバーが自身でマイクやスピーカーをミュートしたとき。" - -#: discord.VoiceState:29 of -#, fuzzy -msgid "Indicates if the user is currently streaming via 'Go Live' feature." -msgstr "現在オーディオを再生しているかを表します。" - -#: discord.VoiceState:37 of -#, fuzzy -msgid "Indicates if the user is currently broadcasting video." -msgstr "現在オーディオを再生しているかを表します。" - -#: discord.VoiceState:43 of -msgid "Indicates if the user is currently in the AFK channel in the guild." -msgstr "" - -#: discord.VoiceState:49 of -msgid "" -"The voice channel that the user is currently connected to. ``None`` if " -"the user is not currently in a voice channel." -msgstr "" - -#: ../../api.rst:2702 -msgid "Emoji" -msgstr "" - -#: discord.Emoji:1 of -msgid "Represents a custom emoji." -msgstr "" - -#: discord.Emoji:10 discord.PartialEmoji:12 of -msgid "Checks if two emoji are the same." -msgstr "" - -#: discord.Emoji:14 discord.PartialEmoji:16 of -msgid "Checks if two emoji are not the same." -msgstr "" - -#: discord.Emoji:18 discord.PartialEmoji:20 of -msgid "Return the emoji's hash." -msgstr "" - -#: discord.Emoji:22 of -msgid "" -"Returns an iterator of ``(field, value)`` pairs. This allows this class " -"to be used as an iterable in list/dict/etc constructions." -msgstr "" - -#: discord.Emoji:27 discord.PartialEmoji:24 of -msgid "Returns the emoji rendered for discord." -msgstr "" - -#: discord.Emoji:31 of -#, fuzzy -msgid "The name of the emoji." -msgstr "ギルドの名前。" - -#: discord.Emoji:43 of -msgid "" -"If colons are required to use this emoji in the client (:PJSalt: vs " -"PJSalt)." -msgstr "" - -#: discord.Emoji:49 of -msgid "Whether an emoji is animated or not." -msgstr "" - -#: discord.Emoji:55 of -msgid "If this emoji is managed by a Twitch integration." -msgstr "" - -#: discord.Emoji:61 of -#, fuzzy -msgid "The guild ID the emoji belongs to." -msgstr "絵文字が更新されたギルド。" - -#: discord.Emoji:67 of -msgid "Whether the emoji is available for use." -msgstr "" - -#: discord.Emoji:73 of -msgid "" -"The user that created the emoji. This can only be retrieved using " -":meth:`Guild.fetch_emoji` and having the " -":attr:`~Permissions.manage_emojis` permission." -msgstr "" - -#: discord.Emoji:76 of -#, fuzzy -msgid "Optional[:class:`User`]" -msgstr ":class:`str`" - -#: discord.Emoji.created_at:1 of -msgid "Returns the emoji's creation time in UTC." -msgstr "" - -#: discord.Emoji.url:1 of -msgid "Returns the asset of the emoji." -msgstr "" - -#: discord.Emoji.roles:1 of -msgid "A :class:`list` of roles that is allowed to use this emoji." -msgstr "" - -#: discord.Emoji.roles:3 of -msgid "If roles is empty, the emoji is unrestricted." -msgstr "" - -#: discord.Emoji.guild:1 of -#, fuzzy -msgid "The guild this emoji belongs to." -msgstr "絵文字が更新されたギルド。" - -#: discord.Emoji.is_usable:1 of -msgid ":class:`bool`: Whether the bot can use this emoji." -msgstr "" - -#: discord.Emoji.delete:3 of -msgid "Deletes the custom emoji." -msgstr "" - -#: discord.Emoji.delete:5 discord.Emoji.edit:5 of -msgid "You must have :attr:`~Permissions.manage_emojis` permission to do this." -msgstr "" - -#: discord.Emoji.delete:8 of -msgid "The reason for deleting this emoji. Shows up on the audit log." -msgstr "" - -#: discord.Emoji.delete:11 of -msgid "You are not allowed to delete emojis." -msgstr "" - -#: discord.Emoji.delete:12 of -msgid "An error occurred deleting the emoji." -msgstr "" - -#: discord.Emoji.edit:3 of -msgid "Edits the custom emoji." -msgstr "" - -#: discord.Emoji.edit:8 of -msgid "The new emoji name." -msgstr "" - -#: discord.Emoji.edit:12 of -msgid "The reason for editing this emoji. Shows up on the audit log." -msgstr "" - -#: discord.Emoji.edit:15 of -msgid "You are not allowed to edit emojis." -msgstr "" - -#: discord.Emoji.edit:16 of -msgid "An error occurred editing the emoji." -msgstr "" - -#: ../../api.rst:2708 -msgid "PartialEmoji" -msgstr "" - -#: discord.PartialEmoji:1 of -msgid "Represents a \"partial\" emoji." -msgstr "" - -#: discord.PartialEmoji:3 of -msgid "This model will be given in two scenarios:" -msgstr "" - -#: discord.PartialEmoji:5 of -msgid "\"Raw\" data events such as :func:`on_raw_reaction_add`" -msgstr "" - -#: discord.PartialEmoji:6 of -msgid "Custom emoji that the bot cannot see from e.g. :attr:`Message.reactions`" -msgstr "" - -#: discord.PartialEmoji:28 of -msgid "" -"The custom emoji name, if applicable, or the unicode codepoint of the " -"non-custom emoji. This can be ``None`` if the emoji got deleted (e.g. " -"removing a reaction with a deleted emoji)." -msgstr "" - -#: discord.PartialEmoji:36 of -msgid "Whether the emoji is animated or not." -msgstr "" - -#: discord.PartialEmoji:42 of -msgid "The ID of the custom emoji, if applicable." -msgstr "" - -#: discord.PartialEmoji.is_custom_emoji:1 of -#, fuzzy -msgid ":class:`bool`: Checks if this is a custom non-Unicode emoji." -msgstr ":class:`bool` -- ユーザーがBotアカウントであるかを表します。" - -#: discord.PartialEmoji.is_unicode_emoji:1 of -#, fuzzy -msgid ":class:`bool`: Checks if this is a Unicode emoji." -msgstr ":class:`bool` -- ユーザーがBotアカウントであるかを表します。" - -#: discord.PartialEmoji.url:1 of -msgid "Returns an asset of the emoji, if it is custom." -msgstr "" - -#: ../../api.rst:2714 -msgid "Role" -msgstr "" - -#: discord.Role:1 of -msgid "Represents a Discord role in a :class:`Guild`." -msgstr "" - -#: discord.Role:7 of -msgid "Checks if two roles are equal." -msgstr "" - -#: discord.Role:11 of -msgid "Checks if two roles are not equal." -msgstr "" - -#: discord.Role:15 of -msgid "Checks if a role is higher than another in the hierarchy." -msgstr "" - -#: discord.Role:19 of -msgid "Checks if a role is lower than another in the hierarchy." -msgstr "" - -#: discord.Role:23 of -msgid "Checks if a role is higher or equal to another in the hierarchy." -msgstr "" - -#: discord.Role:27 of -msgid "Checks if a role is lower or equal to another in the hierarchy." -msgstr "" - -#: discord.Role:31 of -msgid "Return the role's hash." -msgstr "役職のハッシュを返します。" - -#: discord.Role:35 of -msgid "Returns the role's name." -msgstr "役職の名前を返します。" - -#: discord.Role:39 of -#, fuzzy -msgid "The ID for the role." -msgstr "IDから取得したギルド。" - -#: discord.Role:45 of -#, fuzzy -msgid "The name of the role." -msgstr "ギルドの名前。" - -#: discord.Role:51 of -#, fuzzy -msgid "The guild the role belongs to." -msgstr "このプロフィールを持つ :class:`User` 。" - -#: discord.Role:57 of -msgid "Indicates if the role will be displayed separately from other members." -msgstr "" - -#: discord.Role:63 of -msgid "" -"The position of the role. This number is usually positive. The bottom " -"role has a position of 0." -msgstr "" - -#: discord.Role:70 of -msgid "" -"Indicates if the role is managed by the guild through some form of " -"integrations such as Twitch." -msgstr "" - -#: discord.Role:77 of -#, fuzzy -msgid "Indicates if the role can be mentioned by users." -msgstr "ボイスチャンネルに接続しているかどうかを表します。" - -#: discord.Role.is_default:1 of -#, fuzzy -msgid ":class:`bool`: Checks if the role is the default role." -msgstr ":class:`bool` -- ユーザーがBotアカウントであるかを表します。" - -#: discord.Role.permissions:1 of -#, fuzzy -msgid "Returns the role's permissions." -msgstr "役職の名前を返します。" - -#: discord.Role.colour:1 of -msgid "Returns the role colour. An alias exists under ``color``." -msgstr "" - -#: discord.Role.color:1 of -msgid "Returns the role color. An alias exists under ``colour``." -msgstr "" - -#: discord.Role.created_at:1 of -#, fuzzy -msgid "Returns the role's creation time in UTC." -msgstr "役職の名前を返します。" - -#: discord.Role.mention:1 of -msgid "Returns a string that allows you to mention a role." -msgstr "" - -#: discord.Role.members:1 of -#, fuzzy -msgid "Returns all the members with this role." -msgstr "ユーザー名とディスクリミネータを返します。" - -#: discord.Role.edit:3 of -msgid "Edits the role." -msgstr "" - -#: discord.Role.edit:10 of -msgid "Can now pass ``int`` to ``colour`` keyword-only parameter." -msgstr "" - -#: discord.Role.edit:13 of -msgid "The new role name to change to." -msgstr "" - -#: discord.Role.edit:15 of -msgid "The new permissions to change to." -msgstr "" - -#: discord.Role.edit:17 of -msgid "The new colour to change to. (aliased to color as well)" -msgstr "" - -#: discord.Role.edit:19 of -msgid "Indicates if the role should be shown separately in the member list." -msgstr "" - -#: discord.Role.edit:21 of -msgid "Indicates if the role should be mentionable by others." -msgstr "" - -#: discord.Role.edit:23 of -msgid "" -"The new role's position. This must be below your top role's position or " -"it will fail." -msgstr "" - -#: discord.Role.edit:26 of -msgid "The reason for editing this role. Shows up on the audit log." -msgstr "" - -#: discord.Role.edit:29 of -#, fuzzy -msgid "You do not have permissions to change the role." -msgstr ":exc:`.Forbidden` -- このWebhookを取得する権限がない。" - -#: discord.Role.edit:30 of -#, fuzzy -msgid "Editing the role failed." -msgstr "役職の名前を返します。" - -#: discord.Role.edit:31 of -msgid "" -"An invalid position was given or the default role was asked to be " -"moved." -msgstr "" - -#: discord.Role.delete:3 of -msgid "Deletes the role." -msgstr "" - -#: discord.Role.delete:8 of -msgid "The reason for deleting this role. Shows up on the audit log." -msgstr "" - -#: discord.Role.delete:11 of -#, fuzzy -msgid "You do not have permissions to delete the role." -msgstr ":exc:`.Forbidden` -- このWebhookを取得する権限がない。" - -#: discord.Role.delete:12 of -#, fuzzy -msgid "Deleting the role failed." -msgstr "役職の名前を返します。" - -#: ../../api.rst:2720 -msgid "TextChannel" -msgstr "" - -#: discord.TextChannel:1 of -msgid "Represents a Discord guild text channel." -msgstr "" - -#: discord.CategoryChannel:9 discord.DMChannel:7 discord.GroupChannel:7 -#: discord.TextChannel:7 discord.VoiceChannel:7 of -msgid "Checks if two channels are equal." -msgstr "" - -#: discord.CategoryChannel:13 discord.DMChannel:11 discord.GroupChannel:11 -#: discord.TextChannel:11 discord.VoiceChannel:11 of -msgid "Checks if two channels are not equal." -msgstr "" - -#: discord.DMChannel:15 discord.GroupChannel:15 discord.TextChannel:15 -#: discord.VoiceChannel:15 of -msgid "Returns the channel's hash." -msgstr "" - -#: discord.TextChannel:19 discord.VoiceChannel:19 of -msgid "Returns the channel's name." -msgstr "" - -#: discord.TextChannel:35 discord.VoiceChannel:35 of -#, fuzzy -msgid "The channel ID." -msgstr "テキストチャンネル。" - -#: discord.TextChannel:41 discord.VoiceChannel:41 of -msgid "The category channel ID this channel belongs to, if applicable." -msgstr "" - -#: discord.TextChannel:47 of -msgid "The channel's topic. ``None`` if it doesn't exist." -msgstr "" - -#: discord.TextChannel:60 of -msgid "" -"The last message ID of the message sent to this channel. It may *not* " -"point to an existing or valid message." -msgstr "" - -#: discord.TextChannel:67 of -msgid "" -"The number of seconds a member must wait between sending messages in this" -" channel. A value of `0` denotes that it is disabled. Bots and users with" -" :attr:`~Permissions.manage_channels` or " -":attr:`~Permissions.manage_messages` bypass slowmode." -msgstr "" - -#: discord.CategoryChannel.type:1 discord.DMChannel.type:1 -#: discord.GroupChannel.type:1 discord.TextChannel.type:1 -#: discord.VoiceChannel.type:1 of -#, fuzzy -msgid "The channel's Discord type." -msgstr "IDから取得したチャンネル。" - -#: discord.CategoryChannel.type:3 discord.DMChannel.type:3 -#: discord.GroupChannel.type:3 discord.PartialInviteChannel:40 -#: discord.TextChannel.type:3 discord.VoiceChannel.type:3 of -#, fuzzy -msgid ":class:`ChannelType`" -msgstr ":class:`.Invite`" - -#: discord.TextChannel.members:1 of -msgid "Returns all members that can see this channel." -msgstr "" - -#: discord.TextChannel.is_nsfw:1 of -#, fuzzy -msgid ":class:`bool`: Checks if the channel is NSFW." -msgstr ":class:`bool` -- ユーザーがBotアカウントであるかを表します。" - -#: discord.TextChannel.is_news:1 of -#, fuzzy -msgid ":class:`bool`: Checks if the channel is a news channel." -msgstr ":class:`bool` -- ユーザーがBotアカウントであるかを表します。" - -#: discord.TextChannel.last_message:1 of -msgid "Fetches the last message from this channel in cache." -msgstr "" - -#: discord.TextChannel.last_message:3 of -msgid "The message might not be valid or point to an existing message." -msgstr "" - -#: discord.TextChannel.last_message:5 of -msgid "Reliable Fetching" -msgstr "" - -#: discord.TextChannel.last_message:8 of -msgid "" -"For a slightly more reliable method of fetching the last message, " -"consider using either :meth:`history` or :meth:`fetch_message` with the " -":attr:`last_message_id` attribute." -msgstr "" - -#: discord.TextChannel.last_message:13 of -msgid "The last message in this channel or ``None`` if not found." -msgstr "" - -#: discord.CategoryChannel.edit:3 discord.TextChannel.edit:3 -#: discord.VoiceChannel.edit:3 of -msgid "Edits the channel." -msgstr "" - -#: discord.CategoryChannel.edit:5 discord.TextChannel.edit:5 -#: discord.VoiceChannel.edit:5 of -msgid "" -"You must have the :attr:`~Permissions.manage_channels` permission to use " -"this." -msgstr "" - -#: discord.CategoryChannel.edit:8 discord.TextChannel.edit:8 -#: discord.VoiceChannel.edit:8 of -msgid "The ``overwrites`` keyword-only parameter was added." -msgstr "" - -#: discord.TextChannel.edit:11 of -msgid "The ``type`` keyword-only parameter was added." -msgstr "" - -#: discord.TextChannel.edit:14 of -msgid "The new channel name." -msgstr "" - -#: discord.TextChannel.edit:18 discord.VoiceChannel.edit:17 of -msgid "The new channel's position." -msgstr "" - -#: discord.TextChannel.edit:22 discord.VoiceChannel.edit:19 of -msgid "" -"Whether to sync permissions with the channel's new or pre-existing " -"category. Defaults to ``False``." -msgstr "" - -#: discord.TextChannel.edit:25 discord.VoiceChannel.edit:22 of -msgid "The new category for this channel. Can be ``None`` to remove the category." -msgstr "" - -#: discord.TextChannel.edit:28 of -msgid "" -"Specifies the slowmode rate limit for user in this channel, in seconds. A" -" value of `0` disables slowmode. The maximum value possible is `21600`." -msgstr "" - -#: discord.TextChannel.edit:31 of -msgid "" -"Change the type of this text channel. Currently, only conversion between " -":attr:`ChannelType.text` and :attr:`ChannelType.news` is supported. This " -"is only available to guilds that contain ``NEWS`` in " -":attr:`Guild.features`." -msgstr "" - -#: discord.TextChannel.edit:35 discord.VoiceChannel.edit:25 of -msgid "The reason for editing this channel. Shows up on the audit log." -msgstr "" - -#: discord.CategoryChannel.edit:19 discord.TextChannel.edit:37 -#: discord.VoiceChannel.edit:27 of -msgid "" -"A :class:`dict` of target (either a role or a member) to " -":class:`PermissionOverwrite` to apply to the channel." -msgstr "" - -#: discord.TextChannel.edit:41 of -msgid "" -"If position is less than 0 or greater than the number of channels, or if" -" the permission overwrite information is not in proper form." -msgstr "" - -#: discord.TextChannel.edit:42 discord.VoiceChannel.edit:32 of -#, fuzzy -msgid "You do not have permissions to edit the channel." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.TextChannel.edit:43 discord.VoiceChannel.edit:33 of -#, fuzzy -msgid "Editing the channel failed." -msgstr ":exc:`.HTTPException` -- チャンネルの取得に失敗した。" - -#: discord.TextChannel.delete_messages:3 of -msgid "" -"Deletes a list of messages. This is similar to :meth:`Message.delete` " -"except it bulk deletes multiple messages." -msgstr "" - -#: discord.TextChannel.delete_messages:6 of -msgid "" -"As a special case, if the number of messages is 0, then nothing is done. " -"If the number of messages is 1 then single message delete is done. If " -"it's more than two, then bulk delete is used." -msgstr "" - -#: discord.TextChannel.delete_messages:10 of -msgid "" -"You cannot bulk delete more than 100 messages or messages that are older " -"than 14 days old." -msgstr "" - -#: discord.TextChannel.delete_messages:13 of -msgid "" -"You must have the :attr:`~Permissions.manage_messages` permission to use " -"this." -msgstr "" - -#: discord.TextChannel.delete_messages:16 of -msgid "Usable only by bot accounts." -msgstr "" - -#: discord.TextChannel.delete_messages:18 of -msgid "An iterable of messages denoting which ones to bulk delete." -msgstr "" - -#: discord.TextChannel.delete_messages:21 of -msgid "The number of messages to delete was more than 100." -msgstr "" - -#: discord.TextChannel.delete_messages:22 of -msgid "" -"You do not have proper permissions to delete the messages or you're " -"not using a bot account." -msgstr "" - -#: discord.TextChannel.delete_messages:23 of -msgid "If single delete, then the message was already deleted." -msgstr "" - -#: discord.TextChannel.delete_messages:24 of -#, fuzzy -msgid "Deleting the messages failed." -msgstr "削除されたメッセージ。" - -#: discord.TextChannel.purge:3 of -msgid "" -"Purges a list of messages that meet the criteria given by the predicate " -"``check``. If a ``check`` is not provided then all messages are deleted " -"without discrimination." -msgstr "" - -#: discord.TextChannel.purge:7 of -msgid "" -"You must have the :attr:`~Permissions.manage_messages` permission to " -"delete messages even if they are your own (unless you are a user " -"account). The :attr:`~Permissions.read_message_history` permission is " -"also needed to retrieve message history." -msgstr "" - -#: discord.TextChannel.purge:12 of -msgid "" -"Internally, this employs a different number of strategies depending on " -"the conditions met such as if a bulk delete is possible or if the account" -" is a user bot or not." -msgstr "" - -#: discord.TextChannel.purge:18 of -msgid "Deleting bot's messages ::" -msgstr "" - -#: discord.TextChannel.purge:26 of -msgid "" -"The number of messages to search through. This is not the number of " -"messages that will be deleted, though it can be." -msgstr "" - -#: discord.TextChannel.purge:29 of -msgid "" -"The function used to check if a message should be deleted. It must take a" -" :class:`Message` as its sole parameter." -msgstr "" - -#: discord.TextChannel.purge:32 of -msgid "Same as ``before`` in :meth:`history`." -msgstr "" - -#: discord.TextChannel.purge:34 of -msgid "Same as ``after`` in :meth:`history`." -msgstr "" - -#: discord.TextChannel.purge:36 of -msgid "Same as ``around`` in :meth:`history`." -msgstr "" - -#: discord.TextChannel.purge:38 of -msgid "Same as ``oldest_first`` in :meth:`history`." -msgstr "" - -#: discord.TextChannel.purge:40 of -msgid "" -"If ``True``, use bulk delete. Setting this to ``False`` is useful for " -"mass-deleting a bot's own messages without " -":attr:`Permissions.manage_messages`. When ``True``, will fall back to " -"single delete if current account is a user bot, or if messages are older " -"than two weeks." -msgstr "" - -#: discord.TextChannel.purge:46 of -msgid "You do not have proper permissions to do the actions required." -msgstr "" - -#: discord.TextChannel.purge:47 of -msgid "Purging the messages failed." -msgstr "" - -#: discord.TextChannel.purge:49 of -msgid "The list of messages that were deleted." -msgstr "" - -#: discord.TextChannel.purge:50 of -msgid "List[:class:`.Message`]" -msgstr "" - -#: discord.TextChannel.webhooks:3 of -msgid "Gets the list of webhooks from this channel." -msgstr "" - -#: discord.TextChannel.webhooks:9 of -msgid "The webhooks for this channel." -msgstr "" - -#: discord.TextChannel.create_webhook:3 of -msgid "Creates a webhook for this channel." -msgstr "" - -#: discord.TextChannel.create_webhook:7 of -msgid "Added the ``reason`` keyword-only parameter." -msgstr "" - -#: discord.TextChannel.create_webhook:10 of -msgid "The webhook's name." -msgstr "" - -#: discord.TextChannel.create_webhook:12 of -msgid "" -"A :term:`py:bytes-like object` representing the webhook's default avatar." -" This operates similarly to :meth:`~ClientUser.edit`." -msgstr "" - -#: discord.TextChannel.create_webhook:15 of -msgid "The reason for creating this webhook. Shows up in the audit logs." -msgstr "" - -#: discord.TextChannel.create_webhook:18 of -#, fuzzy -msgid "Creating the webhook failed." -msgstr ":exc:`.HTTPException` -- Webhookの取得に失敗した。" - -#: discord.TextChannel.create_webhook:19 of -#, fuzzy -msgid "You do not have permissions to create a webhook." -msgstr ":exc:`.Forbidden` -- このWebhookを取得する権限がない。" - -#: discord.TextChannel.create_webhook:21 discord.TextChannel.follow:22 of -msgid "The created webhook." -msgstr "" - -#: discord.TextChannel.follow:1 of -msgid "Follows a channel using a webhook." -msgstr "" - -#: discord.TextChannel.follow:3 of -#, fuzzy -msgid "Only news channels can be followed." -msgstr "チャンネルが作成されました。" - -#: discord.TextChannel.follow:7 of -msgid "" -"The webhook returned will not provide a token to do webhook actions, as " -"Discord does not provide it." -msgstr "" - -#: discord.TextChannel.follow:12 of -msgid "The channel you would like to follow from." -msgstr "" - -#: discord.TextChannel.follow:14 of -msgid "" -"The reason for following the channel. Shows up on the destination guild's" -" audit log. .. versionadded:: 1.4" -msgstr "" - -#: discord.TextChannel.follow:14 of -msgid "" -"The reason for following the channel. Shows up on the destination guild's" -" audit log." -msgstr "" - -#: discord.TextChannel.follow:19 of -msgid "Following the channel failed." -msgstr "" - -#: discord.TextChannel.follow:20 of -#, fuzzy -msgid "You do not have the permissions to create a webhook." -msgstr ":exc:`.Forbidden` -- このWebhookを取得する権限がない。" - -#: ../../api.rst:2734 -msgid "VoiceChannel" -msgstr "" - -#: discord.VoiceChannel:1 of -msgid "Represents a Discord guild voice channel." -msgstr "Discordサーバーのボイスチャンネルを表します。" - -#: discord.VoiceChannel.members:1 of -msgid "Returns all members that are currently inside this voice channel." -msgstr "" - -#: discord.VoiceChannel.voice_states:1 of -#, fuzzy -msgid "Returns a mapping of member IDs who have voice states in this channel." -msgstr "ボイスの状態が変わった `Member` 。" - -#: discord.VoiceChannel.voice_states:7 of -msgid "" -"This function is intentionally low level to replace :attr:`members` when " -"the member cache is unavailable." -msgstr "" - -#: discord.VoiceChannel.voice_states:10 of -#, fuzzy -msgid "The mapping of member ID to a voice state." -msgstr "ボイスの状態が変わった `Member` 。" - -#: discord.VoiceChannel.voice_states:11 of -msgid "Mapping[:class:`int`, :class:`VoiceState`]" -msgstr "" - -#: discord.VoiceChannel.edit:11 of -msgid "The new channel's name." -msgstr "" - -#: discord.VoiceChannel.edit:13 of -msgid "The new channel's bitrate." -msgstr "" - -#: discord.VoiceChannel.edit:15 of -msgid "The new channel's user limit." -msgstr "" - -#: discord.VoiceChannel.edit:31 of -msgid "If the permission overwrite information is not in proper form." -msgstr "" - -#: discord.VoiceChannel.connect:3 of -msgid "" -"Connects to voice and creates a :class:`VoiceClient` to establish your " -"connection to the voice server." -msgstr "" - -#: discord.VoiceChannel.connect:6 of -msgid "The timeout in seconds to wait for the voice endpoint." -msgstr "" - -#: discord.VoiceChannel.connect:8 of -msgid "" -"Whether the bot should automatically attempt a reconnect if a part of the" -" handshake fails or the gateway goes down." -msgstr "" - -#: discord.VoiceChannel.connect:12 of -msgid "" -"A type that subclasses :class:`~discord.VoiceProtocol` to connect with. " -"Defaults to :class:`~discord.VoiceClient`." -msgstr "" - -#: discord.VoiceChannel.connect:16 of -#, fuzzy -msgid "Could not connect to the voice channel in time." -msgstr ":class:`abc.Connectable` -- 接続しているボイスチャンネル。" - -#: discord.VoiceChannel.connect:17 of -#, fuzzy -msgid "You are already connected to a voice channel." -msgstr "メンバーがボイスチャンネルに参加したとき。" - -#: discord.VoiceChannel.connect:18 of -#, fuzzy -msgid "The opus library has not been loaded." -msgstr "opusライブラリがロードされているかを表します。" - -#: discord.VoiceChannel.connect:20 of -msgid "A voice client that is fully connected to the voice server." -msgstr "" - -#: discord.VoiceChannel.connect:21 of -#, fuzzy -msgid ":class:`~discord.VoiceProtocol`" -msgstr ":class:`~discord.User`" - -#: ../../api.rst:2741 -msgid "CategoryChannel" -msgstr "" - -#: discord.CategoryChannel:1 of -msgid "Represents a Discord channel category." -msgstr "Discordのチャンネルカテゴリを表します。" - -#: discord.CategoryChannel:3 of -msgid "These are useful to group channels to logical compartments." -msgstr "" - -#: discord.CategoryChannel:17 of -msgid "Returns the category's hash." -msgstr "カテゴリのハッシュを返します。" - -#: discord.CategoryChannel:21 of -msgid "Returns the category's name." -msgstr "カテゴリの名前を返します。" - -#: discord.CategoryChannel:25 of -#, fuzzy -msgid "The category name." -msgstr "カテゴリの名前を返します。" - -#: discord.CategoryChannel:31 of -#, fuzzy -msgid "The guild the category belongs to." -msgstr "更新された後のギルド。" - -#: discord.CategoryChannel:37 of -#, fuzzy -msgid "The category channel ID." -msgstr "新しいグループチャンネル。" - -#: discord.CategoryChannel:43 of -msgid "" -"The position in the category list. This is a number that starts at 0. " -"e.g. the top category is position 0." -msgstr "" - -#: discord.CategoryChannel.is_nsfw:1 of -#, fuzzy -msgid ":class:`bool`: Checks if the category is NSFW." -msgstr "カテゴリがNSFWであるかを返します。" - -#: discord.CategoryChannel.edit:11 of -msgid "The new category's name." -msgstr "" - -#: discord.CategoryChannel.edit:13 of -msgid "The new category's position." -msgstr "" - -#: discord.CategoryChannel.edit:15 of -msgid "To mark the category as NSFW or not." -msgstr "" - -#: discord.CategoryChannel.edit:17 of -msgid "The reason for editing this category. Shows up on the audit log." -msgstr "" - -#: discord.CategoryChannel.edit:23 of -msgid "If position is less than 0 or greater than the number of categories." -msgstr "" - -#: discord.CategoryChannel.edit:24 of -#, fuzzy -msgid "You do not have permissions to edit the category." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.CategoryChannel.edit:25 of -#, fuzzy -msgid "Editing the category failed." -msgstr "カテゴリの名前を返します。" - -#: discord.CategoryChannel.channels:1 of -msgid "Returns the channels that are under this category." -msgstr "" - -#: discord.CategoryChannel.channels:3 of -msgid "" -"These are sorted by the official Discord UI, which places voice channels " -"below the text channels." -msgstr "" - -#: discord.CategoryChannel.text_channels:1 of -msgid "Returns the text channels that are under this category." -msgstr "" - -#: discord.CategoryChannel.voice_channels:1 of -msgid "Returns the voice channels that are under this category." -msgstr "" - -#: discord.CategoryChannel.create_text_channel:3 of -msgid "" -"A shortcut method to :meth:`Guild.create_text_channel` to create a " -":class:`TextChannel` in the category." -msgstr "" - -#: discord.CategoryChannel.create_voice_channel:3 of -msgid "" -"A shortcut method to :meth:`Guild.create_voice_channel` to create a " -":class:`VoiceChannel` in the category." -msgstr "" - -#: ../../api.rst:2748 -msgid "DMChannel" -msgstr "" - -#: discord.DMChannel:1 of -msgid "Represents a Discord direct message channel." -msgstr "" - -#: discord.DMChannel:19 discord.GroupChannel:19 of -msgid "Returns a string representation of the channel" -msgstr "" - -#: discord.DMChannel:23 of -msgid "The user you are participating with in the direct message channel." -msgstr "" - -#: discord.DMChannel:35 of -#, fuzzy -msgid "The direct message channel ID." -msgstr "削除されたメッセージ。" - -#: discord.DMChannel.created_at:1 of -msgid "Returns the direct message channel's creation time in UTC." -msgstr "" - -#: discord.DMChannel.permissions_for:1 discord.GroupChannel.permissions_for:1 -#: of -msgid "Handles permission resolution for a :class:`User`." -msgstr "" - -#: discord.DMChannel.permissions_for:3 discord.GroupChannel.permissions_for:3 -#: of -msgid "This function is there for compatibility with other channel types." -msgstr "" - -#: discord.DMChannel.permissions_for:5 discord.GroupChannel.permissions_for:5 -#: of -msgid "Actual direct messages do not really have the concept of permissions." -msgstr "" - -#: discord.DMChannel.permissions_for:7 discord.GroupChannel.permissions_for:7 -#: of -msgid "This returns all the Text related permissions set to ``True`` except:" -msgstr "" - -#: discord.DMChannel.permissions_for:9 of -msgid "" -":attr:`~Permissions.send_tts_messages`: You cannot send TTS messages in a" -" DM." -msgstr "" - -#: discord.DMChannel.permissions_for:10 of -msgid "" -":attr:`~Permissions.manage_messages`: You cannot delete others messages " -"in a DM." -msgstr "" - -#: discord.DMChannel.permissions_for:12 of -msgid "" -"The user to check permissions for. This parameter is ignored but kept for" -" compatibility." -msgstr "" - -#: discord.DMChannel.permissions_for:16 of -msgid "The resolved permissions." -msgstr "" - -#: ../../api.rst:2762 -msgid "GroupChannel" -msgstr "" - -#: discord.GroupChannel:1 of -msgid "Represents a Discord group channel." -msgstr "" - -#: discord.GroupChannel:23 of -msgid "The users you are participating with in the group channel." -msgstr "" - -#: discord.GroupChannel:35 of -#, fuzzy -msgid "The group channel ID." -msgstr "新しいグループチャンネル。" - -#: discord.GroupChannel:41 of -#, fuzzy -msgid "The user that owns the group channel." -msgstr "新しいグループチャンネル。" - -#: discord.GroupChannel:47 of -#, fuzzy -msgid "The group channel's icon hash if provided." -msgstr "更新されたグループチャンネルの更新前情報。" - -#: discord.GroupChannel:53 of -#, fuzzy -msgid "The group channel's name if provided." -msgstr "更新されたグループチャンネルの更新後情報。" - -#: discord.GroupChannel.icon_url:1 of -msgid "Returns the channel's icon asset if available." -msgstr "" - -#: discord.GroupChannel.permissions_for:9 of -msgid "send_tts_messages: You cannot send TTS messages in a DM." -msgstr "" - -#: discord.GroupChannel.permissions_for:10 of -msgid "manage_messages: You cannot delete others messages in a DM." -msgstr "" - -#: discord.GroupChannel.permissions_for:12 of -msgid "This also checks the kick_members permission if the user is the owner." -msgstr "" - -#: discord.GroupChannel.permissions_for:14 of -msgid "The user to check permissions for." -msgstr "" - -#: discord.GroupChannel.permissions_for:17 of -msgid "The resolved permissions for the user." -msgstr "" - -#: discord.GroupChannel.add_recipients:3 of -msgid "Adds recipients to this group." -msgstr "" - -#: discord.GroupChannel.add_recipients:5 of -msgid "" -"A group can only have a maximum of 10 members. Attempting to add more " -"ends up in an exception. To add a recipient to the group, you must have a" -" relationship with the user of type :attr:`RelationshipType.friend`." -msgstr "" - -#: discord.GroupChannel.add_recipients:10 of -msgid "An argument list of users to add to this group." -msgstr "" - -#: discord.GroupChannel.add_recipients:13 of -msgid "Adding a recipient to this group failed." -msgstr "" - -#: discord.GroupChannel.remove_recipients:3 of -msgid "Removes recipients from this group." -msgstr "" - -#: discord.GroupChannel.remove_recipients:5 of -msgid "An argument list of users to remove from this group." -msgstr "" - -#: discord.GroupChannel.remove_recipients:8 of -msgid "Removing a recipient from this group failed." -msgstr "" - -#: discord.GroupChannel.edit:3 of -msgid "Edits the group." -msgstr "" - -#: discord.GroupChannel.edit:5 of -msgid "The new name to change the group to. Could be ``None`` to remove the name." -msgstr "" - -#: discord.GroupChannel.edit:8 of -msgid "" -"A :term:`py:bytes-like object` representing the new icon. Could be " -"``None`` to remove the icon." -msgstr "" - -#: discord.GroupChannel.edit:12 of -msgid "Editing the group failed." -msgstr "" - -#: discord.GroupChannel.leave:3 of -msgid "Leave the group." -msgstr "" - -#: discord.GroupChannel.leave:5 of -msgid "If you are the only one in the group, this deletes it as well." -msgstr "" - -#: discord.GroupChannel.leave:7 of -msgid "Leaving the group failed." -msgstr "" - -#: ../../api.rst:2776 -msgid "PartialInviteGuild" -msgstr "" - -#: discord.PartialInviteGuild:1 of -msgid "Represents a \"partial\" invite guild." -msgstr "" - -#: discord.PartialInviteChannel:3 discord.PartialInviteGuild:3 of -msgid "" -"This model will be given when the user is not part of the guild the " -":class:`Invite` resolves to." -msgstr "" - -#: discord.PartialInviteGuild:10 of -msgid "Checks if two partial guilds are the same." -msgstr "" - -#: discord.PartialInviteGuild:14 of -msgid "Checks if two partial guilds are not the same." -msgstr "" - -#: discord.PartialInviteGuild:18 of -msgid "Return the partial guild's hash." -msgstr "" - -#: discord.PartialInviteGuild:22 of -msgid "Returns the partial guild's name." -msgstr "" - -#: discord.PartialInviteGuild:26 of -msgid "The partial guild's name." -msgstr "" - -#: discord.PartialInviteGuild:32 of -#, fuzzy -msgid "The partial guild's ID." -msgstr "ギルドのウィジェット。" - -#: discord.PartialInviteGuild:38 of -msgid "The partial guild's verification level." -msgstr "" - -#: discord.PartialInviteGuild:44 of -msgid "" -"A list of features the guild has. See :attr:`Guild.features` for more " -"information." -msgstr "" - -#: discord.PartialInviteGuild:50 of -msgid "The partial guild's icon." -msgstr "" - -#: discord.PartialInviteGuild:56 of -msgid "The partial guild's banner." -msgstr "" - -#: discord.PartialInviteGuild:62 of -#, fuzzy -msgid "The partial guild's invite splash." -msgstr "ギルドの招待時のスプラッシュ画像の変更" - -#: discord.PartialInviteGuild:68 of -msgid "The partial guild's description." -msgstr "" - -#: discord.PartialInviteGuild.is_icon_animated:1 of -msgid ":class:`bool`: Returns ``True`` if the guild has an animated icon." -msgstr "" - -#: discord.PartialInviteGuild.icon_url_as:1 of -msgid "The same operation as :meth:`Guild.icon_url_as`." -msgstr "" - -#: discord.PartialInviteGuild.banner_url_as:1 of -msgid "The same operation as :meth:`Guild.banner_url_as`." -msgstr "" - -#: discord.PartialInviteGuild.splash_url_as:1 of -msgid "The same operation as :meth:`Guild.splash_url_as`." -msgstr "" - -#: ../../api.rst:2782 -msgid "PartialInviteChannel" -msgstr "" - -#: discord.PartialInviteChannel:1 of -msgid "Represents a \"partial\" invite channel." -msgstr "" - -#: discord.PartialInviteChannel:10 discord.WidgetChannel:7 of -msgid "Checks if two partial channels are the same." -msgstr "" - -#: discord.PartialInviteChannel:14 discord.WidgetChannel:11 of -msgid "Checks if two partial channels are not the same." -msgstr "" - -#: discord.PartialInviteChannel:18 discord.WidgetChannel:15 of -msgid "Return the partial channel's hash." -msgstr "" - -#: discord.PartialInviteChannel:22 discord.WidgetChannel:19 of -msgid "Returns the partial channel's name." -msgstr "" - -#: discord.PartialInviteChannel:26 of -#, fuzzy -msgid "The partial channel's name." -msgstr "更新されたギルドの更新後情報。" - -#: discord.PartialInviteChannel:32 of -#, fuzzy -msgid "The partial channel's ID." -msgstr "更新されたギルドの更新前情報。" - -#: discord.PartialInviteChannel:38 of -#, fuzzy -msgid "The partial channel's type." -msgstr "更新されたギルドの更新後情報。" - -#: ../../api.rst:2788 -msgid "Invite" -msgstr "" - -#: discord.Invite:1 of -msgid "Represents a Discord :class:`Guild` or :class:`abc.GuildChannel` invite." -msgstr "" - -#: discord.Invite:10 of -msgid "Checks if two invites are equal." -msgstr "" - -#: discord.Invite:14 of -msgid "Checks if two invites are not equal." -msgstr "" - -#: discord.Invite:18 of -msgid "Returns the invite hash." -msgstr "" - -#: discord.Invite:22 of -msgid "Returns the invite URL." -msgstr "" - -#: discord.Invite:24 of -msgid "The following table illustrates what methods will obtain the attributes:" -msgstr "" - -#: discord.Invite:27 of -msgid "Attribute" -msgstr "" - -#: discord.Invite:27 of -msgid "Method" -msgstr "" - -#: discord.Invite:29 of -msgid ":attr:`max_age`" -msgstr ":attr:`max_age`" - -#: discord.Invite:29 discord.Invite:31 discord.Invite:33 discord.Invite:35 -#: discord.Invite:37 of -msgid ":meth:`abc.GuildChannel.invites`\\, :meth:`Guild.invites`" -msgstr "" - -#: discord.Invite:31 of -msgid ":attr:`max_uses`" -msgstr ":attr:`max_uses`" - -#: discord.Invite:33 of -msgid ":attr:`created_at`" -msgstr ":attr:`created_at`" - -#: discord.Invite:35 of -msgid ":attr:`temporary`" -msgstr ":attr:`temporary`" - -#: discord.Invite:37 of -msgid ":attr:`uses`" -msgstr ":attr:`uses`" - -#: discord.Invite:39 of -msgid ":attr:`approximate_member_count`" -msgstr ":attr:`approximate_member_count`" - -#: discord.Invite:39 discord.Invite:41 of -msgid ":meth:`Client.fetch_invite`" -msgstr "" - -#: discord.Invite:41 of -msgid ":attr:`approximate_presence_count`" -msgstr ":attr:`approximate_presence_count`" - -#: discord.Invite:44 of -msgid "If it's not in the table above then it is available by all methods." -msgstr "" - -#: discord.Invite:48 of -msgid "" -"How long the before the invite expires in seconds. A value of 0 indicates" -" that it doesn't expire." -msgstr "" - -#: discord.Invite:54 of -msgid "The URL fragment used for the invite." -msgstr "" - -#: discord.Invite:60 of -msgid "" -"The guild the invite is for. Can be ``None`` if it's from a group direct " -"message." -msgstr "" - -#: discord.Invite:62 of -msgid "" -"Optional[Union[:class:`Guild`, :class:`Object`, " -":class:`PartialInviteGuild`]]" -msgstr "" - -#: discord.Invite:66 of -#, fuzzy -msgid "Indicates if the invite has been revoked." -msgstr "opusライブラリがロードされているかを表します。" - -#: discord.Invite:72 of -msgid "A datetime object denoting the time the invite was created." -msgstr "" - -#: discord.Invite:78 of -msgid "" -"Indicates that the invite grants temporary membership. If ``True``, " -"members who joined via this invite will be kicked upon disconnect." -msgstr "" - -#: discord.Invite:85 of -msgid "How many times the invite has been used." -msgstr "" - -#: discord.Invite:91 of -msgid "How many times the invite can be used." -msgstr "" - -#: discord.Invite:103 of -msgid "The approximate number of members in the guild." -msgstr "" - -#: discord.Invite:109 of -msgid "" -"The approximate number of members currently active in the guild. This " -"includes idle, dnd, online, and invisible members. Offline members are " -"excluded." -msgstr "" - -#: discord.Invite:116 of -#, fuzzy -msgid "The channel the invite is for." -msgstr "権限を確認したいチャンネル。" - -#: discord.Invite:118 of -#, fuzzy -msgid "" -"Union[:class:`abc.GuildChannel`, :class:`Object`, " -":class:`PartialInviteChannel`]" -msgstr "Union[:class:`.abc.GuildChannel`, :class:`.abc.PrivateChannel`]" - -#: discord.Invite.id:1 of -msgid "Returns the proper code portion of the invite." -msgstr "" - -#: discord.Invite.url:1 of -msgid "A property that retrieves the invite URL." -msgstr "" - -#: discord.Invite.delete:3 of -msgid "Revokes the instant invite." -msgstr "" - -#: discord.Invite.delete:5 of -msgid "" -"You must have the :attr:`~Permissions.manage_channels` permission to do " -"this." -msgstr "" - -#: discord.Invite.delete:7 of -msgid "The reason for deleting this invite. Shows up on the audit log." -msgstr "" - -#: ../../api.rst:2794 -msgid "Template" -msgstr "" - -#: discord.Template:1 of -#, fuzzy -msgid "Represents a Discord template." -msgstr "Discordの埋め込みを表します。" - -#: discord.Template:13 of -msgid "How many times the template has been used." -msgstr "" - -#: discord.Template:19 of -#, fuzzy -msgid "The name of the template." -msgstr "フィールドの名前。" - -#: discord.Template:25 of -#, fuzzy -msgid "The description of the template." -msgstr "更新後のメッセージ。" - -#: discord.Template:31 of -#, fuzzy -msgid "The creator of the template." -msgstr "リアクションの現在の状態。" - -#: discord.Template:37 of -#, fuzzy -msgid "When the template was created." -msgstr "新しい役職の作成。" - -#: discord.Template:43 of -msgid "" -"When the template was last updated (referred to as \"last synced\" in the" -" client)." -msgstr "" - -#: discord.Template:49 of -#, fuzzy -msgid "The source guild." -msgstr "ギルドのID。" - -#: discord.Template.create_guild:3 of -#, fuzzy -msgid "Creates a :class:`.Guild` using the template." -msgstr ":class:`.Guild` を作成します。" - -#: ../../api.rst:2800 -msgid "WidgetChannel" -msgstr "" - -#: discord.WidgetChannel:1 of -msgid "Represents a \"partial\" widget channel." -msgstr "" - -#: discord.WidgetChannel:23 of -#, fuzzy -msgid "The channel's ID." -msgstr "テキストチャンネル。" - -#: discord.WidgetChannel:35 of -msgid "The channel's position" -msgstr "" - -#: ../../api.rst:2806 -msgid "WidgetMember" -msgstr "" - -#: discord.WidgetMember:1 of -msgid "Represents a \"partial\" member of the widget's guild." -msgstr "" - -#: discord.WidgetMember:7 of -msgid "Checks if two widget members are the same." -msgstr "" - -#: discord.WidgetMember:11 of -msgid "Checks if two widget members are not the same." -msgstr "" - -#: discord.WidgetMember:15 of -msgid "Return the widget member's hash." -msgstr "" - -#: discord.WidgetMember:19 of -msgid "Returns the widget member's `name#discriminator`." -msgstr "" - -#: discord.WidgetMember:23 of -#, fuzzy -msgid "The member's ID." -msgstr "メンバーが退席中。" - -#: discord.WidgetMember:29 of -#, fuzzy -msgid "The member's username." -msgstr "メンバーがオンライン。" - -#: discord.WidgetMember:35 of -#, fuzzy -msgid "The member's discriminator." -msgstr "ユーザー名とディスクリミネータを返します。" - -#: discord.WidgetMember:41 of -#, fuzzy -msgid "Whether the member is a bot." -msgstr "メンバーがオンライン。" - -#: discord.WidgetMember:47 of -#, fuzzy -msgid "The member's status." -msgstr "メンバーが退席中。" - -#: discord.WidgetMember:53 of -#, fuzzy -msgid "The member's nickname." -msgstr "メンバーがオンライン。" - -#: discord.WidgetMember:59 of -msgid "The member's avatar hash." -msgstr "" - -#: discord.WidgetMember:65 of -#, fuzzy -msgid "The member's activity." -msgstr "メンバーが退席中。" - -#: discord.WidgetMember:67 of -msgid "Optional[Union[:class:`BaseActivity`, :class:`Spotify`]]" -msgstr "" - -#: discord.WidgetMember:71 of -msgid "Whether the member is currently deafened." -msgstr "" - -#: discord.WidgetMember:77 of -msgid "Whether the member is currently muted." -msgstr "" - -#: discord.WidgetMember:83 of -msgid "Whether the member is currently being suppressed." -msgstr "" - -#: discord.WidgetMember:89 of -#, fuzzy -msgid "Which channel the member is connected to." -msgstr "ボイスチャンネルに接続しているかどうかを表します。" - -#: discord.WidgetMember.display_name:1 of -#, fuzzy -msgid "Returns the member's display name." -msgstr "役職の名前を返します。" - -#: ../../api.rst:2813 -msgid "Widget" -msgstr "" - -#: discord.Widget:1 of -msgid "Represents a :class:`Guild` widget." -msgstr "" - -#: discord.Widget:7 of -msgid "Checks if two widgets are the same." -msgstr "" - -#: discord.Widget:11 of -msgid "Checks if two widgets are not the same." -msgstr "" - -#: discord.Widget:15 of -msgid "Returns the widget's JSON URL." -msgstr "" - -#: discord.Widget:25 of -#, fuzzy -msgid "The guild's name." -msgstr "ギルドのウィジェット。" - -#: discord.Widget:31 of -msgid "The accessible voice channels in the guild." -msgstr "" - -#: discord.Widget:33 of -msgid "Optional[List[:class:`WidgetChannel`]]" -msgstr "" - -#: discord.Widget:37 of -msgid "" -"The online members in the server. Offline members do not appear in the " -"widget." -msgstr "" - -#: discord.Widget:42 of -msgid "" -"Due to a Discord limitation, if this data is available the users will be " -"\"anonymized\" with linear IDs and discriminator information being " -"incorrect. Likewise, the number of members retrieved is capped." -msgstr "" - -#: discord.Widget:47 of -msgid "Optional[List[:class:`Member`]]" -msgstr "" - -#: discord.Widget.created_at:1 of -msgid "Returns the member's creation time in UTC." -msgstr "" - -#: discord.Widget.json_url:1 of -#, fuzzy -msgid "The JSON URL of the widget." -msgstr "フィールドの名前。" - -#: discord.Widget.invite_url:1 of -msgid "The invite URL for the guild, if available." -msgstr "" - -#: discord.Widget.fetch_invite:3 of -msgid "" -"Retrieves an :class:`Invite` from a invite URL or ID. This is the same as" -" :meth:`Client.fetch_invite`; the invite code is abstracted away." -msgstr "" - -#: discord.Widget.fetch_invite:7 of -msgid "" -"Whether to include count information in the invite. This fills the " -":attr:`Invite.approximate_member_count` and " -":attr:`Invite.approximate_presence_count` fields." -msgstr "" - -#: ../../api.rst:2819 -msgid "MessageReference" -msgstr "" - -#: discord.MessageReference:1 of -msgid "Represents a reference to a :class:`Message`." -msgstr "" - -#: discord.MessageReference:7 of -msgid "The id of the message referenced." -msgstr "" - -#: discord.MessageReference:13 of -#, fuzzy -msgid "The channel id of the message referenced." -msgstr "更新後のメッセージ。" - -#: discord.MessageReference:19 of -msgid "The guild id of the message referenced." -msgstr "" - -#: discord.MessageReference.cached_message:1 discord.RawMessageDeleteEvent:23 -#: discord.RawMessageUpdateEvent:25 of -msgid "The cached message, if found in the internal message cache." -msgstr "" - -#: ../../api.rst:2824 -msgid "RawMessageDeleteEvent" -msgstr "" - -#: discord.RawMessageDeleteEvent:1 of -msgid "Represents the event payload for a :func:`on_raw_message_delete` event." -msgstr "" - -#: discord.RawMessageDeleteEvent:5 of -msgid "The channel ID where the deletion took place." -msgstr "" - -#: discord.RawMessageDeleteEvent:11 of -msgid "The guild ID where the deletion took place, if applicable." -msgstr "" - -#: discord.RawMessageDeleteEvent:17 of -#, fuzzy -msgid "The message ID that got deleted." -msgstr "削除されたメッセージのリスト。" - -#: ../../api.rst:2830 -msgid "RawBulkMessageDeleteEvent" -msgstr "" - -#: discord.RawBulkMessageDeleteEvent:1 of -msgid "" -"Represents the event payload for a :func:`on_raw_bulk_message_delete` " -"event." -msgstr "" - -#: discord.RawBulkMessageDeleteEvent:5 of -#, fuzzy -msgid "A :class:`set` of the message IDs that were deleted." -msgstr "削除されたメッセージのリスト。" - -#: discord.RawBulkMessageDeleteEvent:7 of -#, fuzzy -msgid "Set[:class:`int`]" -msgstr ":class:`str`" - -#: discord.RawBulkMessageDeleteEvent:11 of -msgid "The channel ID where the message got deleted." -msgstr "" - -#: discord.RawBulkMessageDeleteEvent:17 of -msgid "The guild ID where the message got deleted, if applicable." -msgstr "" - -#: discord.RawBulkMessageDeleteEvent:23 of -msgid "The cached messages, if found in the internal message cache." -msgstr "" - -#: discord.RawBulkMessageDeleteEvent:25 of -#, fuzzy -msgid "List[:class:`Message`]" -msgstr ":class:`bytes`" - -#: ../../api.rst:2836 -msgid "RawMessageUpdateEvent" -msgstr "" - -#: discord.RawMessageUpdateEvent:1 of -msgid "Represents the payload for a :func:`on_raw_message_edit` event." -msgstr "" - -#: discord.RawMessageUpdateEvent:5 of -#, fuzzy -msgid "The message ID that got updated." -msgstr "Banが解除されたユーザー。" - -#: discord.RawMessageUpdateEvent:11 of -msgid "The channel ID where the update took place." -msgstr "" - -#: discord.RawMessageUpdateEvent:19 of -#, fuzzy -msgid "" -"The raw data given by the `gateway " -"`_" -msgstr "" -"このイベントの性質は、本質的に生表現のため、データのパラメータは `ゲートウェイ " -"`_ " -"によって与えられた生データと一致します。" - -#: ../../api.rst:2842 -msgid "RawReactionActionEvent" -msgstr "" - -#: discord.RawReactionActionEvent:1 of -msgid "" -"Represents the payload for a :func:`on_raw_reaction_add` or " -":func:`on_raw_reaction_remove` event." -msgstr "" - -#: discord.RawReactionActionEvent:6 of -#, fuzzy -msgid "The message ID that got or lost a reaction." -msgstr "リアクションが削除されたメッセージ。" - -#: discord.RawReactionActionEvent:12 of -#, fuzzy -msgid "The user ID who added the reaction or whose reaction was removed." -msgstr "リアクションを追加したユーザー。" - -#: discord.RawReactionActionEvent:18 of -#, fuzzy -msgid "The channel ID where the reaction got added or removed." -msgstr "作成、または削除されたギルドチャンネル。" - -#: discord.RawReactionActionEvent:24 of -msgid "The guild ID where the reaction got added or removed, if applicable." -msgstr "" - -#: discord.RawReactionActionEvent:30 of -msgid "The custom or unicode emoji being used." -msgstr "" - -#: discord.RawReactionActionEvent:32 discord.RawReactionClearEmojiEvent:27 of -#, fuzzy -msgid ":class:`PartialEmoji`" -msgstr ":class:`.Profile`" - -#: discord.RawReactionActionEvent:36 of -msgid "" -"The member who added the reaction. Only available if `event_type` is " -"`REACTION_ADD` and the reaction is inside a guild." -msgstr "" - -#: discord.RawReactionActionEvent:44 of -msgid "" -"The event type that triggered this action. Can be ``REACTION_ADD`` for " -"reaction addition or ``REACTION_REMOVE`` for reaction removal." -msgstr "" - -#: ../../api.rst:2848 -msgid "RawReactionClearEvent" -msgstr "" - -#: discord.RawReactionClearEvent:1 of -msgid "Represents the payload for a :func:`on_raw_reaction_clear` event." -msgstr "" - -#: discord.RawReactionClearEmojiEvent:7 discord.RawReactionClearEvent:5 of -#, fuzzy -msgid "The message ID that got its reactions cleared." -msgstr "リアクションが削除されたメッセージ。" - -#: discord.RawReactionClearEmojiEvent:13 discord.RawReactionClearEvent:11 of -#, fuzzy -msgid "The channel ID where the reactions got cleared." -msgstr "リアクションが削除されたメッセージ。" - -#: discord.RawReactionClearEmojiEvent:19 discord.RawReactionClearEvent:17 of -#, fuzzy -msgid "The guild ID where the reactions got cleared." -msgstr "作成、または削除されたギルドチャンネル。" - -#: ../../api.rst:2854 -msgid "RawReactionClearEmojiEvent" -msgstr "" - -#: discord.RawReactionClearEmojiEvent:1 of -msgid "Represents the payload for a :func:`on_raw_reaction_clear_emoji` event." -msgstr "" - -#: discord.RawReactionClearEmojiEvent:25 of -msgid "The custom or unicode emoji being removed." -msgstr "" - -#: ../../api.rst:2863 -msgid "Data Classes" -msgstr "データクラス" - -#: ../../api.rst:2865 -msgid "Some classes are just there to be data containers, this lists them." -msgstr "" - -#: ../../api.rst:2867 -msgid "" -"Unlike :ref:`models ` you are allowed to create most " -"of these yourself, even if they can also be used to hold attributes." -msgstr "" - -#: ../../api.rst:2873 -msgid "" -"The only exception to this rule is :class:`abc.Snowflake`, which is made " -"with dynamic attributes in mind." -msgstr "" - -#: ../../api.rst:2878 -msgid "Object" -msgstr "" - -#: discord.Object:1 of -msgid "Represents a generic Discord object." -msgstr "" - -#: discord.Object:3 of -msgid "" -"The purpose of this class is to allow you to create 'miniature' versions " -"of data classes if you want to pass in just an ID. Most functions that " -"take in a specific data class with an ID can also take in this class as a" -" substitute instead. Note that even though this is the case, not all " -"objects (if any) actually inherit from this class." -msgstr "" - -#: discord.Object:9 of -msgid "" -"There are also some cases where some websocket events are received in " -":issue:`strange order <21>` and when such events happened you would " -"receive this class rather than the actual data class. These cases are " -"extremely rare." -msgstr "" - -#: discord.Object:18 of -msgid "Checks if two objects are equal." -msgstr "二つのオブジェクトが等しいか比較します。" - -#: discord.Object:22 of -msgid "Checks if two objects are not equal." -msgstr "二つのオブジェクトが等しいものでないか比較します。" - -#: discord.Object:26 of -msgid "Returns the object's hash." -msgstr "オブジェクトのハッシュを返します。" - -#: discord.Object:30 of -#, fuzzy -msgid "The ID of the object." -msgstr "ユーザーのプロフィール。" - -#: discord.Object.created_at:1 of -#, fuzzy -msgid "Returns the snowflake's creation time in UTC." -msgstr "役職の名前を返します。" - -#: ../../api.rst:2884 -msgid "Embed" -msgstr "" - -#: discord.Embed:1 of -msgid "Represents a Discord embed." -msgstr "Discordの埋め込みを表します。" - -#: discord.Embed:7 of -msgid "" -"Returns the total size of the embed. Useful for checking if it's within " -"the 6000 character limit." -msgstr "" - -#: discord.Embed:10 of -msgid "" -"Certain properties return an ``EmbedProxy``, a type that acts similar to " -"a regular :class:`dict` except using dotted access, e.g. " -"``embed.author.icon_url``. If the attribute is invalid or empty, then a " -"special sentinel value is returned, :attr:`Embed.Empty`." -msgstr "" - -#: discord.Embed:16 of -msgid "" -"For ease of use, all parameters that expect a :class:`str` are implicitly" -" casted to :class:`str` for you." -msgstr "使いやすさを考慮して、strが渡されることを想定されたすべてのパラメータは、暗黙的にstrにキャストされます。" - -#: discord.Embed:21 of -msgid "The title of the embed. This can be set during initialisation." -msgstr "" - -#: discord.Embed:28 of -msgid "" -"The type of embed. Usually \"rich\". This can be set during " -"initialisation." -msgstr "" - -#: discord.Embed:35 of -msgid "The description of the embed. This can be set during initialisation." -msgstr "" - -#: discord.Embed:42 of -msgid "The URL of the embed. This can be set during initialisation." -msgstr "" - -#: discord.Embed:49 of -msgid "" -"The timestamp of the embed content. This could be a naive or aware " -"datetime." -msgstr "" - -#: discord.Embed:55 of -msgid "" -"The colour code of the embed. Aliased to ``color`` as well. This can be " -"set during initialisation." -msgstr "" - -#: discord.Embed:58 of -#, fuzzy -msgid "Union[:class:`Colour`, :class:`int`]" -msgstr "Union[:class:`.abc.GuildChannel`, :class:`.abc.PrivateChannel`]" - -#: discord.Embed:62 of -msgid "" -"A special sentinel value used by ``EmbedProxy`` and this class to denote " -"that the value or attribute is empty." -msgstr "" - -#: discord.Embed.from_dict:1 of -msgid "" -"Converts a :class:`dict` to a :class:`Embed` provided it is in the format" -" that Discord expects it to be in." -msgstr "" - -#: discord.Embed.from_dict:4 of -msgid "" -"You can find out about this format in the `official Discord " -"documentation`__." -msgstr "" - -#: discord.Embed.from_dict:10 of -msgid "The dictionary to convert into an embed." -msgstr "" - -#: discord.Embed.copy:1 of -msgid "Returns a shallow copy of the embed." -msgstr "" - -#: discord.Embed.footer:1 of -msgid "Returns an ``EmbedProxy`` denoting the footer contents." -msgstr "" - -#: discord.Embed.footer:3 of -msgid "See :meth:`set_footer` for possible values you can access." -msgstr "" - -#: discord.Embed.author:5 discord.Embed.fields:5 discord.Embed.footer:5 -#: discord.Embed.image:10 discord.Embed.provider:5 discord.Embed.thumbnail:10 -#: discord.Embed.video:9 of -msgid "If the attribute has no value then :attr:`Empty` is returned." -msgstr "" - -#: discord.Embed.author:7 discord.Embed.footer:7 discord.Embed.image:12 -#: discord.Embed.provider:7 discord.Embed.thumbnail:12 discord.Embed.video:11 -#: of -msgid "Union[:class:`EmbedProxy`, :attr:`Empty`]" -msgstr "" - -#: discord.Embed.set_footer:1 of -msgid "Sets the footer for the embed content." -msgstr "" - -#: discord.Embed.add_field:3 discord.Embed.insert_field_at:3 -#: discord.Embed.remove_author:3 discord.Embed.set_author:3 -#: discord.Embed.set_field_at:5 discord.Embed.set_footer:3 -#: discord.Embed.set_image:3 discord.Embed.set_thumbnail:3 of -msgid "" -"This function returns the class instance to allow for fluent-style " -"chaining." -msgstr "" - -#: discord.Embed.set_footer:6 of -msgid "The footer text." -msgstr "フッターテキスト。" - -#: discord.Embed.set_footer:8 of -msgid "The URL of the footer icon. Only HTTP(S) is supported." -msgstr "" - -#: discord.Embed.image:1 of -msgid "Returns an ``EmbedProxy`` denoting the image contents." -msgstr "" - -#: discord.Embed.image:3 discord.Embed.thumbnail:3 of -msgid "Possible attributes you can access are:" -msgstr "" - -#: discord.Embed.image:5 discord.Embed.thumbnail:5 of -msgid "``url``" -msgstr "" - -#: discord.Embed.image:6 discord.Embed.thumbnail:6 of -msgid "``proxy_url``" -msgstr "" - -#: discord.Embed.image:7 discord.Embed.thumbnail:7 of -msgid "``width``" -msgstr "" - -#: discord.Embed.image:8 discord.Embed.thumbnail:8 of -msgid "``height``" -msgstr "" - -#: discord.Embed.set_image:1 of -msgid "Sets the image for the embed content." -msgstr "" - -#: discord.Embed.set_image:6 of -msgid "Passing :attr:`Empty` removes the image." -msgstr "" - -#: discord.Embed.set_image:9 of -msgid "The source URL for the image. Only HTTP(S) is supported." -msgstr "" - -#: discord.Embed.thumbnail:1 of -msgid "Returns an ``EmbedProxy`` denoting the thumbnail contents." -msgstr "" - -#: discord.Embed.set_thumbnail:1 of -msgid "Sets the thumbnail for the embed content." -msgstr "" - -#: discord.Embed.set_thumbnail:6 of -msgid "Passing :attr:`Empty` removes the thumbnail." -msgstr "" - -#: discord.Embed.set_thumbnail:9 of -msgid "The source URL for the thumbnail. Only HTTP(S) is supported." -msgstr "" - -#: discord.Embed.video:1 of -msgid "Returns an ``EmbedProxy`` denoting the video contents." -msgstr "" - -#: discord.Embed.video:3 of -msgid "Possible attributes include:" -msgstr "" - -#: discord.Embed.video:5 of -msgid "``url`` for the video URL." -msgstr "" - -#: discord.Embed.video:6 of -msgid "``height`` for the video height." -msgstr "" - -#: discord.Embed.video:7 of -msgid "``width`` for the video width." -msgstr "" - -#: discord.Embed.provider:1 of -msgid "Returns an ``EmbedProxy`` denoting the provider contents." -msgstr "" - -#: discord.Embed.provider:3 of -msgid "The only attributes that might be accessed are ``name`` and ``url``." -msgstr "" - -#: discord.Embed.author:1 of -msgid "Returns an ``EmbedProxy`` denoting the author contents." -msgstr "" - -#: discord.Embed.author:3 of -msgid "See :meth:`set_author` for possible values you can access." -msgstr "" - -#: discord.Embed.set_author:1 of -msgid "Sets the author for the embed content." -msgstr "" - -#: discord.Embed.set_author:6 of -msgid "The name of the author." -msgstr "" - -#: discord.Embed.set_author:8 of -msgid "The URL for the author." -msgstr "" - -#: discord.Embed.set_author:10 of -msgid "The URL of the author icon. Only HTTP(S) is supported." -msgstr "" - -#: discord.Embed.remove_author:1 of -#, fuzzy -msgid "Clears embed's author information." -msgstr "Botのアプリケーション情報。" - -#: discord.Embed.fields:1 of -msgid "Returns a :class:`list` of ``EmbedProxy`` denoting the field contents." -msgstr "" - -#: discord.Embed.fields:3 of -msgid "See :meth:`add_field` for possible values you can access." -msgstr "" - -#: discord.Embed.fields:7 of -msgid "Union[List[:class:`EmbedProxy`], :attr:`Empty`]" -msgstr "" - -#: discord.Embed.add_field:1 of -msgid "Adds a field to the embed object." -msgstr "" - -#: discord.Embed.add_field:6 discord.Embed.insert_field_at:10 -#: discord.Embed.set_field_at:10 of -msgid "The name of the field." -msgstr "フィールドの名前。" - -#: discord.Embed.add_field:8 discord.Embed.insert_field_at:12 -#: discord.Embed.set_field_at:12 of -msgid "The value of the field." -msgstr "フィールドの値。" - -#: discord.Embed.add_field:10 discord.Embed.insert_field_at:14 -#: discord.Embed.set_field_at:14 of -msgid "Whether the field should be displayed inline." -msgstr "フィールドをインライン表示するかどうか。" - -#: discord.Embed.insert_field_at:1 of -msgid "Inserts a field before a specified index to the embed." -msgstr "" - -#: discord.Embed.insert_field_at:8 of -msgid "The index of where to insert the field." -msgstr "" - -#: discord.Embed.clear_fields:1 of -msgid "Removes all fields from this embed." -msgstr "埋め込みからすべてのフィールドを削除します。" - -#: discord.Embed.remove_field:1 of -msgid "Removes a field at a specified index." -msgstr "特定のインデックスのフィールドを削除します。" - -#: discord.Embed.remove_field:3 of -msgid "" -"If the index is invalid or out of bounds then the error is silently " -"swallowed." -msgstr "" - -#: discord.Embed.remove_field:8 of -msgid "" -"When deleting a field by index, the index of the other fields shift to " -"fill the gap just like a regular list." -msgstr "" - -#: discord.Embed.remove_field:11 of -msgid "The index of the field to remove." -msgstr "" - -#: discord.Embed.set_field_at:1 of -msgid "Modifies a field to the embed object." -msgstr "" - -#: discord.Embed.set_field_at:3 of -msgid "The index must point to a valid pre-existing field." -msgstr "" - -#: discord.Embed.set_field_at:8 of -msgid "The index of the field to modify." -msgstr "" - -#: discord.Embed.set_field_at:17 of -#, fuzzy -msgid "An invalid index was provided." -msgstr "招待の更新。" - -#: discord.Embed.to_dict:1 of -msgid "Converts this embed object into a dict." -msgstr "" - -#: ../../api.rst:2890 -msgid "AllowedMentions" -msgstr "" - -#: discord.AllowedMentions:1 of -msgid "A class that represents what mentions are allowed in a message." -msgstr "" - -#: discord.AllowedMentions:3 of -msgid "" -"This class can be set during :class:`Client` initialisation to apply to " -"every message sent. It can also be applied on a per message basis via " -":meth:`abc.Messageable.send` for more fine-grained control." -msgstr "" - -#: discord.AllowedMentions:9 of -msgid "Whether to allow everyone and here mentions. Defaults to ``True``." -msgstr "" - -#: discord.AllowedMentions:15 of -msgid "" -"Controls the users being mentioned. If ``True`` (the default) then users " -"are mentioned based on the message content. If ``False`` then users are " -"not mentioned at all. If a list of :class:`abc.Snowflake` is given then " -"only the users provided will be mentioned, provided those users are in " -"the message content." -msgstr "" - -#: discord.AllowedMentions:21 discord.AllowedMentions:31 of -#, fuzzy -msgid "Union[:class:`bool`, List[:class:`abc.Snowflake`]]" -msgstr "Union[:class:`.abc.GuildChannel`, :class:`.abc.PrivateChannel`]" - -#: discord.AllowedMentions:25 of -msgid "" -"Controls the roles being mentioned. If ``True`` (the default) then roles " -"are mentioned based on the message content. If ``False`` then roles are " -"not mentioned at all. If a list of :class:`abc.Snowflake` is given then " -"only the roles provided will be mentioned, provided those roles are in " -"the message content." -msgstr "" - -#: discord.AllowedMentions.all:1 of -msgid "" -"A factory method that returns a :class:`AllowedMentions` with all fields " -"explicitly set to ``True``" -msgstr "" - -#: discord.AllowedMentions.none:1 of -msgid "" -"A factory method that returns a :class:`AllowedMentions` with all fields " -"set to ``False``" -msgstr "" - -#: ../../api.rst:2896 -#, fuzzy -msgid "Intents" -msgstr "クライアント" - -#: discord.Intents:1 of -msgid "Wraps up a Discord gateway intent flag." -msgstr "" - -#: discord.Intents:3 of -msgid "" -"Similar to :class:`Permissions`\\, the properties provided are two way. " -"You can set and retrieve individual bits using the properties as if they " -"were regular bools." -msgstr "" - -#: discord.Intents:7 discord.MemberCacheFlags:12 discord.SystemChannelFlags:7 -#: of -msgid "" -"To construct an object you can pass keyword arguments denoting the flags " -"to enable or disable." -msgstr "" - -#: discord.Intents:10 of -msgid "" -"This is used to disable certain gateway features that are unnecessary to " -"run your bot. To make use of this, it is passed to the ``intents`` " -"keyword argument of :class:`Client`." -msgstr "" - -#: discord.Intents:20 discord.MemberCacheFlags:23 discord.MessageFlags:9 -#: discord.SystemChannelFlags:14 of -msgid "Checks if two flags are equal." -msgstr "" - -#: discord.Intents:23 discord.MemberCacheFlags:26 discord.MessageFlags:12 -#: discord.SystemChannelFlags:17 of -msgid "Checks if two flags are not equal." -msgstr "" - -#: discord.Intents:26 discord.MemberCacheFlags:29 discord.MessageFlags:15 -#: discord.PublicUserFlags:13 discord.SystemChannelFlags:20 of -msgid "Return the flag's hash." -msgstr "" - -#: discord.Intents:29 discord.MemberCacheFlags:32 discord.MessageFlags:18 -#: discord.SystemChannelFlags:23 of -msgid "" -"Returns an iterator of ``(name, value)`` pairs. This allows it to be, for" -" example, constructed as a dict or a list of pairs." -msgstr "" - -#: discord.Intents:34 discord.MemberCacheFlags:37 of -msgid "" -"The raw value. You should query flags via the properties rather than " -"using this raw value." -msgstr "" - -#: discord.Intents.all:1 of -msgid "A factory method that creates a :class:`Intents` with everything enabled." -msgstr "" - -#: discord.Intents.none:1 of -msgid "A factory method that creates a :class:`Intents` with everything disabled." -msgstr "" - -#: discord.Intents.default:1 of -msgid "" -"A factory method that creates a :class:`Intents` with everything enabled " -"except :attr:`presences` and :attr:`members`." -msgstr "" - -#: discord.Intents.guilds:1 of -msgid "Whether guild related events are enabled." -msgstr "" - -#: discord.Intents.bans:3 discord.Intents.dm_messages:5 -#: discord.Intents.dm_reactions:5 discord.Intents.dm_typing:5 -#: discord.Intents.emojis:3 discord.Intents.guild_messages:5 -#: discord.Intents.guild_reactions:5 discord.Intents.guild_typing:5 -#: discord.Intents.guilds:3 discord.Intents.integrations:3 -#: discord.Intents.invites:3 discord.Intents.members:3 -#: discord.Intents.messages:5 discord.Intents.presences:3 -#: discord.Intents.reactions:5 discord.Intents.typing:5 -#: discord.Intents.voice_states:3 discord.Intents.webhooks:3 of -msgid "This corresponds to the following events:" -msgstr "" - -#: discord.Intents.guilds:5 of -msgid ":func:`on_guild_join`" -msgstr "" - -#: discord.Intents.guilds:6 of -msgid ":func:`on_guild_remove`" -msgstr "" - -#: discord.Intents.guilds:7 of -msgid ":func:`on_guild_available`" -msgstr "" - -#: discord.Intents.guilds:8 of -msgid ":func:`on_guild_unavailable`" -msgstr "" - -#: discord.Intents.guilds:9 of -msgid ":func:`on_guild_channel_update`" -msgstr "" - -#: discord.Intents.guilds:10 of -msgid ":func:`on_guild_channel_create`" -msgstr "" - -#: discord.Intents.guilds:11 of -msgid ":func:`on_guild_channel_delete`" -msgstr "" - -#: discord.Intents.guilds:12 of -msgid ":func:`on_guild_channel_pins_update`" -msgstr "" - -#: discord.Intents.dm_messages:14 discord.Intents.dm_reactions:14 -#: discord.Intents.emojis:7 discord.Intents.guild_messages:13 -#: discord.Intents.guild_reactions:14 discord.Intents.guilds:14 -#: discord.Intents.members:10 discord.Intents.messages:14 -#: discord.Intents.presences:7 discord.Intents.reactions:14 -#: discord.Intents.voice_states:7 of -msgid "" -"This also corresponds to the following attributes and classes in terms of" -" cache:" -msgstr "" - -#: discord.Intents.guilds:16 of -#, fuzzy -msgid ":attr:`Client.guilds`" -msgstr ":attr:`created_at`" - -#: discord.Intents.guilds:17 of -msgid ":class:`Guild` and all its attributes." -msgstr "" - -#: discord.Intents.guilds:18 of -msgid ":meth:`Client.get_channel`" -msgstr "" - -#: discord.Intents.guilds:19 of -msgid ":meth:`Client.get_all_channels`" -msgstr "" - -#: discord.Intents.guilds:21 of -msgid "" -"It is highly advisable to leave this intent enabled for your bot to " -"function." -msgstr "" - -#: discord.Intents.members:1 of -msgid "Whether guild member related events are enabled." -msgstr "" - -#: discord.Intents.members:7 of -msgid ":func:`on_member_update` (nickname, roles)" -msgstr "" - -#: discord.Intents.members:8 of -msgid ":func:`on_user_update`" -msgstr "" - -#: discord.Intents.members:12 of -msgid ":meth:`Client.get_all_members`" -msgstr "" - -#: discord.Intents.members:13 of -msgid ":meth:`Guild.chunk`" -msgstr "" - -#: discord.Intents.members:14 of -msgid ":meth:`Guild.fetch_members`" -msgstr "" - -#: discord.Intents.members:15 of -msgid ":meth:`Guild.get_member`" -msgstr "" - -#: discord.Intents.members:16 of -#, fuzzy -msgid ":attr:`Guild.members`" -msgstr ":attr:`uses`" - -#: discord.Intents.members:17 of -#, fuzzy -msgid ":attr:`Member.roles`" -msgstr ":attr:`uses`" - -#: discord.Intents.members:18 of -#, fuzzy -msgid ":attr:`Member.nick`" -msgstr ":attr:`temporary`" - -#: discord.Intents.members:19 of -msgid ":attr:`Member.premium_since`" -msgstr "" - -#: discord.Intents.members:20 of -#, fuzzy -msgid ":attr:`User.name`" -msgstr ":attr:`uses`" - -#: discord.Intents.members:21 of -msgid "" -":attr:`User.avatar` (:meth:`User.avatar_url` and " -":meth:`User.avatar_url_as`)" -msgstr "" - -#: discord.Intents.members:22 of -#, fuzzy -msgid ":attr:`User.discriminator`" -msgstr "識別子" - -#: discord.Intents.members:24 of -msgid "" -"For more information go to the :ref:`member intent documentation " -"`." -msgstr "" - -#: discord.Intents.members:28 discord.Intents.presences:17 of -msgid "" -"Currently, this requires opting in explicitly via the developer portal as" -" well. Bots in over 100 guilds will need to apply to Discord for " -"verification." -msgstr "" - -#: discord.Intents.bans:1 of -msgid "Whether guild ban related events are enabled." -msgstr "" - -#: discord.Intents.bans:5 of -msgid ":func:`on_member_ban`" -msgstr "" - -#: discord.Intents.bans:6 of -msgid ":func:`on_member_unban`" -msgstr "" - -#: discord.Intents.bans:8 discord.Intents.dm_typing:9 -#: discord.Intents.guild_typing:9 discord.Intents.integrations:7 -#: discord.Intents.invites:8 discord.Intents.typing:9 -#: discord.Intents.webhooks:7 of -msgid "" -"This does not correspond to any attributes or classes in the library in " -"terms of cache." -msgstr "" - -#: discord.Intents.emojis:1 of -msgid "Whether guild emoji related events are enabled." -msgstr "" - -#: discord.Intents.emojis:5 of -msgid ":func:`on_guild_emojis_update`" -msgstr "" - -#: discord.Intents.emojis:10 of -msgid ":meth:`Client.get_emoji`" -msgstr "" - -#: discord.Intents.emojis:11 of -msgid ":meth:`Client.emojis`" -msgstr "" - -#: discord.Intents.emojis:12 of -#, fuzzy -msgid ":attr:`Guild.emojis`" -msgstr ":attr:`uses`" - -#: discord.Intents.integrations:1 of -msgid "Whether guild integration related events are enabled." -msgstr "" - -#: discord.Intents.integrations:5 of -msgid ":func:`on_guild_integrations_update`" -msgstr "" - -#: discord.Intents.webhooks:1 of -msgid "Whether guild webhook related events are enabled." -msgstr "" - -#: discord.Intents.webhooks:5 of -msgid ":func:`on_webhooks_update`" -msgstr "" - -#: discord.Intents.invites:1 of -#, fuzzy -msgid "Whether guild invite related events are enabled." -msgstr "ギルドで表現のフィルターが有効ではない。" - -#: discord.Intents.invites:5 of -msgid ":func:`on_invite_create`" -msgstr "" - -#: discord.Intents.invites:6 of -msgid ":func:`on_invite_delete`" -msgstr "" - -#: discord.Intents.voice_states:1 of -msgid "Whether guild voice state related events are enabled." -msgstr "" - -#: discord.Intents.voice_states:5 of -msgid ":func:`on_voice_state_update`" -msgstr "" - -#: discord.Intents.voice_states:9 of -#, fuzzy -msgid ":attr:`VoiceChannel.members`" -msgstr ":attr:`Permissions.mute_members`" - -#: discord.Intents.voice_states:10 of -msgid ":attr:`VoiceChannel.voice_states`" -msgstr "" - -#: discord.Intents.voice_states:11 of -msgid ":attr:`Member.voice`" -msgstr "" - -#: discord.Intents.presences:1 of -#, fuzzy -msgid "Whether guild presence related events are enabled." -msgstr "ギルドで表現のフィルターが有効ではない。" - -#: discord.Intents.presences:5 of -msgid ":func:`on_member_update` (activities, status)" -msgstr "" - -#: discord.Intents.presences:9 of -msgid ":attr:`Member.activities`" -msgstr "" - -#: discord.Intents.presences:10 of -#, fuzzy -msgid ":attr:`Member.status`" -msgstr ":attr:`max_uses`" - -#: discord.Intents.presences:11 of -#, fuzzy -msgid ":attr:`Member.raw_status`" -msgstr ":attr:`max_uses`" - -#: discord.Intents.presences:13 of -msgid "" -"For more information go to the :ref:`presence intent documentation " -"`." -msgstr "" - -#: discord.Intents.messages:1 of -msgid "Whether guild and direct message related events are enabled." -msgstr "" - -#: discord.Intents.messages:3 of -msgid "" -"This is a shortcut to set or get both :attr:`guild_messages` and " -":attr:`dm_messages`." -msgstr "" - -#: discord.Intents.messages:7 of -msgid ":func:`on_message` (both guilds and DMs)" -msgstr "" - -#: discord.Intents.messages:8 of -msgid ":func:`on_message_edit` (both guilds and DMs)" -msgstr "" - -#: discord.Intents.messages:9 of -msgid ":func:`on_message_delete` (both guilds and DMs)" -msgstr "" - -#: discord.Intents.messages:10 of -msgid ":func:`on_raw_message_delete` (both guilds and DMs)" -msgstr "" - -#: discord.Intents.messages:11 of -msgid ":func:`on_raw_message_edit` (both guilds and DMs)" -msgstr "" - -#: discord.Intents.dm_messages:12 discord.Intents.messages:12 of -msgid ":func:`on_private_channel_create`" -msgstr "" - -#: discord.Intents.messages:17 of -#, fuzzy -msgid ":attr:`Client.cached_messages`" -msgstr ":attr:`created_at`" - -#: discord.Intents.dm_messages:19 discord.Intents.guild_messages:18 -#: discord.Intents.messages:19 of -msgid "" -"Note that due to an implicit relationship this also corresponds to the " -"following events:" -msgstr "" - -#: discord.Intents.messages:21 discord.Intents.reactions:7 of -msgid ":func:`on_reaction_add` (both guilds and DMs)" -msgstr "" - -#: discord.Intents.messages:22 discord.Intents.reactions:8 of -msgid ":func:`on_reaction_remove` (both guilds and DMs)" -msgstr "" - -#: discord.Intents.messages:23 discord.Intents.reactions:9 of -msgid ":func:`on_reaction_clear` (both guilds and DMs)" -msgstr "" - -#: discord.Intents.guild_messages:1 of -#, fuzzy -msgid "Whether guild message related events are enabled." -msgstr "ギルドで表現のフィルターが有効ではない。" - -#: discord.Intents.guild_messages:3 of -msgid "See also :attr:`dm_messages` for DMs or :attr:`messages` for both." -msgstr "" - -#: discord.Intents.guild_messages:7 of -msgid ":func:`on_message` (only for guilds)" -msgstr "" - -#: discord.Intents.guild_messages:8 of -msgid ":func:`on_message_edit` (only for guilds)" -msgstr "" - -#: discord.Intents.guild_messages:9 of -msgid ":func:`on_message_delete` (only for guilds)" -msgstr "" - -#: discord.Intents.guild_messages:10 of -msgid ":func:`on_raw_message_delete` (only for guilds)" -msgstr "" - -#: discord.Intents.guild_messages:11 of -msgid ":func:`on_raw_message_edit` (only for guilds)" -msgstr "" - -#: discord.Intents.guild_messages:16 of -msgid ":attr:`Client.cached_messages` (only for guilds)" -msgstr "" - -#: discord.Intents.guild_messages:20 discord.Intents.guild_reactions:7 of -msgid ":func:`on_reaction_add` (only for guilds)" -msgstr "" - -#: discord.Intents.guild_messages:21 discord.Intents.guild_reactions:8 of -msgid ":func:`on_reaction_remove` (only for guilds)" -msgstr "" - -#: discord.Intents.guild_messages:22 discord.Intents.guild_reactions:9 of -msgid ":func:`on_reaction_clear` (only for guilds)" -msgstr "" - -#: discord.Intents.dm_messages:1 of -msgid "Whether direct message related events are enabled." -msgstr "" - -#: discord.Intents.dm_messages:3 of -msgid "See also :attr:`guild_messages` for guilds or :attr:`messages` for both." -msgstr "" - -#: discord.Intents.dm_messages:7 of -msgid ":func:`on_message` (only for DMs)" -msgstr "" - -#: discord.Intents.dm_messages:8 of -msgid ":func:`on_message_edit` (only for DMs)" -msgstr "" - -#: discord.Intents.dm_messages:9 of -msgid ":func:`on_message_delete` (only for DMs)" -msgstr "" - -#: discord.Intents.dm_messages:10 of -msgid ":func:`on_raw_message_delete` (only for DMs)" -msgstr "" - -#: discord.Intents.dm_messages:11 of -msgid ":func:`on_raw_message_edit` (only for DMs)" -msgstr "" - -#: discord.Intents.dm_messages:17 of -msgid ":attr:`Client.cached_messages` (only for DMs)" -msgstr "" - -#: discord.Intents.dm_messages:21 discord.Intents.dm_reactions:7 of -msgid ":func:`on_reaction_add` (only for DMs)" -msgstr "" - -#: discord.Intents.dm_messages:22 discord.Intents.dm_reactions:8 of -msgid ":func:`on_reaction_remove` (only for DMs)" -msgstr "" - -#: discord.Intents.dm_messages:23 discord.Intents.dm_reactions:9 of -msgid ":func:`on_reaction_clear` (only for DMs)" -msgstr "" - -#: discord.Intents.reactions:1 of -msgid "Whether guild and direct message reaction related events are enabled." -msgstr "" - -#: discord.Intents.reactions:3 of -msgid "" -"This is a shortcut to set or get both :attr:`guild_reactions` and " -":attr:`dm_reactions`." -msgstr "" - -#: discord.Intents.reactions:10 of -msgid ":func:`on_raw_reaction_add` (both guilds and DMs)" -msgstr "" - -#: discord.Intents.reactions:11 of -msgid ":func:`on_raw_reaction_remove` (both guilds and DMs)" -msgstr "" - -#: discord.Intents.reactions:12 of -msgid ":func:`on_raw_reaction_clear` (both guilds and DMs)" -msgstr "" - -#: discord.Intents.reactions:16 of -msgid ":attr:`Message.reactions` (both guild and DM messages)" -msgstr "" - -#: discord.Intents.guild_reactions:1 of -msgid "Whether guild message reaction related events are enabled." -msgstr "" - -#: discord.Intents.guild_reactions:3 of -msgid "See also :attr:`dm_reactions` for DMs or :attr:`reactions` for both." -msgstr "" - -#: discord.Intents.guild_reactions:10 of -msgid ":func:`on_raw_reaction_add` (only for guilds)" -msgstr "" - -#: discord.Intents.guild_reactions:11 of -msgid ":func:`on_raw_reaction_remove` (only for guilds)" -msgstr "" - -#: discord.Intents.guild_reactions:12 of -msgid ":func:`on_raw_reaction_clear` (only for guilds)" -msgstr "" - -#: discord.Intents.guild_reactions:16 of -msgid ":attr:`Message.reactions` (only for guild messages)" -msgstr "" - -#: discord.Intents.dm_reactions:1 of -msgid "Whether direct message reaction related events are enabled." -msgstr "" - -#: discord.Intents.dm_reactions:3 of -msgid "See also :attr:`guild_reactions` for guilds or :attr:`reactions` for both." -msgstr "" - -#: discord.Intents.dm_reactions:10 of -msgid ":func:`on_raw_reaction_add` (only for DMs)" -msgstr "" - -#: discord.Intents.dm_reactions:11 of -msgid ":func:`on_raw_reaction_remove` (only for DMs)" -msgstr "" - -#: discord.Intents.dm_reactions:12 of -msgid ":func:`on_raw_reaction_clear` (only for DMs)" -msgstr "" - -#: discord.Intents.dm_reactions:16 of -msgid ":attr:`Message.reactions` (only for DM messages)" -msgstr "" - -#: discord.Intents.dm_typing:1 discord.Intents.guild_typing:1 -#: discord.Intents.typing:1 of -msgid "Whether guild and direct message typing related events are enabled." -msgstr "" - -#: discord.Intents.typing:3 of -msgid "" -"This is a shortcut to set or get both :attr:`guild_typing` and " -":attr:`dm_typing`." -msgstr "" - -#: discord.Intents.typing:7 of -msgid ":func:`on_typing` (both guilds and DMs)" -msgstr "" - -#: discord.Intents.guild_typing:3 of -msgid "See also :attr:`dm_typing` for DMs or :attr:`typing` for both." -msgstr "" - -#: discord.Intents.guild_typing:7 of -msgid ":func:`on_typing` (only for guilds)" -msgstr "" - -#: discord.Intents.dm_typing:3 of -msgid "See also :attr:`guild_typing` for guilds or :attr:`typing` for both." -msgstr "" - -#: discord.Intents.dm_typing:7 of -msgid ":func:`on_typing` (only for DMs)" -msgstr "" - -#: ../../api.rst:2902 -msgid "MemberCacheFlags" -msgstr "" - -#: discord.MemberCacheFlags:1 of -msgid "Controls the library's cache policy when it comes to members." -msgstr "" - -#: discord.MemberCacheFlags:3 of -msgid "" -"This allows for finer grained control over what members are cached. Note " -"that the bot's own member is always cached. This class is passed to the " -"``member_cache_flags`` parameter in :class:`Client`." -msgstr "" - -#: discord.MemberCacheFlags:7 of -msgid "" -"Due to a quirk in how Discord works, in order to ensure proper cleanup of" -" cache resources it is recommended to have :attr:`Intents.members` " -"enabled. Otherwise the library cannot know when a member leaves a guild " -"and is thus unable to cleanup after itself." -msgstr "" - -#: discord.MemberCacheFlags:15 of -msgid "The default value is all flags enabled." -msgstr "" - -#: discord.MemberCacheFlags.all:1 of -msgid "" -"A factory method that creates a :class:`MemberCacheFlags` with everything" -" enabled." -msgstr "" - -#: discord.MemberCacheFlags.none:1 of -msgid "" -"A factory method that creates a :class:`MemberCacheFlags` with everything" -" disabled." -msgstr "" - -#: discord.MemberCacheFlags.online:1 of -msgid "Whether to cache members with a status." -msgstr "" - -#: discord.MemberCacheFlags.online:3 of -msgid "" -"For example, members that are part of the initial ``GUILD_CREATE`` or " -"become online at a later point. This requires :attr:`Intents.presences`." -msgstr "" - -#: discord.MemberCacheFlags.online:6 of -msgid "Members that go offline are no longer cached." -msgstr "" - -#: discord.MemberCacheFlags.voice:1 of -msgid "Whether to cache members that are in voice." -msgstr "" - -#: discord.MemberCacheFlags.voice:3 of -msgid "This requires :attr:`Intents.voice_states`." -msgstr "" - -#: discord.MemberCacheFlags.voice:5 of -msgid "Members that leave voice are no longer cached." -msgstr "" - -#: discord.MemberCacheFlags.joined:1 of -msgid "" -"Whether to cache members that joined the guild or are chunked as part of " -"the initial log in flow." -msgstr "" - -#: discord.MemberCacheFlags.joined:4 of -msgid "This requires :attr:`Intents.members`." -msgstr "" - -#: discord.MemberCacheFlags.joined:6 of -msgid "Members that leave the guild are no longer cached." -msgstr "" - -#: discord.MemberCacheFlags.from_intents:1 of -msgid "" -"A factory method that creates a :class:`MemberCacheFlags` based on the " -"currently selected :class:`Intents`." -msgstr "" - -#: discord.MemberCacheFlags.from_intents:4 of -#, fuzzy -msgid "The intents to select from." -msgstr "メンションをエスケープするテキスト。" - -#: discord.MemberCacheFlags.from_intents:7 of -msgid "The resulting member cache flags." -msgstr "" - -#: discord.MemberCacheFlags.from_intents:8 of -#, fuzzy -msgid ":class:`MemberCacheFlags`" -msgstr ":class:`bytes`" - -#: ../../api.rst:2908 -msgid "File" -msgstr "" - -#: discord.File:1 of -msgid "" -"A parameter object used for :meth:`abc.Messageable.send` for sending file" -" objects." -msgstr "" - -#: discord.File:6 of -msgid "" -"File objects are single use and are not meant to be reused in multiple " -":meth:`abc.Messageable.send`\\s." -msgstr "" - -#: discord.File:11 of -msgid "" -"A file-like object opened in binary mode and read mode or a filename " -"representing a file in the hard drive to open." -msgstr "" - -#: discord.File:17 of -msgid "" -"If the file-like object passed is opened via ``open`` then the modes 'rb'" -" should be used." -msgstr "" - -#: discord.File:20 of -msgid "To pass binary data, consider usage of ``io.BytesIO``." -msgstr "" - -#: discord.File:22 of -msgid "Union[:class:`str`, :class:`io.BufferedIOBase`]" -msgstr "" - -#: discord.File:26 of -msgid "" -"The filename to display when uploading to Discord. If this is not given " -"then it defaults to ``fp.name`` or if ``fp`` is a string then the " -"``filename`` will default to the string given." -msgstr "" - -#: discord.File:34 of -msgid "Whether the attachment is a spoiler." -msgstr "" - -#: ../../api.rst:2914 -msgid "Colour" -msgstr "" - -#: discord.Colour:1 of -msgid "" -"Represents a Discord role colour. This class is similar to a (red, green," -" blue) :class:`tuple`." -msgstr "" - -#: discord.Colour:4 of -msgid "There is an alias for this called Color." -msgstr "" - -#: discord.Colour:10 of -msgid "Checks if two colours are equal." -msgstr "" - -#: discord.Colour:14 of -msgid "Checks if two colours are not equal." -msgstr "" - -#: discord.Colour:18 of -msgid "Return the colour's hash." -msgstr "" - -#: discord.Colour:22 of -msgid "Returns the hex format for the colour." -msgstr "" - -#: discord.Colour:26 of -msgid "The raw integer colour value." -msgstr "" - -#: discord.Colour.r:1 of -msgid "Returns the red component of the colour." -msgstr "" - -#: discord.Colour.g:1 of -msgid "Returns the green component of the colour." -msgstr "" - -#: discord.Colour.b:1 of -msgid "Returns the blue component of the colour." -msgstr "" - -#: discord.Colour.to_rgb:1 of -msgid "" -"Tuple[:class:`int`, :class:`int`, :class:`int`]: Returns an (r, g, b) " -"tuple representing the colour." -msgstr "" - -#: discord.Colour.from_rgb:1 of -msgid "Constructs a :class:`Colour` from an RGB tuple." -msgstr "" - -#: discord.Colour.from_hsv:1 of -msgid "Constructs a :class:`Colour` from an HSV tuple." -msgstr "" - -#: discord.Colour.default:1 of -msgid "A factory method that returns a :class:`Colour` with a value of ``0``." -msgstr "" - -#: discord.Colour.teal:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x1abc9c``." -msgstr "" - -#: discord.Colour.dark_teal:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x11806a``." -msgstr "" - -#: discord.Colour.green:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x2ecc71``." -msgstr "" - -#: discord.Colour.dark_green:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x1f8b4c``." -msgstr "" - -#: discord.Colour.blue:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x3498db``." -msgstr "" - -#: discord.Colour.dark_blue:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x206694``." -msgstr "" - -#: discord.Colour.purple:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x9b59b6``." -msgstr "" - -#: discord.Colour.dark_purple:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x71368a``." -msgstr "" - -#: discord.Colour.magenta:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0xe91e63``." -msgstr "" - -#: discord.Colour.dark_magenta:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0xad1457``." -msgstr "" - -#: discord.Colour.gold:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0xf1c40f``." -msgstr "" - -#: discord.Colour.dark_gold:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0xc27c0e``." -msgstr "" - -#: discord.Colour.orange:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0xe67e22``." -msgstr "" - -#: discord.Colour.dark_orange:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0xa84300``." -msgstr "" - -#: discord.Colour.red:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0xe74c3c``." -msgstr "" - -#: discord.Colour.dark_red:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x992d22``." -msgstr "" - -#: discord.Colour.lighter_gray:1 discord.Colour.lighter_grey:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x95a5a6``." -msgstr "" - -#: discord.Colour.dark_gray:1 discord.Colour.dark_grey:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x607d8b``." -msgstr "" - -#: discord.Colour.light_gray:1 discord.Colour.light_grey:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x979c9f``." -msgstr "" - -#: discord.Colour.darker_gray:1 discord.Colour.darker_grey:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x546e7a``." -msgstr "" - -#: discord.Colour.blurple:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x7289da``." -msgstr "" - -#: discord.Colour.greyple:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x99aab5``." -msgstr "" - -#: discord.Colour.dark_theme:1 of -msgid "" -"A factory method that returns a :class:`Colour` with a value of " -"``0x36393F``. This will appear transparent on Discord's dark theme." -msgstr "" - -#: ../../api.rst:2920 -msgid "BaseActivity" -msgstr "" - -#: discord.BaseActivity:1 of -msgid "" -"The base activity that all user-settable activities inherit from. A user-" -"settable activity is one that can be used in " -":meth:`Client.change_presence`." -msgstr "" - -#: discord.BaseActivity:4 of -msgid "The following types currently count as user-settable:" -msgstr "" - -#: discord.BaseActivity:6 of -#, fuzzy -msgid ":class:`Activity`" -msgstr ":class:`.Invite`" - -#: discord.Activity:9 discord.BaseActivity:7 of -msgid ":class:`Game`" -msgstr "" - -#: discord.Activity:10 discord.BaseActivity:8 of -msgid ":class:`Streaming`" -msgstr "" - -#: discord.BaseActivity:9 of -#, fuzzy -msgid ":class:`CustomActivity`" -msgstr ":class:`str`" - -#: discord.BaseActivity:11 of -msgid "" -"Note that although these types are considered user-settable by the " -"library, Discord typically ignores certain combinations of activity " -"depending on what is currently set. This behaviour may change in the " -"future so there are no guarantees on whether Discord will actually let " -"you set these types." -msgstr "" - -#: discord.BaseActivity.created_at:1 of -msgid "When the user started doing this activity in UTC." -msgstr "" - -#: ../../api.rst:2926 -msgid "Activity" -msgstr "" - -#: discord.Activity:1 of -msgid "Represents an activity in Discord." -msgstr "" - -#: discord.Activity:3 of -msgid "" -"This could be an activity such as streaming, playing, listening or " -"watching." -msgstr "" - -#: discord.Activity:6 of -msgid "" -"For memory optimisation purposes, some activities are offered in slimmed " -"down versions:" -msgstr "" - -#: discord.Activity:14 of -msgid "The application ID of the game." -msgstr "" - -#: discord.Activity:20 of -#, fuzzy -msgid "The name of the activity." -msgstr "ギルドの名前。" - -#: discord.Activity:26 of -msgid "A stream URL that the activity could be doing." -msgstr "" - -#: discord.Activity:32 of -msgid "The type of activity currently being done." -msgstr "" - -#: discord.Activity:38 of -msgid "The user's current state. For example, \"In Game\"." -msgstr "" - -#: discord.Activity:44 of -msgid "The detail of the user's current activity." -msgstr "" - -#: discord.Activity:50 of -msgid "A dictionary of timestamps. It contains the following optional keys:" -msgstr "" - -#: discord.Activity:52 of -msgid "" -"``start``: Corresponds to when the user started doing the activity in " -"milliseconds since Unix epoch." -msgstr "" - -#: discord.Activity:54 of -msgid "" -"``end``: Corresponds to when the user will finish doing the activity in " -"milliseconds since Unix epoch." -msgstr "" - -#: discord.Activity:61 of -msgid "" -"A dictionary representing the images and their hover text of an activity." -" It contains the following optional keys:" -msgstr "" - -#: discord.Activity:64 of -msgid "``large_image``: A string representing the ID for the large image asset." -msgstr "" - -#: discord.Activity:65 of -msgid "" -"``large_text``: A string representing the text when hovering over the " -"large image asset." -msgstr "" - -#: discord.Activity:66 of -msgid "``small_image``: A string representing the ID for the small image asset." -msgstr "" - -#: discord.Activity:67 of -msgid "" -"``small_text``: A string representing the text when hovering over the " -"small image asset." -msgstr "" - -#: discord.Activity:73 of -msgid "" -"A dictionary representing the activity party. It contains the following " -"optional keys:" -msgstr "" - -#: discord.Activity:75 of -msgid "``id``: A string representing the party ID." -msgstr "" - -#: discord.Activity:76 of -msgid "" -"``size``: A list of up to two integer elements denoting (current_size, " -"maximum_size)." -msgstr "" - -#: discord.Activity:82 of -msgid "The emoji that belongs to this activity." -msgstr "" - -#: discord.Activity:84 discord.CustomActivity:33 of -msgid "Optional[:class:`PartialEmoji`]" -msgstr "" - -#: discord.Activity.start:1 of -msgid "When the user started doing this activity in UTC, if applicable." -msgstr "" - -#: discord.Activity.end:1 of -msgid "When the user will stop doing this activity in UTC, if applicable." -msgstr "" - -#: discord.Activity.large_image_url:1 of -msgid "" -"Returns a URL pointing to the large image asset of this activity if " -"applicable." -msgstr "" - -#: discord.Activity.small_image_url:1 of -msgid "" -"Returns a URL pointing to the small image asset of this activity if " -"applicable." -msgstr "" - -#: discord.Activity.large_image_text:1 of -msgid "Returns the large image asset hover text of this activity if applicable." -msgstr "" - -#: discord.Activity.small_image_text:1 of -msgid "Returns the small image asset hover text of this activity if applicable." -msgstr "" - -#: ../../api.rst:2932 -msgid "Game" -msgstr "" - -#: discord.Game:1 of -msgid "" -"A slimmed down version of :class:`Activity` that represents a Discord " -"game." -msgstr "" - -#: discord.Game:3 of -msgid "" -"This is typically displayed via **Playing** on the official Discord " -"client." -msgstr "" - -#: discord.Game:9 of -msgid "Checks if two games are equal." -msgstr "" - -#: discord.Game:13 of -msgid "Checks if two games are not equal." -msgstr "" - -#: discord.Game:17 of -msgid "Returns the game's hash." -msgstr "" - -#: discord.Game:21 of -msgid "Returns the game's name." -msgstr "" - -#: discord.Game:23 discord.Game:32 of -msgid "The game's name." -msgstr "" - -#: discord.Game:25 of -msgid "" -"A naive UTC timestamp representing when the game started. Keyword-only " -"parameter. Ignored for bots." -msgstr "" - -#: discord.Game:27 of -msgid "" -"A naive UTC timestamp representing when the game ends. Keyword-only " -"parameter. Ignored for bots." -msgstr "" - -#: discord.Game.type:1 discord.Streaming.type:1 of -msgid "Returns the game's type. This is for compatibility with :class:`Activity`." -msgstr "" - -#: discord.Game.type:3 of -msgid "It always returns :attr:`ActivityType.playing`." -msgstr "" - -#: discord.Game.start:1 of -msgid "When the user started playing this game in UTC, if applicable." -msgstr "" - -#: discord.Game.end:1 of -msgid "When the user will stop playing this game in UTC, if applicable." -msgstr "" - -#: ../../api.rst:2938 -msgid "Streaming" -msgstr "" - -#: discord.Streaming:1 of -msgid "" -"A slimmed down version of :class:`Activity` that represents a Discord " -"streaming status." -msgstr "" - -#: discord.Streaming:3 of -msgid "" -"This is typically displayed via **Streaming** on the official Discord " -"client." -msgstr "" - -#: discord.Streaming:9 of -msgid "Checks if two streams are equal." -msgstr "" - -#: discord.Streaming:13 of -msgid "Checks if two streams are not equal." -msgstr "" - -#: discord.Streaming:17 of -msgid "Returns the stream's hash." -msgstr "" - -#: discord.Streaming:21 of -msgid "Returns the stream's name." -msgstr "" - -#: discord.Streaming:25 of -msgid "Where the user is streaming from (ie. YouTube, Twitch)." -msgstr "" - -#: discord.Streaming:33 of -#, fuzzy -msgid "The stream's name." -msgstr "役職の名前を返します。" - -#: discord.Streaming:39 of -#, fuzzy -msgid "An alias for :attr:`name`" -msgstr ":attr:`dnd` のエイリアス。" - -#: discord.Streaming:45 of -#, fuzzy -msgid "The game being streamed." -msgstr "更新された後のギルド。" - -#: discord.Streaming:53 of -msgid "The stream's URL." -msgstr "" - -#: discord.Streaming:59 of -msgid "" -"A dictionary comprising of similar keys than those in " -":attr:`Activity.assets`." -msgstr "" - -#: discord.Streaming.type:3 of -msgid "It always returns :attr:`ActivityType.streaming`." -msgstr "" - -#: discord.Streaming.twitch_name:1 of -msgid "If provided, the twitch name of the user streaming." -msgstr "" - -#: discord.Streaming.twitch_name:3 of -msgid "" -"This corresponds to the ``large_image`` key of the " -":attr:`Streaming.assets` dictionary if it starts with ``twitch:``. " -"Typically set by the Discord client." -msgstr "" - -#: ../../api.rst:2944 -msgid "CustomActivity" -msgstr "" - -#: discord.CustomActivity:1 of -#, fuzzy -msgid "Represents a Custom activity from Discord." -msgstr "Discordのリレーションシップを表します。" - -#: discord.CustomActivity:19 of -#, fuzzy -msgid "Returns the custom status text." -msgstr "カテゴリの名前を返します。" - -#: discord.CustomActivity:25 of -msgid "The custom activity's name." -msgstr "" - -#: discord.CustomActivity:31 of -msgid "The emoji to pass to the activity, if any." -msgstr "" - -#: discord.CustomActivity.type:3 of -msgid "It always returns :attr:`ActivityType.custom`." -msgstr "" - -#: ../../api.rst:2950 -msgid "Permissions" -msgstr "" - -#: discord.Permissions:1 of -msgid "Wraps up the Discord permission value." -msgstr "" - -#: discord.Permissions:3 of -msgid "" -"The properties provided are two way. You can set and retrieve individual " -"bits using the properties as if they were regular bools. This allows you " -"to edit permissions." -msgstr "" - -#: discord.Permissions:7 of -msgid "" -"You can now use keyword arguments to initialize :class:`Permissions` " -"similar to :meth:`update`." -msgstr "" - -#: discord.Permissions:15 of -msgid "Checks if two permissions are equal." -msgstr "" - -#: discord.Permissions:18 of -msgid "Checks if two permissions are not equal." -msgstr "" - -#: discord.Permissions:21 of -msgid "Checks if a permission is a subset of another permission." -msgstr "" - -#: discord.Permissions:24 of -msgid "Checks if a permission is a superset of another permission." -msgstr "" - -#: discord.Permissions:27 of -msgid "Checks if a permission is a strict subset of another permission." -msgstr "" - -#: discord.Permissions:30 of -msgid "Checks if a permission is a strict superset of another permission." -msgstr "" - -#: discord.Permissions:33 of -msgid "Return the permission's hash." -msgstr "" - -#: discord.PermissionOverwrite:22 discord.Permissions:36 of -msgid "" -"Returns an iterator of ``(perm, value)`` pairs. This allows it to be, for" -" example, constructed as a dict or a list of pairs. Note that aliases are" -" not shown." -msgstr "" - -#: discord.Permissions:42 of -msgid "" -"The raw value. This value is a bit array field of a 53-bit integer " -"representing the currently available permissions. You should query " -"permissions via the properties rather than using this raw value." -msgstr "" - -#: discord.Permissions.is_subset:1 of -msgid "Returns ``True`` if self has the same or fewer permissions as other." -msgstr "" - -#: discord.Permissions.is_superset:1 of -msgid "Returns ``True`` if self has the same or more permissions as other." -msgstr "" - -#: discord.Permissions.is_strict_subset:1 of -msgid "" -"Returns ``True`` if the permissions on other are a strict subset of those" -" on self." -msgstr "" - -#: discord.Permissions.is_strict_superset:1 of -msgid "" -"Returns ``True`` if the permissions on other are a strict superset of " -"those on self." -msgstr "" - -#: discord.Permissions.none:1 of -msgid "" -"A factory method that creates a :class:`Permissions` with all permissions" -" set to ``False``." -msgstr "" - -#: discord.Permissions.all:1 of -msgid "" -"A factory method that creates a :class:`Permissions` with all permissions" -" set to ``True``." -msgstr "" - -#: discord.Permissions.all_channel:1 of -msgid "" -"A :class:`Permissions` with all channel-specific permissions set to " -"``True`` and the guild-specific ones set to ``False``. The guild-specific" -" permissions are currently:" -msgstr "" - -#: discord.Permissions.all_channel:5 of -msgid "manage_guild" -msgstr "" - -#: discord.Permissions.all_channel:6 of -msgid "kick_members" -msgstr "" - -#: discord.Permissions.all_channel:7 of -msgid "ban_members" -msgstr "" - -#: discord.Permissions.all_channel:8 of -msgid "administrator" -msgstr "" - -#: discord.Permissions.all_channel:9 of -msgid "change_nickname" -msgstr "" - -#: discord.Permissions.all_channel:10 of -msgid "manage_nicknames" -msgstr "" - -#: discord.Permissions.general:1 of -msgid "" -"A factory method that creates a :class:`Permissions` with all \"General\"" -" permissions from the official Discord UI set to ``True``." -msgstr "" - -#: discord.Permissions.text:1 of -msgid "" -"A factory method that creates a :class:`Permissions` with all \"Text\" " -"permissions from the official Discord UI set to ``True``." -msgstr "" - -#: discord.Permissions.voice:1 of -msgid "" -"A factory method that creates a :class:`Permissions` with all \"Voice\" " -"permissions from the official Discord UI set to ``True``." -msgstr "" - -#: discord.Permissions.update:1 of -msgid "Bulk updates this permission object." -msgstr "" - -#: discord.PermissionOverwrite.update:3 discord.Permissions.update:3 of -msgid "" -"Allows you to set multiple attributes by using keyword arguments. The " -"names must be equivalent to the properties listed. Extraneous key/value " -"pairs will be silently ignored." -msgstr "" - -#: discord.Permissions.update:7 of -msgid "A list of key/value pairs to bulk update permissions with." -msgstr "" - -#: discord.Permissions.create_instant_invite:1 of -msgid "Returns ``True`` if the user can create instant invites." -msgstr "" - -#: discord.Permissions.kick_members:1 of -msgid "Returns ``True`` if the user can kick users from the guild." -msgstr "" - -#: discord.Permissions.ban_members:1 of -msgid "Returns ``True`` if a user can ban users from the guild." -msgstr "" - -#: discord.Permissions.administrator:1 of -msgid "" -"Returns ``True`` if a user is an administrator. This role overrides all " -"other permissions." -msgstr "" - -#: discord.Permissions.administrator:3 of -msgid "This also bypasses all channel-specific overrides." -msgstr "" - -#: discord.Permissions.manage_channels:1 of -msgid "" -"Returns ``True`` if a user can edit, delete, or create channels in the " -"guild." -msgstr "" - -#: discord.Permissions.manage_channels:3 of -msgid "This also corresponds to the \"Manage Channel\" channel-specific override." -msgstr "" - -#: discord.Permissions.manage_guild:1 of -msgid "Returns ``True`` if a user can edit guild properties." -msgstr "" - -#: discord.Permissions.add_reactions:1 of -msgid "Returns ``True`` if a user can add reactions to messages." -msgstr "" - -#: discord.Permissions.view_audit_log:1 of -msgid "Returns ``True`` if a user can view the guild's audit log." -msgstr "" - -#: discord.Permissions.priority_speaker:1 of -msgid "Returns ``True`` if a user can be more easily heard while talking." -msgstr "" - -#: discord.Permissions.stream:1 of -msgid "Returns ``True`` if a user can stream in a voice channel." -msgstr "" - -#: discord.Permissions.read_messages:1 of -msgid "" -"Returns ``True`` if a user can read messages from all or specific text " -"channels." -msgstr "" - -#: discord.Permissions.view_channel:1 of -#, fuzzy -msgid "An alias for :attr:`read_messages`." -msgstr ":attr:`extreme` のエイリアス。" - -#: discord.Permissions.send_messages:1 of -msgid "" -"Returns ``True`` if a user can send messages from all or specific text " -"channels." -msgstr "" - -#: discord.Permissions.send_tts_messages:1 of -msgid "" -"Returns ``True`` if a user can send TTS messages from all or specific " -"text channels." -msgstr "" - -#: discord.Permissions.manage_messages:1 of -msgid "Returns ``True`` if a user can delete or pin messages in a text channel." -msgstr "" - -#: discord.Permissions.manage_messages:5 of -msgid "Note that there are currently no ways to edit other people's messages." -msgstr "" - -#: discord.Permissions.embed_links:1 of -msgid "" -"Returns ``True`` if a user's messages will automatically be embedded by " -"Discord." -msgstr "" - -#: discord.Permissions.attach_files:1 of -msgid "Returns ``True`` if a user can send files in their messages." -msgstr "" - -#: discord.Permissions.read_message_history:1 of -msgid "Returns ``True`` if a user can read a text channel's previous messages." -msgstr "" - -#: discord.Permissions.mention_everyone:1 of -msgid "" -"Returns ``True`` if a user's @everyone or @here will mention everyone in " -"the text channel." -msgstr "" - -#: discord.Permissions.external_emojis:1 of -msgid "Returns ``True`` if a user can use emojis from other guilds." -msgstr "" - -#: discord.Permissions.use_external_emojis:1 of -#, fuzzy -msgid "An alias for :attr:`external_emojis`." -msgstr ":attr:`extreme` のエイリアス。" - -#: discord.Permissions.view_guild_insights:1 of -msgid "Returns ``True`` if a user can view the guild's insights." -msgstr "" - -#: discord.Permissions.connect:1 of -msgid "Returns ``True`` if a user can connect to a voice channel." -msgstr "" - -#: discord.Permissions.speak:1 of -msgid "Returns ``True`` if a user can speak in a voice channel." -msgstr "" - -#: discord.Permissions.mute_members:1 of -msgid "Returns ``True`` if a user can mute other users." -msgstr "" - -#: discord.Permissions.deafen_members:1 of -msgid "Returns ``True`` if a user can deafen other users." -msgstr "" - -#: discord.Permissions.move_members:1 of -msgid "Returns ``True`` if a user can move users between other voice channels." -msgstr "" - -#: discord.Permissions.use_voice_activation:1 of -msgid "Returns ``True`` if a user can use voice activation in voice channels." -msgstr "" - -#: discord.Permissions.change_nickname:1 of -msgid "Returns ``True`` if a user can change their nickname in the guild." -msgstr "" - -#: discord.Permissions.manage_nicknames:1 of -msgid "Returns ``True`` if a user can change other user's nickname in the guild." -msgstr "" - -#: discord.Permissions.manage_roles:1 of -msgid "" -"Returns ``True`` if a user can create or edit roles less than their " -"role's position." -msgstr "" - -#: discord.Permissions.manage_roles:3 of -msgid "" -"This also corresponds to the \"Manage Permissions\" channel-specific " -"override." -msgstr "" - -#: discord.Permissions.manage_permissions:1 of -#, fuzzy -msgid "An alias for :attr:`manage_roles`." -msgstr ":attr:`extreme` のエイリアス。" - -#: discord.Permissions.manage_webhooks:1 of -msgid "Returns ``True`` if a user can create, edit, or delete webhooks." -msgstr "" - -#: discord.Permissions.manage_emojis:1 of -msgid "Returns ``True`` if a user can create, edit, or delete emojis." -msgstr "" - -#: ../../api.rst:2956 -msgid "PermissionOverwrite" -msgstr "" - -#: discord.PermissionOverwrite:1 of -msgid "A type that is used to represent a channel specific permission." -msgstr "" - -#: discord.PermissionOverwrite:3 of -msgid "" -"Unlike a regular :class:`Permissions`\\, the default value of a " -"permission is equivalent to ``None`` and not ``False``. Setting a value " -"to ``False`` is **explicitly** denying that permission, while setting a " -"value to ``True`` is **explicitly** allowing that permission." -msgstr "" - -#: discord.PermissionOverwrite:9 of -msgid "" -"The values supported by this are the same as :class:`Permissions` with " -"the added possibility of it being set to ``None``." -msgstr "" - -#: discord.PermissionOverwrite:16 of -msgid "Checks if two overwrites are equal." -msgstr "" - -#: discord.PermissionOverwrite:19 of -msgid "Checks if two overwrites are not equal." -msgstr "" - -#: discord.PermissionOverwrite:26 of -msgid "Set the value of permissions by their name." -msgstr "" - -#: discord.PermissionOverwrite.pair:1 of -msgid "" -"Tuple[:class:`Permissions`, :class:`Permissions`]: Returns the (allow, " -"deny) pair from this overwrite." -msgstr "" - -#: discord.PermissionOverwrite.from_pair:1 of -msgid "Creates an overwrite from an allow/deny pair of :class:`Permissions`." -msgstr "" - -#: discord.PermissionOverwrite.is_empty:1 of -msgid "Checks if the permission overwrite is currently empty." -msgstr "" - -#: discord.PermissionOverwrite.is_empty:3 of -msgid "" -"An empty permission overwrite is one that has no overwrites set to " -"``True`` or ``False``." -msgstr "" - -#: discord.PermissionOverwrite.is_empty:6 of -msgid "Indicates if the overwrite is empty." -msgstr "" - -#: discord.PermissionOverwrite.update:1 of -msgid "Bulk updates this permission overwrite object." -msgstr "" - -#: discord.PermissionOverwrite.update:7 of -msgid "A list of key/value pairs to bulk update with." -msgstr "" - -#: ../../api.rst:2962 -msgid "ShardInfo" -msgstr "" - -#: discord.ShardInfo:1 of -msgid "A class that gives information and control over a specific shard." -msgstr "" - -#: discord.ShardInfo:3 of -msgid "" -"You can retrieve this object via :meth:`AutoShardedClient.get_shard` or " -":attr:`AutoShardedClient.shards`." -msgstr "" - -#: discord.ShardInfo:10 of -#, fuzzy -msgid "The shard ID for this shard." -msgstr "準備が完了したShard ID。" - -#: discord.ShardInfo:16 of -msgid "" -"The shard count for this cluster. If this is ``None`` then the bot has " -"not started yet." -msgstr "" - -#: discord.ShardInfo.is_closed:1 of -msgid ":class:`bool`: Whether the shard connection is currently closed." -msgstr "" - -#: discord.ShardInfo.disconnect:3 of -msgid "" -"Disconnects a shard. When this is called, the shard connection will no " -"longer be open." -msgstr "" - -#: discord.ShardInfo.disconnect:6 of -msgid "If the shard is already disconnected this does nothing." -msgstr "" - -#: discord.ShardInfo.reconnect:3 of -msgid "Disconnects and then connects the shard again." -msgstr "" - -#: discord.ShardInfo.connect:3 of -msgid "Connects a shard. If the shard is already connected this does nothing." -msgstr "" - -#: discord.ShardInfo.latency:1 of -msgid "" -"Measures latency between a HEARTBEAT and a HEARTBEAT_ACK in seconds for " -"this shard." -msgstr "" - -#: ../../api.rst:2968 -msgid "SystemChannelFlags" -msgstr "" - -#: discord.SystemChannelFlags:1 of -msgid "Wraps up a Discord system channel flag value." -msgstr "" - -#: discord.SystemChannelFlags:3 of -msgid "" -"Similar to :class:`Permissions`\\, the properties provided are two way. " -"You can set and retrieve individual bits using the properties as if they " -"were regular bools. This allows you to edit the system flags easily." -msgstr "" - -#: discord.MessageFlags:25 discord.PublicUserFlags:24 -#: discord.SystemChannelFlags:28 of -msgid "" -"The raw value. This value is a bit array field of a 53-bit integer " -"representing the currently available flags. You should query flags via " -"the properties rather than using this raw value." -msgstr "" - -#: discord.SystemChannelFlags.join_notifications:1 of -msgid "" -"Returns ``True`` if the system channel is used for member join " -"notifications." -msgstr "" - -#: discord.SystemChannelFlags.premium_subscriptions:1 of -msgid "" -"Returns ``True`` if the system channel is used for Nitro boosting " -"notifications." -msgstr "" - -#: ../../api.rst:2974 -msgid "MessageFlags" -msgstr "" - -#: discord.MessageFlags:1 of -msgid "Wraps up a Discord Message flag value." -msgstr "" - -#: discord.MessageFlags:3 of -msgid "See :class:`SystemChannelFlags`." -msgstr "" - -#: discord.MessageFlags.crossposted:1 of -msgid "Returns ``True`` if the message is the original crossposted message." -msgstr "" - -#: discord.MessageFlags.is_crossposted:1 of -msgid "Returns ``True`` if the message was crossposted from another channel." -msgstr "" - -#: discord.MessageFlags.suppress_embeds:1 of -msgid "Returns ``True`` if the message's embeds have been suppressed." -msgstr "" - -#: discord.MessageFlags.source_message_deleted:1 of -msgid "" -"Returns ``True`` if the source message for this crosspost has been " -"deleted." -msgstr "" - -#: discord.MessageFlags.urgent:1 of -msgid "Returns ``True`` if the source message is an urgent message." -msgstr "" - -#: discord.MessageFlags.urgent:3 of -msgid "An urgent message is one sent by Discord Trust and Safety." -msgstr "" - -#: ../../api.rst:2980 -msgid "PublicUserFlags" -msgstr "" - -#: discord.PublicUserFlags:1 of -msgid "Wraps up the Discord User Public flags." -msgstr "" - -#: discord.PublicUserFlags:7 of -#, fuzzy -msgid "Checks if two PublicUserFlags are equal." -msgstr "二つのユーザーが等しいかを比較します。" - -#: discord.PublicUserFlags:10 of -#, fuzzy -msgid "Checks if two PublicUserFlags are not equal." -msgstr "二つのユーザーが等しいものではないか比較します。" - -#: discord.PublicUserFlags:16 of -msgid "" -"Returns an iterator of ``(name, value)`` pairs. This allows it to be, for" -" example, constructed as a dict or a list of pairs. Note that aliases are" -" not shown." -msgstr "" - -#: discord.PublicUserFlags.staff:1 of -msgid "Returns ``True`` if the user is a Discord Employee." -msgstr "" - -#: discord.PublicUserFlags.partner:1 of -#, fuzzy -msgid "Returns ``True`` if the user is a Discord Partner." -msgstr "ユーザーがDiscordパートナーかを示す真偽値。" - -#: discord.PublicUserFlags.hypesquad:1 of -msgid "Returns ``True`` if the user is a HypeSquad Events member." -msgstr "" - -#: discord.PublicUserFlags.bug_hunter:1 of -#, fuzzy -msgid "Returns ``True`` if the user is a Bug Hunter" -msgstr "ユーザーがバグハンターかを示す真偽値。" - -#: discord.PublicUserFlags.hypesquad_bravery:1 of -msgid "Returns ``True`` if the user is a HypeSquad Bravery member." -msgstr "" - -#: discord.PublicUserFlags.hypesquad_brilliance:1 of -msgid "Returns ``True`` if the user is a HypeSquad Brilliance member." -msgstr "" - -#: discord.PublicUserFlags.hypesquad_balance:1 of -msgid "Returns ``True`` if the user is a HypeSquad Balance member." -msgstr "" - -#: discord.PublicUserFlags.early_supporter:1 of -msgid "Returns ``True`` if the user is an Early Supporter." -msgstr "" - -#: discord.PublicUserFlags.team_user:1 of -msgid "Returns ``True`` if the user is a Team User." -msgstr "" - -#: discord.PublicUserFlags.system:1 of -msgid "" -"Returns ``True`` if the user is a system user (i.e. represents Discord " -"officially)." -msgstr "" - -#: discord.PublicUserFlags.bug_hunter_level_2:1 of -msgid "Returns ``True`` if the user is a Bug Hunter Level 2" -msgstr "" - -#: discord.PublicUserFlags.verified_bot:1 of -#, fuzzy -msgid "Returns ``True`` if the user is a Verified Bot." -msgstr ":class:`bool` -- ユーザーが認証済みアカウントであるかを表します。" - -#: discord.PublicUserFlags.verified_bot_developer:1 of -msgid "Returns ``True`` if the user is an Early Verified Bot Developer." -msgstr "" - -#: discord.PublicUserFlags.early_verified_bot_developer:1 of -#, fuzzy -msgid "An alias for :attr:`verified_bot_developer`." -msgstr ":attr:`dnd` のエイリアス。" - -#: discord.PublicUserFlags.all:1 of -#, fuzzy -msgid "List[:class:`UserFlags`]: Returns all public flags the user has." -msgstr "List[:class:`User`] -- ユーザーが持つすべてのリレーションシップを返します。" - -#: ../../api.rst:2987 -msgid "Exceptions" -msgstr "例外" - -#: ../../api.rst:2989 -msgid "The following exceptions are thrown by the library." -msgstr "" - -#: discord.DiscordException:1 of -msgid "Base exception class for pycord" -msgstr "" - -#: discord.DiscordException:3 of -msgid "" -"Ideally speaking, this could be caught to handle any exceptions thrown " -"from this library." -msgstr "" - -#: discord.ClientException:1 of -msgid "Exception that's thrown when an operation in the :class:`Client` fails." -msgstr "" - -#: discord.ClientException:3 of -msgid "These are usually for exceptions that happened due to user input." -msgstr "" - -#: discord.LoginFailure:1 of -msgid "" -"Exception that's thrown when the :meth:`Client.login` function fails to " -"log you in from improper credentials or some other misc. failure." -msgstr "" - -#: discord.NoMoreItems:1 of -msgid "" -"Exception that is thrown when an async iteration operation has no more " -"items." -msgstr "" - -#: discord.HTTPException:1 of -msgid "Exception that's thrown when an HTTP request operation fails." -msgstr "" - -#: discord.HTTPException:5 of -msgid "" -"The response of the failed HTTP request. This is an instance of " -":class:`aiohttp.ClientResponse`. In some cases this could also be a " -":class:`requests.Response`." -msgstr "" - -#: discord.HTTPException:9 of -#, fuzzy -msgid ":class:`aiohttp.ClientResponse`" -msgstr ":class:`~discord.ClientUser`" - -#: discord.HTTPException:13 of -msgid "The text of the error. Could be an empty string." -msgstr "" - -#: discord.HTTPException:19 of -msgid "The status code of the HTTP request." -msgstr "" - -#: discord.HTTPException:25 of -msgid "The Discord specific error code for the failure." -msgstr "" - -#: discord.Forbidden:1 of -msgid "Exception that's thrown for when status code 403 occurs." -msgstr "" - -#: discord.Forbidden:3 discord.NotFound:3 of -msgid "Subclass of :exc:`HTTPException`" -msgstr ":exc:`HTTPException` のサブクラス" - -#: discord.NotFound:1 of -msgid "Exception that's thrown for when status code 404 occurs." -msgstr "" - -#: discord.DiscordServerError:1 of -msgid "Exception that's thrown for when a 500 range status code occurs." -msgstr "" - -#: discord.DiscordServerError:3 of -#, fuzzy -msgid "Subclass of :exc:`HTTPException`." -msgstr ":exc:`HTTPException` のサブクラス" - -#: discord.InvalidData:1 of -msgid "" -"Exception that's raised when the library encounters unknown or invalid " -"data from Discord." -msgstr "" - -#: discord.InvalidArgument:1 of -msgid "" -"Exception that's thrown when an argument to a function is invalid some " -"way (e.g. wrong value or wrong type)." -msgstr "" - -#: discord.InvalidArgument:4 of -msgid "" -"This could be considered the analogous of ``ValueError`` and " -"``TypeError`` except inherited from :exc:`ClientException` and thus " -":exc:`DiscordException`." -msgstr "" - -#: discord.GatewayNotFound:1 of -msgid "" -"An exception that is usually thrown when the gateway hub for the " -":class:`Client` websocket is not found." -msgstr "" - -#: discord.ConnectionClosed:1 of -msgid "" -"Exception that's thrown when the gateway connection is closed for reasons" -" that could not be handled internally." -msgstr "" - -#: discord.ConnectionClosed:6 of -msgid "The close code of the websocket." -msgstr "" - -#: discord.ConnectionClosed:12 of -#, fuzzy -msgid "The reason provided for the closure." -msgstr "クライアントによって提供されるデフォルトのエラーハンドラ。" - -#: discord.ConnectionClosed:18 discord.PrivilegedIntentsRequired:12 of -msgid "The shard ID that got closed if applicable." -msgstr "" - -#: discord.PrivilegedIntentsRequired:1 of -msgid "" -"Exception that's thrown when the gateway is requesting privileged intents" -" but they're not ticked in the developer page yet." -msgstr "" - -#: discord.PrivilegedIntentsRequired:4 of -msgid "" -"Go to https://discord.com/developers/applications/ and enable the intents" -" that are required. Currently these are as follows:" -msgstr "" - -#: discord.PrivilegedIntentsRequired:7 of -#, fuzzy -msgid ":attr:`Intents.members`" -msgstr ":attr:`Permissions.mute_members`" - -#: discord.PrivilegedIntentsRequired:8 of -#, fuzzy -msgid ":attr:`Intents.presences`" -msgstr ":attr:`approximate_presence_count`" - -#: discord.opus.OpusError:1 of -msgid "An exception that is thrown for libopus related errors." -msgstr "" - -#: discord.opus.OpusError:5 of -msgid "The error code returned." -msgstr "" - -#: discord.opus.OpusNotLoaded:1 of -msgid "An exception that is thrown for when libopus is not loaded." -msgstr "" - -#: ../../api.rst:3023 -msgid "Exception Hierarchy" -msgstr "" - -#: ../../api.rst:3039 -msgid ":exc:`Exception`" -msgstr "" - -#: ../../api.rst:3039 -msgid ":exc:`DiscordException`" -msgstr "" - -#: ../../api.rst:3033 -msgid ":exc:`ClientException`" -msgstr "" - -#: ../../api.rst:3030 -msgid ":exc:`InvalidData`" -msgstr "" - -#: ../../api.rst:3031 -msgid ":exc:`InvalidArgument`" -msgstr "" - -#: ../../api.rst:3032 -msgid ":exc:`LoginFailure`" -msgstr "" - -#: ../../api.rst:3033 -msgid ":exc:`ConnectionClosed`" -msgstr "" - -#: ../../api.rst:3034 -msgid ":exc:`PrivilegedIntentsRequired`" -msgstr "" - -#: ../../api.rst:3035 -msgid ":exc:`NoMoreItems`" -msgstr "" - -#: ../../api.rst:3036 -msgid ":exc:`GatewayNotFound`" -msgstr "" - -#: ../../api.rst:3039 -msgid ":exc:`HTTPException`" -msgstr "" - -#: ../../api.rst:3038 -msgid ":exc:`Forbidden`" -msgstr "" - -#: ../../api.rst:3039 -msgid ":exc:`NotFound`" -msgstr "" - -#: ../../api.rst:3040 -#, fuzzy -msgid ":exc:`DiscordServerError`" -msgstr ":class:`~discord.User`" - -#~ msgid "" -#~ "Indicates if :func:`.on_ready` should be " -#~ "delayed to fetch all offline members " -#~ "from the guilds the bot belongs " -#~ "to. If this is ``False``\\, then " -#~ "no offline members are received and " -#~ ":meth:`request_offline_members` must be used " -#~ "to fetch the offline members of " -#~ "the guild." -#~ msgstr "" -#~ "参加しているすべてのギルドのオフラインメンバーも取得するために、 :func:`.on_ready` " -#~ "を遅延させるかどうかを表します。これが ``False`` の場合、オフラインメンバーの取得は行われず、 " -#~ ":meth:`request_offline_members` を使用してギルドのオフラインメンバーを取得する必要があります。" - -#~ msgid "" -#~ ":class:`float` -- Measures latency between " -#~ "a HEARTBEAT and a HEARTBEAT_ACK in " -#~ "seconds." -#~ msgstr ":class:`float` -- HEARTBEATとHEARTBEAT_ACK間の待ち時間を秒単位で測定します。" - -#~ msgid "List[:class:`.VoiceClient`] -- Represents a list of voice connections." -#~ msgstr "List[:class:`.VoiceClient`] -- 音声接続のリストを表します。" - -#~ msgid "" -#~ "Optional[Union[:class:`.Activity`, :class:`.Game`, " -#~ ":class:`.Streaming`]] -- The activity being" -#~ " used upon logging in." -#~ msgstr "" -#~ "Optional[Union[:class:`.Activity`, :class:`.Game`, " -#~ ":class:`.Streaming`]] -- ログイン時のアクティビティ。" - -#~ msgid "" -#~ "Optional[Union[:class:`.abc.GuildChannel`, :class:`.Thread`, " -#~ ":class:`.abc.PrivateChannel`]]: Returns a channel" -#~ " with the given ID." -#~ msgstr "" -#~ "Optional[Union[:class:`.abc.GuildChannel`, :class:`.Thread`, " -#~ ":class:`.abc.PrivateChannel`]]: 与えられたIDを持つチャンネルを返します。" - -#~ msgid "If not found, returns ``None``." -#~ msgstr "見つからない場合は、 ``None`` を返します。" - -#~ msgid ":exc:`.HTTPException` -- Getting the guilds failed." -#~ msgstr ":exc:`.HTTPException` -- ギルドの取得に失敗した。" - -#~ msgid "" -#~ "The activity parameter is a " -#~ ":class:`.Activity` object (not a string) " -#~ "that represents the activity being done" -#~ " currently. This could also be the" -#~ " slimmed down versions, :class:`.Game` and" -#~ " :class:`.Streaming`." -#~ msgstr "" -#~ "Activityパラメータは現在のアクティビティをあらわす:class:`.Activity` (文字列ではない) " -#~ "です。これはスリム化された :class:`.Game` や :class:`.Streaming`" -#~ " でもいいです。" - -#~ msgid ":exc:`.NotFound` -- Invalid Channel ID." -#~ msgstr ":exc:`.NotFound` -- チャンネルのIDが無効。" - -#~ msgid "" -#~ "Gets an arbitrary user's profile. This" -#~ " can only be used by non-bot" -#~ " accounts." -#~ msgstr "任意のユーザーのプロフィールを取得します。これはBotアカウント以外でのみ使用可能です。" - -#~ msgid ":exc:`.NotFound` -- Invalid webhook ID." -#~ msgstr ":exc:`.NotFound` -- WebhookのIDが無効。" - -#~ msgid "" -#~ ":exc:`.InvalidArgument` -- If any guild " -#~ "is unavailable or not large in the" -#~ " collection." -#~ msgstr ":exc:`.InvalidArgument` -- いずれかのギルドが利用できない、またはコレクション内のギルドが大きくない。" - -#~ msgid "" -#~ "List[Tuple[:class:`int`, :class:`float`]] -- A " -#~ "list of latencies between a HEARTBEAT" -#~ " and a HEARTBEAT_ACK in seconds." -#~ msgstr "" -#~ "List[Tuple[:class:`int`, :class:`float`]] -- " -#~ "HEARTBEATとHEARTBEAT_ACK間の待ち時間を秒単位で表したリスト。" - -#~ msgid "" -#~ "The activity parameter is a " -#~ ":class:`Activity` object (not a string) " -#~ "that represents the activity being done" -#~ " currently. This could also be the" -#~ " slimmed down versions, :class:`Game` and" -#~ " :class:`Streaming`." -#~ msgstr "" -#~ "activityパラメータは現在実行中のアクティビティを表す :class:`Activity` " -#~ "オブジェクト(文字列ではありません)です。これはスリムなダウンバージョン、 :class:`Game` や " -#~ ":class:`Streaming` でも構いません。" - -#~ msgid ":class:`int` -- The application ID." -#~ msgstr ":class:`int` -- アプリケーションID。" - -#~ msgid "" -#~ "Optional[List[:class:`str`]] -- A list of " -#~ "RPC origin URLs, if RPC is " -#~ "enabled." -#~ msgstr "Optional[List[:class:`str`]] -- RPCが有効になっている場合のRPCオリジンURLのリスト。" - -#~ msgid "" -#~ "In order to play audio, you must" -#~ " have loaded the opus library through" -#~ " :func:`opus.load_opus`." -#~ msgstr "オーディオの再生を行うためには :func:`opus.load_opus` を使用してopusライブラリをロードしておく必要があります。" - -#~ msgid "" -#~ "If you don't do this then the " -#~ "library will not be able to " -#~ "transmit audio." -#~ msgstr "ロードを行っていない場合、オーディオの送信ができません。" - -#~ msgid ":exc:`TypeError` -- Not an audio source." -#~ msgstr ":exc:`TypeError` -- オーディオソースでない。" - -#~ msgid "game playing" -#~ msgstr "遊んでいるゲーム" - -#~ msgid "" -#~ "A message was deleted by a " -#~ "moderator. Note that this only triggers" -#~ " if the message was deleted by " -#~ "either bulk delete or deletion by " -#~ "someone other than the author." -#~ msgstr "" - -#~ msgid ":class:`AuditLogAction` -- The action that was done." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`abc.User` -- The user who " -#~ "initiated this action. Usually a " -#~ ":class:`Member`\\, unless gone then it's " -#~ "a :class:`User`." -#~ msgstr "" - -#~ msgid ":class:`int` -- The entry ID." -#~ msgstr "" - -#~ msgid "" -#~ "*Any* -- The target that got " -#~ "changed. The exact type of this " -#~ "depends on the action being done." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The reason this action was done." -#~ msgstr "" - -#~ msgid "" -#~ "*Any* -- Extra information that this " -#~ "entry has that might be useful. " -#~ "For most actions, this is ``None``. " -#~ "However in some cases it contains " -#~ "extra information. See :class:`AuditLogAction` " -#~ "for which actions have this field " -#~ "filled out." -#~ msgstr "" - -#~ msgid ":class:`datetime.datetime` -- Returns the entry's creation time in UTC." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`AuditLogActionCategory`] -- The " -#~ "category of the action, if applicable." -#~ msgstr "" - -#~ msgid ":class:`AuditLogChanges` -- The list of changes this entry has." -#~ msgstr "" - -#~ msgid ":class:`AuditLogDiff` -- The target's prior state." -#~ msgstr "" - -#~ msgid ":class:`AuditLogDiff` -- The target's subsequent state." -#~ msgstr "" - -#~ msgid ":class:`str` – A name of something." -#~ msgstr "" - -#~ msgid ":class:`str` – A guild's icon hash. See also :attr:`Guild.icon`." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` – The guild's invite splash" -#~ " hash. See also :attr:`Guild.splash`." -#~ msgstr "" - -#~ msgid "" -#~ "Union[:class:`Member`, :class:`User`] – The " -#~ "guild's owner. See also :attr:`Guild.owner`" -#~ msgstr "" - -#~ msgid "" -#~ ":class:`VoiceRegion` – The guild's voice " -#~ "region. See also :attr:`Guild.region`." -#~ msgstr "" - -#~ msgid "" -#~ "Union[:class:`VoiceChannel`, :class:`Object`] – The" -#~ " guild's AFK channel." -#~ msgstr "" - -#~ msgid "" -#~ "Union[:class:`TextChannel`, :class:`Object`] – The" -#~ " guild's system channel." -#~ msgstr "" - -#~ msgid ":class:`int` – The guild's AFK timeout. See :attr:`Guild.afk_timeout`." -#~ msgstr "" - -#~ msgid ":class:`int` - The guild's MFA level. See :attr:`Guild.mfa_level`." -#~ msgstr "" - -#~ msgid ":class:`bool` – The guild's widget has been enabled or disabled." -#~ msgstr "" - -#~ msgid "Union[:class:`TextChannel`, :class:`Object`] – The widget's channel." -#~ msgstr "" - -#~ msgid ":class:`VerificationLevel` – The guild's verification level." -#~ msgstr "" - -#~ msgid ":class:`NotificationLevel` – The guild's default notification level." -#~ msgstr "" - -#~ msgid ":class:`ContentFilter` – The guild's content filter." -#~ msgstr "" - -#~ msgid ":class:`int` – The guild's default message notification setting." -#~ msgstr "" - -#~ msgid ":class:`str` – The guild's vanity URL." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` – The position of a " -#~ ":class:`Role` or :class:`abc.GuildChannel`." -#~ msgstr "" - -#~ msgid "" -#~ "Union[:class:`int`, :class:`str`] – The type" -#~ " of channel or channel permission " -#~ "overwrite." -#~ msgstr "" - -#~ msgid ":class:`int` – The bitrate of a :class:`VoiceChannel`." -#~ msgstr "" - -#~ msgid "" -#~ "List[Tuple[target, :class:`PermissionOverwrite`]] – " -#~ "A list of permission overwrite tuples" -#~ " that represents a target and a " -#~ ":class:`PermissionOverwrite` for said target." -#~ msgstr "" - -#~ msgid "" -#~ "List[Union[:class:`Role`, :class:`Object`]] – A " -#~ "list of roles being added or " -#~ "removed from a member." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] – The nickname of a member." -#~ msgstr "" - -#~ msgid ":class:`bool` – Whether the member is being server deafened." -#~ msgstr "" - -#~ msgid ":class:`bool` – Whether the member is being server muted." -#~ msgstr "" - -#~ msgid ":class:`bool` – Whether the role is being hoisted or not." -#~ msgstr "" - -#~ msgid ":class:`bool` – Whether the role is mentionable or not." -#~ msgstr "" - -#~ msgid ":class:`str` – The invite's code." -#~ msgstr "" - -#~ msgid "Union[:class:`abc.GuildChannel`, :class:`Object`] – A guild channel." -#~ msgstr "" - -#~ msgid ":class:`int` – The invite's max age in seconds." -#~ msgstr "" - -#~ msgid ":class:`bool` – If the invite is a temporary invite." -#~ msgstr "" - -#~ msgid ":class:`Permissions` – The permissions being allowed or denied." -#~ msgstr "" - -#~ msgid ":class:`int` – The ID of the object being changed." -#~ msgstr "" - -#~ msgid ":class:`str` – The avatar hash of a member." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` – The number of seconds " -#~ "members have to wait before sending " -#~ "another message in the channel." -#~ msgstr "" - -#~ msgid ":class:`int` -- The webhook's ID" -#~ msgstr "" - -#~ msgid ":class:`str` -- The authentication token of the webhook." -#~ msgstr "" - -#~ msgid "Optional[:class:`int`] -- The guild ID this webhook is for." -#~ msgstr "" - -#~ msgid "Optional[:class:`int`] -- The channel ID this webhook is for." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`abc.User`] -- The user this" -#~ " webhook was created by. If the " -#~ "webhook was received without authentication" -#~ " then this will be ``None``." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The default name of the webhook." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The default avatar of the webhook." -#~ msgstr "" - -#~ msgid "A partial webhook is just a webhook object with an ID and a token." -#~ msgstr "" - -#~ msgid ":exc:`InvalidArgument` -- The URL is invalid." -#~ msgstr "" - -#~ msgid "Optional[:class:`Guild`] -- The guild this webhook belongs to." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`TextChannel`] -- The text " -#~ "channel this webhook belongs to." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`datetime.datetime` -- Returns the " -#~ "webhook's creation time in UTC." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`InvalidArgument` -- Bad image format " -#~ "passed to ``format`` or invalid " -#~ "``size``." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Deleting the webhook failed." -#~ msgstr "" - -#~ msgid ":exc:`NotFound` -- This webhook does not exist." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to delete this webhook." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Editing the webhook failed." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to edit this webhook." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Sending the message failed." -#~ msgstr "" - -#~ msgid ":exc:`NotFound` -- This webhook was not found." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`Forbidden` -- The authorization token" -#~ " for the webhook is incorrect." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`InvalidArgument` -- You specified both" -#~ " ``embed`` and ``embeds`` or the " -#~ "length of ``embeds`` was invalid." -#~ msgstr "" - -#~ msgid ":class:`Webhook` -- The webhook that owns this adapter." -#~ msgstr "" - -#~ msgid ":class:`int` -- The model's unique ID." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`datetime.datetime` -- Returns the " -#~ "model's creation time as a naive " -#~ "datetime in UTC." -#~ msgstr "" - -#~ msgid ":class:`str` -- The user's discriminator." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The avatar hash the user has." -#~ msgstr "" - -#~ msgid ":class:`bool` -- If the user is a bot account." -#~ msgstr "" - -#~ msgid ":class:`str` -- Returns the user's display name." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- Returns a string that" -#~ " allows you to mention the given " -#~ "user." -#~ msgstr "" - -#~ msgid ":class:`str` -- The channel name." -#~ msgstr "" - -#~ msgid ":class:`~discord.Guild` -- The guild the channel belongs to." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- The position in the " -#~ "channel list. This is a number " -#~ "that starts at 0. e.g. the top " -#~ "channel is position 0." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`~discord.Role`] -- Returns a list" -#~ " of roles that have been overridden" -#~ " from their default values in the " -#~ ":attr:`~discord.Guild.roles` attribute." -#~ msgstr "" - -#~ msgid ":class:`str` -- The string that allows you to mention the channel." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`datetime.datetime` -- Returns the " -#~ "channel's creation time in UTC." -#~ msgstr "" - -#~ msgid "" -#~ "This is returned as a dictionary " -#~ "where the key contains the target " -#~ "which can be either a " -#~ ":class:`~discord.Role` or a :class:`~discord.Member`" -#~ " and the key is the overwrite " -#~ "as a :class:`~discord.PermissionOverwrite`." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`~discord.CategoryChannel`] -- The " -#~ "category this channel belongs to." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.Forbidden` -- You do not " -#~ "have the proper permissions to create" -#~ " this channel." -#~ msgstr "" - -#~ msgid ":exc:`~discord.HTTPException` -- Creating the channel failed." -#~ msgstr "" - -#~ msgid "" -#~ "You must have the " -#~ ":attr:`~.Permissions.create_instant_invite` permission to" -#~ " do this." -#~ msgstr "" - -#~ msgid "" -#~ "How long the invite should last. " -#~ "If it's 0 then the invite doesn't" -#~ " expire. Defaults to 0." -#~ msgstr "" - -#~ msgid "" -#~ "How many uses the invite could be" -#~ " used for. If it's 0 then there" -#~ " are unlimited uses. Defaults to 0." -#~ msgstr "" - -#~ msgid ":exc:`~discord.HTTPException` -- Invite creation failed." -#~ msgstr "" - -#~ msgid "" -#~ "You must have :attr:`~.Permissions.manage_channels`" -#~ " permission to use this." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.Forbidden` -- You do not " -#~ "have proper permissions to delete the" -#~ " channel." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.NotFound` -- The channel was" -#~ " not found or was already deleted." -#~ msgstr "" - -#~ msgid ":exc:`~discord.HTTPException` -- Deleting the channel failed." -#~ msgstr "" - -#~ msgid "" -#~ "You must have :attr:`~.Permissions.manage_guild` " -#~ "to get this information." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.Forbidden` -- You do not " -#~ "have proper permissions to get the " -#~ "information." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.HTTPException` -- An error " -#~ "occurred while fetching the information." -#~ msgstr "" - -#~ msgid "" -#~ "You must have the " -#~ ":attr:`~.Permissions.manage_roles` permission to use" -#~ " this." -#~ msgstr "" - -#~ msgid "The permissions to allow and deny to the target." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.Forbidden` -- You do not " -#~ "have permissions to edit channel " -#~ "specific permissions." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.HTTPException` -- Editing channel " -#~ "specific permissions failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.NotFound` -- The role or " -#~ "member being edited is not part of" -#~ " the guild." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.InvalidArgument` -- The overwrite " -#~ "parameter invalid or the target type " -#~ "was not :class:`~discord.Role` or " -#~ ":class:`~discord.Member`." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.Forbidden` -- You do not " -#~ "have permissions to get channel message" -#~ " history." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.HTTPException` -- The request " -#~ "to get message history failed." -#~ msgstr "" - -#~ msgid ":exc:`~discord.NotFound` -- The specified message was not found." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.Forbidden` -- You do not " -#~ "have the permissions required to get " -#~ "a message." -#~ msgstr "" - -#~ msgid ":exc:`~discord.HTTPException` -- Retrieving the message failed." -#~ msgstr "" - -#~ msgid ":exc:`~discord.HTTPException` -- Retrieving the pinned messages failed." -#~ msgstr "" - -#~ msgid ":exc:`~discord.HTTPException` -- Sending the message failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.Forbidden` -- You do not " -#~ "have the proper permissions to send " -#~ "the message." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.InvalidArgument` -- The ``files`` " -#~ "list is not of the appropriate " -#~ "size or you specified both ``file`` " -#~ "and ``files``." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`InvalidArgument` -- Bad image format " -#~ "passed to ``format`` or ``static_format``, " -#~ "or invalid ``size``." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`Colour` -- A property that " -#~ "returns a color denoting the rendered" -#~ " color for the user. This always " -#~ "returns :meth:`Colour.default`." -#~ msgstr "" - -#~ msgid "There is an alias for this named :meth:`colour`." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`Colour` -- A property that " -#~ "returns a colour denoting the rendered" -#~ " colour for the user. This always " -#~ "returns :meth:`Colour.default`." -#~ msgstr "" - -#~ msgid "There is an alias for this named :meth:`color`." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`ClientException` -- Attempted to create" -#~ " a group with only one recipient. " -#~ "This does not include yourself." -#~ msgstr "" - -#~ msgid ":class:`datetime.datetime` -- Returns the user's creation time in UTC." -#~ msgstr "" - -#~ msgid "" -#~ "*class* -- `DefaultAvatar` -- Returns " -#~ "the default avatar for a given " -#~ "user. This is calculated by the " -#~ "user's discriminator." -#~ msgstr "" - -#~ msgid ":class:`Asset` -- Returns a URL for a user's default avatar." -#~ msgstr "" - -#~ msgid "Indicates if the user has an animated avatar." -#~ msgstr "" - -#~ msgid ":class:`User` -- The user you have the relationship with." -#~ msgstr "" - -#~ msgid ":class:`RelationshipType` -- The type of relationship you have." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Accepting the relationship failed." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Deleting the relationship failed." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`DMChannel`] -- Returns the " -#~ "channel associated with this user if " -#~ "it exists." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- Not allowed to block this user." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Blocking the user failed." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- Not allowed to get mutual friends of this user." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Getting mutual friends failed." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- Not allowed to fetch profiles." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Fetching the profile failed." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- Not allowed to remove this user as a friend." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Removing the user as a friend failed." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- Not allowed to send a friend request to the user." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Sending the friend request failed." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- Not allowed to unblock this user." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Unblocking the user failed." -#~ msgstr "" - -#~ msgid "Checks if the user is your friend." -#~ msgstr "" - -#~ msgid "Checks if the user is blocked." -#~ msgstr "" - -#~ msgid ":class:`int` -- The attachment ID." -#~ msgstr "" - -#~ msgid ":class:`int` -- The attachment size in bytes." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`int`] -- The attachment's " -#~ "height, in pixels. Only applicable to" -#~ " images." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`int`] -- The attachment's " -#~ "width, in pixels. Only applicable to " -#~ "images." -#~ msgstr "" - -#~ msgid ":class:`str` -- The attachment's filename." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The attachment URL. If" -#~ " the message this attachment was " -#~ "attached to is deleted, then this " -#~ "will 404." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The proxy URL. This " -#~ "is a cached version of the " -#~ ":attr:`~Attachment.url` in the case of " -#~ "images. When the message is deleted, " -#~ "this URL might be valid for a " -#~ "few minutes or not valid at all." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Downloading the attachment failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`Forbidden` -- You do not have " -#~ "permissions to access this attachment" -#~ msgstr "" - -#~ msgid ":exc:`NotFound` -- The attachment was deleted." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Saving the attachment failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`DiscordException` -- There was no " -#~ "valid URL or internal connection state." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Downloading the asset failed." -#~ msgstr "" - -#~ msgid ":exc:`NotFound` -- The asset was deleted." -#~ msgstr "" - -#~ msgid "Same as :meth:`read`." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Specifies if the " -#~ "message was done with text-to-" -#~ "speech. This can only be accurately " -#~ "received in :func:`on_message` due to a" -#~ " discord limitation." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`MessageType` -- The type of " -#~ "message. In most cases this should " -#~ "not be checked, but it is helpful" -#~ " in cases where it might be a" -#~ " system message for :attr:`system_content`." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`abc.User` -- A :class:`Member` that" -#~ " sent the message. If :attr:`channel` " -#~ "is a private channel or the user" -#~ " has the left the guild, then " -#~ "it is a :class:`User` instead." -#~ msgstr "" - -#~ msgid ":class:`str` -- The actual contents of the message." -#~ msgstr "" - -#~ msgid "List[:class:`Embed`] -- A list of embeds the message has." -#~ msgstr "" - -#~ msgid "" -#~ "Union[:class:`abc.Messageable`] -- The " -#~ ":class:`TextChannel` that the message was " -#~ "sent from. Could be a :class:`DMChannel`" -#~ " or :class:`GroupChannel` if it's a " -#~ "private message." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`CallMessage`] -- The call " -#~ "that the message refers to. This " -#~ "is only applicable to messages of " -#~ "type :attr:`MessageType.call`." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Specifies if the message mentions everyone." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`abc.User`] -- A list of " -#~ ":class:`Member` that were mentioned. If " -#~ "the message is in a private " -#~ "message then the list will be of" -#~ " :class:`User` instead. For messages that" -#~ " are not of type " -#~ ":attr:`MessageType.default`\\, this array can " -#~ "be used to aid in system messages." -#~ " For more information, see " -#~ ":attr:`system_content`." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`abc.GuildChannel`] -- A list of" -#~ " :class:`abc.GuildChannel` that were mentioned." -#~ " If the message is in a private" -#~ " message then the list is always " -#~ "empty." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`Role`] -- A list of " -#~ ":class:`Role` that were mentioned. If " -#~ "the message is in a private " -#~ "message then the list is always " -#~ "empty." -#~ msgstr "" - -#~ msgid ":class:`int` -- The message ID." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`int`] -- If this message " -#~ "was sent by a webhook, then this" -#~ " is the webhook ID's that sent " -#~ "this message." -#~ msgstr "" - -#~ msgid "List[:class:`Attachment`] -- A list of attachments given to a message." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Specifies if the message is currently pinned." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`Reaction`] -- Reactions to a " -#~ "message. Reactions can be either custom" -#~ " emoji or standard unicode emoji." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`dict`] -- The activity " -#~ "associated with this message. Sent with" -#~ " Rich-Presence related messages that " -#~ "for example, request joining, spectating, " -#~ "or listening to or with another " -#~ "member." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`dict`] -- The rich presence" -#~ " enabled application associated with this" -#~ " message." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`Guild`] -- The guild that " -#~ "the message belongs to, if applicable." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`int`] -- A property that " -#~ "returns an array of user IDs " -#~ "matched with the syntax of " -#~ "``<@user_id>`` in the message content." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`int`] -- A property that " -#~ "returns an array of channel IDs " -#~ "matched with the syntax of " -#~ "``<#channel_id>`` in the message content." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`int`] -- A property that " -#~ "returns an array of role IDs " -#~ "matched with the syntax of " -#~ "``<@&role_id>`` in the message content." -#~ msgstr "" - -#~ msgid ":class:`datetime.datetime` -- The message's creation time in UTC." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`datetime.datetime`] -- A naive " -#~ "UTC datetime object containing the " -#~ "edited time of the message." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- Returns a URL that " -#~ "allows the client to jump to this" -#~ " message." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Acking failed." -#~ msgstr "" - -#~ msgid ":exc:`ClientException` -- You must not be a bot user." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Adding the reaction failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`Forbidden` -- You do not have " -#~ "the proper permissions to react to " -#~ "the message." -#~ msgstr "" - -#~ msgid ":exc:`NotFound` -- The emoji you specified was not found." -#~ msgstr "" - -#~ msgid ":exc:`InvalidArgument` -- The emoji parameter is invalid." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Removing the reactions failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`Forbidden` -- You do not have " -#~ "the proper permissions to remove all " -#~ "the reactions." -#~ msgstr "" - -#~ msgid "" -#~ "If provided, the number of seconds " -#~ "to wait in the background before " -#~ "deleting the message." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`Forbidden` -- You do not have " -#~ "proper permissions to delete the " -#~ "message." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Deleting the message failed." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Editing the message failed." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to pin the message." -#~ msgstr "" - -#~ msgid ":exc:`NotFound` -- The message or channel was not found or deleted." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`HTTPException` -- Pinning the message" -#~ " failed, probably due to the channel" -#~ " having more than 50 pinned messages." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Removing the reaction failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`Forbidden` -- You do not have " -#~ "the proper permissions to remove the " -#~ "reaction." -#~ msgstr "" - -#~ msgid ":exc:`NotFound` -- The member or emoji you specified was not found." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to unpin the message." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Unpinning the message failed." -#~ msgstr "" - -#~ msgid "" -#~ "Union[:class:`Emoji`, :class:`str`] -- The " -#~ "reaction emoji. May be a custom " -#~ "emoji, or a unicode emoji." -#~ msgstr "" - -#~ msgid ":class:`int` -- Number of times this reaction was made" -#~ msgstr "" - -#~ msgid ":class:`bool` -- If the user sent this reaction." -#~ msgstr "" - -#~ msgid ":class:`Message` -- Message this reaction is for." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Getting the users for the reaction failed." -#~ msgstr "" - -#~ msgid ":class:`bool` -- If this is a custom emoji." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`NotFound` -- The user you " -#~ "specified, or the reaction's message was" -#~ " not found." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`datetime.datetime`] -- A naive " -#~ "UTC datetime object that represents the" -#~ " time that the call has ended." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`User`] -- The list of users" -#~ " that are participating in this call." -#~ msgstr "" - -#~ msgid ":class:`Message` -- The message associated with this call message." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Indicates if the call has ended." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`GroupChannel`\\ -- The private channel" -#~ " associated with this message." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`CallMessage` -- The call message " -#~ "associated with this group call." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Denotes if this group call is unavailable." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`User`] -- A list of users" -#~ " that are currently being rung to " -#~ "join the call." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`VoiceRegion` -- The guild region " -#~ "the group call is being hosted on." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`User`] -- A property that " -#~ "returns all users that are currently " -#~ "in this call." -#~ msgstr "" - -#~ msgid ":class:`GroupChannel`\\ -- Returns the channel the group call is in." -#~ msgstr "" - -#~ msgid ":class:`str` -- The guild name." -#~ msgstr "" - -#~ msgid "Tuple[:class:`Emoji`, ...] -- All emojis that the guild owns." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`VoiceRegion` -- The region the " -#~ "guild belongs on. There is a " -#~ "chance that the region will be a" -#~ " :class:`str` if the value is not " -#~ "recognised by the enumerator." -#~ msgstr "" - -#~ msgid ":class:`int` -- The timeout to get sent to the AFK channel." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`VoiceChannel`] -- The channel " -#~ "that denotes the AFK channel. None " -#~ "if it doesn't exist." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The guild's icon." -#~ msgstr "" - -#~ msgid ":class:`int` -- The guild's ID." -#~ msgstr "" - -#~ msgid ":class:`int` -- The guild owner's ID. Use :attr:`Guild.owner` instead." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Indicates if the guild" -#~ " is unavailable. If this is ``True``" -#~ " then the reliability of other " -#~ "attributes outside of :meth:`Guild.id` is " -#~ "slim and they might all be None." -#~ " It is best to not do anything" -#~ " with the guild if it is " -#~ "unavailable." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`int`] -- The maximum amount" -#~ " of presences for the guild." -#~ msgstr "" - -#~ msgid "Optional[:class:`int`] -- The maximum amount of members for the guild." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The guild's banner." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The guild's description." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- Indicates the guild's " -#~ "two factor authorisation level. If this" -#~ " value is 0 then the guild does" -#~ " not require 2FA for their " -#~ "administrative members. If the value is" -#~ " 1 then they do." -#~ msgstr "" - -#~ msgid ":class:`VerificationLevel` -- The guild's verification level." -#~ msgstr "" - -#~ msgid ":class:`ContentFilter` -- The guild's explicit content filter." -#~ msgstr "" - -#~ msgid ":class:`NotificationLevel` -- The guild's notification settings." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`str`] -- A list of features" -#~ " that the guild has. They are " -#~ "currently as follows:" -#~ msgstr "" - -#~ msgid "``LURKABLE``: Users can lurk in this guild via Server Discovery." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The guild's invite splash." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- The premium tier for " -#~ "this guild. Corresponds to \"Nitro " -#~ "Server\" in the official UI. The " -#~ "number goes from 0 to 3 inclusive." -#~ msgstr "" - -#~ msgid ":class:`int` -- How many users have currently \"boosted\" this guild." -#~ msgstr "" - -#~ msgid "" -#~ "If set to ``True``, return entries " -#~ "in oldest->newest order. Defaults to " -#~ "True if ``after`` is specified, " -#~ "otherwise ``False``." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You are not allowed to fetch audit logs" -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`HTTPException` -- An error occurred " -#~ "while fetching the audit logs." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`abc.GuildChannel`] -- A list of" -#~ " channels that belongs to this guild." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Indicates if the guild is a 'large' guild." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`VoiceChannel`] -- A list of " -#~ "voice channels that belongs to this " -#~ "guild." -#~ msgstr "" - -#~ msgid "Returns the :class:`VoiceClient` associated with this guild, if any." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`TextChannel`] -- A list of " -#~ "text channels that belongs to this " -#~ "guild." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`CategoryChannel`] -- A list of" -#~ " categories that belongs to this " -#~ "guild." -#~ msgstr "" - -#~ msgid "" -#~ "Returns a :class:`abc.GuildChannel` with the" -#~ " given ID. If not found, returns " -#~ "None." -#~ msgstr "" - -#~ msgid ":class:`int` -- The maximum number of emoji slots this guild has." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`float` -- The maximum bitrate " -#~ "for voice channels this guild can " -#~ "have." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- The maximum number of" -#~ " bytes files can have when uploaded" -#~ " to this guild." -#~ msgstr "" - -#~ msgid "List[:class:`Member`] -- A list of members that belong to this guild." -#~ msgstr "" - -#~ msgid "" -#~ "Returns a :class:`Member` with the given" -#~ " ID. If not found, returns None." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`Member`] -- A list of " -#~ "members who have \"boosted\" this guild." -#~ msgstr "" - -#~ msgid "Returns a :class:`Role` with the given ID. If not found, returns None." -#~ msgstr "" - -#~ msgid ":class:`Member` -- The member that owns the guild." -#~ msgstr "" - -#~ msgid ":class:`Asset` -- Returns the guild's icon asset." -#~ msgstr "" - -#~ msgid ":class:`Asset` -- Returns the guild's banner asset." -#~ msgstr "" - -#~ msgid ":class:`Asset` -- Returns the guild's invite splash asset." -#~ msgstr "" - -#~ msgid ":class:`int` -- Returns the shard ID for this guild if applicable." -#~ msgstr "" - -#~ msgid ":class:`datetime.datetime` -- Returns the guild's creation time in UTC." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`TextChannel`] -- Returns the " -#~ "guild's channel used for system " -#~ "messages." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have the proper permissions to ban." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Banning failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`Forbidden` -- You do not have " -#~ "proper permissions to get the " -#~ "information." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`HTTPException` -- An error occurred " -#~ "while fetching the information." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You are not allowed to create emojis." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- An error occurred creating an emoji." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to create the role." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Creating the role failed." -#~ msgstr "" - -#~ msgid ":exc:`InvalidArgument` -- An invalid keyword argument was given." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`Forbidden` -- You do not have " -#~ "the proper permissions to create this" -#~ " channel." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Creating the channel failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`InvalidArgument` -- The permission " -#~ "overwrite information is not in proper" -#~ " form." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Deleting the guild failed." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to delete the guild." -#~ msgstr "" - -#~ msgid "" -#~ "The new description of the guild. " -#~ "This is only available to guilds " -#~ "that contain `VERIFIED` in " -#~ ":attr:`Guild.features`." -#~ msgstr "" - -#~ msgid "" -#~ "A :term:`py:bytes-like object` representing" -#~ " the icon. Only PNG/JPEG supported. " -#~ "Could be ``None`` to denote removal " -#~ "of the icon." -#~ msgstr "" - -#~ msgid "" -#~ "A :term:`py:bytes-like object` representing" -#~ " the invite splash. Only PNG/JPEG " -#~ "supported. Could be ``None`` to denote" -#~ " removing the splash. Only available " -#~ "for partnered guilds with ``INVITE_SPLASH``" -#~ " feature." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to edit the guild." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Editing the guild failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`InvalidArgument` -- The image format " -#~ "passed in to ``icon`` is invalid. " -#~ "It must be PNG or JPG. This " -#~ "is also raised if you are not " -#~ "the owner of the guild and request" -#~ " an ownership transfer." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to prune members." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`HTTPException` -- An error occurred " -#~ "while fetching the prune members " -#~ "estimate." -#~ msgstr "" - -#~ msgid ":exc:`InvalidArgument` -- An integer was not passed for ``days``." -#~ msgstr "" - -#~ msgid ":exc:`NotFound` -- This user is not banned." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`InvalidData` -- An unknown channel " -#~ "type was received from Discord." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Retrieving the channels failed." -#~ msgstr "" - -#~ msgid ":exc:`NotFound` -- The emoji requested could not be found." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- An error occurred fetching the emoji." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- An error occurred fetching the emojis." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have access to the guild." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Getting the guild failed." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have the proper permissions to kick." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Kicking failed." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Leaving the guild failed." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- An error occurred while pruning members." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have the proper permissions to unban." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Unbanning failed." -#~ msgstr "" - -#~ msgid "" -#~ "The guild must be partnered, i.e. " -#~ "have 'VANITY_URL' in :attr:`~Guild.features`." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have the proper permissions to get this." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Retrieving the vanity invite failed." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You don't have permissions to get the webhooks." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- The widget for this guild is disabled." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Retrieving the widget failed." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`SystemChannelFlags` -- Returns the " -#~ "guild's system channel settings." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`datetime.datetime`] -- A datetime" -#~ " object that specifies the date and" -#~ " time in UTC that the member " -#~ "joined the guild for the first " -#~ "time. In certain cases, this can " -#~ "be ``None``." -#~ msgstr "" - -#~ msgid "" -#~ "Tuple[Union[:class:`Game`, :class:`Streaming`, " -#~ ":class:`Spotify`, :class:`Activity`]] -- The " -#~ "activities that the user is currently" -#~ " doing." -#~ msgstr "" - -#~ msgid ":class:`Guild` -- The guild that the member belongs to." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The guild specific nickname of the user." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`datetime.datetime`] -- A datetime" -#~ " object that specifies the date and" -#~ " time in UTC when the member " -#~ "used their Nitro boost on the " -#~ "guild, if available. This could be " -#~ "``None``." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`Status` -- The member's overall " -#~ "status. If the value is unknown, " -#~ "then it will be a :class:`str` " -#~ "instead." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`Status` -- The member's status " -#~ "on a mobile device, if applicable." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`Status` -- The member's status " -#~ "on the desktop client, if applicable." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`Status` -- The member's status " -#~ "on the web client, if applicable." -#~ msgstr "" - -#~ msgid "" -#~ "A helper function that determines if " -#~ "a member is active on a mobile " -#~ "device." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`Colour` -- A property that " -#~ "returns a colour denoting the rendered" -#~ " colour for the member. If the " -#~ "default colour is the one rendered " -#~ "then an instance of :meth:`Colour.default` " -#~ "is returned." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`Colour` -- A property that " -#~ "returns a color denoting the rendered" -#~ " color for the member. If the " -#~ "default color is the one rendered " -#~ "then an instance of :meth:`Colour.default` " -#~ "is returned." -#~ msgstr "" - -#~ msgid ":class:`str` -- Returns a string that allows you to mention the member." -#~ msgstr "" - -#~ msgid "" -#~ "Union[:class:`Game`, :class:`Streaming`, :class:`Spotify`," -#~ " :class:`Activity`] -- Returns the primary" -#~ " activity the user is currently " -#~ "doing. Could be None if no " -#~ "activity is being done." -#~ msgstr "" - -#~ msgid ":class:`Role` -- Returns the member's highest role." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`VoiceState`] -- Returns the " -#~ "member's current voice state." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to add these roles." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Adding roles failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`Forbidden` -- You do not have " -#~ "the proper permissions to the action " -#~ "requested." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- The operation failed." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to remove these roles." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Removing the roles failed." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`Role`] -- A :class:`list` of " -#~ ":class:`Role` that the member belongs " -#~ "to. Note that the first element of" -#~ " this list is always the default " -#~ "'@everyone' role." -#~ msgstr "" - -#~ msgid "There is an alias for this named :meth:`color`" -#~ msgstr "" - -#~ msgid "There is an alias for this named :meth:`colour`" -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The activity's name. " -#~ "This will always return \"Spotify\"." -#~ msgstr "" - -#~ msgid ":class:`str` -- The title of the song being played." -#~ msgstr "" - -#~ msgid "List[:class:`str`] -- The artists of the song being played." -#~ msgstr "" - -#~ msgid ":class:`str` -- The artist of the song being played." -#~ msgstr "" - -#~ msgid ":class:`str` -- The album that the song being played belongs to." -#~ msgstr "" - -#~ msgid ":class:`str` -- The album cover image URL from Spotify's CDN." -#~ msgstr "" - -#~ msgid ":class:`str` -- The track ID used by Spotify to identify this song." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`datetime.datetime` -- When the user" -#~ " started playing this song in UTC." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`datetime.datetime` -- When the user" -#~ " will stop playing this song in " -#~ "UTC." -#~ msgstr "" - -#~ msgid ":class:`datetime.timedelta` -- The duration of the song being played." -#~ msgstr "" - -#~ msgid ":class:`str` -- The party ID of the listening party." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Indicates if the user" -#~ " is currently deafened by the guild." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Indicates if the user is currently muted by the guild." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Indicates if the user" -#~ " is currently muted by their own " -#~ "accord." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Indicates if the user" -#~ " is currently deafened by their own" -#~ " accord." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Indicates if the user is currently broadcasting video." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Indicates if the user" -#~ " is currently in the AFK channel " -#~ "in the guild." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`VoiceChannel` -- The voice channel " -#~ "that the user is currently connected " -#~ "to. None if the user is not " -#~ "currently in a voice channel." -#~ msgstr "" - -#~ msgid ":class:`str` -- The name of the emoji." -#~ msgstr "" - -#~ msgid ":class:`int` -- The emoji's ID." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- If colons are required" -#~ " to use this emoji in the " -#~ "client (:PJSalt: vs PJSalt)." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Whether an emoji is animated or not." -#~ msgstr "" - -#~ msgid ":class:`bool` -- If this emoji is managed by a Twitch integration." -#~ msgstr "" - -#~ msgid ":class:`int` -- The guild ID the emoji belongs to." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Whether the emoji is available for use." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`User`] -- The user that " -#~ "created the emoji. This can only " -#~ "be retrieved using :meth:`Guild.fetch_emoji` " -#~ "and having the :attr:`~Permissions.manage_emojis`" -#~ " permission." -#~ msgstr "" - -#~ msgid ":class:`datetime.datetime` -- Returns the emoji's creation time in UTC." -#~ msgstr "" - -#~ msgid ":class:`Asset` -- Returns the asset of the emoji." -#~ msgstr "" - -#~ msgid ":class:`Guild` -- The guild this emoji belongs to." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You are not allowed to delete emojis." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- An error occurred deleting the emoji." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You are not allowed to edit emojis." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- An error occurred editing the emoji." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`Role`] -- A :class:`list` of " -#~ "roles that is allowed to use this" -#~ " emoji." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The custom emoji name," -#~ " if applicable, or the unicode " -#~ "codepoint of the non-custom emoji." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Whether the emoji is animated or not." -#~ msgstr "" - -#~ msgid "Optional[:class:`int`] -- The ID of the custom emoji, if applicable." -#~ msgstr "" - -#~ msgid "Checks if this is a custom non-Unicode emoji." -#~ msgstr "" - -#~ msgid "Checks if this is a Unicode emoji." -#~ msgstr "" - -#~ msgid ":class:`Asset` -- Returns an asset of the emoji, if it is custom." -#~ msgstr "" - -#~ msgid ":class:`int` -- The ID for the role." -#~ msgstr "" - -#~ msgid ":class:`str` -- The name of the role." -#~ msgstr "" - -#~ msgid ":class:`Permissions` -- Represents the role's permissions." -#~ msgstr "" - -#~ msgid ":class:`Guild` -- The guild the role belongs to." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`Colour` -- Represents the role " -#~ "colour. An alias exists under ``color``." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Indicates if the role" -#~ " will be displayed separately from " -#~ "other members." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- The position of the " -#~ "role. This number is usually positive." -#~ " The bottom role has a position " -#~ "of 0." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Indicates if the role" -#~ " is managed by the guild through " -#~ "some form of integrations such as " -#~ "Twitch." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Indicates if the role can be mentioned by users." -#~ msgstr "" - -#~ msgid "Checks if the role is the default role." -#~ msgstr "" - -#~ msgid ":class:`datetime.datetime` -- Returns the role's creation time in UTC." -#~ msgstr "" - -#~ msgid ":class:`str` -- Returns a string that allows you to mention a role." -#~ msgstr "" - -#~ msgid "List[:class:`Member`] -- Returns all the members with this role." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to delete the role." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Deleting the role failed." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to change the role." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Editing the role failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`InvalidArgument` -- An invalid position" -#~ " was given or the default role " -#~ "was asked to be moved." -#~ msgstr "" - -#~ msgid ":class:`Guild` -- The guild the channel belongs to." -#~ msgstr "" - -#~ msgid ":class:`int` -- The channel ID." -#~ msgstr "" - -#~ msgid ":class:`int` -- The category channel ID this channel belongs to." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`str`] -- The channel's topic." -#~ " None if it doesn't exist." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`int`] -- The last message " -#~ "ID of the message sent to this " -#~ "channel. It may *not* point to an" -#~ " existing or valid message." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- The number of seconds" -#~ " a member must wait between sending" -#~ " messages in this channel. A value" -#~ " of `0` denotes that it is " -#~ "disabled. Bots and users with " -#~ ":attr:`~Permissions.manage_channels` or " -#~ ":attr:`~Permissions.manage_messages` bypass slowmode." -#~ msgstr "" - -#~ msgid ":class:`ChannelType` -- The channel's Discord type." -#~ msgstr "" - -#~ msgid "List[:class:`Member`] -- Returns all members that can see this channel." -#~ msgstr "" - -#~ msgid "Checks if the channel is NSFW." -#~ msgstr "" - -#~ msgid "Checks if the channel is a news channel." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Creating the webhook failed." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to create a webhook." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`ClientException` -- The number of " -#~ "messages to delete was more than " -#~ "100." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`Forbidden` -- You do not have " -#~ "proper permissions to delete the " -#~ "messages or you're not using a bot" -#~ " account." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Deleting the messages failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`InvalidArgument` -- If position is " -#~ "less than 0 or greater than the" -#~ " number of channels." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to edit the channel." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Editing the channel failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`Forbidden` -- You do not have " -#~ "proper permissions to do the actions " -#~ "required." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Purging the messages failed." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- The channel's preferred " -#~ "audio bitrate in bits per second." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- The channel's limit for" -#~ " number of members that can be " -#~ "in a voice channel." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`Member`] -- Returns all members" -#~ " that are currently inside this voice" -#~ " channel." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`asyncio.TimeoutError` -- Could not " -#~ "connect to the voice channel in " -#~ "time." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.ClientException` -- You are " -#~ "already connected to a voice channel." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.opus.OpusNotLoaded` -- The opus " -#~ "library has not been loaded." -#~ msgstr "" - -#~ msgid ":class:`~discord.VoiceClient`" -#~ msgstr "" - -#~ msgid ":class:`str` -- The category name." -#~ msgstr "" - -#~ msgid ":class:`Guild` -- The guild the category belongs to." -#~ msgstr "" - -#~ msgid ":class:`int` -- The category channel ID." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- The position in the " -#~ "category list. This is a number " -#~ "that starts at 0. e.g. the top " -#~ "category is position 0." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`abc.GuildChannel`] -- Returns the " -#~ "channels that are under this category." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`TextChannel`] -- Returns the text" -#~ " channels that are under this " -#~ "category." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`VoiceChannel`] -- Returns the " -#~ "voice channels that are under this " -#~ "category." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`InvalidArgument` -- If position is " -#~ "less than 0 or greater than the" -#~ " number of categories." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to edit the category." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Editing the category failed." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`User` -- The user you are " -#~ "participating with in the direct message" -#~ " channel." -#~ msgstr "" - -#~ msgid ":class:`ClientUser` -- The user presenting yourself." -#~ msgstr "" - -#~ msgid ":class:`int` -- The direct message channel ID." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`User`] -- The users you are" -#~ " participating with in the group " -#~ "channel." -#~ msgstr "" - -#~ msgid ":class:`int` -- The group channel ID." -#~ msgstr "" - -#~ msgid ":class:`User` -- The user that owns the group channel." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The group channel's icon hash if provided." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The group channel's name if provided." -#~ msgstr "" - -#~ msgid ":class:`Asset` -- Returns the channel's icon asset if available." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Adding a recipient to this group failed." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Editing the group failed." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Leaving the group failed." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Removing a recipient from this group failed." -#~ msgstr "" - -#~ msgid ":class:`str` -- The partial guild's name." -#~ msgstr "" - -#~ msgid ":class:`int` -- The partial guild's ID." -#~ msgstr "" - -#~ msgid ":class:`VerificationLevel` -- The partial guild's verification level." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`str`] -- A list of features" -#~ " the guild has. See :attr:`Guild.features`" -#~ " for more information." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The partial guild's icon." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The partial guild's banner." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The partial guild's invite splash." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The partial guild's description." -#~ msgstr "" - -#~ msgid ":class:`str` -- The partial channel's name." -#~ msgstr "" - -#~ msgid ":class:`int` -- The partial channel's ID." -#~ msgstr "" - -#~ msgid ":class:`ChannelType` -- The partial channel's type." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- How long the before " -#~ "the invite expires in seconds. A " -#~ "value of 0 indicates that it " -#~ "doesn't expire." -#~ msgstr "" - -#~ msgid ":class:`str` -- The URL fragment used for the invite." -#~ msgstr "" - -#~ msgid "" -#~ "Union[:class:`Guild`, :class:`PartialInviteGuild`] -- " -#~ "The guild the invite is for." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Indicates if the invite has been revoked." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`datetime.datetime` -- A datetime " -#~ "object denoting the time the invite " -#~ "was created." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Indicates that the " -#~ "invite grants temporary membership. If " -#~ "``True``, members who joined via this" -#~ " invite will be kicked upon " -#~ "disconnect." -#~ msgstr "" - -#~ msgid ":class:`int` -- How many times the invite has been used." -#~ msgstr "" - -#~ msgid ":class:`int` -- How many times the invite can be used." -#~ msgstr "" - -#~ msgid ":class:`User` -- The user who created the invite." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`int`] -- The approximate " -#~ "number of members in the guild." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`int`] -- The approximate " -#~ "number of members currently active in" -#~ " the guild. This includes idle, dnd," -#~ " online, and invisible members. Offline " -#~ "members are excluded." -#~ msgstr "" - -#~ msgid "" -#~ "Union[:class:`abc.GuildChannel`, :class:`PartialInviteChannel`]" -#~ " -- The channel the invite is " -#~ "for." -#~ msgstr "" - -#~ msgid ":class:`str` -- Returns the proper code portion of the invite." -#~ msgstr "" - -#~ msgid ":class:`str` -- A property that retrieves the invite URL." -#~ msgstr "" - -#~ msgid ":exc:`Forbidden` -- You do not have permissions to revoke invites." -#~ msgstr "" - -#~ msgid ":exc:`NotFound` -- The invite is invalid or expired." -#~ msgstr "" - -#~ msgid ":exc:`HTTPException` -- Revoking the invite failed." -#~ msgstr "" - -#~ msgid ":class:`int` -- The channel's ID." -#~ msgstr "" - -#~ msgid ":class:`str` -- The channel's name." -#~ msgstr "" - -#~ msgid ":class:`int` -- The channel's position" -#~ msgstr "" - -#~ msgid ":class:`int` -- The member's ID." -#~ msgstr "" - -#~ msgid ":class:`str` -- The member's username." -#~ msgstr "" - -#~ msgid ":class:`str` -- The member's discriminator." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Whether the member is a bot." -#~ msgstr "" - -#~ msgid ":class:`Status` -- The member's status." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The member's nickname." -#~ msgstr "" - -#~ msgid "Optional[:class:`str`] -- The member's avatar hash." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[Union[:class:`Activity`, :class:`Game`, " -#~ ":class:`Streaming`, :class:`Spotify`]] -- The " -#~ "member's activity." -#~ msgstr "" - -#~ msgid "Optional[:class:`bool`] -- Whether the member is currently deafened." -#~ msgstr "" - -#~ msgid "Optional[:class:`bool`] -- Whether the member is currently muted." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`bool`] -- Whether the member" -#~ " is currently being suppressed." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`VoiceChannel`] -- Which channel " -#~ "the member is connected to." -#~ msgstr "" - -#~ msgid ":class:`str` -- Returns the member's display name." -#~ msgstr "" - -#~ msgid ":class:`str` -- The guild's name." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[List[:class:`WidgetChannel`]] -- The " -#~ "accessible voice channels in the guild." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[List[:class:`Member`]] -- The online " -#~ "members in the server. Offline members" -#~ " do not appear in the widget." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`datetime.datetime` -- Returns the " -#~ "member's creation time in UTC." -#~ msgstr "" - -#~ msgid ":class:`str` -- The JSON URL of the widget." -#~ msgstr "" - -#~ msgid "Optiona[:class:`str`] -- The invite URL for the guild, if available." -#~ msgstr "" - -#~ msgid ":class:`int` -- The channel ID where the deletion took place." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`int`] -- The guild ID " -#~ "where the deletion took place, if " -#~ "applicable." -#~ msgstr "" - -#~ msgid ":class:`int` -- The message ID that got deleted." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`Message`] -- The cached " -#~ "message, if found in the internal " -#~ "message cache." -#~ msgstr "" - -#~ msgid "" -#~ "Set[:class:`int`] -- A :class:`set` of " -#~ "the message IDs that were deleted." -#~ msgstr "" - -#~ msgid ":class:`int` -- The channel ID where the message got deleted." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`int`] -- The guild ID " -#~ "where the message got deleted, if " -#~ "applicable." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`Message`] -- The cached messages," -#~ " if found in the internal message " -#~ "cache." -#~ msgstr "" - -#~ msgid ":class:`int` -- The message ID that got updated." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`dict` -- The raw data given " -#~ "by the `gateway " -#~ "`_" -#~ msgstr "" - -#~ msgid ":class:`int` -- The message ID that got or lost a reaction." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- The user ID who " -#~ "added the reaction or whose reaction " -#~ "was removed." -#~ msgstr "" - -#~ msgid ":class:`int` -- The channel ID where the reaction got added or removed." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`int`] -- The guild ID " -#~ "where the reaction got added or " -#~ "removed, if applicable." -#~ msgstr "" - -#~ msgid ":class:`PartialEmoji` -- The custom or unicode emoji being used." -#~ msgstr "" - -#~ msgid ":class:`int` -- The message ID that got its reactions cleared." -#~ msgstr "" - -#~ msgid ":class:`int` -- The channel ID where the reactions got cleared." -#~ msgstr "" - -#~ msgid "Optional[:class:`int`] -- The guild ID where the reactions got cleared." -#~ msgstr "" - -#~ msgid "" -#~ "Unlike :ref:`models ` you " -#~ "are allowed to create these yourself," -#~ " even if they can also be used" -#~ " to hold attributes." -#~ msgstr "" - -#~ msgid ":class:`str` -- The ID of the object." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`datetime.datetime` -- Returns the " -#~ "snowflake's creation time in UTC." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The title of the " -#~ "embed. This can be set during " -#~ "initialisation." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The type of embed. " -#~ "Usually \"rich\". This can be set " -#~ "during initialisation." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The description of the" -#~ " embed. This can be set during " -#~ "initialisation." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The URL of the " -#~ "embed. This can be set during " -#~ "initialisation." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`datetime.datetime` -- The timestamp of" -#~ " the embed content. This could be " -#~ "a naive or aware datetime." -#~ msgstr "" - -#~ msgid "" -#~ "Union[:class:`Colour`, :class:`int`] -- The " -#~ "colour code of the embed. Aliased " -#~ "to ``color`` as well. This can be" -#~ " set during initialisation." -#~ msgstr "" - -#~ msgid ":exc:`IndexError` -- An invalid index was provided." -#~ msgstr "" - -#~ msgid "" -#~ "Union[:class:`str`, :class:`io.BufferedIOBase`] -- A" -#~ " file-like object opened in binary" -#~ " mode and read mode or a " -#~ "filename representing a file in the " -#~ "hard drive to open." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`str`] -- The filename to " -#~ "display when uploading to Discord. If" -#~ " this is not given then it " -#~ "defaults to ``fp.name`` or if ``fp`` " -#~ "is a string then the ``filename`` " -#~ "will default to the string given." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Whether the attachment is a spoiler." -#~ msgstr "" - -#~ msgid "" -#~ "Represents a Discord role colour. This" -#~ " class is similar to an (red, " -#~ "green, blue) :class:`tuple`." -#~ msgstr "" - -#~ msgid ":class:`int` -- The raw integer colour value." -#~ msgstr "" - -#~ msgid ":class:`int` -- Returns the red component of the colour." -#~ msgstr "" - -#~ msgid ":class:`int` -- Returns the green component of the colour." -#~ msgstr "" - -#~ msgid ":class:`int` -- Returns the blue component of the colour." -#~ msgstr "" - -#~ msgid "A factory method that returns a :class:`Colour` with a value of 0." -#~ msgstr "" - -#~ msgid ":class:`int` -- The application ID of the game." -#~ msgstr "" - -#~ msgid ":class:`str` -- The name of the activity." -#~ msgstr "" - -#~ msgid ":class:`str` -- A stream URL that the activity could be doing." -#~ msgstr "" - -#~ msgid ":class:`ActivityType` -- The type of activity currently being done." -#~ msgstr "" - -#~ msgid ":class:`str` -- The user's current state. For example, \"In Game\"." -#~ msgstr "" - -#~ msgid ":class:`str` -- The detail of the user's current activity." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`dict` -- A dictionary of " -#~ "timestamps. It contains the following " -#~ "optional keys:" -#~ msgstr "" - -#~ msgid "" -#~ ":class:`dict` -- A dictionary representing " -#~ "the images and their hover text of" -#~ " an activity. It contains the " -#~ "following optional keys:" -#~ msgstr "" - -#~ msgid "" -#~ ":class:`dict` -- A dictionary representing " -#~ "the activity party. It contains the " -#~ "following optional keys:" -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`datetime.datetime`] -- When the " -#~ "user started doing this activity in " -#~ "UTC, if applicable." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`datetime.datetime`] -- When the " -#~ "user will stop doing this activity " -#~ "in UTC, if applicable." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`str`] -- Returns a URL " -#~ "pointing to the large image asset " -#~ "of this activity if applicable." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`str`] -- Returns a URL " -#~ "pointing to the small image asset " -#~ "of this activity if applicable." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`str`] -- Returns the large" -#~ " image asset hover text of this " -#~ "activity if applicable." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`str`] -- Returns the small" -#~ " image asset hover text of this " -#~ "activity if applicable." -#~ msgstr "" - -#~ msgid ":class:`str` -- The game's name." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`datetime.datetime`] -- When the " -#~ "user started playing this game in " -#~ "UTC, if applicable." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`datetime.datetime`] -- When the " -#~ "user will stop playing this game " -#~ "in UTC, if applicable." -#~ msgstr "" - -#~ msgid ":class:`str` -- The stream's name." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The stream's URL. " -#~ "Currently only twitch.tv URLs are " -#~ "supported. Anything else is silently " -#~ "discarded." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`str`] -- If provided, " -#~ "typically the game the streamer is " -#~ "playing." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`dict` -- A dictionary comprising " -#~ "of similar keys than those in " -#~ ":attr:`Activity.assets`." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`str`] -- If provided, the " -#~ "twitch name of the user streaming." -#~ msgstr "" - -#~ msgid "" -#~ "Returns an iterator of ``(perm, value)``" -#~ " pairs. This allows it to be, " -#~ "for example, constructed as a dict " -#~ "or a list of pairs." -#~ msgstr "" - -#~ msgid "" -#~ "A factory method that creates a " -#~ ":class:`Permissions` with all permissions set" -#~ " to True." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if the" -#~ " user can create instant invites." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if the" -#~ " user can kick users from the " -#~ "guild." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can ban users from the " -#~ "guild." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user is an administrator. This role" -#~ " overrides all other permissions." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can edit, delete, or create " -#~ "channels in the guild." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Returns ``True`` if a user can edit guild properties." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can add reactions to messages." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can view the guild's audit " -#~ "log." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can be more easily heard " -#~ "while talking." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can stream in a voice " -#~ "channel." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can read messages from all " -#~ "or specific text channels." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can send messages from all " -#~ "or specific text channels." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can send TTS messages from " -#~ "all or specific text channels." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can delete or pin messages " -#~ "in a text channel." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user's messages will automatically be " -#~ "embedded by Discord." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can send files in their " -#~ "messages." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can read a text channel's " -#~ "previous messages." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user's @everyone or @here will " -#~ "mention everyone in the text channel." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can use emojis from other " -#~ "guilds." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can connect to a voice " -#~ "channel." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can speak in a voice " -#~ "channel." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Returns ``True`` if a user can mute other users." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Returns ``True`` if a user can deafen other users." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can move users between other" -#~ " voice channels." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can use voice activation in " -#~ "voice channels." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can change their nickname in" -#~ " the guild." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can change other user's " -#~ "nickname in the guild." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can create or edit roles " -#~ "less than their role's position." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can create, edit, or delete " -#~ "webhooks." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns ``True`` if a" -#~ " user can create, edit, or delete " -#~ "emojis." -#~ msgstr "" - -#~ msgid "Supported operations:" -#~ msgstr "サポートされている操作:" - -#~ msgid "Operation" -#~ msgstr "" - -#~ msgid "x == y" -#~ msgstr "" - -#~ msgid "x != y" -#~ msgstr "" - -#~ msgid "iter(x)" -#~ msgstr "" - -#~ msgid "" -#~ "Returns an iterator of (perm, value) " -#~ "pairs. This allows this class to " -#~ "be used as an iterable in e.g. " -#~ "set/list/dict constructions." -#~ msgstr "" - -#~ msgid "Returns the (allow, deny) pair from this overwrite." -#~ msgstr "" - -#~ msgid "The value of these pairs is :class:`Permissions`." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- The raw value. This " -#~ "value is a bit array field of " -#~ "a 53-bit integer representing the " -#~ "currently available flags. You should " -#~ "query flags via the properties rather" -#~ " than using this raw value." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns True if the " -#~ "system channel is used for member " -#~ "join notifications." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Returns True if the " -#~ "system channel is used for Nitro " -#~ "boosting notifications." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`aiohttp.ClientResponse` -- The response " -#~ "of the failed HTTP request. This " -#~ "is an instance of " -#~ ":class:`aiohttp.ClientResponse`. In some cases " -#~ "this could also be a " -#~ ":class:`requests.Response`." -#~ msgstr "" - -#~ msgid ":class:`str` -- The text of the error. Could be an empty string." -#~ msgstr "" - -#~ msgid ":class:`int` -- The status code of the HTTP request." -#~ msgstr "" - -#~ msgid ":class:`int` -- The Discord specific error code for the failure." -#~ msgstr "" - -#~ msgid ":class:`int` -- The close code of the websocket." -#~ msgstr "" - -#~ msgid ":class:`str` -- The reason provided for the closure." -#~ msgstr "" - -#~ msgid "Optional[:class:`int`] -- The shard ID that got closed if applicable." -#~ msgstr "" - -#~ msgid ":class:`int` -- The error code returned." -#~ msgstr "" - diff --git a/docs/locale/ja/LC_MESSAGES/discord.po b/docs/locale/ja/LC_MESSAGES/discord.po deleted file mode 100644 index 7963ed9107..0000000000 --- a/docs/locale/ja/LC_MESSAGES/discord.po +++ /dev/null @@ -1,179 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 22:41-0400\n" -"PO-Revision-Date: 2020-10-24 02:41+0000\n" -"Last-Translator: \n" -"Language: ja_JP\n" -"Language-Team: Japanese\n" -"Plural-Forms: nplurals=1; plural=0\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.5.3\n" - -#: ../../discord.rst:4 -msgid "Creating a Bot Account" -msgstr "Botアカウント作成" - -#: ../../discord.rst:6 -msgid "" -"In order to work with the library and the Discord API in general, we must" -" first create a Discord Bot account." -msgstr "ライブラリとDiscord APIを使用するには、BotのDiscordアカウントを用意する必要があります。" - -#: ../../discord.rst:8 -msgid "Creating a Bot account is a pretty straightforward process." -msgstr "Botのアカウント作成はとても簡単です。" - -#: ../../discord.rst:10 ../../discord.rst:64 -#, fuzzy -msgid "" -"Make sure you're logged on to the `Discord website " -"`_." -msgstr "まずは `Discordのウェブサイト `_ にログインしてください。" - -#: ../../discord.rst:11 ../../discord.rst:65 -#, fuzzy -msgid "" -"Navigate to the `application page " -"`_" -msgstr "`アプリケーションページ `_ に移動します。" - -#: ../../discord.rst:12 -msgid "Click on the \"New Application\" button." -msgstr "「New Application」ボタンをクリックします。" - -#: ../../discord.rst:17 -msgid "Give the application a name and click \"Create\"." -msgstr "アプリケーションの名前を決めて、「Create」をクリックします。" - -#: ../../discord.rst:22 -msgid "" -"Create a Bot User by navigating to the \"Bot\" tab and clicking \"Add " -"Bot\"." -msgstr "「Bot」タブへ移動し、「Add Bot」をクリックしてBotユーザーを作成します。" - -#: ../../discord.rst:24 -msgid "Click \"Yes, do it!\" to continue." -msgstr "「Yes, do it!」をクリックして続行します。" - -#: ../../discord.rst:28 -msgid "" -"Make sure that **Public Bot** is ticked if you want others to invite your" -" bot." -msgstr "他人にBotの招待を許可する場合には、 **Public Bot** にチェックを入れてください。" - -#: ../../discord.rst:30 -msgid "" -"You should also make sure that **Require OAuth2 Code Grant** is unchecked" -" unless you are developing a service that needs it. If you're unsure, " -"then **leave it unchecked**." -msgstr "" -"また、必要なサービスを開発している場合を除いて、 **Require OAuth2 Code Grant** " -"がオフになっていることを確認する必要があります。わからない場合は **チェックを外してください** 。" - -#: ../../discord.rst:36 -msgid "Copy the token using the \"Copy\" button." -msgstr "「Copy」ボタンを使ってトークンをコピーします。" - -#: ../../discord.rst:38 -msgid "**This is not the Client Secret at the General Information page**" -msgstr "**General InformationページのClient Secretではないので注意してください**" - -#: ../../discord.rst:42 -msgid "" -"It should be worth noting that this token is essentially your bot's " -"password. You should **never** share this to someone else. In doing so, " -"someone can log in to your bot and do malicious things, such as leaving " -"servers, ban all members inside a server, or pinging everyone " -"maliciously." -msgstr "このトークンは、あなたのBotのパスワードと同義であることを覚えておきましょう。誰か他の人とトークンを共有することは絶対に避けてください。トークンがあれば、誰かがあなたのBotにログインし、サーバーから退出したり、サーバー内のすべてのメンバーをBANしたり、すべての人にメンションを送るなどといった悪質な行為を行える様になってしまいます。" - -#: ../../discord.rst:47 -msgid "The possibilities are endless, so **do not share this token.**" -msgstr "可能性は無限にあるので、絶対に **トークンを共有しないでください** 。" - -#: ../../discord.rst:49 -msgid "" -"If you accidentally leaked your token, click the \"Regenerate\" button as" -" soon as possible. This revokes your old token and re-generates a new " -"one. Now you need to use the new token to login." -msgstr "誤ってトークンを流出させてしまった場合、可能な限り速急に「Regenerate」ボタンをクリックしましょう。これによって古いトークンが無効になり、新しいトークンが再生成されます。今度からは新しいトークンを利用してログインを行う必要があります。" - -#: ../../discord.rst:53 -msgid "" -"And that's it. You now have a bot account and you can login with that " -"token." -msgstr "以上です。 これでボットアカウントが作成され、そのトークンでログインできます。" - -#: ../../discord.rst:58 -msgid "Inviting Your Bot" -msgstr "Botを招待する" - -#: ../../discord.rst:60 -msgid "So you've made a Bot User but it's not actually in any server." -msgstr "Botのユーザーを作成しましたが、現時点ではどのサーバーにも参加していない状態です。" - -#: ../../discord.rst:62 -msgid "If you want to invite your bot you must create an invite URL for it." -msgstr "Botを招待したい場合は、そのための招待URLを作成する必要があります。" - -#: ../../discord.rst:66 -msgid "Click on your bot's page." -msgstr "Botのページを開きます。" - -#: ../../discord.rst:67 -msgid "Go to the \"OAuth2\" tab." -msgstr "「OAuth2」タブへ移動します。" - -#: ../../discord.rst:72 -msgid "Tick the \"bot\" checkbox under \"scopes\"." -msgstr "「scopes」下にある「bot」チェックボックスを選択してください。" - -#: ../../discord.rst:77 -msgid "" -"Tick the permissions required for your bot to function under \"Bot " -"Permissions\"." -msgstr "「Bot Permissions」からBotの機能に必要な権限を選択してください。" - -#: ../../discord.rst:79 -msgid "" -"Please be aware of the consequences of requiring your bot to have the " -"\"Administrator\" permission." -msgstr "Botに「管理者」権限を要求させることによる影響は認識しておきましょう。" - -#: ../../discord.rst:81 -#, fuzzy -msgid "" -"Bot owners must have 2FA enabled for certain actions and permissions when" -" added in servers that have Server-Wide 2FA enabled. Check the `2FA " -"support page `_ for more information." -msgstr "" -"二段階認証が有効になっているサーバーにBotが追加された場合、Botの所有者は特定の動作と権限のために二段階認証を有効化させなければいけません。詳細は" -" `二段階認証のサポートページ `_ を参照してください。" - -#: ../../discord.rst:86 -msgid "" -"Now the resulting URL can be used to add your bot to a server. Copy and " -"paste the URL into your browser, choose a server to invite the bot to, " -"and click \"Authorize\"." -msgstr "結果的に生成されたURLを使ってBotをサーバーに追加することができます。URLをコピーしてブラウザに貼り付け、Botを招待したいサーバーを選択した後、「認証」をクリックしてください。" - -#: ../../discord.rst:91 -msgid "The person adding the bot needs \"Manage Server\" permissions to do so." -msgstr "Botを追加する人には「サーバー管理」権限が必要です。" - -#: ../../discord.rst:93 -msgid "" -"If you want to generate this URL dynamically at run-time inside your bot " -"and using the :class:`discord.Permissions` interface, you can use " -":func:`discord.utils.oauth_url`." -msgstr "" -"このURLを実行時に動的に生成したい場合は、 :class:`discord.Permissions` インターフェイスから " -":func:`discord.utils.oauth_url` を使用できます。" - diff --git a/docs/locale/ja/LC_MESSAGES/ext/commands/api.po b/docs/locale/ja/LC_MESSAGES/ext/commands/api.po deleted file mode 100644 index 4e7a5af974..0000000000 --- a/docs/locale/ja/LC_MESSAGES/ext/commands/api.po +++ /dev/null @@ -1,6780 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 22:41-0400\n" -"PO-Revision-Date: 2020-10-24 02:41+0000\n" -"Last-Translator: \n" -"Language: ja_JP\n" -"Language-Team: Japanese\n" -"Plural-Forms: nplurals=1; plural=0\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.5.3\n" - -#: ../../ext/commands/api.rst:4 -msgid "API Reference" -msgstr "APIリファレンス" - -#: ../../ext/commands/api.rst:6 -msgid "" -"The following section outlines the API of pycord's command extension " -"module." -msgstr "この項目ではpycordのAPIが持つコマンド拡張モジュールについて解説します。" - -#: ../../ext/commands/api.rst:11 -msgid "Bot" -msgstr "Bot" - -#: discord.ext.commands.Bot:1 of -msgid "Represents a discord bot." -msgstr "Discord Botを表します。" - -#: discord.ext.commands.Bot:3 of -msgid "" -"This class is a subclass of :class:`discord.Client` and as a result " -"anything that you can do with a :class:`discord.Client` you can do with " -"this bot." -msgstr "" -"このクラスは :class:`discord.Client` のサブクラスのため、 :class:`discord.Client` " -"でできることと同じことをこのBotで行うことができます。" - -#: discord.ext.commands.Bot:7 of -msgid "" -"This class also subclasses :class:`.GroupMixin` to provide the " -"functionality to manage commands." -msgstr "また、 :class:`.GroupMixin` も継承しており、コマンド管理の機能も使用可能です。" - -#: discord.ext.commands.Bot:12 of -msgid "" -"The command prefix is what the message content must contain initially to " -"have a command invoked. This prefix could either be a string to indicate " -"what the prefix should be, or a callable that takes in the bot as its " -"first parameter and :class:`discord.Message` as its second parameter and " -"returns the prefix. This is to facilitate \"dynamic\" command prefixes. " -"This callable can be either a regular function or a coroutine." -msgstr "" -"コマンドの接頭詞とは、コマンドの判定のためにメッセージの先頭に付けなければならないものです。接頭詞には、そのまま接頭詞として使用する文字列、または" -" :class:`discord.Message` " -"を二つ目の引数として受け取り、接頭詞を返す呼び出し可能な関数を渡すことができます。これは「動的な」接頭詞の実装を容易にするためです。" - -#: discord.ext.commands.Bot:20 of -msgid "" -"An empty string as the prefix always matches, enabling prefix-less " -"command invocation. While this may be useful in DMs it should be avoided " -"in servers, as it's likely to cause performance issues and unintended " -"command invocations." -msgstr "接頭詞に空文字列を渡せば、接頭詞なしでコマンドの呼び出しができます。これはDM上では有用ですが、サーバーでは意図せずコマンドを呼び出してしまうことに繋がるため、避けるべきです。" - -#: discord.ext.commands.Bot:25 of -msgid "" -"The command prefix could also be an iterable of strings indicating that " -"multiple checks for the prefix should be used and the first one to match " -"will be the invocation prefix. You can get this prefix via " -":attr:`.Context.prefix`. To avoid confusion empty iterables are not " -"allowed." -msgstr "" -"接頭詞は複数設定することもできます。複数の接頭詞がイテラブルで渡された場合、メッセージと最初に一致するものが接頭詞として使用されます。この接頭詞は" -" :attr:`.Context.prefix` で取得することができます。また、空のイテラブルオブジェクトは使用できません。" - -#: discord.ext.commands.Bot:33 of -msgid "" -"When passing multiple prefixes be careful to not pass a prefix that " -"matches a longer prefix occurring later in the sequence. For example, if" -" the command prefix is ``('!', '!?')`` the ``'!?'`` prefix will never be" -" matched to any message as the previous one matches messages starting " -"with ``!?``. This is especially important when passing an empty string, " -"it should always be last as no prefix after it will be matched." -msgstr "" -"複数の接頭辞を渡すとき、後の接頭辞にマッチする接頭辞を、それよりも前に渡さないよう注意してください。たとえば、接頭辞が``('!', " -"'!?')``のとき、``!?``の接頭辞は、その前のものが``!?``で始まるメッセージにマッチするため、どのメッセージにも反応しません。これは空文字列を渡すときは特に重要で、その後の接頭辞は無視されるため、空文字列は最後に置かないといけません。" - -#: discord.ext.commands.Bot:43 of -msgid "" -"Whether the commands should be case insensitive. Defaults to ``False``. " -"This attribute does not carry over to groups. You must set it to every " -"group if you require group commands to be case insensitive as well." -msgstr "" - -#: discord.ext.commands.BadBoolArgument discord.ext.commands.BadUnionArgument -#: discord.ext.commands.Bot discord.ext.commands.Bot.activity -#: discord.ext.commands.Bot.allowed_mentions -#: discord.ext.commands.Bot.cached_messages discord.ext.commands.Bot.cogs -#: discord.ext.commands.Bot.commands discord.ext.commands.Bot.emojis -#: discord.ext.commands.Bot.extensions discord.ext.commands.Bot.guilds -#: discord.ext.commands.Bot.intents discord.ext.commands.Bot.latency -#: discord.ext.commands.Bot.private_channels discord.ext.commands.Bot.user -#: discord.ext.commands.Bot.users discord.ext.commands.Bot.voice_clients -#: discord.ext.commands.BotMissingAnyRole -#: discord.ext.commands.BotMissingPermissions -#: discord.ext.commands.BotMissingRole discord.ext.commands.ChannelNotFound -#: discord.ext.commands.ChannelNotReadable discord.ext.commands.CheckAnyFailure -#: discord.ext.commands.Cog.description discord.ext.commands.Cog.qualified_name -#: discord.ext.commands.CogMeta discord.ext.commands.Command -#: discord.ext.commands.Command.cog_name -#: discord.ext.commands.Command.full_parent_name -#: discord.ext.commands.Command.parents -#: discord.ext.commands.Command.qualified_name -#: discord.ext.commands.Command.root_parent -#: discord.ext.commands.Command.short_doc -#: discord.ext.commands.Command.signature -#: discord.ext.commands.CommandInvokeError -#: discord.ext.commands.CommandOnCooldown -#: discord.ext.commands.CommandRegistrationError discord.ext.commands.Context -#: discord.ext.commands.Context.cog discord.ext.commands.Context.guild -#: discord.ext.commands.Context.valid discord.ext.commands.Context.voice_client -#: discord.ext.commands.ConversionError discord.ext.commands.DefaultHelpCommand -#: discord.ext.commands.EmojiNotFound -#: discord.ext.commands.ExpectedClosingQuoteError -#: discord.ext.commands.ExtensionError discord.ext.commands.ExtensionFailed -#: discord.ext.commands.ExtensionNotFound discord.ext.commands.Group -#: discord.ext.commands.Group.cog_name discord.ext.commands.Group.commands -#: discord.ext.commands.Group.full_parent_name -#: discord.ext.commands.Group.parents discord.ext.commands.Group.qualified_name -#: discord.ext.commands.Group.root_parent discord.ext.commands.Group.short_doc -#: discord.ext.commands.Group.signature discord.ext.commands.GroupMixin -#: discord.ext.commands.GroupMixin.commands discord.ext.commands.HelpCommand -#: discord.ext.commands.HelpCommand.clean_prefix -#: discord.ext.commands.InvalidEndOfQuotedStringError -#: discord.ext.commands.MaxConcurrencyReached -#: discord.ext.commands.MemberNotFound discord.ext.commands.MessageNotFound -#: discord.ext.commands.MinimalHelpCommand discord.ext.commands.MissingAnyRole -#: discord.ext.commands.MissingPermissions -#: discord.ext.commands.MissingRequiredArgument -#: discord.ext.commands.MissingRole discord.ext.commands.Paginator -#: discord.ext.commands.Paginator.pages -#: discord.ext.commands.PartialEmojiConversionFailure -#: discord.ext.commands.RoleNotFound discord.ext.commands.UnexpectedQuoteError -#: discord.ext.commands.UserNotFound discord.ext.commands.clean_content of -msgid "type" -msgstr "" - -#: discord.ext.commands.Bot:47 discord.ext.commands.Bot:61 -#: discord.ext.commands.Bot.is_owner:17 discord.ext.commands.Command:49 -#: discord.ext.commands.Command:86 discord.ext.commands.Command:97 -#: discord.ext.commands.Command:112 discord.ext.commands.Command:121 -#: discord.ext.commands.Command:129 discord.ext.commands.Command.can_run:16 -#: discord.ext.commands.Command.is_on_cooldown:7 -#: discord.ext.commands.CommandRegistrationError:18 -#: discord.ext.commands.Context:77 discord.ext.commands.Context.valid:3 -#: discord.ext.commands.DefaultHelpCommand:18 discord.ext.commands.Group:18 -#: discord.ext.commands.Group:25 discord.ext.commands.Group.can_run:16 -#: discord.ext.commands.Group.is_on_cooldown:7 -#: discord.ext.commands.GroupMixin:15 discord.ext.commands.HelpCommand:24 -#: discord.ext.commands.HelpCommand:31 -#: discord.ext.commands.MinimalHelpCommand:9 -#: discord.ext.commands.clean_content:10 discord.ext.commands.clean_content:16 -#: discord.ext.commands.clean_content:22 of -msgid ":class:`bool`" -msgstr "" - -#: discord.ext.commands.Bot:51 of -#, fuzzy -msgid "The content prefixed into the default help message." -msgstr ":class:`str` -- この属性に入力されたテキストは、デフォルトのヘルプメッセージの先頭に表示されます。" - -#: discord.ext.commands.BadBoolArgument:11 discord.ext.commands.Bot:53 -#: discord.ext.commands.ChannelNotFound:11 -#: discord.ext.commands.Cog.description:3 -#: discord.ext.commands.Cog.qualified_name:3 discord.ext.commands.CogMeta:37 -#: discord.ext.commands.Command:10 discord.ext.commands.Command:22 -#: discord.ext.commands.Command:34 discord.ext.commands.Command:79 -#: discord.ext.commands.Command.full_parent_name:6 -#: discord.ext.commands.Command.qualified_name:7 -#: discord.ext.commands.Command.short_doc:7 -#: discord.ext.commands.Command.signature:3 -#: discord.ext.commands.CommandRegistrationError:12 -#: discord.ext.commands.Context:41 discord.ext.commands.Context:54 -#: discord.ext.commands.DefaultHelpCommand:49 -#: discord.ext.commands.DefaultHelpCommand:56 -#: discord.ext.commands.EmojiNotFound:11 -#: discord.ext.commands.ExpectedClosingQuoteError:9 -#: discord.ext.commands.ExtensionError:9 discord.ext.commands.ExtensionFailed:9 -#: discord.ext.commands.ExtensionNotFound:12 -#: discord.ext.commands.Group.full_parent_name:6 -#: discord.ext.commands.Group.qualified_name:7 -#: discord.ext.commands.Group.short_doc:7 -#: discord.ext.commands.Group.signature:3 -#: discord.ext.commands.HelpCommand.clean_prefix:3 -#: discord.ext.commands.HelpCommand.command_not_found:13 -#: discord.ext.commands.HelpCommand.get_command_signature:7 -#: discord.ext.commands.HelpCommand.invoked_with:10 -#: discord.ext.commands.HelpCommand.remove_mentions:6 -#: discord.ext.commands.HelpCommand.subcommand_not_found:20 -#: discord.ext.commands.InvalidEndOfQuotedStringError:10 -#: discord.ext.commands.MemberNotFound:12 -#: discord.ext.commands.MessageNotFound:11 -#: discord.ext.commands.MinimalHelpCommand:16 -#: discord.ext.commands.MinimalHelpCommand:23 -#: discord.ext.commands.MinimalHelpCommand:48 -#: discord.ext.commands.MinimalHelpCommand.get_command_signature:7 -#: discord.ext.commands.MinimalHelpCommand.get_ending_note:6 -#: discord.ext.commands.MinimalHelpCommand.get_opening_note:9 -#: discord.ext.commands.Paginator:13 discord.ext.commands.Paginator:19 -#: discord.ext.commands.PartialEmojiConversionFailure:12 -#: discord.ext.commands.RoleNotFound:11 -#: discord.ext.commands.UnexpectedQuoteError:9 -#: discord.ext.commands.UserNotFound:12 of -msgid ":class:`str`" -msgstr "" - -#: discord.ext.commands.Bot:57 of -#, fuzzy -msgid "" -"If ``True``, the bot will only listen to commands invoked by itself " -"rather than ignoring itself. If ``False`` (the default) then the bot will" -" ignore itself. This cannot be changed once initialised." -msgstr "" -":class:`bool` -- ``True`` の場合、Botは自分自身を無視せず、自分自身を呼び出したコマンドのみをトリガーとします。 " -"``False`` (デフォルト)なら自分自身を無視します。初期化後には変更できません。" - -#: discord.ext.commands.Bot:65 of -#, fuzzy -msgid "" -"The help command implementation to use. This can be dynamically set at " -"runtime. To remove the help command pass ``None``. For more information " -"on implementing a help command, see :ref:`ext_commands_help_command`." -msgstr "" -"Optional[:class:`.HelpCommand`] -- " -"ヘルプコマンドの実装。これは、実行時に動的に設定できます。ヘルプコマンドを削除するには、``None`` " -"を入力してください。ヘルプコマンドの実装の詳細については、 :ref:'ext_commands_help_command' を参照してください。" - -#: discord.ext.commands.Bot:69 of -msgid "Optional[:class:`.HelpCommand`]" -msgstr "" - -#: discord.ext.commands.Bot:73 of -#, fuzzy -msgid "" -"The user ID that owns the bot. If this is not set and is then queried via" -" :meth:`.is_owner` then it is fetched automatically using " -":meth:`~.Bot.application_info`." -msgstr "" -"Optional[:class:`int`] -- Botを管理するユーザーのID。 設定されていない場合、 :meth:`.is_owner` " -"を介して参照されたとき、 :meth:`~.Bot.application_info` を用いて自動的に取得されます。" - -#: discord.ext.commands.Bot:77 discord.ext.commands.DefaultHelpCommand:36 -#: discord.ext.commands.MinimalHelpCommand:41 of -msgid "Optional[:class:`int`]" -msgstr "" - -#: discord.ext.commands.Bot:81 of -msgid "" -"The user IDs that owns the bot. This is similar to :attr:`owner_id`. If " -"this is not set and the application is team based, then it is fetched " -"automatically using :meth:`~.Bot.application_info`. For performance " -"reasons it is recommended to use a :class:`set` for the collection. You " -"cannot set both ``owner_id`` and ``owner_ids``." -msgstr "" - -#: discord.ext.commands.Bot:89 of -msgid "Optional[Collection[:class:`int`]]" -msgstr "" - -#: discord.ext.commands.Bot.activity:1 of -msgid "The activity being used upon logging in." -msgstr "" - -#: discord.ext.commands.Bot.activity:4 of -msgid "Optional[:class:`.BaseActivity`]" -msgstr "" - -#: discord.ext.commands.Bot.add_check:1 of -msgid "Adds a global check to the bot." -msgstr "ボットにグローバルチェックを追加します。" - -#: discord.ext.commands.Bot.add_check:3 of -msgid "" -"This is the non-decorator interface to :meth:`.check` and " -":meth:`.check_once`." -msgstr "これは:meth:`.check`と:meth:`.check_once`のデコレータでない実装です。" - -#: ../../ext/commands/api.rst discord.ext.commands.Bot.add_check -#: discord.ext.commands.Bot.add_cog discord.ext.commands.Bot.add_command -#: discord.ext.commands.Bot.add_listener discord.ext.commands.Bot.after_invoke -#: discord.ext.commands.Bot.before_identify_hook -#: discord.ext.commands.Bot.before_invoke -#: discord.ext.commands.Bot.change_presence discord.ext.commands.Bot.connect -#: discord.ext.commands.Bot.create_guild discord.ext.commands.Bot.delete_invite -#: discord.ext.commands.Bot.fetch_guild discord.ext.commands.Bot.fetch_guilds -#: discord.ext.commands.Bot.fetch_invite -#: discord.ext.commands.Bot.fetch_template discord.ext.commands.Bot.fetch_user -#: discord.ext.commands.Bot.fetch_user_profile -#: discord.ext.commands.Bot.fetch_widget discord.ext.commands.Bot.get_channel -#: discord.ext.commands.Bot.get_cog discord.ext.commands.Bot.get_command -#: discord.ext.commands.Bot.get_context discord.ext.commands.Bot.get_emoji -#: discord.ext.commands.Bot.get_guild discord.ext.commands.Bot.get_prefix -#: discord.ext.commands.Bot.get_user discord.ext.commands.Bot.invoke -#: discord.ext.commands.Bot.is_owner discord.ext.commands.Bot.load_extension -#: discord.ext.commands.Bot.login discord.ext.commands.Bot.process_commands -#: discord.ext.commands.Bot.reload_extension -#: discord.ext.commands.Bot.remove_check discord.ext.commands.Bot.remove_cog -#: discord.ext.commands.Bot.remove_command -#: discord.ext.commands.Bot.remove_listener -#: discord.ext.commands.Bot.request_offline_members -#: discord.ext.commands.Bot.unload_extension discord.ext.commands.Bot.wait_for -#: discord.ext.commands.CategoryChannelConverter.convert -#: discord.ext.commands.Cog.cog_after_invoke -#: discord.ext.commands.Cog.cog_before_invoke -#: discord.ext.commands.Cog.cog_command_error discord.ext.commands.Cog.listener -#: discord.ext.commands.ColourConverter.convert -#: discord.ext.commands.Command.add_check -#: discord.ext.commands.Command.after_invoke -#: discord.ext.commands.Command.before_invoke -#: discord.ext.commands.Command.can_run discord.ext.commands.Command.error -#: discord.ext.commands.Command.get_cooldown_retry_after -#: discord.ext.commands.Command.is_on_cooldown -#: discord.ext.commands.Command.remove_check -#: discord.ext.commands.Command.reset_cooldown -#: discord.ext.commands.Context.fetch_message -#: discord.ext.commands.Context.history discord.ext.commands.Context.invoke -#: discord.ext.commands.Context.reinvoke discord.ext.commands.Context.send -#: discord.ext.commands.Context.send_help -#: discord.ext.commands.Converter.convert -#: discord.ext.commands.DefaultHelpCommand.add_command_formatting -#: discord.ext.commands.DefaultHelpCommand.add_indented_commands -#: discord.ext.commands.EmojiConverter.convert -#: discord.ext.commands.GameConverter.convert -#: discord.ext.commands.Group.add_check discord.ext.commands.Group.add_command -#: discord.ext.commands.Group.after_invoke -#: discord.ext.commands.Group.before_invoke discord.ext.commands.Group.can_run -#: discord.ext.commands.Group.error discord.ext.commands.Group.get_command -#: discord.ext.commands.Group.get_cooldown_retry_after -#: discord.ext.commands.Group.is_on_cooldown -#: discord.ext.commands.Group.remove_check -#: discord.ext.commands.Group.remove_command -#: discord.ext.commands.Group.reset_cooldown -#: discord.ext.commands.GroupMixin.add_command -#: discord.ext.commands.GroupMixin.get_command -#: discord.ext.commands.GroupMixin.remove_command -#: discord.ext.commands.HelpCommand.add_check -#: discord.ext.commands.HelpCommand.command_not_found -#: discord.ext.commands.HelpCommand.filter_commands -#: discord.ext.commands.HelpCommand.get_command_signature -#: discord.ext.commands.HelpCommand.get_max_size -#: discord.ext.commands.HelpCommand.on_help_command_error -#: discord.ext.commands.HelpCommand.prepare_help_command -#: discord.ext.commands.HelpCommand.remove_check -#: discord.ext.commands.HelpCommand.send_bot_help -#: discord.ext.commands.HelpCommand.send_cog_help -#: discord.ext.commands.HelpCommand.send_command_help -#: discord.ext.commands.HelpCommand.send_error_message -#: discord.ext.commands.HelpCommand.send_group_help -#: discord.ext.commands.HelpCommand.subcommand_not_found -#: discord.ext.commands.InviteConverter.convert -#: discord.ext.commands.MemberConverter.convert -#: discord.ext.commands.MessageConverter.convert -#: discord.ext.commands.MinimalHelpCommand.add_aliases_formatting -#: discord.ext.commands.MinimalHelpCommand.add_bot_commands_formatting -#: discord.ext.commands.MinimalHelpCommand.add_command_formatting -#: discord.ext.commands.MinimalHelpCommand.add_subcommand_formatting -#: discord.ext.commands.MinimalHelpCommand.get_command_signature -#: discord.ext.commands.NSFWChannelRequired -#: discord.ext.commands.Paginator.add_line -#: discord.ext.commands.PartialEmojiConverter.convert -#: discord.ext.commands.RoleConverter.convert -#: discord.ext.commands.TextChannelConverter.convert -#: discord.ext.commands.UserConverter.convert -#: discord.ext.commands.VoiceChannelConverter.convert -#: discord.ext.commands.check discord.ext.commands.check_any -#: discord.ext.commands.clean_content.convert discord.ext.commands.command -#: discord.ext.commands.cooldown discord.ext.commands.has_any_role -#: discord.ext.commands.has_permissions discord.ext.commands.has_role -#: discord.ext.commands.max_concurrency of -msgid "Parameters" -msgstr "パラメータ" - -#: discord.ext.commands.Bot.add_check:6 of -msgid "The function that was used as a global check." -msgstr "グローバルチェックとして使用される関数。" - -#: discord.ext.commands.Bot.add_check:7 of -#, fuzzy -msgid "" -"If the function should only be called once per :meth:`.Command.invoke` " -"call." -msgstr "その関数が :meth:`Command.invoke` の呼び出し時に、一度だけ呼び出されるべきかどうか。" - -#: discord.ext.commands.Bot.add_cog:1 of -msgid "Adds a \"cog\" to the bot." -msgstr "botに「コグ」を追加します。" - -#: discord.ext.commands.Bot.add_cog:3 of -msgid "A cog is a class that has its own event listeners and commands." -msgstr "コグは、イベントリスナーとコマンドを持つクラスです。" - -#: discord.ext.commands.Bot.add_cog:5 of -msgid "The cog to register to the bot." -msgstr "ボットに登録するコグ。" - -#: discord.ext.commands.Bot.add_cog discord.ext.commands.Bot.add_command -#: discord.ext.commands.Bot.after_invoke -#: discord.ext.commands.Bot.application_info -#: discord.ext.commands.Bot.before_invoke -#: discord.ext.commands.Bot.change_presence discord.ext.commands.Bot.connect -#: discord.ext.commands.Bot.create_guild discord.ext.commands.Bot.delete_invite -#: discord.ext.commands.Bot.event discord.ext.commands.Bot.fetch_channel -#: discord.ext.commands.Bot.fetch_guild discord.ext.commands.Bot.fetch_guilds -#: discord.ext.commands.Bot.fetch_invite -#: discord.ext.commands.Bot.fetch_template discord.ext.commands.Bot.fetch_user -#: discord.ext.commands.Bot.fetch_user_profile -#: discord.ext.commands.Bot.fetch_webhook discord.ext.commands.Bot.fetch_widget -#: discord.ext.commands.Bot.listen discord.ext.commands.Bot.load_extension -#: discord.ext.commands.Bot.login discord.ext.commands.Bot.reload_extension -#: discord.ext.commands.Bot.request_offline_members -#: discord.ext.commands.Bot.start discord.ext.commands.Bot.unload_extension -#: discord.ext.commands.Bot.wait_for -#: discord.ext.commands.CategoryChannelConverter.convert -#: discord.ext.commands.Cog.listener -#: discord.ext.commands.ColourConverter.convert -#: discord.ext.commands.Command.after_invoke -#: discord.ext.commands.Command.before_invoke -#: discord.ext.commands.Command.can_run discord.ext.commands.Command.error -#: discord.ext.commands.Context.fetch_message -#: discord.ext.commands.Context.history discord.ext.commands.Context.invoke -#: discord.ext.commands.Context.pins discord.ext.commands.Context.reinvoke -#: discord.ext.commands.Context.send discord.ext.commands.Converter.convert -#: discord.ext.commands.EmojiConverter.convert -#: discord.ext.commands.GameConverter.convert -#: discord.ext.commands.Group.add_command -#: discord.ext.commands.Group.after_invoke -#: discord.ext.commands.Group.before_invoke discord.ext.commands.Group.can_run -#: discord.ext.commands.Group.error discord.ext.commands.GroupMixin.add_command -#: discord.ext.commands.InviteConverter.convert -#: discord.ext.commands.MemberConverter.convert -#: discord.ext.commands.MessageConverter.convert -#: discord.ext.commands.Paginator.add_line -#: discord.ext.commands.PartialEmojiConverter.convert -#: discord.ext.commands.RoleConverter.convert -#: discord.ext.commands.TextChannelConverter.convert -#: discord.ext.commands.UserConverter.convert -#: discord.ext.commands.VoiceChannelConverter.convert -#: discord.ext.commands.check_any discord.ext.commands.clean_content.convert -#: discord.ext.commands.command of -#, fuzzy -msgid "Raises" -msgstr "例外" - -#: discord.ext.commands.Bot.add_cog:8 of -#, fuzzy -msgid "The cog does not inherit from :class:`.Cog`." -msgstr ":exc:`TypeError -- コグが :class:`.Cog` を継承していない。" - -#: discord.ext.commands.Bot.add_cog:9 of -#, fuzzy -msgid "An error happened during loading." -msgstr ":exc:`CommandError` -- 読み込み中にエラーが発生した。" - -#: discord.ext.commands.Bot.add_command:1 -#: discord.ext.commands.Group.add_command:1 -#: discord.ext.commands.GroupMixin.add_command:1 of -#, fuzzy -msgid "Adds a :class:`.Command` into the internal list of commands." -msgstr ":class:`.Command`やそのサブクラスを内部のコマンドリストに追加します。" - -#: discord.ext.commands.Bot.add_command:3 -#: discord.ext.commands.Group.add_command:3 -#: discord.ext.commands.GroupMixin.add_command:3 of -msgid "" -"This is usually not called, instead the :meth:`~.GroupMixin.command` or " -":meth:`~.GroupMixin.group` shortcut decorators are used instead." -msgstr "" -"これは通常、呼び出されません。代わりに :meth:`~.GroupMixin.command` か " -":meth:`~.GroupMixin.group` のショートカットデコレータが使われます。" - -#: discord.ext.commands.Bot.add_command:6 -#: discord.ext.commands.Group.add_command:6 -#: discord.ext.commands.GroupMixin.add_command:6 of -msgid "" -"Raise :exc:`.CommandRegistrationError` instead of generic " -":exc:`.ClientException`" -msgstr "" - -#: discord.ext.commands.Bot.add_command:9 -#: discord.ext.commands.Group.add_command:9 -#: discord.ext.commands.GroupMixin.add_command:9 of -msgid "The command to add." -msgstr "追加するコマンド。" - -#: discord.ext.commands.Bot.add_command:12 -#: discord.ext.commands.Group.add_command:12 -#: discord.ext.commands.GroupMixin.add_command:12 of -msgid "If the command or its alias is already registered by different command." -msgstr "" - -#: discord.ext.commands.Bot.add_command:13 -#: discord.ext.commands.Group.add_command:13 -#: discord.ext.commands.GroupMixin.add_command:13 of -#, fuzzy -msgid "If the command passed is not a subclass of :class:`.Command`." -msgstr ":exc:`TypeError` -- 渡されたコマンドが:class:`.Command`のサブコマンドではないという例外" - -#: discord.ext.commands.Bot.add_listener:1 of -msgid "The non decorator alternative to :meth:`.listen`." -msgstr ":meth:`.listen` の代替の非デコレータ" - -#: discord.ext.commands.Bot.add_listener:3 of -msgid "The function to call." -msgstr "呼び出される関数" - -#: discord.ext.commands.Bot.add_listener:5 of -msgid "The name of the event to listen for. Defaults to ``func.__name__``." -msgstr "待機するイベントの名前。デフォルトでは ``func.__name__`` です。" - -#: discord.ext.commands.Bot.add_listener:9 -#: discord.ext.commands.Bot.change_presence:6 discord.ext.commands.Bot.check:16 -#: discord.ext.commands.Bot.check_once:26 discord.ext.commands.Bot.event:8 -#: discord.ext.commands.Bot.listen:8 discord.ext.commands.before_invoke:9 -#: discord.ext.commands.has_any_role:20 discord.ext.commands.has_permissions:16 -#: discord.ext.commands.when_mentioned_or:6 of -msgid "Example" -msgstr "例" - -#: discord.ext.commands.Bot.after_invoke:1 -#: discord.ext.commands.Command.after_invoke:1 -#: discord.ext.commands.Group.after_invoke:1 -#: discord.ext.commands.after_invoke:1 of -msgid "A decorator that registers a coroutine as a post-invoke hook." -msgstr "" - -#: discord.ext.commands.Bot.after_invoke:3 -#: discord.ext.commands.Command.after_invoke:3 -#: discord.ext.commands.Group.after_invoke:3 of -msgid "" -"A post-invoke hook is called directly after the command is called. This " -"makes it a useful function to clean-up database connections or any type " -"of clean up required." -msgstr "" - -#: discord.ext.commands.Bot.after_invoke:7 -#: discord.ext.commands.Command.after_invoke:7 -#: discord.ext.commands.Group.after_invoke:7 of -msgid "This post-invoke hook takes a sole parameter, a :class:`.Context`." -msgstr "" - -#: discord.ext.commands.Bot.after_invoke:11 of -msgid "" -"Similar to :meth:`~.Bot.before_invoke`\\, this is not called unless " -"checks and argument parsing procedures succeed. This hook is, however, " -"**always** called regardless of the internal command callback raising an " -"error (i.e. :exc:`.CommandInvokeError`\\). This makes it ideal for clean-" -"up scenarios." -msgstr "" - -#: discord.ext.commands.Bot.after_invoke:17 -#: discord.ext.commands.Command.after_invoke:11 -#: discord.ext.commands.Group.after_invoke:11 of -msgid "The coroutine to register as the post-invoke hook." -msgstr "" - -#: discord.ext.commands.Bot.after_invoke:20 -#: discord.ext.commands.Bot.before_invoke:19 discord.ext.commands.Bot.event:15 -#: discord.ext.commands.Command.after_invoke:14 -#: discord.ext.commands.Command.before_invoke:14 -#: discord.ext.commands.Command.error:10 -#: discord.ext.commands.Group.after_invoke:14 -#: discord.ext.commands.Group.before_invoke:14 -#: discord.ext.commands.Group.error:10 of -#, fuzzy -msgid "The coroutine passed is not actually a coroutine." -msgstr ":exc:`TypeError` -- 渡されたコルーチンが実際はコルーチンではない。" - -#: discord.ext.commands.Bot.allowed_mentions:1 of -msgid "The allowed mention configuration." -msgstr "" - -#: discord.ext.commands.Bot.allowed_mentions:5 of -msgid "Optional[:class:`~discord.AllowedMentions`]" -msgstr "" - -#: discord.ext.commands.Bot.application_info:1 -#: discord.ext.commands.Bot.before_identify_hook:1 -#: discord.ext.commands.Bot.change_presence:1 -#: discord.ext.commands.Bot.connect:1 discord.ext.commands.Bot.create_guild:1 -#: discord.ext.commands.Bot.delete_invite:1 -#: discord.ext.commands.Bot.fetch_channel:1 -#: discord.ext.commands.Bot.fetch_guild:1 -#: discord.ext.commands.Bot.fetch_guilds:1 -#: discord.ext.commands.Bot.fetch_invite:1 -#: discord.ext.commands.Bot.fetch_template:1 -#: discord.ext.commands.Bot.fetch_user:1 -#: discord.ext.commands.Bot.fetch_user_profile:1 -#: discord.ext.commands.Bot.fetch_webhook:1 -#: discord.ext.commands.Bot.fetch_widget:1 -#: discord.ext.commands.Bot.get_context:1 discord.ext.commands.Bot.get_prefix:1 -#: discord.ext.commands.Bot.invoke:1 discord.ext.commands.Bot.is_owner:1 -#: discord.ext.commands.Bot.login:1 discord.ext.commands.Bot.logout:1 -#: discord.ext.commands.Bot.on_command_error:1 -#: discord.ext.commands.Bot.on_error:1 -#: discord.ext.commands.Bot.process_commands:1 -#: discord.ext.commands.Bot.request_offline_members:1 -#: discord.ext.commands.Bot.start:1 discord.ext.commands.Bot.wait_for:1 -#: discord.ext.commands.Bot.wait_until_ready:1 -#: discord.ext.commands.CategoryChannelConverter.convert:1 -#: discord.ext.commands.ColourConverter.convert:1 -#: discord.ext.commands.Command.__call__:1 -#: discord.ext.commands.Command.can_run:1 -#: discord.ext.commands.Context.fetch_message:1 -#: discord.ext.commands.Context.invoke:1 discord.ext.commands.Context.pins:1 -#: discord.ext.commands.Context.reinvoke:1 discord.ext.commands.Context.send:1 -#: discord.ext.commands.Context.send_help:1 -#: discord.ext.commands.Context.trigger_typing:1 -#: discord.ext.commands.Converter.convert:1 -#: discord.ext.commands.EmojiConverter.convert:1 -#: discord.ext.commands.GameConverter.convert:1 -#: discord.ext.commands.Group.can_run:1 -#: discord.ext.commands.HelpCommand.command_callback:1 -#: discord.ext.commands.HelpCommand.filter_commands:1 -#: discord.ext.commands.HelpCommand.on_help_command_error:1 -#: discord.ext.commands.HelpCommand.prepare_help_command:1 -#: discord.ext.commands.HelpCommand.send_bot_help:1 -#: discord.ext.commands.HelpCommand.send_cog_help:1 -#: discord.ext.commands.HelpCommand.send_command_help:1 -#: discord.ext.commands.HelpCommand.send_error_message:1 -#: discord.ext.commands.HelpCommand.send_group_help:1 -#: discord.ext.commands.InviteConverter.convert:1 -#: discord.ext.commands.MemberConverter.convert:1 -#: discord.ext.commands.MessageConverter.convert:1 -#: discord.ext.commands.PartialEmojiConverter.convert:1 -#: discord.ext.commands.RoleConverter.convert:1 -#: discord.ext.commands.TextChannelConverter.convert:1 -#: discord.ext.commands.UserConverter.convert:1 -#: discord.ext.commands.VoiceChannelConverter.convert:1 -#: discord.ext.commands.clean_content.convert:1 of -msgid "|coro|" -msgstr "|coro|" - -#: discord.ext.commands.Bot.application_info:3 of -msgid "Retrieves the bot's application information." -msgstr "Botのアプリケーション情報を取得します。" - -#: discord.ext.commands.Bot.application_info:5 of -#, fuzzy -msgid "Retrieving the information failed somehow." -msgstr ":exc:`.HTTPException` -- 何らかの要因で情報の取得に失敗した。" - -#: discord.ext.commands.Bot.application_info discord.ext.commands.Bot.command -#: discord.ext.commands.Bot.create_guild discord.ext.commands.Bot.fetch_channel -#: discord.ext.commands.Bot.fetch_guild discord.ext.commands.Bot.fetch_invite -#: discord.ext.commands.Bot.fetch_template discord.ext.commands.Bot.fetch_user -#: discord.ext.commands.Bot.fetch_user_profile -#: discord.ext.commands.Bot.fetch_webhook discord.ext.commands.Bot.fetch_widget -#: discord.ext.commands.Bot.get_channel discord.ext.commands.Bot.get_cog -#: discord.ext.commands.Bot.get_command discord.ext.commands.Bot.get_context -#: discord.ext.commands.Bot.get_emoji discord.ext.commands.Bot.get_guild -#: discord.ext.commands.Bot.get_prefix discord.ext.commands.Bot.get_user -#: discord.ext.commands.Bot.group discord.ext.commands.Bot.is_owner -#: discord.ext.commands.Bot.remove_command discord.ext.commands.Bot.wait_for -#: discord.ext.commands.Cog.get_commands discord.ext.commands.Cog.get_listeners -#: discord.ext.commands.Command.can_run discord.ext.commands.Command.copy -#: discord.ext.commands.Command.get_cooldown_retry_after -#: discord.ext.commands.Command.is_on_cooldown -#: discord.ext.commands.Context.fetch_message discord.ext.commands.Context.pins -#: discord.ext.commands.Context.send discord.ext.commands.Context.send_help -#: discord.ext.commands.DefaultHelpCommand.get_destination -#: discord.ext.commands.Group.can_run discord.ext.commands.Group.command -#: discord.ext.commands.Group.copy discord.ext.commands.Group.get_command -#: discord.ext.commands.Group.get_cooldown_retry_after -#: discord.ext.commands.Group.group discord.ext.commands.Group.is_on_cooldown -#: discord.ext.commands.Group.remove_command -#: discord.ext.commands.GroupMixin.command -#: discord.ext.commands.GroupMixin.get_command -#: discord.ext.commands.GroupMixin.group -#: discord.ext.commands.GroupMixin.remove_command -#: discord.ext.commands.HelpCommand.cog -#: discord.ext.commands.HelpCommand.command_not_found -#: discord.ext.commands.HelpCommand.filter_commands -#: discord.ext.commands.HelpCommand.get_command_signature -#: discord.ext.commands.HelpCommand.get_destination -#: discord.ext.commands.HelpCommand.get_max_size -#: discord.ext.commands.HelpCommand.invoked_with -#: discord.ext.commands.HelpCommand.remove_mentions -#: discord.ext.commands.HelpCommand.subcommand_not_found -#: discord.ext.commands.MinimalHelpCommand.get_command_signature -#: discord.ext.commands.MinimalHelpCommand.get_destination -#: discord.ext.commands.MinimalHelpCommand.get_ending_note -#: discord.ext.commands.MinimalHelpCommand.get_opening_note of -msgid "Returns" -msgstr "戻り値" - -#: discord.ext.commands.Bot.application_info:7 of -msgid "The bot's application information." -msgstr "Botのアプリケーション情報。" - -#: discord.ext.commands.Bot.application_info discord.ext.commands.Bot.command -#: discord.ext.commands.Bot.create_guild discord.ext.commands.Bot.fetch_channel -#: discord.ext.commands.Bot.fetch_guild discord.ext.commands.Bot.fetch_invite -#: discord.ext.commands.Bot.fetch_template discord.ext.commands.Bot.fetch_user -#: discord.ext.commands.Bot.fetch_user_profile -#: discord.ext.commands.Bot.fetch_webhook discord.ext.commands.Bot.fetch_widget -#: discord.ext.commands.Bot.get_channel discord.ext.commands.Bot.get_cog -#: discord.ext.commands.Bot.get_command discord.ext.commands.Bot.get_context -#: discord.ext.commands.Bot.get_emoji discord.ext.commands.Bot.get_guild -#: discord.ext.commands.Bot.get_prefix discord.ext.commands.Bot.get_user -#: discord.ext.commands.Bot.group discord.ext.commands.Bot.is_owner -#: discord.ext.commands.Bot.remove_command discord.ext.commands.Bot.wait_for -#: discord.ext.commands.Cog.get_commands discord.ext.commands.Cog.get_listeners -#: discord.ext.commands.Command.can_run discord.ext.commands.Command.copy -#: discord.ext.commands.Command.get_cooldown_retry_after -#: discord.ext.commands.Command.is_on_cooldown -#: discord.ext.commands.Context.fetch_message discord.ext.commands.Context.pins -#: discord.ext.commands.Context.send discord.ext.commands.Context.send_help -#: discord.ext.commands.DefaultHelpCommand.get_destination -#: discord.ext.commands.Group.can_run discord.ext.commands.Group.command -#: discord.ext.commands.Group.copy discord.ext.commands.Group.get_command -#: discord.ext.commands.Group.get_cooldown_retry_after -#: discord.ext.commands.Group.group discord.ext.commands.Group.is_on_cooldown -#: discord.ext.commands.Group.remove_command -#: discord.ext.commands.GroupMixin.command -#: discord.ext.commands.GroupMixin.get_command -#: discord.ext.commands.GroupMixin.group -#: discord.ext.commands.GroupMixin.remove_command -#: discord.ext.commands.HelpCommand.cog -#: discord.ext.commands.HelpCommand.command_not_found -#: discord.ext.commands.HelpCommand.filter_commands -#: discord.ext.commands.HelpCommand.get_command_signature -#: discord.ext.commands.HelpCommand.get_destination -#: discord.ext.commands.HelpCommand.get_max_size -#: discord.ext.commands.HelpCommand.invoked_with -#: discord.ext.commands.HelpCommand.remove_mentions -#: discord.ext.commands.HelpCommand.subcommand_not_found -#: discord.ext.commands.MinimalHelpCommand.get_command_signature -#: discord.ext.commands.MinimalHelpCommand.get_destination -#: discord.ext.commands.MinimalHelpCommand.get_ending_note -#: discord.ext.commands.MinimalHelpCommand.get_opening_note of -msgid "Return type" -msgstr "戻り値の型" - -#: discord.ext.commands.Bot.application_info:8 of -msgid ":class:`.AppInfo`" -msgstr ":class:`.AppInfo`" - -#: discord.ext.commands.Bot.before_identify_hook:3 of -msgid "" -"A hook that is called before IDENTIFYing a session. This is useful if you" -" wish to have more control over the synchronization of multiple " -"IDENTIFYing clients." -msgstr "" - -#: discord.ext.commands.Bot.before_identify_hook:7 of -msgid "The default implementation sleeps for 5 seconds." -msgstr "" - -#: discord.ext.commands.Bot.before_identify_hook:11 of -msgid "The shard ID that requested being IDENTIFY'd" -msgstr "" - -#: discord.ext.commands.Bot.before_identify_hook:13 of -msgid "Whether this IDENTIFY is the first initial IDENTIFY." -msgstr "" - -#: discord.ext.commands.Bot.before_invoke:1 -#: discord.ext.commands.Command.before_invoke:1 -#: discord.ext.commands.Group.before_invoke:1 -#: discord.ext.commands.before_invoke:1 of -msgid "A decorator that registers a coroutine as a pre-invoke hook." -msgstr "" - -#: discord.ext.commands.Bot.before_invoke:3 -#: discord.ext.commands.Command.before_invoke:3 -#: discord.ext.commands.Group.before_invoke:3 of -msgid "" -"A pre-invoke hook is called directly before the command is called. This " -"makes it a useful function to set up database connections or any type of " -"set up required." -msgstr "" - -#: discord.ext.commands.Bot.before_invoke:7 -#: discord.ext.commands.Command.before_invoke:7 -#: discord.ext.commands.Group.before_invoke:7 of -msgid "This pre-invoke hook takes a sole parameter, a :class:`.Context`." -msgstr "" - -#: discord.ext.commands.Bot.before_invoke:11 of -msgid "" -"The :meth:`~.Bot.before_invoke` and :meth:`~.Bot.after_invoke` hooks are " -"only called if all checks and argument parsing procedures pass without " -"error. If any check or argument parsing procedures fail then the hooks " -"are not called." -msgstr "" - -#: discord.ext.commands.Bot.before_invoke:16 -#: discord.ext.commands.Command.before_invoke:11 -#: discord.ext.commands.Group.before_invoke:11 of -msgid "The coroutine to register as the pre-invoke hook." -msgstr "" - -#: discord.ext.commands.Bot.cached_messages:1 of -#, fuzzy -msgid "Read-only list of messages the connected client has cached." -msgstr "Sequence[:class:`.Message`] -- 接続されたクライアントにキャッシュされたメッセージの、読み取り専用リスト。" - -#: discord.ext.commands.Bot.cached_messages:5 of -msgid "Sequence[:class:`.Message`]" -msgstr "" - -#: discord.ext.commands.Bot.change_presence:3 of -msgid "Changes the client's presence." -msgstr "クライアントのステータスを変更します。" - -#: discord.ext.commands.Bot.change_presence:12 of -msgid "The activity being done. ``None`` if no currently active activity is done." -msgstr "実行中のアクティビティ。何も実行していない場合は ``None`` を返します。" - -#: discord.ext.commands.Bot.change_presence:14 of -msgid "" -"Indicates what status to change to. If ``None``, then " -":attr:`.Status.online` is used." -msgstr "変更するステータスを示します。 ``None`` の場合、 :attr:`.Status.online` が使用されます。" - -#: discord.ext.commands.Bot.change_presence:17 of -msgid "" -"Indicates if you are going AFK. This allows the discord client to know " -"how to handle push notifications better for you in case you are actually " -"idle and not lying." -msgstr "ステータスを退席中に変更するかどうかを返します。これによって、実際にアイドル状態に移行した場合において、Discordクライアントにプッシュ通知をより適切に処理させることができます。" - -#: discord.ext.commands.Bot.change_presence:22 of -#, fuzzy -msgid "If the ``activity`` parameter is not the proper type." -msgstr ":exc:`.InvalidArgument` -- ``activity`` に渡された値が適切な型でない。" - -#: discord.ext.commands.Bot.check:1 of -msgid "A decorator that adds a global check to the bot." -msgstr "Botにグローバルチェックを追加するデコレーター" - -#: discord.ext.commands.Bot.check:3 of -msgid "" -"A global check is similar to a :func:`.check` that is applied on a per " -"command basis except it is run before any command checks have been " -"verified and applies to every command the bot has." -msgstr "" -"このグローバルチェックは、 :func:`.check` " -"がコマンドごとに適用されるのと似ていますが、コマンドチェックが検証され、かつBotが持つすべてのコマンドが適用される前に実行される点で異なります。" - -#: discord.ext.commands.Bot.check:9 discord.ext.commands.Bot.check_once:19 of -msgid "This function can either be a regular function or a coroutine." -msgstr "この関数は、通常の関数かコルーチン、どちらでも成り得ます。" - -#: discord.ext.commands.Bot.check:11 discord.ext.commands.Bot.check_once:21 of -msgid "" -"Similar to a command :func:`.check`\\, this takes a single parameter of " -"type :class:`.Context` and can only raise exceptions inherited from " -":exc:`.CommandError`." -msgstr "" -":func:`.check` コマンドと同様、 :class:`.Context` 型の単一のパラメータを取り、 " -":exc:`.CommandError` から継承された例外のみを投げることができます。" - -#: discord.ext.commands.Bot.check_once:1 of -msgid "A decorator that adds a \"call once\" global check to the bot." -msgstr "Botに「一度だけ実行される」グローバルチェックを追加するデコレーター" - -#: discord.ext.commands.Bot.check_once:3 of -#, fuzzy -msgid "" -"Unlike regular global checks, this one is called only once per " -":meth:`.Command.invoke` call." -msgstr "通常のグローバルチェックと違って、これは :meth:`Command.invoke` が呼ばれる毎に一度だけ実行されます。" - -#: discord.ext.commands.Bot.check_once:6 of -msgid "" -"Regular global checks are called whenever a command is called or " -":meth:`.Command.can_run` is called. This type of check bypasses that and " -"ensures that it's called only once, even inside the default help command." -msgstr "" -"通常のグローバルチェックは、コマンドが呼び出されるか :meth:`.Command.can_run` " -"が呼び出されるたび、実行されます。しかしこのグローバルチェックはそれを迂回し、デフォルトのhelpコマンドの中であっても、たった一度だけ呼ばれます。" - -#: discord.ext.commands.Bot.check_once:13 of -msgid "" -"When using this function the :class:`.Context` sent to a group subcommand" -" may only parse the parent command and not the subcommands due to it " -"being invoked once per :meth:`.Bot.invoke` call." -msgstr "" - -#: discord.ext.commands.Bot.clear:1 of -msgid "Clears the internal state of the bot." -msgstr "Botの内部状態をクリアします。" - -#: discord.ext.commands.Bot.clear:3 of -msgid "" -"After this, the bot can be considered \"re-opened\", i.e. " -":meth:`is_closed` and :meth:`is_ready` both return ``False`` along with " -"the bot's internal cache cleared." -msgstr "" -"これが実行されると、Botは「再実行」されたと見なされます。また、これにより :meth:`is_closed` や " -":meth:`is_ready` は ``False`` を返し、内部のキャッシュもクリアされます。" - -#: discord.ext.commands.Bot.cogs:1 of -#, fuzzy -msgid "A read-only mapping of cog name to cog." -msgstr "Mapping[:class:`str`, :class:`Cog`] -- コグ名から、コグへの読み取り専用マッピング。" - -#: discord.ext.commands.Bot.cogs:3 of -msgid "Mapping[:class:`str`, :class:`Cog`]" -msgstr "" - -#: discord.ext.commands.Bot.command:1 discord.ext.commands.Group.command:1 -#: discord.ext.commands.GroupMixin.command:1 of -msgid "" -"A shortcut decorator that invokes :func:`.command` and adds it to the " -"internal command list via :meth:`~.GroupMixin.add_command`." -msgstr "" -":func:`.command` を呼び出し、 :meth:`~.GroupMixin.add_command` " -"を介して内部コマンドリストに追加するショートカットデコレータ。" - -#: discord.ext.commands.Bot.command:4 discord.ext.commands.Group.command:4 -#: discord.ext.commands.GroupMixin.command:4 of -msgid "" -"A decorator that converts the provided method into a Command, adds it to " -"the bot, then returns it." -msgstr "" - -#: discord.ext.commands.Bot.command:5 discord.ext.commands.Group.command:5 -#: discord.ext.commands.GroupMixin.command:5 of -msgid "Callable[..., :class:`Command`]" -msgstr "" - -#: discord.ext.commands.Bot.commands:1 discord.ext.commands.Group.commands:1 -#: discord.ext.commands.GroupMixin.commands:1 of -#, fuzzy -msgid "A unique set of commands without aliases that are registered." -msgstr "Set[:class:`.Command`] -- 登録済みの別名がない固有のコマンドセット。" - -#: discord.ext.commands.Bot.commands:3 discord.ext.commands.Group.commands:3 -#: discord.ext.commands.GroupMixin.commands:3 of -#, fuzzy -msgid "Set[:class:`.Command`]" -msgstr ":class:`Command` またはサブクラス" - -#: discord.ext.commands.Bot.connect:3 of -msgid "" -"Creates a websocket connection and lets the websocket listen to messages " -"from Discord. This is a loop that runs the entire event system and " -"miscellaneous aspects of the library. Control is not resumed until the " -"WebSocket connection is terminated." -msgstr "WebSocket接続を作成し、Discordからのメッセージをリッスンできるようにします。これはイベントシステム全体とライブラリの様々な機能を実行するループです。WebSocket接続が終了するまで、プログラムは再開されません。" - -#: discord.ext.commands.Bot.connect:8 of -msgid "" -"If we should attempt reconnecting, either due to internet failure or a " -"specific failure on Discord's part. Certain disconnects that lead to bad " -"state will not be handled (such as invalid sharding payloads or bad " -"tokens)." -msgstr "" -"インターネットの障害やDiscord側の特定の障害が発生した際、再接続を試みるかどうかを表します。不正な状態へ移行する可能性がある特定の切断(無効なシャーディングpayloadや不正なトークンなど)" -" は処理されません。" - -#: discord.ext.commands.Bot.connect:14 of -#, fuzzy -msgid "" -"If the gateway to connect to Discord is not found. Usually if this is" -" thrown then there is a Discord API outage." -msgstr "" -":exc:`.GatewayNotFound` -- " -"Discordに接続するためのゲートウェイが見つからない。通常、これが発生した場合はDiscordAPIのエラーが考えられます。" - -#: discord.ext.commands.Bot.connect:15 of -#, fuzzy -msgid "The websocket connection has been terminated." -msgstr ":exc:`.ConnectionClosed` -- WebSocket接続は既に終了した。" - -#: discord.ext.commands.Bot.create_guild:3 of -msgid "Creates a :class:`.Guild`." -msgstr ":class:`.Guild` を作成します。" - -#: discord.ext.commands.Bot.create_guild:5 of -msgid "Bot accounts in more than 10 guilds are not allowed to create guilds." -msgstr "10以上のギルドに参加しているBotアカウントは、ギルドの作成ができません。" - -#: discord.ext.commands.Bot.create_guild:7 of -msgid "The name of the guild." -msgstr "ギルドの名前。" - -#: discord.ext.commands.Bot.create_guild:9 of -msgid "" -"The region for the voice communication server. Defaults to " -":attr:`.VoiceRegion.us_west`." -msgstr "音声通話に利用されるサーバーの地域。デフォルト値は :attr:`.VoiceRegion.us_west` 。" - -#: discord.ext.commands.Bot.create_guild:12 of -msgid "" -"The :term:`py:bytes-like object` representing the icon. See " -":meth:`.ClientUser.edit` for more details on what is expected." -msgstr "" - -#: discord.ext.commands.Bot.create_guild:15 of -msgid "The code for a template to create the guild with. .. versionadded:: 1.4" -msgstr "" - -#: discord.ext.commands.Bot.create_guild:15 of -msgid "The code for a template to create the guild with." -msgstr "" - -#: discord.ext.commands.Bot.create_guild:20 of -#, fuzzy -msgid "Guild creation failed." -msgstr ":exc:`.HTTPException` -- ギルドの作成に失敗した。" - -#: discord.ext.commands.Bot.create_guild:21 of -msgid "Invalid icon image format given. Must be PNG or JPG." -msgstr "" - -#: discord.ext.commands.Bot.create_guild:23 of -msgid "The guild created. This is not the same guild that is added to cache." -msgstr "" - -#: discord.ext.commands.Bot.create_guild:25 -#: discord.ext.commands.Bot.fetch_guild:21 of -msgid ":class:`.Guild`" -msgstr ":class:`.Guild`" - -#: discord.ext.commands.Bot.delete_invite:3 of -msgid "Revokes an :class:`.Invite`, URL, or ID to an invite." -msgstr ":class:`.Invite` や、招待のURL、IDを削除します。" - -#: discord.ext.commands.Bot.delete_invite:5 of -msgid "" -"You must have the :attr:`~.Permissions.manage_channels` permission in the" -" associated guild to do this." -msgstr "これを行うには、関連付けられたGuildにて、 :attr:`~.Permissions.manage_channels` 権限が必要です。" - -#: discord.ext.commands.Bot.delete_invite:8 of -msgid "The invite to revoke." -msgstr "取り消す招待。" - -#: discord.ext.commands.Bot.delete_invite:11 of -#, fuzzy -msgid "You do not have permissions to revoke invites." -msgstr ":exc:`.Forbidden` -- 招待を取り消す権限が無い。" - -#: discord.ext.commands.Bot.delete_invite:12 of -#, fuzzy -msgid "The invite is invalid or expired." -msgstr ":exc:`.NotFound` -- 招待が無効、あるいは期限切れになっている。" - -#: discord.ext.commands.Bot.delete_invite:13 of -#, fuzzy -msgid "Revoking the invite failed." -msgstr ":exc:`.HTTPException` -- 招待の取り消しに失敗した。" - -#: discord.ext.commands.Bot.emojis:1 of -#, fuzzy -msgid "The emojis that the connected client has." -msgstr "List[:class:`.Emoji`] -- 接続したクライアントがアクセスできる絵文字。" - -#: discord.ext.commands.Bot.emojis:3 of -#, fuzzy -msgid "List[:class:`.Emoji`]" -msgstr ":class:`.Guild`" - -#: discord.ext.commands.Bot.event:1 of -msgid "A decorator that registers an event to listen to." -msgstr "リッスンするイベントを登録するデコレータ。" - -#: discord.ext.commands.Bot.event:3 of -msgid "" -"You can find more info about the events on the :ref:`documentation below " -"`." -msgstr "イベントの詳細については :ref:`以下のドキュメント ` を参照してください。" - -#: discord.ext.commands.Bot.event:5 of -msgid "" -"The events must be a :ref:`coroutine `, if not, " -":exc:`TypeError` is raised." -msgstr "イベントは :ref:`コルーチン ` でなければいけません。違う場合は :exc:`TypeError` が発生します。" - -#: discord.ext.commands.Bot.extensions:1 of -msgid "A read-only mapping of extension name to extension." -msgstr "" - -#: discord.ext.commands.Bot.extensions:3 of -msgid "Mapping[:class:`str`, :class:`py:types.ModuleType`]" -msgstr "" - -#: discord.ext.commands.Bot.fetch_channel:3 of -msgid "" -"Retrieves a :class:`.abc.GuildChannel` or :class:`.abc.PrivateChannel` " -"with the specified ID." -msgstr "" - -#: discord.ext.commands.Bot.fetch_channel:7 of -msgid "" -"This method is an API call. For general usage, consider " -":meth:`get_channel` instead." -msgstr "" - -#: discord.ext.commands.Bot.fetch_channel:11 of -msgid "An unknown channel type was received from Discord." -msgstr "" - -#: discord.ext.commands.Bot.fetch_channel:12 of -#, fuzzy -msgid "Retrieving the channel failed." -msgstr ":exc:`.HTTPException` -- チャンネルの取得に失敗した。" - -#: discord.ext.commands.Bot.fetch_channel:13 of -msgid "Invalid Channel ID." -msgstr "" - -#: discord.ext.commands.Bot.fetch_channel:14 of -#, fuzzy -msgid "You do not have permission to fetch this channel." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.ext.commands.Bot.fetch_channel:16 of -msgid "The channel from the ID." -msgstr "IDから取得したチャンネル。" - -#: discord.ext.commands.Bot.fetch_channel:17 of -msgid "Union[:class:`.abc.GuildChannel`, :class:`.abc.PrivateChannel`]" -msgstr "Union[ :class:`.abc.GuildChannel` , :class:`.abc.PrivateChannel` ]" - -#: discord.ext.commands.Bot.fetch_guild:3 of -msgid "Retrieves a :class:`.Guild` from an ID." -msgstr "IDから :class:`.Guild` を取得します。" - -#: discord.ext.commands.Bot.fetch_guild:7 of -#, fuzzy -msgid "" -"Using this, you will **not** receive :attr:`.Guild.channels`, " -":attr:`.Guild.members`, :attr:`.Member.activity` and " -":attr:`.Member.voice` per :class:`.Member`." -msgstr "" -"これを使用した場合、 :attr:`.Guild.channels` 、 :class:`.Guild.members` 、そして各 " -":class:`.Member` ごとの :attr:`.Member.activity` 、 :attr:`.Member.voice` " -"を取得することは **できません** 。" - -#: discord.ext.commands.Bot.fetch_guild:12 of -msgid "" -"This method is an API call. For general usage, consider :meth:`get_guild`" -" instead." -msgstr "このメソッドはAPIを呼び出します。通常は :meth:`get_guild` を代わりとして使用してください。" - -#: discord.ext.commands.Bot.fetch_guild:14 of -msgid "The guild's ID to fetch from." -msgstr "取得したいギルドのID。" - -#: discord.ext.commands.Bot.fetch_guild:17 of -#, fuzzy -msgid "You do not have access to the guild." -msgstr ":exc:`.Forbidden` -- ギルドにアクセスできない。" - -#: discord.ext.commands.Bot.fetch_guild:18 of -#, fuzzy -msgid "Getting the guild failed." -msgstr ":exc:`.HTTPException` -- ギルドの取得に失敗した。" - -#: discord.ext.commands.Bot.fetch_guild:20 of -msgid "The guild from the ID." -msgstr "IDから取得したギルド。" - -#: discord.ext.commands.Bot.fetch_guilds:3 of -msgid "Retrieves an :class:`.AsyncIterator` that enables receiving your guilds." -msgstr "Botが所属するGuildを取得できる、 :class:`AsyncIterator` を取得します。" - -#: discord.ext.commands.Bot.fetch_guilds:7 of -msgid "" -"Using this, you will only receive :attr:`.Guild.owner`, " -":attr:`.Guild.icon`, :attr:`.Guild.id`, and :attr:`.Guild.name` per " -":class:`.Guild`." -msgstr "" -"これを使った場合、各 :class:`Guild` の :attr:`Guild.owner` 、 :attr:`Guild.icon` 、 " -":attr:`Guild.id` 、 :attr:`Guild.name` のみ取得できます。" - -#: discord.ext.commands.Bot.fetch_guilds:12 of -msgid "" -"This method is an API call. For general usage, consider :attr:`guilds` " -"instead." -msgstr "これはAPIを呼び出します。通常は :attr:`guilds` を代わりに使用してください。" - -#: discord.ext.commands.Bot.fetch_guilds:15 -#: discord.ext.commands.Bot.wait_for:22 discord.ext.commands.Context.history:6 -#: discord.ext.commands.check:37 discord.ext.commands.check_any:20 of -msgid "Examples" -msgstr "例" - -#: discord.ext.commands.Bot.fetch_guilds:16 -#: discord.ext.commands.Context.history:7 of -msgid "Usage ::" -msgstr "使い方 ::" - -#: discord.ext.commands.Bot.fetch_guilds:21 of -msgid "Flattening into a list ::" -msgstr "リストへフラット化 ::" - -#: discord.ext.commands.Bot.fetch_guilds:26 -#: discord.ext.commands.Context.history:19 of -msgid "All parameters are optional." -msgstr "すべてのパラメータがオプションです。" - -#: discord.ext.commands.Bot.fetch_guilds:28 of -#, fuzzy -msgid "" -"The number of guilds to retrieve. If ``None``, it retrieves every guild " -"you have access to. Note, however, that this would make it a slow " -"operation. Defaults to ``100``." -msgstr "" -"取得するギルドの数。 ``None`` " -"の場合、あなたがアクセスできるギルドすべてを取得します。ただし、これには時間がかかります。デフォルトは100です。" - -#: discord.ext.commands.Bot.fetch_guilds:33 of -msgid "" -"Retrieves guilds before this date or object. If a date is provided it " -"must be a timezone-naive datetime representing UTC time." -msgstr "" -"この日付またはオブジェクトの前のGuildを取得します。もし日付が与えられた場合は、それはUTC時刻を表し、timezone " -"naiveであるdatetimeでないといけません。" - -#: discord.ext.commands.Bot.fetch_guilds:36 of -msgid "" -"Retrieve guilds after this date or object. If a date is provided it must " -"be a timezone-naive datetime representing UTC time." -msgstr "" -"この日付またはオブジェクトの後のGuildを取得します。もし日付が与えられた場合は、それはUTC時刻を表し、timezone " -"naiveであるdatetimeでないといけません。" - -#: discord.ext.commands.Bot.fetch_guilds:40 of -#, fuzzy -msgid "Getting the guilds failed." -msgstr ":exc:`.HTTPException` -- ギルドの取得に失敗した。" - -#: discord.ext.commands.Bot.fetch_guilds -#: discord.ext.commands.Bot.get_all_channels -#: discord.ext.commands.Bot.get_all_members -#: discord.ext.commands.Bot.walk_commands -#: discord.ext.commands.Cog.walk_commands discord.ext.commands.Context.history -#: discord.ext.commands.Group.walk_commands -#: discord.ext.commands.GroupMixin.walk_commands of -msgid "Yields" -msgstr "Yieldする値" - -#: discord.ext.commands.Bot.fetch_guilds:42 of -msgid ":class:`.Guild` -- The guild with the guild data parsed." -msgstr ":class:`.Guild` -- データを解析したGuild。" - -#: discord.ext.commands.Bot.fetch_invite:3 of -msgid "Gets an :class:`.Invite` from a discord.gg URL or ID." -msgstr "" - -#: discord.ext.commands.Bot.fetch_invite:7 of -msgid "" -"If the invite is for a guild you have not joined, the guild and channel " -"attributes of the returned :class:`.Invite` will be " -":class:`.PartialInviteGuild` and :class:`.PartialInviteChannel` " -"respectively." -msgstr "" - -#: discord.ext.commands.Bot.fetch_invite:11 of -msgid "The Discord invite ID or URL (must be a discord.gg URL)." -msgstr "" - -#: discord.ext.commands.Bot.fetch_invite:13 of -msgid "" -"Whether to include count information in the invite. This fills the " -":attr:`.Invite.approximate_member_count` and " -":attr:`.Invite.approximate_presence_count` fields." -msgstr "" - -#: discord.ext.commands.Bot.fetch_invite:18 of -msgid "The invite has expired or is invalid." -msgstr "" - -#: discord.ext.commands.Bot.fetch_invite:19 of -#, fuzzy -msgid "Getting the invite failed." -msgstr ":exc:`.HTTPException` -- 招待の取り消しに失敗した。" - -#: discord.ext.commands.Bot.fetch_invite:21 of -msgid "The invite from the URL/ID." -msgstr "" - -#: discord.ext.commands.Bot.fetch_invite:22 of -msgid ":class:`.Invite`" -msgstr "" - -#: discord.ext.commands.Bot.fetch_template:3 of -msgid "Gets a :class:`.Template` from a discord.new URL or code." -msgstr "" - -#: discord.ext.commands.Bot.fetch_template:5 of -msgid "The Discord Template Code or URL (must be a discord.new URL)." -msgstr "" - -#: discord.ext.commands.Bot.fetch_template:8 of -msgid "The template is invalid." -msgstr "" - -#: discord.ext.commands.Bot.fetch_template:9 of -msgid "Getting the template failed." -msgstr "" - -#: discord.ext.commands.Bot.fetch_template:11 of -#, fuzzy -msgid "The template from the URL/code." -msgstr "ギルドの名前。" - -#: discord.ext.commands.Bot.fetch_template:12 of -#, fuzzy -msgid ":class:`.Template`" -msgstr ":class:`.Guild`" - -#: discord.ext.commands.Bot.fetch_user:3 of -msgid "" -"Retrieves a :class:`~discord.User` based on their ID. This can only be " -"used by bot accounts. You do not have to share any guilds with the user " -"to get this information, however many operations do require that you do." -msgstr "" - -#: discord.ext.commands.Bot.fetch_user:10 of -msgid "" -"This method is an API call. For general usage, consider :meth:`get_user` " -"instead." -msgstr "" - -#: discord.ext.commands.Bot.fetch_user:12 of -msgid "The user's ID to fetch from." -msgstr "" - -#: discord.ext.commands.Bot.fetch_user:15 of -msgid "A user with this ID does not exist." -msgstr "" - -#: discord.ext.commands.Bot.fetch_user:16 of -msgid "Fetching the user failed." -msgstr "" - -#: discord.ext.commands.Bot.fetch_user:18 of -msgid "The user you requested." -msgstr "" - -#: discord.ext.commands.Bot.fetch_user:19 of -msgid ":class:`~discord.User`" -msgstr "" - -#: discord.ext.commands.Bot.fetch_user_profile:3 of -msgid "Gets an arbitrary user's profile." -msgstr "" - -#: discord.ext.commands.Bot.fetch_user_profile:7 of -msgid "This can only be used by non-bot accounts." -msgstr "" - -#: discord.ext.commands.Bot.fetch_user_profile:9 of -msgid "The ID of the user to fetch their profile for." -msgstr "" - -#: discord.ext.commands.Bot.fetch_user_profile:12 of -msgid "Not allowed to fetch profiles." -msgstr "" - -#: discord.ext.commands.Bot.fetch_user_profile:13 of -msgid "Fetching the profile failed." -msgstr "" - -#: discord.ext.commands.Bot.fetch_user_profile:15 of -msgid "The profile of the user." -msgstr "" - -#: discord.ext.commands.Bot.fetch_user_profile:16 of -msgid ":class:`.Profile`" -msgstr "" - -#: discord.ext.commands.Bot.fetch_webhook:3 of -msgid "Retrieves a :class:`.Webhook` with the specified ID." -msgstr "" - -#: discord.ext.commands.Bot.fetch_webhook:5 of -msgid "Retrieving the webhook failed." -msgstr "" - -#: discord.ext.commands.Bot.fetch_webhook:6 of -msgid "Invalid webhook ID." -msgstr "" - -#: discord.ext.commands.Bot.fetch_webhook:7 of -#, fuzzy -msgid "You do not have permission to fetch this webhook." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.ext.commands.Bot.fetch_webhook:9 of -msgid "The webhook you requested." -msgstr "" - -#: discord.ext.commands.Bot.fetch_webhook:10 of -msgid ":class:`.Webhook`" -msgstr "" - -#: discord.ext.commands.Bot.fetch_widget:3 of -msgid "Gets a :class:`.Widget` from a guild ID." -msgstr "" - -#: discord.ext.commands.Bot.fetch_widget:7 of -msgid "The guild must have the widget enabled to get this information." -msgstr "" - -#: discord.ext.commands.Bot.fetch_widget:9 of -msgid "The ID of the guild." -msgstr "" - -#: discord.ext.commands.Bot.fetch_widget:12 of -msgid "The widget for this guild is disabled." -msgstr "" - -#: discord.ext.commands.Bot.fetch_widget:13 of -msgid "Retrieving the widget failed." -msgstr "" - -#: discord.ext.commands.Bot.fetch_widget:15 of -msgid "The guild's widget." -msgstr "" - -#: discord.ext.commands.Bot.fetch_widget:16 of -msgid ":class:`.Widget`" -msgstr "" - -#: discord.ext.commands.Bot.get_all_channels:1 of -msgid "" -"A generator that retrieves every :class:`.abc.GuildChannel` the client " -"can 'access'." -msgstr "" - -#: discord.ext.commands.Bot.get_all_channels:3 -#: discord.ext.commands.Bot.get_all_members:3 of -msgid "This is equivalent to: ::" -msgstr "" - -#: discord.ext.commands.Bot.get_all_channels:11 of -msgid "" -"Just because you receive a :class:`.abc.GuildChannel` does not mean that " -"you can communicate in said channel. " -":meth:`.abc.GuildChannel.permissions_for` should be used for that." -msgstr "" - -#: discord.ext.commands.Bot.get_all_channels:15 of -msgid ":class:`.abc.GuildChannel` -- A channel the client can 'access'." -msgstr "" - -#: discord.ext.commands.Bot.get_all_members:1 of -msgid "Returns a generator with every :class:`.Member` the client can see." -msgstr "" - -#: discord.ext.commands.Bot.get_all_members:9 of -msgid ":class:`.Member` -- A member the client can see." -msgstr "" - -#: discord.ext.commands.Bot.get_channel:1 of -msgid "Returns a channel or thread with the given ID." -msgstr "" - -#: discord.ext.commands.Bot.get_channel:3 discord.ext.commands.Bot.get_emoji:3 -#: discord.ext.commands.Bot.get_guild:3 discord.ext.commands.Bot.get_user:3 of -#, fuzzy -msgid "The ID to search for." -msgstr "取得したいギルドのID。" - -#: discord.ext.commands.Bot.get_channel:6 of -msgid "The returned channel or ``None`` if not found." -msgstr "" - -#: discord.ext.commands.Bot.get_channel:7 of -#, fuzzy -msgid "Optional[Union[:class:`.abc.GuildChannel`, :class:`.Thread`, :class:`.abc.PrivateChannel`]]" -msgstr "Union[:class:`.abc.GuildChannel`, :class:`.Thread`, :class:`.abc.PrivateChannel`]" - -#: discord.ext.commands.Bot.get_cog:1 of -msgid "Gets the cog instance requested." -msgstr "" - -#: discord.ext.commands.Bot.get_cog:3 of -msgid "If the cog is not found, ``None`` is returned instead." -msgstr "" - -#: discord.ext.commands.Bot.get_cog:5 of -msgid "" -"The name of the cog you are requesting. This is equivalent to the name " -"passed via keyword argument in class creation or the class name if " -"unspecified." -msgstr "" - -#: discord.ext.commands.Bot.get_cog:10 of -msgid "The cog that was requested. If not found, returns ``None``." -msgstr "" - -#: discord.ext.commands.Bot.get_cog:11 discord.ext.commands.Command:62 -#: discord.ext.commands.HelpCommand.cog:10 of -msgid "Optional[:class:`Cog`]" -msgstr "" - -#: discord.ext.commands.Bot.get_command:1 -#: discord.ext.commands.Group.get_command:1 -#: discord.ext.commands.GroupMixin.get_command:1 of -#, fuzzy -msgid "Get a :class:`.Command` from the internal list of commands." -msgstr ":class:`.Command`やそのサブクラスを内部のコマンドリストに追加します。" - -#: discord.ext.commands.Bot.get_command:4 -#: discord.ext.commands.Group.get_command:4 -#: discord.ext.commands.GroupMixin.get_command:4 of -msgid "This could also be used as a way to get aliases." -msgstr "" - -#: discord.ext.commands.Bot.get_command:6 -#: discord.ext.commands.Group.get_command:6 -#: discord.ext.commands.GroupMixin.get_command:6 of -msgid "" -"The name could be fully qualified (e.g. ``'foo bar'``) will get the " -"subcommand ``bar`` of the group command ``foo``. If a subcommand is not " -"found then ``None`` is returned just as usual." -msgstr "" - -#: discord.ext.commands.Bot.get_command:10 -#: discord.ext.commands.Group.get_command:10 -#: discord.ext.commands.GroupMixin.get_command:10 of -msgid "The name of the command to get." -msgstr "" - -#: discord.ext.commands.Bot.get_command:13 -#: discord.ext.commands.Group.get_command:13 -#: discord.ext.commands.GroupMixin.get_command:13 of -msgid "The command that was requested. If not found, returns ``None``." -msgstr "" - -#: discord.ext.commands.Bot.get_command:14 discord.ext.commands.Command:56 -#: discord.ext.commands.Command:103 discord.ext.commands.Command.root_parent:7 -#: discord.ext.commands.Group.get_command:14 -#: discord.ext.commands.Group.root_parent:7 -#: discord.ext.commands.GroupMixin.get_command:14 of -msgid "Optional[:class:`Command`]" -msgstr "" - -#: discord.ext.commands.Bot.get_context:3 of -msgid "Returns the invocation context from the message." -msgstr "" - -#: discord.ext.commands.Bot.get_context:5 of -msgid "" -"This is a more low-level counter-part for :meth:`.process_commands` to " -"allow users more fine grained control over the processing." -msgstr "" - -#: discord.ext.commands.Bot.get_context:8 of -msgid "" -"The returned context is not guaranteed to be a valid invocation context, " -":attr:`.Context.valid` must be checked to make sure it is. If the context" -" is not valid then it is not a valid candidate to be invoked under " -":meth:`~.Bot.invoke`." -msgstr "" - -#: discord.ext.commands.Bot.get_context:13 of -msgid "The message to get the invocation context from." -msgstr "" - -#: discord.ext.commands.Bot.get_context:15 of -msgid "" -"The factory class that will be used to create the context. By default, " -"this is :class:`.Context`. Should a custom class be provided, it must be " -"similar enough to :class:`.Context`\\'s interface." -msgstr "" - -#: discord.ext.commands.Bot.get_context:20 of -msgid "" -"The invocation context. The type of this can change via the ``cls`` " -"parameter." -msgstr "" - -#: discord.ext.commands.Bot.get_context:22 of -msgid ":class:`.Context`" -msgstr "" - -#: discord.ext.commands.Bot.get_emoji:1 of -msgid "Returns an emoji with the given ID." -msgstr "" - -#: discord.ext.commands.Bot.get_emoji:6 of -msgid "The custom emoji or ``None`` if not found." -msgstr "" - -#: discord.ext.commands.Bot.get_emoji:7 of -msgid "Optional[:class:`.Emoji`]" -msgstr "" - -#: discord.ext.commands.Bot.get_guild:1 of -msgid "Returns a guild with the given ID." -msgstr "" - -#: discord.ext.commands.Bot.get_guild:6 of -msgid "The guild or ``None`` if not found." -msgstr "" - -#: discord.ext.commands.Bot.get_guild:7 discord.ext.commands.Context.guild:3 of -#, fuzzy -msgid "Optional[:class:`.Guild`]" -msgstr ":class:`.Guild`" - -#: discord.ext.commands.Bot.get_prefix:3 of -msgid "" -"Retrieves the prefix the bot is listening to with the message as a " -"context." -msgstr "" - -#: discord.ext.commands.Bot.get_prefix:6 of -msgid "The message context to get the prefix of." -msgstr "" - -#: discord.ext.commands.Bot.get_prefix:9 of -msgid "A list of prefixes or a single prefix that the bot is listening for." -msgstr "" - -#: discord.ext.commands.Bot.get_prefix:11 of -msgid "Union[List[:class:`str`], :class:`str`]" -msgstr "" - -#: discord.ext.commands.Bot.get_user:1 of -msgid "Returns a user with the given ID." -msgstr "" - -#: discord.ext.commands.Bot.get_user:6 of -msgid "The user or ``None`` if not found." -msgstr "" - -#: discord.ext.commands.Bot.get_user:7 of -msgid "Optional[:class:`~discord.User`]" -msgstr "" - -#: discord.ext.commands.Bot.group:1 discord.ext.commands.Group.group:1 -#: discord.ext.commands.GroupMixin.group:1 of -msgid "" -"A shortcut decorator that invokes :func:`.group` and adds it to the " -"internal command list via :meth:`~.GroupMixin.add_command`." -msgstr "" - -#: discord.ext.commands.Bot.group:4 discord.ext.commands.Group.group:4 -#: discord.ext.commands.GroupMixin.group:4 of -msgid "" -"A decorator that converts the provided method into a Group, adds it to " -"the bot, then returns it." -msgstr "" - -#: discord.ext.commands.Bot.group:5 discord.ext.commands.Group.group:5 -#: discord.ext.commands.GroupMixin.group:5 of -msgid "Callable[..., :class:`Group`]" -msgstr "" - -#: discord.ext.commands.Bot.guilds:1 of -msgid "The guilds that the connected client is a member of." -msgstr "" - -#: discord.ext.commands.Bot.guilds:3 of -#, fuzzy -msgid "List[:class:`.Guild`]" -msgstr ":class:`.Guild`" - -#: discord.ext.commands.Bot.intents:1 of -msgid "The intents configured for this connection." -msgstr "" - -#: discord.ext.commands.Bot.intents:5 of -#, fuzzy -msgid ":class:`Intents`" -msgstr ":class:`.Guild`" - -#: discord.ext.commands.Bot.invoke:3 of -msgid "" -"Invokes the command given under the invocation context and handles all " -"the internal event dispatch mechanisms." -msgstr "" - -#: discord.ext.commands.Bot.invoke:6 of -msgid "The invocation context to invoke." -msgstr "" - -#: discord.ext.commands.Bot.is_closed:1 of -msgid ":class:`bool`: Indicates if the websocket connection is closed." -msgstr "" - -#: discord.ext.commands.Bot.is_owner:3 of -msgid "" -"Checks if a :class:`~discord.User` or :class:`~discord.Member` is the " -"owner of this bot." -msgstr "" - -#: discord.ext.commands.Bot.is_owner:6 of -msgid "" -"If an :attr:`owner_id` is not set, it is fetched automatically through " -"the use of :meth:`~.Bot.application_info`." -msgstr "" - -#: discord.ext.commands.Bot.is_owner:9 of -msgid "" -"The function also checks if the application is team-owned if " -":attr:`owner_ids` is not set." -msgstr "" - -#: discord.ext.commands.Bot.is_owner:13 of -msgid "The user to check for." -msgstr "" - -#: discord.ext.commands.Bot.is_owner:16 of -msgid "Whether the user is the owner." -msgstr "" - -#: discord.ext.commands.Bot.is_ready:1 of -msgid ":class:`bool`: Specifies if the client's internal cache is ready for use." -msgstr "" - -#: discord.ext.commands.Bot.latency:1 of -msgid "Measures latency between a HEARTBEAT and a HEARTBEAT_ACK in seconds." -msgstr "" - -#: discord.ext.commands.Bot.latency:3 of -msgid "This could be referred to as the Discord WebSocket protocol latency." -msgstr "" - -#: discord.ext.commands.Bot.latency:5 -#: discord.ext.commands.Command.get_cooldown_retry_after:10 -#: discord.ext.commands.CommandOnCooldown:16 -#: discord.ext.commands.Group.get_cooldown_retry_after:10 of -#, fuzzy -msgid ":class:`float`" -msgstr ":class:`.AppInfo`" - -#: discord.ext.commands.Bot.listen:1 of -msgid "" -"A decorator that registers another function as an external event " -"listener. Basically this allows you to listen to multiple events from " -"different places e.g. such as :func:`.on_ready`" -msgstr "" - -#: discord.ext.commands.Bot.listen:5 of -msgid "The functions being listened to must be a :ref:`coroutine `." -msgstr "" - -#: discord.ext.commands.Bot.listen:21 of -msgid "Would print one and two in an unspecified order." -msgstr "" - -#: discord.ext.commands.Bot.listen:23 of -#, fuzzy -msgid "The function being listened to is not a coroutine." -msgstr ":exc:`TypeError` -- 渡された関数がコルーチンでない。" - -#: discord.ext.commands.Bot.load_extension:1 of -msgid "Loads an extension." -msgstr "" - -#: discord.ext.commands.Bot.load_extension:3 of -msgid "" -"An extension is a python module that contains commands, cogs, or " -"listeners." -msgstr "" - -#: discord.ext.commands.Bot.load_extension:6 of -msgid "" -"An extension must have a global function, ``setup`` defined as the entry " -"point on what to do when the extension is loaded. This entry point must " -"have a single argument, the ``bot``." -msgstr "" - -#: discord.ext.commands.Bot.load_extension:10 of -msgid "" -"The extension name to load. It must be dot separated like regular Python " -"imports if accessing a sub-module. e.g. ``foo.test`` if you want to " -"import ``foo/test.py``." -msgstr "" - -#: discord.ext.commands.Bot.load_extension:15 -#: discord.ext.commands.Bot.reload_extension:14 of -msgid "The extension could not be imported." -msgstr "" - -#: discord.ext.commands.Bot.load_extension:16 of -msgid "The extension is already loaded." -msgstr "" - -#: discord.ext.commands.Bot.load_extension:17 -#: discord.ext.commands.Bot.reload_extension:15 of -msgid "The extension does not have a setup function." -msgstr "" - -#: discord.ext.commands.Bot.load_extension:18 of -msgid "The extension or its setup function had an execution error." -msgstr "" - -#: discord.ext.commands.Bot.login:3 of -msgid "Logs in the client with the specified credentials." -msgstr "" - -#: discord.ext.commands.Bot.login:5 of -msgid "This function can be used in two different ways." -msgstr "" - -#: discord.ext.commands.Bot.login:9 of -msgid "" -"Logging on with a user token is against the Discord `Terms of Service " -"`_ and doing " -"so might potentially get your account banned. Use this at your own risk." -msgstr "" - -#: discord.ext.commands.Bot.login:14 of -msgid "" -"The authentication token. Do not prefix this token with anything as the " -"library will do it for you." -msgstr "" - -#: discord.ext.commands.Bot.login:17 of -msgid "" -"Keyword argument that specifies if the account logging on is a bot token " -"or not." -msgstr "" - -#: discord.ext.commands.Bot.login:21 of -msgid "The wrong credentials are passed." -msgstr "" - -#: discord.ext.commands.Bot.login:22 of -msgid "" -"An unknown HTTP related error occurred, usually when it isn't 200 or " -"the known incorrect credentials passing status code." -msgstr "" - -#: discord.ext.commands.Bot.logout:3 of -msgid "Logs out of Discord and closes all connections." -msgstr "" - -#: discord.ext.commands.Bot.logout:7 of -msgid "" -"This is just an alias to :meth:`close`. If you want to do extraneous " -"cleanup when subclassing, it is suggested to override :meth:`close` " -"instead." -msgstr "" - -#: discord.ext.commands.Bot.on_command_error:3 of -msgid "The default command error handler provided by the bot." -msgstr "" - -#: discord.ext.commands.Bot.on_command_error:5 of -msgid "" -"By default this prints to :data:`sys.stderr` however it could be " -"overridden to have a different implementation." -msgstr "" - -#: discord.ext.commands.Bot.on_command_error:8 of -msgid "This only fires if you do not specify any listeners for command error." -msgstr "" - -#: discord.ext.commands.Bot.on_error:3 of -msgid "The default error handler provided by the client." -msgstr "" - -#: discord.ext.commands.Bot.on_error:5 of -msgid "" -"By default this prints to :data:`sys.stderr` however it could be " -"overridden to have a different implementation. Check " -":func:`~discord.on_error` for more details." -msgstr "" - -#: discord.ext.commands.Bot.private_channels:1 of -msgid "The private channels that the connected client is participating on." -msgstr "" - -#: discord.ext.commands.Bot.private_channels:5 of -msgid "" -"This returns only up to 128 most recent private channels due to an " -"internal working on how Discord deals with private channels." -msgstr "" - -#: discord.ext.commands.Bot.private_channels:8 of -msgid "List[:class:`.abc.PrivateChannel`]" -msgstr "" - -#: discord.ext.commands.Bot.process_commands:3 of -msgid "" -"This function processes the commands that have been registered to the bot" -" and other groups. Without this coroutine, none of the commands will be " -"triggered." -msgstr "" - -#: discord.ext.commands.Bot.process_commands:7 of -msgid "" -"By default, this coroutine is called inside the :func:`.on_message` " -"event. If you choose to override the :func:`.on_message` event, then you " -"should invoke this coroutine as well." -msgstr "" - -#: discord.ext.commands.Bot.process_commands:11 of -msgid "" -"This is built using other low level tools, and is equivalent to a call to" -" :meth:`~.Bot.get_context` followed by a call to :meth:`~.Bot.invoke`." -msgstr "" - -#: discord.ext.commands.Bot.process_commands:14 of -msgid "" -"This also checks if the message's author is a bot and doesn't call " -":meth:`~.Bot.get_context` or :meth:`~.Bot.invoke` if so." -msgstr "" - -#: discord.ext.commands.Bot.process_commands:17 of -msgid "The message to process commands for." -msgstr "" - -#: discord.ext.commands.Bot.reload_extension:1 of -msgid "Atomically reloads an extension." -msgstr "" - -#: discord.ext.commands.Bot.reload_extension:3 of -msgid "" -"This replaces the extension with the same extension, only refreshed. This" -" is equivalent to a :meth:`unload_extension` followed by a " -":meth:`load_extension` except done in an atomic way. That is, if an " -"operation fails mid-reload then the bot will roll-back to the prior " -"working state." -msgstr "" - -#: discord.ext.commands.Bot.reload_extension:8 of -msgid "" -"The extension name to reload. It must be dot separated like regular " -"Python imports if accessing a sub-module. e.g. ``foo.test`` if you want " -"to import ``foo/test.py``." -msgstr "" - -#: discord.ext.commands.Bot.reload_extension:13 -#: discord.ext.commands.Bot.unload_extension:16 of -msgid "The extension was not loaded." -msgstr "" - -#: discord.ext.commands.Bot.reload_extension:16 of -msgid "The extension setup function had an execution error." -msgstr "" - -#: discord.ext.commands.Bot.remove_check:1 of -msgid "Removes a global check from the bot." -msgstr "" - -#: discord.ext.commands.Bot.remove_check:3 of -msgid "" -"This function is idempotent and will not raise an exception if the " -"function is not in the global checks." -msgstr "" - -#: discord.ext.commands.Bot.remove_check:6 of -msgid "The function to remove from the global checks." -msgstr "" - -#: discord.ext.commands.Bot.remove_check:7 of -msgid "" -"If the function was added with ``call_once=True`` in the " -":meth:`.Bot.add_check` call or using :meth:`.check_once`." -msgstr "" - -#: discord.ext.commands.Bot.remove_cog:1 of -msgid "Removes a cog from the bot." -msgstr "" - -#: discord.ext.commands.Bot.remove_cog:3 of -msgid "" -"All registered commands and event listeners that the cog has registered " -"will be removed as well." -msgstr "" - -#: discord.ext.commands.Bot.remove_cog:6 of -msgid "If no cog is found then this method has no effect." -msgstr "" - -#: discord.ext.commands.Bot.remove_cog:8 of -msgid "The name of the cog to remove." -msgstr "" - -#: discord.ext.commands.Bot.remove_command:1 -#: discord.ext.commands.Group.remove_command:1 -#: discord.ext.commands.GroupMixin.remove_command:1 of -#, fuzzy -msgid "Remove a :class:`.Command` from the internal list of commands." -msgstr ":class:`.Command`やそのサブクラスを内部のコマンドリストに追加します。" - -#: discord.ext.commands.Bot.remove_command:4 -#: discord.ext.commands.Group.remove_command:4 -#: discord.ext.commands.GroupMixin.remove_command:4 of -msgid "This could also be used as a way to remove aliases." -msgstr "" - -#: discord.ext.commands.Bot.remove_command:6 -#: discord.ext.commands.Group.remove_command:6 -#: discord.ext.commands.GroupMixin.remove_command:6 of -msgid "The name of the command to remove." -msgstr "" - -#: discord.ext.commands.Bot.remove_command:9 -#: discord.ext.commands.Group.remove_command:9 -#: discord.ext.commands.GroupMixin.remove_command:9 of -msgid "" -"The command that was removed. If the name is not valid then ``None`` is " -"returned instead." -msgstr "" - -#: discord.ext.commands.Bot.remove_command:11 -#: discord.ext.commands.Group.remove_command:11 -#: discord.ext.commands.GroupMixin.remove_command:11 of -msgid "Optional[:class:`.Command`]" -msgstr "" - -#: discord.ext.commands.Bot.remove_listener:1 of -msgid "Removes a listener from the pool of listeners." -msgstr "" - -#: discord.ext.commands.Bot.remove_listener:3 of -msgid "The function that was used as a listener to remove." -msgstr "" - -#: discord.ext.commands.Bot.remove_listener:4 of -msgid "The name of the event we want to remove. Defaults to ``func.__name__``." -msgstr "削除したいイベントの名前。デフォルトでは ``func.__name__`` です。" - -#: discord.ext.commands.Bot.request_offline_members:3 of -msgid "" -"Requests previously offline members from the guild to be filled up into " -"the :attr:`.Guild.members` cache. This function is usually not called. It" -" should only be used if you have the ``fetch_offline_members`` parameter " -"set to ``False``." -msgstr "" - -#: discord.ext.commands.Bot.request_offline_members:8 of -msgid "" -"When the client logs on and connects to the websocket, Discord does not " -"provide the library with offline members if the number of members in the " -"guild is larger than 250. You can check if a guild is large if " -":attr:`.Guild.large` is ``True``." -msgstr "" - -#: discord.ext.commands.Bot.request_offline_members:15 of -#, fuzzy -msgid "This method is deprecated. Use :meth:`Guild.chunk` instead." -msgstr "このメソッドはAPIを呼び出します。通常は :meth:`get_guild` を代わりとして使用してください。" - -#: discord.ext.commands.Bot.request_offline_members:17 of -msgid "An argument list of guilds to request offline members for." -msgstr "" - -#: discord.ext.commands.Bot.request_offline_members:20 of -msgid "If any guild is unavailable in the collection." -msgstr "" - -#: discord.ext.commands.Bot.run:1 of -msgid "" -"A blocking call that abstracts away the event loop initialisation from " -"you." -msgstr "" - -#: discord.ext.commands.Bot.run:4 of -msgid "" -"If you want more control over the event loop then this function should " -"not be used. Use :meth:`start` coroutine or :meth:`connect` + " -":meth:`login`." -msgstr "" - -#: discord.ext.commands.Bot.run:8 of -msgid "Roughly Equivalent to: ::" -msgstr "" - -#: discord.ext.commands.Bot.run:20 of -msgid "" -"This function must be the last function to call due to the fact that it " -"is blocking. That means that registration of events or anything being " -"called after this function call will not execute until it returns." -msgstr "" - -#: discord.ext.commands.Bot.start:3 of -msgid "A shorthand coroutine for :meth:`login` + :meth:`connect`." -msgstr "" - -#: discord.ext.commands.Bot.start:5 of -msgid "An unexpected keyword argument was received." -msgstr "" - -#: discord.ext.commands.Bot.unload_extension:1 of -msgid "Unloads an extension." -msgstr "" - -#: discord.ext.commands.Bot.unload_extension:3 of -msgid "" -"When the extension is unloaded, all commands, listeners, and cogs are " -"removed from the bot and the module is un-imported." -msgstr "" - -#: discord.ext.commands.Bot.unload_extension:6 of -msgid "" -"The extension can provide an optional global function, ``teardown``, to " -"do miscellaneous clean-up if necessary. This function takes a single " -"parameter, the ``bot``, similar to ``setup`` from " -":meth:`~.Bot.load_extension`." -msgstr "" - -#: discord.ext.commands.Bot.unload_extension:11 of -msgid "" -"The extension name to unload. It must be dot separated like regular " -"Python imports if accessing a sub-module. e.g. ``foo.test`` if you want " -"to import ``foo/test.py``." -msgstr "" - -#: discord.ext.commands.Bot.user:1 of -msgid "Represents the connected client. ``None`` if not logged in." -msgstr "" - -#: discord.ext.commands.Bot.user:3 of -msgid "Optional[:class:`.ClientUser`]" -msgstr "" - -#: discord.ext.commands.Bot.users:1 of -msgid "Returns a list of all the users the bot can see." -msgstr "" - -#: discord.ext.commands.Bot.users:3 of -msgid "List[:class:`~discord.User`]" -msgstr "" - -#: discord.ext.commands.Bot.voice_clients:1 of -msgid "Represents a list of voice connections." -msgstr "" - -#: discord.ext.commands.Bot.voice_clients:3 of -msgid "These are usually :class:`.VoiceClient` instances." -msgstr "" - -#: discord.ext.commands.Bot.voice_clients:5 of -msgid "List[:class:`.VoiceProtocol`]" -msgstr "" - -#: discord.ext.commands.Bot.wait_for:3 of -msgid "Waits for a WebSocket event to be dispatched." -msgstr "" - -#: discord.ext.commands.Bot.wait_for:5 of -msgid "" -"This could be used to wait for a user to reply to a message, or to react " -"to a message, or to edit a message in a self-contained way." -msgstr "" - -#: discord.ext.commands.Bot.wait_for:9 of -msgid "" -"The ``timeout`` parameter is passed onto :func:`asyncio.wait_for`. By " -"default, it does not timeout. Note that this does propagate the " -":exc:`asyncio.TimeoutError` for you in case of timeout and is provided " -"for ease of use." -msgstr "" - -#: discord.ext.commands.Bot.wait_for:14 of -msgid "" -"In case the event returns multiple arguments, a :class:`tuple` containing" -" those arguments is returned instead. Please check the " -":ref:`documentation ` for a list of events and their " -"parameters." -msgstr "" - -#: discord.ext.commands.Bot.wait_for:19 of -msgid "This function returns the **first event that meets the requirements**." -msgstr "" - -#: discord.ext.commands.Bot.wait_for:23 of -msgid "Waiting for a user reply: ::" -msgstr "" - -#: discord.ext.commands.Bot.wait_for:37 of -msgid "Waiting for a thumbs up reaction from the message author: ::" -msgstr "" - -#: discord.ext.commands.Bot.wait_for:55 of -msgid "" -"The event name, similar to the :ref:`event reference `, but without the ``on_`` prefix, to wait for." -msgstr "" - -#: discord.ext.commands.Bot.wait_for:58 of -msgid "" -"A predicate to check what to wait for. The arguments must meet the " -"parameters of the event being waited for." -msgstr "" - -#: discord.ext.commands.Bot.wait_for:61 of -msgid "" -"The number of seconds to wait before timing out and raising " -":exc:`asyncio.TimeoutError`." -msgstr "" - -#: discord.ext.commands.Bot.wait_for:65 of -msgid "If a timeout is provided and it was reached." -msgstr "" - -#: discord.ext.commands.Bot.wait_for:67 of -msgid "" -"Returns no arguments, a single argument, or a :class:`tuple` of multiple " -"arguments that mirrors the parameters passed in the :ref:`event reference" -" `." -msgstr "" - -#: discord.ext.commands.Bot.wait_until_ready:3 of -msgid "Waits until the client's internal cache is all ready." -msgstr "" - -#: discord.ext.commands.Bot.walk_commands:1 -#: discord.ext.commands.Group.walk_commands:1 -#: discord.ext.commands.GroupMixin.walk_commands:1 of -msgid "An iterator that recursively walks through all commands and subcommands." -msgstr "" - -#: discord.ext.commands.Bot.walk_commands:3 -#: discord.ext.commands.Group.walk_commands:3 -#: discord.ext.commands.GroupMixin.walk_commands:3 of -msgid "Duplicates due to aliases are no longer returned" -msgstr "" - -#: discord.ext.commands.Bot.walk_commands:6 -#: discord.ext.commands.Group.walk_commands:6 -#: discord.ext.commands.GroupMixin.walk_commands:6 of -#, fuzzy -msgid "" -"Union[:class:`.Command`, :class:`.Group`] -- A command or group from the " -"internal list of commands." -msgstr ":class:`.Command`やそのサブクラスを内部のコマンドリストに追加します。" - -#: discord.ext.commands.AutoShardedBot:1 of -msgid "" -"This is similar to :class:`.Bot` except that it is inherited from " -":class:`discord.AutoShardedClient` instead." -msgstr "" - -#: discord.ext.commands.when_mentioned:1 of -msgid "A callable that implements a command prefix equivalent to being mentioned." -msgstr "" - -#: discord.ext.commands.when_mentioned:3 -#: discord.ext.commands.when_mentioned_or:3 of -msgid "" -"These are meant to be passed into the :attr:`.Bot.command_prefix` " -"attribute." -msgstr "" - -#: discord.ext.commands.when_mentioned_or:1 of -msgid "A callable that implements when mentioned or other prefixes provided." -msgstr "" - -#: discord.ext.commands.when_mentioned_or:13 of -msgid "" -"This callable returns another callable, so if this is done inside a " -"custom callable, you must call the returned callable, for example:" -msgstr "" - -#: discord.ext.commands.when_mentioned_or:23 of -msgid ":func:`.when_mentioned`" -msgstr "" - -#: ../../ext/commands/api.rst:27 -msgid "Event Reference" -msgstr "イベントリファレンス" - -#: ../../ext/commands/api.rst:29 -msgid "" -"These events function similar to :ref:`the regular events `, except they are custom to the command extension module." -msgstr "" - -#: ../../ext/commands/api.rst:34 -msgid "" -"An error handler that is called when an error is raised inside a command " -"either through user input error, check failure, or an error in your own " -"code." -msgstr "" - -#: ../../ext/commands/api.rst:38 -msgid "A default one is provided (:meth:`.Bot.on_command_error`)." -msgstr "" - -#: ../../ext/commands/api.rst:40 ../../ext/commands/api.rst:52 -#: ../../ext/commands/api.rst:62 discord.ext.commands.Cog.cog_after_invoke:7 -#: discord.ext.commands.Cog.cog_before_invoke:7 -#: discord.ext.commands.HelpCommand.on_help_command_error:11 -#: discord.ext.commands.HelpCommand.prepare_help_command:15 of -msgid "The invocation context." -msgstr "" - -#: ../../ext/commands/api.rst:42 -#: discord.ext.commands.HelpCommand.on_help_command_error:13 of -msgid "The error that was raised." -msgstr "" - -#: ../../ext/commands/api.rst:47 -msgid "" -"An event that is called when a command is found and is about to be " -"invoked." -msgstr "" - -#: ../../ext/commands/api.rst:49 -msgid "" -"This event is called regardless of whether the command itself succeeds " -"via error or completes." -msgstr "" - -#: ../../ext/commands/api.rst:57 -msgid "An event that is called when a command has completed its invocation." -msgstr "" - -#: ../../ext/commands/api.rst:59 -msgid "" -"This event is called only if the command succeeded, i.e. all checks have " -"passed and the user input it correctly." -msgstr "" - -#: ../../ext/commands/api.rst:68 -msgid "Command" -msgstr "Command" - -#: discord.ext.commands.command:1 of -msgid "" -"A decorator that transforms a function into a :class:`.Command` or if " -"called with :func:`.group`, :class:`.Group`." -msgstr "" - -#: discord.ext.commands.command:4 of -msgid "" -"By default the ``help`` attribute is received automatically from the " -"docstring of the function and is cleaned up with the use of " -"``inspect.cleandoc``. If the docstring is ``bytes``, then it is decoded " -"into :class:`str` using utf-8 encoding." -msgstr "" - -#: discord.ext.commands.command:9 of -msgid "" -"All checks added using the :func:`.check` & co. decorators are added into" -" the function. There is no way to supply your own checks through this " -"decorator." -msgstr "" - -#: discord.ext.commands.command:13 of -msgid "" -"The name to create the command with. By default this uses the function " -"name unchanged." -msgstr "" - -#: discord.ext.commands.command:16 of -msgid "" -"The class to construct with. By default this is :class:`.Command`. You " -"usually do not change this." -msgstr "" - -#: discord.ext.commands.command:18 of -msgid "" -"Keyword arguments to pass into the construction of the class denoted by " -"``cls``." -msgstr "" - -#: discord.ext.commands.command:21 of -msgid "If the function is not a coroutine or is already a command." -msgstr "" - -#: discord.ext.commands.group:1 of -msgid "A decorator that transforms a function into a :class:`.Group`." -msgstr "" - -#: discord.ext.commands.group:3 of -msgid "" -"This is similar to the :func:`.command` decorator but the ``cls`` " -"parameter is set to :class:`Group` by default." -msgstr "" - -#: discord.ext.commands.group:6 of -msgid "The ``cls`` parameter can now be passed." -msgstr "" - -#: discord.ext.commands.Command:1 of -msgid "A class that implements the protocol for a bot text command." -msgstr "" - -#: discord.ext.commands.Command:3 of -msgid "" -"These are not created manually, instead they are created via the " -"decorator or functional interface." -msgstr "" - -#: discord.ext.commands.Command:8 of -#, fuzzy -msgid "The name of the command." -msgstr "ギルドの名前。" - -#: discord.ext.commands.Command:14 of -#, fuzzy -msgid "The coroutine that is executed when the command is called." -msgstr "呼び出そうとしたコマンドが無効化されていた際に発生する例外。" - -#: discord.ext.commands.Command:16 of -msgid ":ref:`coroutine `" -msgstr "" - -#: discord.ext.commands.Command:20 of -msgid "The long help text for the command." -msgstr "" - -#: discord.ext.commands.Command:26 of -msgid "The short help text for the command." -msgstr "" - -#: discord.ext.commands.Command:28 discord.ext.commands.Command.cog_name:3 -#: discord.ext.commands.Context:70 discord.ext.commands.Group.cog_name:3 of -msgid "Optional[:class:`str`]" -msgstr "" - -#: discord.ext.commands.Command:32 of -msgid "A replacement for arguments in the default help text." -msgstr "" - -#: discord.ext.commands.Command:38 of -msgid "The list of aliases the command can be invoked under." -msgstr "" - -#: discord.ext.commands.Command:40 of -msgid "Union[List[:class:`str`], Tuple[:class:`str`]]" -msgstr "" - -#: discord.ext.commands.Command:44 of -msgid "" -"A boolean that indicates if the command is currently enabled. If the " -"command is invoked while it is disabled, then :exc:`.DisabledCommand` is " -"raised to the :func:`.on_command_error` event. Defaults to ``True``." -msgstr "" - -#: discord.ext.commands.Command:53 of -msgid "" -"The parent command that this command belongs to. ``None`` if there isn't " -"one." -msgstr "" - -#: discord.ext.commands.Command:60 of -msgid "The cog that this command belongs to. ``None`` if there isn't one." -msgstr "" - -#: discord.ext.commands.Command:66 of -msgid "" -"A list of predicates that verifies if the command could be executed with " -"the given :class:`.Context` as the sole parameter. If an exception is " -"necessary to be thrown to signal failure, then one inherited from " -":exc:`.CommandError` should be used. Note that if the checks fail then " -":exc:`.CheckFailure` exception is raised to the :func:`.on_command_error`" -" event." -msgstr "" - -#: discord.ext.commands.Command:73 of -msgid "List[Callable[..., :class:`bool`]]" -msgstr "" - -#: discord.ext.commands.Command:77 of -#, fuzzy -msgid "The message prefixed into the default help command." -msgstr ":class:`str` -- この属性に入力されたテキストは、デフォルトのヘルプメッセージの先頭に表示されます。" - -#: discord.ext.commands.Command:83 of -msgid "" -"If ``True``\\, the default help command does not show this in the help " -"output." -msgstr "" - -#: discord.ext.commands.Command:90 of -msgid "" -"If ``False`` and a keyword-only argument is provided then the keyword " -"only argument is stripped and handled as if it was a regular argument " -"that handles :exc:`.MissingRequiredArgument` and default values in a " -"regular matter rather than passing the rest completely raw. If ``True`` " -"then the keyword-only argument will pass in the rest of the arguments in " -"a completely raw matter. Defaults to ``False``." -msgstr "" - -#: discord.ext.commands.Command:101 of -msgid "The subcommand that was invoked, if any." -msgstr "" - -#: discord.ext.commands.Command:107 of -msgid "" -"If ``True`` and a variadic positional argument is specified, requires the" -" user to specify at least one argument. Defaults to ``False``." -msgstr "" - -#: discord.ext.commands.Command:116 of -msgid "" -"If ``True``\\, ignores extraneous strings passed to a command if all its " -"requirements are met (e.g. ``?foo a b c`` when only expecting ``a`` and " -"``b``). Otherwise :func:`.on_command_error` and local error handlers are " -"called with :exc:`.TooManyArguments`. Defaults to ``True``." -msgstr "" - -#: discord.ext.commands.Command:125 of -msgid "" -"If ``True``\\, cooldown processing is done after argument parsing, which " -"calls converters. If ``False`` then cooldown processing is done first and" -" then the converters are called second. Defaults to ``False``." -msgstr "" - -#: discord.ext.commands.Command.add_check:1 -#: discord.ext.commands.Group.add_check:1 of -#, fuzzy -msgid "Adds a check to the command." -msgstr "ボットにグローバルチェックを追加します。" - -#: discord.ext.commands.Command.add_check:3 -#: discord.ext.commands.Group.add_check:3 of -#, fuzzy -msgid "This is the non-decorator interface to :func:`.check`." -msgstr "これは:meth:`.check`と:meth:`.check_once`のデコレータでない実装です。" - -#: discord.ext.commands.Command.add_check:7 -#: discord.ext.commands.Group.add_check:7 -#: discord.ext.commands.HelpCommand.add_check:5 of -#, fuzzy -msgid "The function that will be used as a check." -msgstr "グローバルチェックとして使用される関数。" - -#: discord.ext.commands.Command.remove_check:1 -#: discord.ext.commands.Group.remove_check:1 of -msgid "Removes a check from the command." -msgstr "" - -#: discord.ext.commands.Command.remove_check:3 -#: discord.ext.commands.Group.remove_check:3 -#: discord.ext.commands.HelpCommand.remove_check:3 of -msgid "" -"This function is idempotent and will not raise an exception if the " -"function is not in the command's checks." -msgstr "" - -#: discord.ext.commands.Command.remove_check:8 -#: discord.ext.commands.Group.remove_check:8 -#: discord.ext.commands.HelpCommand.remove_check:8 of -msgid "The function to remove from the checks." -msgstr "" - -#: discord.ext.commands.Command.update:1 discord.ext.commands.Group.update:1 of -msgid "Updates :class:`Command` instance with updated attributes." -msgstr "" - -#: discord.ext.commands.Command.update:3 discord.ext.commands.Group.update:3 of -msgid "" -"This works similarly to the :func:`.command` decorator in terms of " -"parameters in that they are passed to the :class:`Command` or subclass " -"constructors, sans the name and callback." -msgstr "" - -#: discord.ext.commands.Command.__call__:3 of -msgid "Calls the internal callback that the command holds." -msgstr "" - -#: discord.ext.commands.Command.__call__:7 of -msgid "" -"This bypasses all mechanisms -- including checks, converters, invoke " -"hooks, cooldowns, etc. You must take care to pass the proper arguments " -"and types to this function." -msgstr "" - -#: discord.ext.commands.Command.copy:1 of -msgid "Creates a copy of this command." -msgstr "" - -#: discord.ext.commands.Command.copy:3 of -msgid "A new instance of this command." -msgstr "" - -#: discord.ext.commands.Command.copy:4 discord.ext.commands.Context:47 -#: discord.ext.commands.Context:61 of -#, fuzzy -msgid ":class:`Command`" -msgstr ":class:`Command` またはサブクラス" - -#: discord.ext.commands.Command.clean_params:1 -#: discord.ext.commands.Group.clean_params:1 of -msgid "" -"OrderedDict[:class:`str`, :class:`inspect.Parameter`]: Retrieves the " -"parameter OrderedDict without the context or self parameters." -msgstr "" - -#: discord.ext.commands.Command.clean_params:4 -#: discord.ext.commands.Group.clean_params:4 of -msgid "Useful for inspecting signature." -msgstr "" - -#: discord.ext.commands.Command.full_parent_name:1 -#: discord.ext.commands.Group.full_parent_name:1 of -msgid "Retrieves the fully qualified parent command name." -msgstr "" - -#: discord.ext.commands.Command.full_parent_name:3 -#: discord.ext.commands.Group.full_parent_name:3 of -msgid "" -"This the base command name required to execute it. For example, in ``?one" -" two three`` the parent name would be ``one two``." -msgstr "" - -#: discord.ext.commands.Command.parents:1 discord.ext.commands.Group.parents:1 -#: of -msgid "Retrieves the parents of this command." -msgstr "" - -#: discord.ext.commands.Command.parents:3 discord.ext.commands.Group.parents:3 -#: of -msgid "If the command has no parents then it returns an empty :class:`list`." -msgstr "" - -#: discord.ext.commands.Command.parents:5 discord.ext.commands.Group.parents:5 -#: of -msgid "For example in commands ``?a b c test``, the parents are ``[c, b, a]``." -msgstr "" - -#: discord.ext.commands.Command.parents:9 discord.ext.commands.Group.parents:9 -#: discord.ext.commands.HelpCommand.filter_commands:18 of -msgid "List[:class:`Command`]" -msgstr "" - -#: discord.ext.commands.Command.root_parent:1 -#: discord.ext.commands.Group.root_parent:1 of -msgid "Retrieves the root parent of this command." -msgstr "" - -#: discord.ext.commands.Command.root_parent:3 -#: discord.ext.commands.Group.root_parent:3 of -msgid "If the command has no parents then it returns ``None``." -msgstr "" - -#: discord.ext.commands.Command.root_parent:5 -#: discord.ext.commands.Group.root_parent:5 of -msgid "For example in commands ``?a b c test``, the root parent is ``a``." -msgstr "" - -#: discord.ext.commands.Command.qualified_name:1 -#: discord.ext.commands.Group.qualified_name:1 of -msgid "Retrieves the fully qualified command name." -msgstr "" - -#: discord.ext.commands.Command.qualified_name:3 -#: discord.ext.commands.Group.qualified_name:3 of -msgid "" -"This is the full parent name with the command name as well. For example, " -"in ``?one two three`` the qualified name would be ``one two three``." -msgstr "" - -#: discord.ext.commands.Command.is_on_cooldown:1 -#: discord.ext.commands.Group.is_on_cooldown:1 of -msgid "Checks whether the command is currently on cooldown." -msgstr "" - -#: discord.ext.commands.Command.is_on_cooldown:3 -#: discord.ext.commands.Group.is_on_cooldown:3 of -msgid "The invocation context to use when checking the commands cooldown status." -msgstr "" - -#: discord.ext.commands.Command.is_on_cooldown:6 -#: discord.ext.commands.Group.is_on_cooldown:6 of -msgid "A boolean indicating if the command is on cooldown." -msgstr "" - -#: discord.ext.commands.Command.reset_cooldown:1 -#: discord.ext.commands.Group.reset_cooldown:1 of -msgid "Resets the cooldown on this command." -msgstr "" - -#: discord.ext.commands.Command.reset_cooldown:3 -#: discord.ext.commands.Group.reset_cooldown:3 of -msgid "The invocation context to reset the cooldown under." -msgstr "" - -#: discord.ext.commands.Command.get_cooldown_retry_after:1 -#: discord.ext.commands.Group.get_cooldown_retry_after:1 of -msgid "Retrieves the amount of seconds before this command can be tried again." -msgstr "" - -#: discord.ext.commands.Command.get_cooldown_retry_after:5 -#: discord.ext.commands.Group.get_cooldown_retry_after:5 of -msgid "The invocation context to retrieve the cooldown from." -msgstr "" - -#: discord.ext.commands.Command.get_cooldown_retry_after:8 -#: discord.ext.commands.Group.get_cooldown_retry_after:8 of -msgid "" -"The amount of time left on this command's cooldown in seconds. If this is" -" ``0.0`` then the command isn't on cooldown." -msgstr "" - -#: discord.ext.commands.Command.error:1 discord.ext.commands.Group.error:1 of -msgid "A decorator that registers a coroutine as a local error handler." -msgstr "" - -#: discord.ext.commands.Command.error:3 discord.ext.commands.Group.error:3 of -msgid "" -"A local error handler is an :func:`.on_command_error` event limited to a " -"single command. However, the :func:`.on_command_error` is still invoked " -"afterwards as the catch-all." -msgstr "" - -#: discord.ext.commands.Command.error:7 discord.ext.commands.Group.error:7 of -msgid "The coroutine to register as the local error handler." -msgstr "" - -#: discord.ext.commands.Command.before_invoke:9 -#: discord.ext.commands.Group.before_invoke:9 of -msgid "See :meth:`.Bot.before_invoke` for more info." -msgstr "" - -#: discord.ext.commands.Command.after_invoke:9 -#: discord.ext.commands.Group.after_invoke:9 of -msgid "See :meth:`.Bot.after_invoke` for more info." -msgstr "" - -#: discord.ext.commands.Command.cog_name:1 -#: discord.ext.commands.Group.cog_name:1 of -msgid "The name of the cog this command belongs to, if any." -msgstr "" - -#: discord.ext.commands.Command.short_doc:1 -#: discord.ext.commands.Group.short_doc:1 of -msgid "Gets the \"short\" documentation of a command." -msgstr "" - -#: discord.ext.commands.Command.short_doc:3 -#: discord.ext.commands.Group.short_doc:3 of -msgid "" -"By default, this is the :attr:`brief` attribute. If that lookup leads to " -"an empty string then the first line of the :attr:`help` attribute is used" -" instead." -msgstr "" - -#: discord.ext.commands.Command.signature:1 -#: discord.ext.commands.Group.signature:1 of -msgid "Returns a POSIX-like signature useful for help command output." -msgstr "" - -#: discord.ext.commands.Command.can_run:3 discord.ext.commands.Group.can_run:3 -#: of -msgid "" -"Checks if the command can be executed by checking all the predicates " -"inside the :attr:`checks` attribute. This also checks whether the command" -" is disabled." -msgstr "" - -#: discord.ext.commands.Command.can_run:7 discord.ext.commands.Group.can_run:7 -#: of -msgid "Checks whether the command is disabled or not" -msgstr "" - -#: discord.ext.commands.Command.can_run:10 -#: discord.ext.commands.Group.can_run:10 of -msgid "The ctx of the command currently being invoked." -msgstr "" - -#: discord.ext.commands.Command.can_run:13 -#: discord.ext.commands.Group.can_run:13 of -msgid "" -"Any command error that was raised during a check call will be propagated" -" by this function." -msgstr "" - -#: discord.ext.commands.Command.can_run:15 -#: discord.ext.commands.Group.can_run:15 of -msgid "A boolean indicating if the command can be invoked." -msgstr "" - -#: discord.ext.commands.Group:1 of -msgid "" -"A class that implements a grouping protocol for commands to be executed " -"as subcommands." -msgstr "" - -#: discord.ext.commands.Group:4 of -msgid "" -"This class is a subclass of :class:`.Command` and thus all options valid " -"in :class:`.Command` are valid in here as well." -msgstr "" - -#: discord.ext.commands.Group:9 of -msgid "" -"Indicates if the group callback should begin parsing and invocation only " -"if no subcommand was found. Useful for making it an error handling " -"function to tell the user that no subcommand was found or to have " -"different functionality in case no subcommand was found. If this is " -"``False``, then the group callback will always be invoked first. This " -"means that the checks and the parsing dictated by its parameters will be " -"executed. Defaults to ``False``." -msgstr "" - -#: discord.ext.commands.Group:22 of -msgid "" -"Indicates if the group's commands should be case insensitive. Defaults to" -" ``False``." -msgstr "" - -#: discord.ext.commands.Group.copy:1 of -msgid "Creates a copy of this :class:`Group`." -msgstr "" - -#: discord.ext.commands.Group.copy:3 of -msgid "A new instance of this group." -msgstr "" - -#: discord.ext.commands.Group.copy:4 of -#, fuzzy -msgid ":class:`Group`" -msgstr ":class:`.Guild`" - -#: discord.ext.commands.GroupMixin:1 of -msgid "" -"A mixin that implements common functionality for classes that behave " -"similar to :class:`.Group` and are allowed to register commands." -msgstr "" - -#: discord.ext.commands.GroupMixin:6 of -msgid "A mapping of command name to :class:`.Command` objects." -msgstr "" - -#: discord.ext.commands.CogMeta:57 discord.ext.commands.Context:35 -#: discord.ext.commands.GroupMixin:9 discord.ext.commands.HelpCommand:40 of -#, fuzzy -msgid ":class:`dict`" -msgstr ":class:`.Guild`" - -#: discord.ext.commands.GroupMixin:13 of -msgid "Whether the commands should be case insensitive. Defaults to ``False``." -msgstr "" - -#: ../../ext/commands/api.rst:88 -msgid "Cogs" -msgstr "Cogs" - -#: discord.ext.commands.Cog:1 of -msgid "The base class that all cogs must inherit from." -msgstr "" - -#: discord.ext.commands.Cog:3 of -msgid "" -"A cog is a collection of commands, listeners, and optional state to help " -"group commands together. More information on them can be found on the " -":ref:`ext_commands_cogs` page." -msgstr "" - -#: discord.ext.commands.Cog:7 of -msgid "" -"When inheriting from this class, the options shown in :class:`CogMeta` " -"are equally valid here." -msgstr "" - -#: discord.ext.commands.Cog.get_commands:1 of -msgid "" -"A :class:`list` of :class:`.Command`\\s that are defined inside this cog." -" .. note:: This does not include subcommands." -msgstr "" - -#: discord.ext.commands.Cog.get_commands:1 of -msgid "A :class:`list` of :class:`.Command`\\s that are defined inside this cog." -msgstr "" - -#: discord.ext.commands.Cog.get_commands:6 of -msgid "This does not include subcommands." -msgstr "" - -#: discord.ext.commands.Cog.get_commands:7 of -msgid "List[:class:`.Command`]" -msgstr "" - -#: discord.ext.commands.Cog.qualified_name:1 of -msgid "Returns the cog's specified name, not the class name." -msgstr "" - -#: discord.ext.commands.Cog.description:1 of -msgid "Returns the cog's description, typically the cleaned docstring." -msgstr "" - -#: discord.ext.commands.Cog.walk_commands:1 of -msgid "" -"An iterator that recursively walks through this cog's commands and " -"subcommands." -msgstr "" - -#: discord.ext.commands.Cog.walk_commands:3 of -msgid "" -"Union[:class:`.Command`, :class:`.Group`] -- A command or group from the " -"cog." -msgstr "" - -#: discord.ext.commands.Cog.get_listeners:1 of -msgid "" -"Returns a :class:`list` of (name, function) listener pairs that are " -"defined in this cog." -msgstr "" - -#: discord.ext.commands.Cog.get_listeners:3 of -msgid "The listeners defined in this cog." -msgstr "" - -#: discord.ext.commands.Cog.get_listeners:4 of -msgid "List[Tuple[:class:`str`, :ref:`coroutine `]]" -msgstr "" - -#: discord.ext.commands.Cog.listener:1 of -msgid "A decorator that marks a function as a listener." -msgstr "" - -#: discord.ext.commands.Cog.listener:3 of -msgid "This is the cog equivalent of :meth:`.Bot.listen`." -msgstr "" - -#: discord.ext.commands.Cog.listener:5 of -msgid "" -"The name of the event being listened to. If not provided, it defaults to " -"the function's name." -msgstr "" - -#: discord.ext.commands.Cog.listener:9 of -msgid "" -"The function is not a coroutine function or a string was not passed as" -" the name." -msgstr "" - -#: discord.ext.commands.Cog.cog_unload:1 of -msgid "A special method that is called when the cog gets removed." -msgstr "" - -#: discord.ext.commands.Cog.cog_unload:3 of -msgid "This function **cannot** be a coroutine. It must be a regular function." -msgstr "" - -#: discord.ext.commands.Cog.cog_unload:6 of -msgid "Subclasses must replace this if they want special unloading behaviour." -msgstr "" - -#: discord.ext.commands.Cog.bot_check_once:1 of -msgid "A special method that registers as a :meth:`.Bot.check_once` check." -msgstr "" - -#: discord.ext.commands.Cog.bot_check:4 -#: discord.ext.commands.Cog.bot_check_once:4 -#: discord.ext.commands.Cog.cog_check:4 of -msgid "" -"This function **can** be a coroutine and must take a sole parameter, " -"``ctx``, to represent the :class:`.Context`." -msgstr "" - -#: discord.ext.commands.Cog.bot_check:1 of -msgid "A special method that registers as a :meth:`.Bot.check` check." -msgstr "" - -#: discord.ext.commands.Cog.cog_check:1 of -msgid "" -"A special method that registers as a :func:`commands.check` for every " -"command and subcommand in this cog." -msgstr "" - -#: discord.ext.commands.Cog.cog_command_error:1 of -msgid "" -"A special method that is called whenever an error is dispatched inside " -"this cog." -msgstr "" - -#: discord.ext.commands.Cog.cog_command_error:4 of -msgid "" -"This is similar to :func:`.on_command_error` except only applying to the " -"commands inside this cog." -msgstr "" - -#: discord.ext.commands.Cog.cog_after_invoke:5 -#: discord.ext.commands.Cog.cog_before_invoke:5 -#: discord.ext.commands.Cog.cog_command_error:7 of -msgid "This **must** be a coroutine." -msgstr "" - -#: discord.ext.commands.Cog.cog_command_error:9 of -msgid "The invocation context where the error happened." -msgstr "" - -#: discord.ext.commands.Cog.cog_command_error:11 of -msgid "The error that happened." -msgstr "" - -#: discord.ext.commands.Cog.cog_before_invoke:1 of -msgid "A special method that acts as a cog local pre-invoke hook." -msgstr "" - -#: discord.ext.commands.Cog.cog_before_invoke:3 of -msgid "This is similar to :meth:`.Command.before_invoke`." -msgstr "" - -#: discord.ext.commands.Cog.cog_after_invoke:1 of -msgid "A special method that acts as a cog local post-invoke hook." -msgstr "" - -#: discord.ext.commands.Cog.cog_after_invoke:3 of -msgid "This is similar to :meth:`.Command.after_invoke`." -msgstr "" - -#: discord.ext.commands.CogMeta:1 of -msgid "A metaclass for defining a cog." -msgstr "" - -#: discord.ext.commands.CogMeta:3 of -msgid "" -"Note that you should probably not use this directly. It is exposed purely" -" for documentation purposes along with making custom metaclasses to " -"intermix with other metaclasses such as the :class:`abc.ABCMeta` " -"metaclass." -msgstr "" - -#: discord.ext.commands.CogMeta:7 of -msgid "" -"For example, to create an abstract cog mixin class, the following would " -"be done." -msgstr "" - -#: discord.ext.commands.CogMeta:24 of -msgid "" -"When passing an attribute of a metaclass that is documented below, note " -"that you must pass it as a keyword-only argument to the class creation " -"like the following example:" -msgstr "" - -#: discord.ext.commands.CogMeta:35 of -msgid "" -"The cog name. By default, it is the name of the class with no " -"modification." -msgstr "" - -#: discord.ext.commands.CogMeta:41 of -msgid "" -"A list of attributes to apply to every command inside this cog. The " -"dictionary is passed into the :class:`Command` options at ``__init__``. " -"If you specify attributes inside the command attribute in the class, it " -"will override the one specified inside this attribute. For example:" -msgstr "" - -#: ../../ext/commands/api.rst:99 -msgid "Help Commands" -msgstr "" - -#: discord.ext.commands.HelpCommand:1 of -msgid "The base implementation for help command formatting." -msgstr "" - -#: discord.ext.commands.HelpCommand:5 of -msgid "" -"Internally instances of this class are deep copied every time the command" -" itself is invoked to prevent a race condition mentioned in " -":issue:`2123`." -msgstr "" - -#: discord.ext.commands.HelpCommand:9 of -msgid "" -"This means that relying on the state of this class to be the same between" -" command invocations would not work as expected." -msgstr "" - -#: discord.ext.commands.HelpCommand:14 of -msgid "" -"The context that invoked this help formatter. This is generally set after" -" the help command assigned, :func:`command_callback`\\, has been called." -msgstr "" - -#: discord.ext.commands.HelpCommand:17 of -msgid "Optional[:class:`Context`]" -msgstr "" - -#: discord.ext.commands.HelpCommand:21 of -msgid "" -"Specifies if hidden commands should be shown in the output. Defaults to " -"``False``." -msgstr "" - -#: discord.ext.commands.HelpCommand:28 of -msgid "" -"Specifies if commands should have their :attr:`.Command.checks` called " -"and verified. Defaults to ``True``." -msgstr "" - -#: discord.ext.commands.HelpCommand:35 of -msgid "" -"A dictionary of options to pass in for the construction of the help " -"command. This allows you to change the command behaviour without actually" -" changing the implementation of the command. The attributes will be the " -"same as the ones passed in the :class:`.Command` constructor." -msgstr "" - -#: discord.ext.commands.HelpCommand.add_check:1 of -#, fuzzy -msgid "Adds a check to the help command." -msgstr "ボットにグローバルチェックを追加します。" - -#: discord.ext.commands.HelpCommand.remove_check:1 of -msgid "Removes a check from the help command." -msgstr "" - -#: discord.ext.commands.HelpCommand.get_bot_mapping:1 of -msgid "Retrieves the bot mapping passed to :meth:`send_bot_help`." -msgstr "" - -#: discord.ext.commands.HelpCommand.clean_prefix:1 of -msgid "" -"The cleaned up invoke prefix. i.e. mentions are ``@name`` instead of " -"``<@id>``." -msgstr "「クリーンアップ」されたプレフィックスを返します。たとえば、メンションは ``<@id>`` のかわりに ``@name`` となります。" - -#: discord.ext.commands.HelpCommand.invoked_with:1 of -msgid "" -"Similar to :attr:`Context.invoked_with` except properly handles the case " -"where :meth:`Context.send_help` is used." -msgstr "" - -#: discord.ext.commands.HelpCommand.invoked_with:4 of -msgid "" -"If the help command was used regularly then this returns the " -":attr:`Context.invoked_with` attribute. Otherwise, if it the help command" -" was called using :meth:`Context.send_help` then it returns the internal " -"command name of the help command." -msgstr "" - -#: discord.ext.commands.HelpCommand.invoked_with:9 of -msgid "The command name that triggered this invocation." -msgstr "" - -#: discord.ext.commands.HelpCommand.get_command_signature:1 -#: discord.ext.commands.MinimalHelpCommand.get_command_signature:1 of -msgid "Retrieves the signature portion of the help page." -msgstr "ヘルプページに表示される、コマンドの使用方法を示す文字列を返します。" - -#: discord.ext.commands.HelpCommand.get_command_signature:3 -#: discord.ext.commands.MinimalHelpCommand.get_command_signature:3 of -msgid "The command to get the signature of." -msgstr "" - -#: discord.ext.commands.HelpCommand.get_command_signature:6 -#: discord.ext.commands.MinimalHelpCommand.get_command_signature:6 of -msgid "The signature for the command." -msgstr "" - -#: discord.ext.commands.HelpCommand.remove_mentions:1 of -msgid "Removes mentions from the string to prevent abuse." -msgstr "" - -#: discord.ext.commands.HelpCommand.remove_mentions:3 of -msgid "This includes ``@everyone``, ``@here``, member mentions and role mentions." -msgstr "" - -#: discord.ext.commands.HelpCommand.remove_mentions:5 of -msgid "The string with mentions removed." -msgstr "" - -#: discord.ext.commands.HelpCommand.cog:1 of -msgid "A property for retrieving or setting the cog for the help command." -msgstr "" - -#: discord.ext.commands.HelpCommand.cog:3 of -msgid "" -"When a cog is set for the help command, it is as-if the help command " -"belongs to that cog. All cog special methods will apply to the help " -"command and it will be automatically unset on unload." -msgstr "" - -#: discord.ext.commands.HelpCommand.cog:7 of -msgid "To unbind the cog from the help command, you can set it to ``None``." -msgstr "" - -#: discord.ext.commands.HelpCommand.cog:9 of -msgid "The cog that is currently set for the help command." -msgstr "" - -#: discord.ext.commands.HelpCommand.command_not_found:1 -#: discord.ext.commands.HelpCommand.subcommand_not_found:1 of -msgid "|maybecoro|" -msgstr "" - -#: discord.ext.commands.HelpCommand.command_not_found:3 of -msgid "" -"A method called when a command is not found in the help command. This is " -"useful to override for i18n." -msgstr "" - -#: discord.ext.commands.HelpCommand.command_not_found:6 of -msgid "Defaults to ``No command called {0} found.``" -msgstr "" - -#: discord.ext.commands.HelpCommand.command_not_found:8 of -msgid "" -"The string that contains the invalid command. Note that this has had " -"mentions removed to prevent abuse." -msgstr "" - -#: discord.ext.commands.HelpCommand.command_not_found:12 of -msgid "The string to use when a command has not been found." -msgstr "" - -#: discord.ext.commands.HelpCommand.subcommand_not_found:3 of -msgid "" -"A method called when a command did not have a subcommand requested in the" -" help command. This is useful to override for i18n." -msgstr "" - -#: discord.ext.commands.HelpCommand.subcommand_not_found:6 of -msgid "Defaults to either:" -msgstr "" - -#: discord.ext.commands.HelpCommand.subcommand_not_found:8 of -msgid "``'Command \"{command.qualified_name}\" has no subcommands.'``" -msgstr "" - -#: discord.ext.commands.HelpCommand.subcommand_not_found:9 of -msgid "If there is no subcommand in the ``command`` parameter." -msgstr "" - -#: discord.ext.commands.HelpCommand.subcommand_not_found:11 of -msgid "" -"``'Command \"{command.qualified_name}\" has no subcommand named " -"{string}'``" -msgstr "" - -#: discord.ext.commands.HelpCommand.subcommand_not_found:11 of -msgid "If the ``command`` parameter has subcommands but not one named ``string``." -msgstr "" - -#: discord.ext.commands.HelpCommand.subcommand_not_found:13 of -msgid "The command that did not have the subcommand requested." -msgstr "" - -#: discord.ext.commands.HelpCommand.subcommand_not_found:15 of -msgid "" -"The string that contains the invalid subcommand. Note that this has had " -"mentions removed to prevent abuse." -msgstr "" - -#: discord.ext.commands.HelpCommand.subcommand_not_found:19 of -msgid "The string to use when the command did not have the subcommand requested." -msgstr "" - -#: discord.ext.commands.HelpCommand.filter_commands:3 of -msgid "Returns a filtered list of commands and optionally sorts them." -msgstr "" - -#: discord.ext.commands.HelpCommand.filter_commands:5 of -msgid "" -"This takes into account the :attr:`verify_checks` and :attr:`show_hidden`" -" attributes." -msgstr "" - -#: discord.ext.commands.HelpCommand.filter_commands:8 of -msgid "An iterable of commands that are getting filtered." -msgstr "" - -#: discord.ext.commands.HelpCommand.filter_commands:10 of -msgid "Whether to sort the result." -msgstr "" - -#: discord.ext.commands.HelpCommand.filter_commands:12 of -msgid "" -"An optional key function to pass to :func:`py:sorted` that takes a " -":class:`Command` as its sole parameter. If ``sort`` is passed as ``True``" -" then this will default as the command name." -msgstr "" - -#: discord.ext.commands.HelpCommand.filter_commands:17 of -msgid "A list of commands that passed the filter." -msgstr "" - -#: discord.ext.commands.HelpCommand.get_max_size:1 of -msgid "Returns the largest name length of the specified command list." -msgstr "" - -#: discord.ext.commands.HelpCommand.get_max_size:3 of -msgid "A sequence of commands to check for the largest size." -msgstr "" - -#: discord.ext.commands.HelpCommand.get_max_size:6 of -msgid "The maximum width of the commands." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:12 -#: discord.ext.commands.DefaultHelpCommand:42 -#: discord.ext.commands.HelpCommand.get_max_size:7 -#: discord.ext.commands.MaxConcurrencyReached:9 -#: discord.ext.commands.Paginator:25 of -msgid ":class:`int`" -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand.get_destination:1 -#: discord.ext.commands.HelpCommand.get_destination:1 -#: discord.ext.commands.MinimalHelpCommand.get_destination:1 of -msgid "" -"Returns the :class:`~discord.abc.Messageable` where the help command will" -" be output." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand.get_destination:3 -#: discord.ext.commands.HelpCommand.get_destination:3 -#: discord.ext.commands.HelpCommand.send_bot_help:11 -#: discord.ext.commands.HelpCommand.send_cog_help:11 -#: discord.ext.commands.HelpCommand.send_command_help:10 -#: discord.ext.commands.HelpCommand.send_error_message:7 -#: discord.ext.commands.HelpCommand.send_group_help:11 -#: discord.ext.commands.MinimalHelpCommand.get_destination:3 of -msgid "You can override this method to customise the behaviour." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand.get_destination:5 -#: discord.ext.commands.HelpCommand.get_destination:5 -#: discord.ext.commands.MinimalHelpCommand.get_destination:5 of -msgid "By default this returns the context's channel." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand.get_destination:7 -#: discord.ext.commands.HelpCommand.get_destination:7 -#: discord.ext.commands.MinimalHelpCommand.get_destination:7 of -msgid "The destination where the help command will be output." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand.get_destination:8 -#: discord.ext.commands.HelpCommand.get_destination:8 -#: discord.ext.commands.MinimalHelpCommand.get_destination:8 of -msgid ":class:`.abc.Messageable`" -msgstr "" - -#: discord.ext.commands.HelpCommand.send_error_message:3 of -msgid "" -"Handles the implementation when an error happens in the help command. For" -" example, the result of :meth:`command_not_found` or " -":meth:`command_has_no_subcommand_found` will be passed here." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_error_message:9 of -msgid "" -"By default, this sends the error message to the destination specified by " -":meth:`get_destination`." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_bot_help:15 -#: discord.ext.commands.HelpCommand.send_cog_help:15 -#: discord.ext.commands.HelpCommand.send_command_help:14 -#: discord.ext.commands.HelpCommand.send_error_message:14 -#: discord.ext.commands.HelpCommand.send_group_help:15 of -msgid "You can access the invocation context with :attr:`HelpCommand.context`." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_error_message:16 of -msgid "" -"The error message to display to the user. Note that this has had mentions" -" removed to prevent abuse." -msgstr "" - -#: discord.ext.commands.HelpCommand.on_help_command_error:3 of -msgid "" -"The help command's error handler, as specified by " -":ref:`ext_commands_error_handler`." -msgstr "" - -#: discord.ext.commands.HelpCommand.on_help_command_error:5 of -msgid "" -"Useful to override if you need some specific behaviour when the error " -"handler is called." -msgstr "" - -#: discord.ext.commands.HelpCommand.on_help_command_error:8 of -msgid "" -"By default this method does nothing and just propagates to the default " -"error handlers." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_bot_help:3 of -msgid "" -"Handles the implementation of the bot command page in the help command. " -"This function is called when the help command is called with no " -"arguments." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_bot_help:6 -#: discord.ext.commands.HelpCommand.send_cog_help:6 -#: discord.ext.commands.HelpCommand.send_command_help:5 -#: discord.ext.commands.HelpCommand.send_group_help:6 of -msgid "" -"It should be noted that this method does not return anything -- rather " -"the actual message sending should be done inside this method. Well " -"behaved subclasses should use :meth:`get_destination` to know where to " -"send, as this is a customisation point for other users." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_bot_help:17 of -msgid "" -"Also, the commands in the mapping are not filtered. To do the filtering " -"you will have to call :meth:`filter_commands` yourself." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_bot_help:20 of -msgid "" -"A mapping of cogs to commands that have been requested by the user for " -"help. The key of the mapping is the :class:`~.commands.Cog` that the " -"command belongs to, or ``None`` if there isn't one, and the value is a " -"list of commands that belongs to that cog." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_cog_help:3 of -msgid "" -"Handles the implementation of the cog page in the help command. This " -"function is called when the help command is called with a cog as the " -"argument." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_cog_help:17 of -msgid "" -"To get the commands that belong to this cog see :meth:`Cog.get_commands`." -" The commands returned not filtered. To do the filtering you will have to" -" call :meth:`filter_commands` yourself." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_cog_help:21 of -msgid "The cog that was requested for help." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_group_help:3 of -msgid "" -"Handles the implementation of the group page in the help command. This " -"function is called when the help command is called with a group as the " -"argument." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_group_help:17 of -msgid "" -"To get the commands that belong to this group without aliases see " -":attr:`Group.commands`. The commands returned not filtered. To do the " -"filtering you will have to call :meth:`filter_commands` yourself." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_group_help:21 of -msgid "The group that was requested for help." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_command_help:3 of -msgid "Handles the implementation of the single command page in the help command." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_command_help:16 of -msgid "Showing Help" -msgstr "" - -#: discord.ext.commands.HelpCommand.send_command_help:19 of -msgid "" -"There are certain attributes and methods that are helpful for a help " -"command to show such as the following:" -msgstr "" - -#: discord.ext.commands.HelpCommand.send_command_help:22 of -msgid ":attr:`Command.help`" -msgstr "" - -#: discord.ext.commands.HelpCommand.send_command_help:23 of -msgid ":attr:`Command.brief`" -msgstr "" - -#: discord.ext.commands.HelpCommand.send_command_help:24 of -msgid ":attr:`Command.short_doc`" -msgstr "" - -#: discord.ext.commands.HelpCommand.send_command_help:25 of -msgid ":attr:`Command.description`" -msgstr "" - -#: discord.ext.commands.HelpCommand.send_command_help:26 of -msgid ":meth:`get_command_signature`" -msgstr "" - -#: discord.ext.commands.HelpCommand.send_command_help:28 of -msgid "" -"There are more than just these attributes but feel free to play around " -"with these to help you get started to get the output that you want." -msgstr "" - -#: discord.ext.commands.HelpCommand.send_command_help:31 of -msgid "The command that was requested for help." -msgstr "" - -#: discord.ext.commands.HelpCommand.prepare_help_command:3 of -msgid "" -"A low level method that can be used to prepare the help command before it" -" does anything. For example, if you need to prepare some state in your " -"subclass before the command does its processing then this would be the " -"place to do it." -msgstr "" - -#: discord.ext.commands.HelpCommand.prepare_help_command:8 -#: discord.ext.commands.MinimalHelpCommand.get_ending_note:3 of -msgid "The default implementation does nothing." -msgstr "" - -#: discord.ext.commands.HelpCommand.prepare_help_command:12 of -msgid "" -"This is called *inside* the help command callback body. So all the usual " -"rules that happen inside apply here as well." -msgstr "" - -#: discord.ext.commands.HelpCommand.prepare_help_command:17 of -msgid "The argument passed to the help command." -msgstr "" - -#: discord.ext.commands.HelpCommand.command_callback:3 of -msgid "The actual implementation of the help command." -msgstr "" - -#: discord.ext.commands.HelpCommand.command_callback:5 of -msgid "" -"It is not recommended to override this method and instead change the " -"behaviour through the methods that actually get dispatched." -msgstr "" - -#: discord.ext.commands.HelpCommand.command_callback:8 of -msgid ":meth:`send_bot_help`" -msgstr "" - -#: discord.ext.commands.HelpCommand.command_callback:9 of -msgid ":meth:`send_cog_help`" -msgstr "" - -#: discord.ext.commands.HelpCommand.command_callback:10 of -msgid ":meth:`send_group_help`" -msgstr "" - -#: discord.ext.commands.HelpCommand.command_callback:11 of -msgid ":meth:`send_command_help`" -msgstr "" - -#: discord.ext.commands.HelpCommand.command_callback:12 of -msgid ":meth:`get_destination`" -msgstr "" - -#: discord.ext.commands.HelpCommand.command_callback:13 of -msgid ":meth:`command_not_found`" -msgstr "" - -#: discord.ext.commands.HelpCommand.command_callback:14 of -msgid ":meth:`subcommand_not_found`" -msgstr "" - -#: discord.ext.commands.HelpCommand.command_callback:15 of -msgid ":meth:`send_error_message`" -msgstr "" - -#: discord.ext.commands.HelpCommand.command_callback:16 of -msgid ":meth:`on_help_command_error`" -msgstr "" - -#: discord.ext.commands.HelpCommand.command_callback:17 of -msgid ":meth:`prepare_help_command`" -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:1 of -msgid "The implementation of the default help command." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:3 -#: discord.ext.commands.MinimalHelpCommand:3 of -msgid "This inherits from :class:`HelpCommand`." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:5 of -msgid "It extends it with the following attributes." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:9 of -msgid "The maximum number of characters that fit in a line. Defaults to 80." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:16 -#: discord.ext.commands.MinimalHelpCommand:7 of -msgid "" -"Whether to sort the commands in the output alphabetically. Defaults to " -"``True``." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:22 -#: discord.ext.commands.MinimalHelpCommand:27 of -msgid "" -"A tribool that indicates if the help command should DM the user instead " -"of sending it to the channel it received it from. If the boolean is set " -"to ``True``, then all help output is DM'd. If ``False``, none of the help" -" output is DM'd. If ``None``, then the bot will only DM when the help " -"message becomes too long (dictated by more than :attr:`dm_help_threshold`" -" characters). Defaults to ``False``." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:29 -#: discord.ext.commands.MinimalHelpCommand:34 of -msgid "Optional[:class:`bool`]" -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:33 -#: discord.ext.commands.MinimalHelpCommand:38 of -msgid "" -"The number of characters the paginator must accumulate before getting " -"DM'd to the user if :attr:`dm_help` is set to ``None``. Defaults to 1000." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:40 of -msgid "How much to indent the commands from a heading. Defaults to ``2``." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:46 of -msgid "" -"The command list's heading string used when the help command is invoked " -"with a category name. Useful for i18n. Defaults to ``\"Commands:\"``" -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:53 -#: discord.ext.commands.MinimalHelpCommand:45 of -msgid "" -"The string used when there is a command which does not belong to any " -"category(cog). Useful for i18n. Defaults to ``\"No Category\"``" -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:60 -#: discord.ext.commands.MinimalHelpCommand:52 of -msgid "The paginator used to paginate the help command output." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand:62 -#: discord.ext.commands.MinimalHelpCommand:54 of -#, fuzzy -msgid ":class:`Paginator`" -msgstr ":class:`.AppInfo`" - -#: discord.ext.commands.DefaultHelpCommand.shorten_text:1 of -#, fuzzy -msgid ":class:`str`: Shortens text to fit into the :attr:`width`." -msgstr "渡された文字列を、 :attr:`width` に収まるよう省略します。" - -#: discord.ext.commands.DefaultHelpCommand.get_ending_note:1 of -#, fuzzy -msgid "" -":class:`str`: Returns help command's ending note. This is mainly useful " -"to override for i18n purposes." -msgstr "Helpコマンドの末尾の文字列を返します。主に翻訳する際にオーバーライドしてください。" - -#: discord.ext.commands.DefaultHelpCommand.add_indented_commands:1 of -msgid "Indents a list of commands after the specified heading." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand.add_indented_commands:3 of -msgid "The formatting is added to the :attr:`paginator`." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand.add_indented_commands:5 of -msgid "" -"The default implementation is the command name indented by :attr:`indent`" -" spaces, padded to ``max_size`` followed by the command's " -":attr:`Command.short_doc` and then shortened to fit into the " -":attr:`width`." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand.add_indented_commands:10 of -msgid "A list of commands to indent for output." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand.add_indented_commands:12 of -msgid "" -"The heading to add to the output. This is only added if the list of " -"commands is greater than 0." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand.add_indented_commands:15 of -msgid "" -"The max size to use for the gap between indents. If unspecified, calls " -":meth:`get_max_size` on the commands parameter." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand.send_pages:1 -#: discord.ext.commands.MinimalHelpCommand.send_pages:1 of -msgid "" -"A helper utility to send the page output from :attr:`paginator` to the " -"destination." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand.add_command_formatting:1 of -msgid "" -"A utility function to format the non-indented block of commands and " -"groups." -msgstr "" - -#: discord.ext.commands.DefaultHelpCommand.add_command_formatting:3 -#: discord.ext.commands.MinimalHelpCommand.add_command_formatting:3 of -msgid "The command to format." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand:1 of -msgid "An implementation of a help command with minimal output." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand:13 of -msgid "" -"The command list's heading string used when the help command is invoked " -"with a category name. Useful for i18n. Defaults to ``\"Commands\"``" -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand:20 of -msgid "" -"The alias list's heading string used to list the aliases of the command. " -"Useful for i18n. Defaults to ``\"Aliases:\"``." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.get_opening_note:1 of -msgid "" -"Returns help command's opening note. This is mainly useful to override " -"for i18n purposes." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.get_opening_note:3 of -msgid "The default implementation returns ::" -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.get_opening_note:8 of -msgid "The help command opening note." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.get_ending_note:1 of -msgid "" -"Return the help command's ending note. This is mainly useful to override " -"for i18n purposes." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.get_ending_note:5 of -msgid "The help command ending note." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.add_bot_commands_formatting:1 of -msgid "Adds the minified bot heading with commands to the output." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.add_aliases_formatting:3 -#: discord.ext.commands.MinimalHelpCommand.add_bot_commands_formatting:3 -#: discord.ext.commands.MinimalHelpCommand.add_subcommand_formatting:3 of -msgid "The formatting should be added to the :attr:`paginator`." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.add_bot_commands_formatting:5 of -msgid "" -"The default implementation is a bold underline heading followed by " -"commands separated by an EN SPACE (U+2002) in the next line." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.add_bot_commands_formatting:8 of -msgid "A list of commands that belong to the heading." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.add_bot_commands_formatting:10 of -msgid "The heading to add to the line." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.add_subcommand_formatting:1 of -msgid "Adds formatting information on a subcommand." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.add_subcommand_formatting:5 of -msgid "" -"The default implementation is the prefix and the " -":attr:`Command.qualified_name` optionally followed by an En dash and the " -"command's :attr:`Command.short_doc`." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.add_subcommand_formatting:8 of -msgid "The command to show information of." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.add_aliases_formatting:1 of -msgid "Adds the formatting information on a command's aliases." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.add_aliases_formatting:5 of -msgid "" -"The default implementation is the :attr:`aliases_heading` bolded followed" -" by a comma separated list of aliases." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.add_aliases_formatting:8 of -msgid "This is not called if there are no aliases to format." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.add_aliases_formatting:10 of -msgid "A list of aliases to format." -msgstr "" - -#: discord.ext.commands.MinimalHelpCommand.add_command_formatting:1 of -msgid "A utility function to format commands and groups." -msgstr "" - -#: discord.ext.commands.Paginator:1 of -msgid "A class that aids in paginating code blocks for Discord messages." -msgstr "" - -#: discord.ext.commands.Paginator:7 of -msgid "Returns the total number of characters in the paginator." -msgstr "" - -#: discord.ext.commands.Paginator:11 of -msgid "The prefix inserted to every page. e.g. three backticks." -msgstr "" - -#: discord.ext.commands.Paginator:17 of -msgid "The suffix appended at the end of every page. e.g. three backticks." -msgstr "" - -#: discord.ext.commands.Paginator:23 of -msgid "The maximum amount of codepoints allowed in a page." -msgstr "" - -#: discord.ext.commands.Paginator.clear:1 of -msgid "Clears the paginator to have no pages." -msgstr "" - -#: discord.ext.commands.Paginator.add_line:1 of -msgid "Adds a line to the current page." -msgstr "" - -#: discord.ext.commands.Paginator.add_line:3 of -msgid "If the line exceeds the :attr:`max_size` then an exception is raised." -msgstr "" - -#: discord.ext.commands.Paginator.add_line:6 of -msgid "The line to add." -msgstr "" - -#: discord.ext.commands.Paginator.add_line:8 of -msgid "Indicates if another empty line should be added." -msgstr "" - -#: discord.ext.commands.Paginator.add_line:11 of -msgid "The line was too big for the current :attr:`max_size`." -msgstr "" - -#: discord.ext.commands.Paginator.close_page:1 of -msgid "Prematurely terminate a page." -msgstr "" - -#: discord.ext.commands.Paginator.pages:1 of -msgid "Returns the rendered list of pages." -msgstr "" - -#: discord.ext.commands.Paginator.pages:3 of -msgid "List[:class:`str`]" -msgstr "" - -#: ../../ext/commands/api.rst:116 -msgid "Enums" -msgstr "" - -#: ../../ext/commands/api.rst:120 -msgid "Specifies a type of bucket for, e.g. a cooldown." -msgstr "" - -#: ../../ext/commands/api.rst:124 -msgid "The default bucket operates on a global basis." -msgstr "" - -#: ../../ext/commands/api.rst:127 -msgid "The user bucket operates on a per-user basis." -msgstr "" - -#: ../../ext/commands/api.rst:130 -msgid "The guild bucket operates on a per-guild basis." -msgstr "" - -#: ../../ext/commands/api.rst:133 -msgid "The channel bucket operates on a per-channel basis." -msgstr "" - -#: ../../ext/commands/api.rst:136 -msgid "The member bucket operates on a per-member basis." -msgstr "" - -#: ../../ext/commands/api.rst:139 -msgid "The category bucket operates on a per-category basis." -msgstr "" - -#: ../../ext/commands/api.rst:142 -msgid "The role bucket operates on a per-role basis." -msgstr "" - -#: ../../ext/commands/api.rst:150 -msgid "Checks" -msgstr "" - -#: discord.ext.commands.check:1 of -msgid "" -"A decorator that adds a check to the :class:`.Command` or its subclasses." -" These checks could be accessed via :attr:`.Command.checks`." -msgstr "" - -#: discord.ext.commands.check:4 of -msgid "" -"These checks should be predicates that take in a single parameter taking " -"a :class:`.Context`. If the check returns a ``False``\\-like value then " -"during invocation a :exc:`.CheckFailure` exception is raised and sent to " -"the :func:`.on_command_error` event." -msgstr "" - -#: discord.ext.commands.check:9 of -msgid "" -"If an exception should be thrown in the predicate then it should be a " -"subclass of :exc:`.CommandError`. Any exception not subclassed from it " -"will be propagated while those subclassed will be sent to " -":func:`.on_command_error`." -msgstr "" - -#: discord.ext.commands.check:14 of -msgid "" -"A special attribute named ``predicate`` is bound to the value returned by" -" this decorator to retrieve the predicate passed to the decorator. This " -"allows the following introspection and chaining to be done:" -msgstr "" - -#: discord.ext.commands.check:30 of -msgid "" -"The function returned by ``predicate`` is **always** a coroutine, even if" -" the original function was not a coroutine." -msgstr "" - -#: discord.ext.commands.check:33 of -msgid "The ``predicate`` attribute was added." -msgstr "" - -#: discord.ext.commands.check:38 of -msgid "Creating a basic check to see if the command invoker is you." -msgstr "" - -#: discord.ext.commands.check:50 of -msgid "Transforming common checks into its own decorator:" -msgstr "" - -#: discord.ext.commands.check:64 of -msgid "The predicate to check if the command should be invoked." -msgstr "" - -#: discord.ext.commands.check_any:1 of -msgid "" -"A :func:`check` that is added that checks if any of the checks passed " -"will pass, i.e. using logical OR." -msgstr "" - -#: discord.ext.commands.check_any:4 of -msgid "" -"If all checks fail then :exc:`.CheckAnyFailure` is raised to signal the " -"failure. It inherits from :exc:`.CheckFailure`." -msgstr "" - -#: discord.ext.commands.check_any:9 of -msgid "The ``predicate`` attribute for this function **is** a coroutine." -msgstr "" - -#: discord.ext.commands.check_any:13 of -msgid "" -"An argument list of checks that have been decorated with the " -":func:`check` decorator." -msgstr "" - -#: discord.ext.commands.check_any:17 of -msgid "" -"A check passed has not been decorated with the :func:`check` " -"decorator." -msgstr "" - -#: discord.ext.commands.check_any:21 of -msgid "Creating a basic check to see if it's the bot owner or the server owner:" -msgstr "" - -#: discord.ext.commands.has_role:1 of -msgid "" -"A :func:`.check` that is added that checks if the member invoking the " -"command has the role specified via the name or ID specified." -msgstr "" - -#: discord.ext.commands.has_role:4 of -msgid "" -"If a string is specified, you must give the exact name of the role, " -"including caps and spelling." -msgstr "" - -#: discord.ext.commands.has_role:7 of -msgid "" -"If an integer is specified, you must give the exact snowflake ID of the " -"role." -msgstr "" - -#: discord.ext.commands.has_role:9 of -msgid "" -"If the message is invoked in a private message context then the check " -"will return ``False``." -msgstr "" - -#: discord.ext.commands.has_role:12 of -msgid "" -"This check raises one of two special exceptions, :exc:`.MissingRole` if " -"the user is missing a role, or :exc:`.NoPrivateMessage` if it is used in " -"a private message. Both inherit from :exc:`.CheckFailure`." -msgstr "" - -#: discord.ext.commands.has_role:18 of -msgid "" -"Raise :exc:`.MissingRole` or :exc:`.NoPrivateMessage` instead of generic " -":exc:`.CheckFailure`" -msgstr "" - -#: discord.ext.commands.has_role:21 of -msgid "The name or ID of the role to check." -msgstr "" - -#: discord.ext.commands.has_permissions:1 of -msgid "" -"A :func:`.check` that is added that checks if the member has all of the " -"permissions necessary." -msgstr "" - -#: discord.ext.commands.has_permissions:4 of -msgid "" -"Note that this check operates on the current channel permissions, not the" -" guild wide permissions." -msgstr "" - -#: discord.ext.commands.has_permissions:7 of -msgid "" -"The permissions passed in must be exactly like the properties shown under" -" :class:`.discord.Permissions`." -msgstr "" - -#: discord.ext.commands.has_permissions:10 of -msgid "" -"This check raises a special exception, :exc:`.MissingPermissions` that is" -" inherited from :exc:`.CheckFailure`." -msgstr "" - -#: discord.ext.commands.has_permissions:13 of -msgid "An argument list of permissions to check for." -msgstr "" - -#: discord.ext.commands.has_guild_permissions:1 of -msgid "" -"Similar to :func:`.has_permissions`, but operates on guild wide " -"permissions instead of the current channel permissions." -msgstr "" - -#: discord.ext.commands.has_guild_permissions:4 of -msgid "" -"If this check is called in a DM context, it will raise an exception, " -":exc:`.NoPrivateMessage`." -msgstr "" - -#: discord.ext.commands.has_any_role:1 of -msgid "" -"A :func:`.check` that is added that checks if the member invoking the " -"command has **any** of the roles specified. This means that if they have " -"one out of the three roles specified, then this check will return `True`." -msgstr "" - -#: discord.ext.commands.has_any_role:5 of -msgid "Similar to :func:`.has_role`\\, the names or IDs passed in must be exact." -msgstr "" - -#: discord.ext.commands.has_any_role:7 of -msgid "" -"This check raises one of two special exceptions, :exc:`.MissingAnyRole` " -"if the user is missing all roles, or :exc:`.NoPrivateMessage` if it is " -"used in a private message. Both inherit from :exc:`.CheckFailure`." -msgstr "" - -#: discord.ext.commands.has_any_role:13 of -msgid "" -"Raise :exc:`.MissingAnyRole` or :exc:`.NoPrivateMessage` instead of " -"generic :exc:`.CheckFailure`" -msgstr "" - -#: discord.ext.commands.has_any_role:16 of -msgid "An argument list of names or IDs to check that the member has roles wise." -msgstr "" - -#: discord.ext.commands.bot_has_role:1 of -msgid "Similar to :func:`.has_role` except checks if the bot itself has the role." -msgstr "" - -#: discord.ext.commands.bot_has_role:4 of -msgid "" -"This check raises one of two special exceptions, :exc:`.BotMissingRole` " -"if the bot is missing the role, or :exc:`.NoPrivateMessage` if it is used" -" in a private message. Both inherit from :exc:`.CheckFailure`." -msgstr "" - -#: discord.ext.commands.bot_has_role:10 of -msgid "" -"Raise :exc:`.BotMissingRole` or :exc:`.NoPrivateMessage` instead of " -"generic :exc:`.CheckFailure`" -msgstr "" - -#: discord.ext.commands.bot_has_permissions:1 of -msgid "" -"Similar to :func:`.has_permissions` except checks if the bot itself has " -"the permissions listed." -msgstr "" - -#: discord.ext.commands.bot_has_permissions:4 of -msgid "" -"This check raises a special exception, :exc:`.BotMissingPermissions` that" -" is inherited from :exc:`.CheckFailure`." -msgstr "" - -#: discord.ext.commands.bot_has_guild_permissions:1 of -msgid "" -"Similar to :func:`.has_guild_permissions`, but checks the bot members " -"guild permissions." -msgstr "" - -#: discord.ext.commands.bot_has_any_role:1 of -msgid "" -"Similar to :func:`.has_any_role` except checks if the bot itself has any " -"of the roles listed." -msgstr "" - -#: discord.ext.commands.bot_has_any_role:4 of -msgid "" -"This check raises one of two special exceptions, " -":exc:`.BotMissingAnyRole` if the bot is missing all roles, or " -":exc:`.NoPrivateMessage` if it is used in a private message. Both inherit" -" from :exc:`.CheckFailure`." -msgstr "" - -#: discord.ext.commands.bot_has_any_role:10 of -msgid "" -"Raise :exc:`.BotMissingAnyRole` or :exc:`.NoPrivateMessage` instead of " -"generic checkfailure" -msgstr "" - -#: discord.ext.commands.cooldown:1 of -#, fuzzy -msgid "A decorator that adds a cooldown to a :class:`.Command`" -msgstr "Botにグローバルチェックを追加するデコレーター" - -#: discord.ext.commands.cooldown:3 of -msgid "" -"A cooldown allows a command to only be used a specific amount of times in" -" a specific time frame. These cooldowns can be based either on a per-" -"guild, per-channel, per-user, per-role or global basis. Denoted by the " -"third argument of ``type`` which must be of enum type " -":class:`.BucketType`." -msgstr "" - -#: discord.ext.commands.cooldown:9 of -msgid "" -"If a cooldown is triggered, then :exc:`.CommandOnCooldown` is triggered " -"in :func:`.on_command_error` and the local error handler." -msgstr "" - -#: discord.ext.commands.cooldown:12 of -msgid "A command can only have a single cooldown." -msgstr "" - -#: discord.ext.commands.cooldown:14 of -msgid "The number of times a command can be used before triggering a cooldown." -msgstr "" - -#: discord.ext.commands.cooldown:16 of -msgid "The amount of seconds to wait for a cooldown when it's been triggered." -msgstr "" - -#: discord.ext.commands.cooldown:18 of -msgid "The type of cooldown to have." -msgstr "" - -#: discord.ext.commands.max_concurrency:1 of -msgid "" -"A decorator that adds a maximum concurrency to a :class:`.Command` or its" -" subclasses." -msgstr "" - -#: discord.ext.commands.max_concurrency:3 of -msgid "" -"This enables you to only allow a certain number of command invocations at" -" the same time, for example if a command takes too long or if only one " -"user can use it at a time. This differs from a cooldown in that there is " -"no set waiting period or token bucket -- only a set number of people can " -"run the command." -msgstr "" - -#: discord.ext.commands.max_concurrency:10 of -msgid "" -"The maximum number of invocations of this command that can be running at " -"the same time." -msgstr "" - -#: discord.ext.commands.max_concurrency:12 of -msgid "" -"The bucket that this concurrency is based on, e.g. ``BucketType.guild`` " -"would allow it to be used up to ``number`` times per guild." -msgstr "" - -#: discord.ext.commands.max_concurrency:15 of -msgid "" -"Whether the command should wait for the queue to be over. If this is set " -"to ``False`` then instead of waiting until the command can run again, the" -" command raises :exc:`.MaxConcurrencyReached` to its error handler. If " -"this is set to ``True`` then the command waits until it can be executed." -msgstr "" - -#: discord.ext.commands.before_invoke:3 of -msgid "" -"This allows you to refer to one before invoke hook for several commands " -"that do not have to be within the same cog." -msgstr "" - -#: discord.ext.commands.after_invoke:3 of -msgid "" -"This allows you to refer to one after invoke hook for several commands " -"that do not have to be within the same cog." -msgstr "" - -#: discord.ext.commands.guild_only:1 of -msgid "" -"A :func:`.check` that indicates this command must only be used in a guild" -" context only. Basically, no private messages are allowed when using the " -"command." -msgstr "" - -#: discord.ext.commands.guild_only:5 of -msgid "" -"This check raises a special exception, :exc:`.NoPrivateMessage` that is " -"inherited from :exc:`.CheckFailure`." -msgstr "" - -#: discord.ext.commands.dm_only:1 of -msgid "" -"A :func:`.check` that indicates this command must only be used in a DM " -"context. Only private messages are allowed when using the command." -msgstr "" - -#: discord.ext.commands.dm_only:5 of -msgid "" -"This check raises a special exception, :exc:`.PrivateMessageOnly` that is" -" inherited from :exc:`.CheckFailure`." -msgstr "" - -#: discord.ext.commands.is_owner:1 of -msgid "" -"A :func:`.check` that checks if the person invoking this command is the " -"owner of the bot." -msgstr "" - -#: discord.ext.commands.is_owner:4 of -msgid "This is powered by :meth:`.Bot.is_owner`." -msgstr "" - -#: discord.ext.commands.is_owner:6 of -msgid "" -"This check raises a special exception, :exc:`.NotOwner` that is derived " -"from :exc:`.CheckFailure`." -msgstr "" - -#: discord.ext.commands.is_nsfw:1 of -msgid "A :func:`.check` that checks if the channel is a NSFW channel." -msgstr "" - -#: discord.ext.commands.is_nsfw:3 of -msgid "" -"This check raises a special exception, :exc:`.NSFWChannelRequired` that " -"is derived from :exc:`.CheckFailure`." -msgstr "" - -#: discord.ext.commands.is_nsfw:8 of -msgid "" -"Raise :exc:`.NSFWChannelRequired` instead of generic " -":exc:`.CheckFailure`. DM channels will also now pass this check." -msgstr "" - -#: ../../ext/commands/api.rst:191 -msgid "Context" -msgstr "" - -#: discord.ext.commands.Context:1 of -msgid "Represents the context in which a command is being invoked under." -msgstr "" - -#: discord.ext.commands.Context:3 of -msgid "" -"This class contains a lot of meta data to help you understand more about " -"the invocation context. This class is not created manually and is instead" -" passed around to commands as the first parameter." -msgstr "" - -#: discord.ext.commands.Context:7 of -msgid "This class implements the :class:`~discord.abc.Messageable` ABC." -msgstr "" - -#: discord.ext.commands.Context:11 of -msgid "The message that triggered the command being executed." -msgstr "" - -#: discord.ext.commands.Context:13 of -#, fuzzy -msgid ":class:`.Message`" -msgstr ":class:`.Guild`" - -#: discord.ext.commands.Context:17 of -msgid "The bot that contains the command being executed." -msgstr "" - -#: discord.ext.commands.Context:19 of -#, fuzzy -msgid ":class:`.Bot`" -msgstr ":class:`.AppInfo`" - -#: discord.ext.commands.Context:23 of -msgid "" -"The list of transformed arguments that were passed into the command. If " -"this is accessed during the :func:`on_command_error` event then this list" -" could be incomplete." -msgstr "" - -#: discord.ext.commands.BotMissingPermissions:10 -#: discord.ext.commands.Context:27 discord.ext.commands.MissingPermissions:10 -#: of -#, fuzzy -msgid ":class:`list`" -msgstr ":class:`.Guild`" - -#: discord.ext.commands.Context:31 of -msgid "" -"A dictionary of transformed arguments that were passed into the command. " -"Similar to :attr:`args`\\, if this is accessed in the " -":func:`on_command_error` event then this dict could be incomplete." -msgstr "" - -#: discord.ext.commands.Context:39 of -msgid "The prefix that was used to invoke the command." -msgstr "" - -#: discord.ext.commands.Context:45 of -msgid "The command that is being invoked currently." -msgstr "" - -#: discord.ext.commands.Context:51 of -msgid "" -"The command name that triggered this invocation. Useful for finding out " -"which alias called the command." -msgstr "" - -#: discord.ext.commands.Context:58 of -msgid "" -"The subcommand that was invoked. If no valid subcommand was invoked then " -"this is equal to ``None``." -msgstr "" - -#: discord.ext.commands.Context:65 of -msgid "" -"The string that was attempted to call a subcommand. This does not have to" -" point to a valid registered subcommand and could just point to a " -"nonsense string. If nothing was passed to attempt a call to a subcommand " -"then this is set to ``None``." -msgstr "" - -#: discord.ext.commands.Context:74 of -msgid "" -"A boolean that indicates if the command failed to be parsed, checked, or " -"invoked." -msgstr "" - -#: discord.ext.commands.Context.history:1 of -msgid "" -"Returns an :class:`~discord.AsyncIterator` that enables receiving the " -"destination's message history." -msgstr "" - -#: discord.ext.commands.Context.history:3 of -#, fuzzy -msgid "" -"You must have :attr:`~Permissions.read_message_history` permissions to " -"use this." -msgstr "これを行うには、関連付けられたGuildにて、 :attr:`~.Permissions.manage_channels` 権限が必要です。" - -#: discord.ext.commands.Context.history:14 of -msgid "Flattening into a list: ::" -msgstr "" - -#: discord.ext.commands.Context.history:21 of -msgid "" -"The number of messages to retrieve. If ``None``, retrieves every message " -"in the channel. Note, however, that this would make it a slow operation." -msgstr "" - -#: discord.ext.commands.Context.history:25 of -msgid "" -"Retrieve messages before this date or message. If a date is provided it " -"must be a timezone-naive datetime representing UTC time." -msgstr "" - -#: discord.ext.commands.Context.history:28 of -msgid "" -"Retrieve messages after this date or message. If a date is provided it " -"must be a timezone-naive datetime representing UTC time." -msgstr "" - -#: discord.ext.commands.Context.history:31 of -msgid "" -"Retrieve messages around this date or message. If a date is provided it " -"must be a timezone-naive datetime representing UTC time. When using this " -"argument, the maximum limit is 101. Note that if the limit is an even " -"number then this will return at most limit + 1 messages." -msgstr "" - -#: discord.ext.commands.Context.history:36 of -msgid "" -"If set to ``True``, return messages in oldest->newest order. Defaults to " -"``True`` if ``after`` is specified, otherwise ``False``." -msgstr "" - -#: discord.ext.commands.Context.history:40 of -#, fuzzy -msgid "You do not have permissions to get channel message history." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.ext.commands.Context.history:41 of -msgid "The request to get message history failed." -msgstr "" - -#: discord.ext.commands.Context.history:43 of -msgid ":class:`~discord.Message` -- The message with the message data parsed." -msgstr "" - -#: discord.ext.commands.Context.typing:1 of -msgid "" -"Returns a context manager that allows you to type for an indefinite " -"period of time." -msgstr "" - -#: discord.ext.commands.Context.typing:3 of -msgid "This is useful for denoting long computations in your bot." -msgstr "" - -#: discord.ext.commands.Context.typing:7 of -msgid "" -"This is both a regular context manager and an async context manager. This" -" means that both ``with`` and ``async with`` work with this." -msgstr "" - -#: discord.ext.commands.Context.typing:10 of -msgid "Example Usage: ::" -msgstr "" - -#: discord.ext.commands.Context.invoke:3 of -msgid "Calls a command with the arguments given." -msgstr "" - -#: discord.ext.commands.Context.invoke:5 of -msgid "" -"This is useful if you want to just call the callback that a " -":class:`.Command` holds internally." -msgstr "" - -#: discord.ext.commands.Context.invoke:10 of -msgid "" -"This does not handle converters, checks, cooldowns, pre-invoke, or after-" -"invoke hooks in any matter. It calls the internal callback directly as-if" -" it was a regular function." -msgstr "" - -#: discord.ext.commands.Context.invoke:14 of -msgid "" -"You must take care in passing the proper arguments when using this " -"function." -msgstr "" - -#: discord.ext.commands.Context.invoke:19 of -msgid "The first parameter passed **must** be the command being invoked." -msgstr "" - -#: discord.ext.commands.Context.invoke:21 of -msgid "The command that is going to be called." -msgstr "" - -#: discord.ext.commands.Context.invoke:23 of -msgid "The arguments to to use." -msgstr "" - -#: discord.ext.commands.Context.invoke:24 of -msgid "The keyword arguments to use." -msgstr "" - -#: discord.ext.commands.Context.invoke:26 of -msgid "The command argument to invoke is missing." -msgstr "" - -#: discord.ext.commands.Context.reinvoke:3 of -msgid "Calls the command again." -msgstr "" - -#: discord.ext.commands.Context.reinvoke:5 of -msgid "" -"This is similar to :meth:`~.Context.invoke` except that it bypasses " -"checks, cooldowns, and error handlers." -msgstr "" - -#: discord.ext.commands.Context.reinvoke:10 of -msgid "" -"If you want to bypass :exc:`.UserInputError` derived exceptions, it is " -"recommended to use the regular :meth:`~.Context.invoke` as it will work " -"more naturally. After all, this will end up using the old arguments the " -"user has used and will thus just fail again." -msgstr "" - -#: discord.ext.commands.Context.reinvoke:16 of -msgid "Whether to call the before and after invoke hooks." -msgstr "" - -#: discord.ext.commands.Context.reinvoke:18 of -msgid "" -"Whether to start the call chain from the very beginning or where we left " -"off (i.e. the command that caused the error). The default is to start " -"where we left off." -msgstr "" - -#: discord.ext.commands.Context.reinvoke:23 of -msgid "The context to reinvoke is not valid." -msgstr "" - -#: discord.ext.commands.Context.valid:1 of -msgid "Checks if the invocation context is valid to be invoked with." -msgstr "" - -#: discord.ext.commands.Context.cog:1 of -msgid "" -"Returns the cog associated with this context's command. None if it does " -"not exist." -msgstr "" - -#: discord.ext.commands.Context.cog:3 of -#, fuzzy -msgid ":class:`.Cog`" -msgstr ":class:`.AppInfo`" - -#: discord.ext.commands.Context.guild:1 of -msgid "" -"Returns the guild associated with this context's command. None if not " -"available." -msgstr "" - -#: discord.ext.commands.Context.channel:1 of -msgid "" -":class:`.TextChannel`: Returns the channel associated with this context's" -" command. Shorthand for :attr:`.Message.channel`." -msgstr "" - -#: discord.ext.commands.Context.author:1 of -msgid "" -"Union[:class:`~discord.User`, :class:`.Member`]: Returns the author " -"associated with this context's command. Shorthand for " -":attr:`.Message.author`" -msgstr "" - -#: discord.ext.commands.Context.me:1 of -msgid "" -"Union[:class:`.Member`, :class:`.ClientUser`]: Similar to " -":attr:`.Guild.me` except it may return the :class:`.ClientUser` in " -"private message contexts." -msgstr "" - -#: discord.ext.commands.Context.voice_client:1 of -msgid "A shortcut to :attr:`.Guild.voice_client`\\, if applicable." -msgstr "" - -#: discord.ext.commands.Context.voice_client:3 of -msgid "Optional[:class:`.VoiceProtocol`]" -msgstr "" - -#: discord.ext.commands.Context.send_help:3 of -msgid "" -"Shows the help command for the specified entity if given. The entity can " -"be a command or a cog." -msgstr "" - -#: discord.ext.commands.Context.send_help:6 of -msgid "If no entity is given, then it'll show help for the entire bot." -msgstr "" - -#: discord.ext.commands.Context.send_help:9 of -msgid "" -"If the entity is a string, then it looks up whether it's a :class:`Cog` " -"or a :class:`Command`." -msgstr "" - -#: discord.ext.commands.Context.send_help:14 of -msgid "" -"Due to the way this function works, instead of returning something " -"similar to :meth:`~.commands.HelpCommand.command_not_found` this returns " -":class:`None` on bad input or no help command." -msgstr "" - -#: discord.ext.commands.Context.send_help:18 of -msgid "The entity to show help for." -msgstr "" - -#: discord.ext.commands.Context.send_help:21 of -msgid "The result of the help command, if any." -msgstr "" - -#: discord.ext.commands.Context.fetch_message:3 of -msgid "Retrieves a single :class:`~discord.Message` from the destination." -msgstr "" - -#: discord.ext.commands.Context.fetch_message:5 of -msgid "This can only be used by bot accounts." -msgstr "" - -#: discord.ext.commands.Context.fetch_message:7 of -msgid "The message ID to look for." -msgstr "" - -#: discord.ext.commands.Context.fetch_message:10 of -msgid "The specified message was not found." -msgstr "" - -#: discord.ext.commands.Context.fetch_message:11 of -msgid "You do not have the permissions required to get a message." -msgstr "" - -#: discord.ext.commands.Context.fetch_message:12 of -msgid "Retrieving the message failed." -msgstr "" - -#: discord.ext.commands.Context.fetch_message:14 of -msgid "The message asked for." -msgstr "" - -#: discord.ext.commands.Context.fetch_message:15 -#: discord.ext.commands.Context.send:49 of -msgid ":class:`~discord.Message`" -msgstr "" - -#: discord.ext.commands.Context.pins:3 of -msgid "Retrieves all messages that are currently pinned in the channel." -msgstr "" - -#: discord.ext.commands.Context.pins:7 of -msgid "" -"Due to a limitation with the Discord API, the :class:`.Message` objects " -"returned by this method do not contain complete " -":attr:`.Message.reactions` data." -msgstr "" - -#: discord.ext.commands.Context.pins:11 of -msgid "Retrieving the pinned messages failed." -msgstr "" - -#: discord.ext.commands.Context.pins:13 of -msgid "The messages that are currently pinned." -msgstr "" - -#: discord.ext.commands.Context.pins:14 of -msgid "List[:class:`~discord.Message`]" -msgstr "" - -#: discord.ext.commands.Context.send:3 of -msgid "Sends a message to the destination with the content given." -msgstr "" - -#: discord.ext.commands.Context.send:5 of -msgid "" -"The content must be a type that can convert to a string through " -"``str(content)``. If the content is set to ``None`` (the default), then " -"the ``embed`` parameter must be provided." -msgstr "" - -#: discord.ext.commands.Context.send:9 of -msgid "" -"To upload a single file, the ``file`` parameter should be used with a " -"single :class:`~discord.File` object. To upload multiple files, the " -"``files`` parameter should be used with a :class:`list` of " -":class:`~discord.File` objects. **Specifying both parameters will lead to" -" an exception**." -msgstr "" - -#: discord.ext.commands.Context.send:14 of -msgid "" -"If the ``embed`` parameter is provided, it must be of type " -":class:`~discord.Embed` and it must be a rich embed type." -msgstr "" - -#: discord.ext.commands.Context.send:17 of -msgid "The content of the message to send." -msgstr "" - -#: discord.ext.commands.Context.send:19 of -msgid "Indicates if the message should be sent using text-to-speech." -msgstr "" - -#: discord.ext.commands.Context.send:21 of -msgid "The rich embed for the content." -msgstr "" - -#: discord.ext.commands.Context.send:23 of -msgid "The file to upload." -msgstr "" - -#: discord.ext.commands.Context.send:25 of -msgid "A list of files to upload. Must be a maximum of 10." -msgstr "" - -#: discord.ext.commands.Context.send:27 of -msgid "" -"The nonce to use for sending this message. If the message was " -"successfully sent, then the message will have a nonce with this value." -msgstr "" - -#: discord.ext.commands.Context.send:30 of -msgid "" -"If provided, the number of seconds to wait in the background before " -"deleting the message we just sent. If the deletion fails, then it is " -"silently ignored." -msgstr "" - -#: discord.ext.commands.Context.send:34 of -msgid "" -"Controls the mentions being processed in this message. If this is passed," -" then the object is merged with :attr:`~discord.Client.allowed_mentions`." -" The merging behaviour only overrides attributes that have been " -"explicitly passed to the object, otherwise it uses the attributes set in " -":attr:`~discord.Client.allowed_mentions`. If no object is passed at all " -"then the defaults given by :attr:`~discord.Client.allowed_mentions` are " -"used instead. .. versionadded:: 1.4" -msgstr "" - -#: discord.ext.commands.Context.send:34 of -msgid "" -"Controls the mentions being processed in this message. If this is passed," -" then the object is merged with :attr:`~discord.Client.allowed_mentions`." -" The merging behaviour only overrides attributes that have been " -"explicitly passed to the object, otherwise it uses the attributes set in " -":attr:`~discord.Client.allowed_mentions`. If no object is passed at all " -"then the defaults given by :attr:`~discord.Client.allowed_mentions` are " -"used instead." -msgstr "" - -#: discord.ext.commands.Context.send:44 of -msgid "Sending the message failed." -msgstr "" - -#: discord.ext.commands.Context.send:45 of -msgid "You do not have the proper permissions to send the message." -msgstr "" - -#: discord.ext.commands.Context.send:46 of -msgid "" -"The ``files`` list is not of the appropriate size or you specified " -"both ``file`` and ``files``." -msgstr "" - -#: discord.ext.commands.Context.send:48 of -msgid "The message that was sent." -msgstr "" - -#: discord.ext.commands.Context.trigger_typing:3 of -msgid "Triggers a *typing* indicator to the destination." -msgstr "" - -#: discord.ext.commands.Context.trigger_typing:5 of -msgid "" -"*Typing* indicator will go away after 10 seconds, or after a message is " -"sent." -msgstr "" - -#: ../../ext/commands/api.rst:207 -msgid "Converters" -msgstr "" - -#: discord.ext.commands.Converter:1 of -msgid "" -"The base class of custom converters that require the :class:`.Context` to" -" be passed to be useful." -msgstr "" - -#: discord.ext.commands.Converter:4 of -msgid "" -"This allows you to implement converters that function similar to the " -"special cased ``discord`` classes." -msgstr "" - -#: discord.ext.commands.Converter:7 of -msgid "" -"Classes that derive from this should override the " -":meth:`~.Converter.convert` method to do its conversion logic. This " -"method must be a :ref:`coroutine `." -msgstr "" - -#: discord.ext.commands.CategoryChannelConverter.convert:3 -#: discord.ext.commands.ColourConverter.convert:3 -#: discord.ext.commands.Converter.convert:3 -#: discord.ext.commands.EmojiConverter.convert:3 -#: discord.ext.commands.GameConverter.convert:3 -#: discord.ext.commands.InviteConverter.convert:3 -#: discord.ext.commands.MemberConverter.convert:3 -#: discord.ext.commands.MessageConverter.convert:3 -#: discord.ext.commands.PartialEmojiConverter.convert:3 -#: discord.ext.commands.RoleConverter.convert:3 -#: discord.ext.commands.TextChannelConverter.convert:3 -#: discord.ext.commands.UserConverter.convert:3 -#: discord.ext.commands.VoiceChannelConverter.convert:3 -#: discord.ext.commands.clean_content.convert:3 of -msgid "The method to override to do conversion logic." -msgstr "" - -#: discord.ext.commands.CategoryChannelConverter.convert:5 -#: discord.ext.commands.ColourConverter.convert:5 -#: discord.ext.commands.Converter.convert:5 -#: discord.ext.commands.EmojiConverter.convert:5 -#: discord.ext.commands.GameConverter.convert:5 -#: discord.ext.commands.InviteConverter.convert:5 -#: discord.ext.commands.MemberConverter.convert:5 -#: discord.ext.commands.MessageConverter.convert:5 -#: discord.ext.commands.PartialEmojiConverter.convert:5 -#: discord.ext.commands.RoleConverter.convert:5 -#: discord.ext.commands.TextChannelConverter.convert:5 -#: discord.ext.commands.UserConverter.convert:5 -#: discord.ext.commands.VoiceChannelConverter.convert:5 -#: discord.ext.commands.clean_content.convert:5 of -msgid "" -"If an error is found while converting, it is recommended to raise a " -":exc:`.CommandError` derived exception as it will properly propagate to " -"the error handlers." -msgstr "" - -#: discord.ext.commands.CategoryChannelConverter.convert:9 -#: discord.ext.commands.ColourConverter.convert:9 -#: discord.ext.commands.Converter.convert:9 -#: discord.ext.commands.EmojiConverter.convert:9 -#: discord.ext.commands.GameConverter.convert:9 -#: discord.ext.commands.InviteConverter.convert:9 -#: discord.ext.commands.MemberConverter.convert:9 -#: discord.ext.commands.MessageConverter.convert:9 -#: discord.ext.commands.PartialEmojiConverter.convert:9 -#: discord.ext.commands.RoleConverter.convert:9 -#: discord.ext.commands.TextChannelConverter.convert:9 -#: discord.ext.commands.UserConverter.convert:9 -#: discord.ext.commands.VoiceChannelConverter.convert:9 -#: discord.ext.commands.clean_content.convert:9 of -msgid "The invocation context that the argument is being used in." -msgstr "" - -#: discord.ext.commands.CategoryChannelConverter.convert:11 -#: discord.ext.commands.ColourConverter.convert:11 -#: discord.ext.commands.Converter.convert:11 -#: discord.ext.commands.EmojiConverter.convert:11 -#: discord.ext.commands.GameConverter.convert:11 -#: discord.ext.commands.InviteConverter.convert:11 -#: discord.ext.commands.MemberConverter.convert:11 -#: discord.ext.commands.MessageConverter.convert:11 -#: discord.ext.commands.PartialEmojiConverter.convert:11 -#: discord.ext.commands.RoleConverter.convert:11 -#: discord.ext.commands.TextChannelConverter.convert:11 -#: discord.ext.commands.UserConverter.convert:11 -#: discord.ext.commands.VoiceChannelConverter.convert:11 -#: discord.ext.commands.clean_content.convert:11 of -msgid "The argument that is being converted." -msgstr "" - -#: discord.ext.commands.CategoryChannelConverter.convert:14 -#: discord.ext.commands.ColourConverter.convert:14 -#: discord.ext.commands.Converter.convert:14 -#: discord.ext.commands.EmojiConverter.convert:14 -#: discord.ext.commands.GameConverter.convert:14 -#: discord.ext.commands.InviteConverter.convert:14 -#: discord.ext.commands.MemberConverter.convert:14 -#: discord.ext.commands.MessageConverter.convert:14 -#: discord.ext.commands.PartialEmojiConverter.convert:14 -#: discord.ext.commands.RoleConverter.convert:14 -#: discord.ext.commands.TextChannelConverter.convert:14 -#: discord.ext.commands.UserConverter.convert:14 -#: discord.ext.commands.VoiceChannelConverter.convert:14 -#: discord.ext.commands.clean_content.convert:14 of -msgid "A generic exception occurred when converting the argument." -msgstr "" - -#: discord.ext.commands.CategoryChannelConverter.convert:15 -#: discord.ext.commands.ColourConverter.convert:15 -#: discord.ext.commands.Converter.convert:15 -#: discord.ext.commands.EmojiConverter.convert:15 -#: discord.ext.commands.GameConverter.convert:15 -#: discord.ext.commands.InviteConverter.convert:15 -#: discord.ext.commands.MemberConverter.convert:15 -#: discord.ext.commands.MessageConverter.convert:15 -#: discord.ext.commands.PartialEmojiConverter.convert:15 -#: discord.ext.commands.RoleConverter.convert:15 -#: discord.ext.commands.TextChannelConverter.convert:15 -#: discord.ext.commands.UserConverter.convert:15 -#: discord.ext.commands.VoiceChannelConverter.convert:15 -#: discord.ext.commands.clean_content.convert:15 of -msgid "The converter failed to convert the argument." -msgstr "" - -#: discord.ext.commands.MemberConverter:1 of -msgid "Converts to a :class:`~discord.Member`." -msgstr "" - -#: discord.ext.commands.CategoryChannelConverter:3 -#: discord.ext.commands.MemberConverter:3 discord.ext.commands.RoleConverter:3 -#: discord.ext.commands.TextChannelConverter:3 -#: discord.ext.commands.VoiceChannelConverter:3 of -msgid "" -"All lookups are via the local guild. If in a DM context, then the lookup " -"is done by the global cache." -msgstr "" - -#: discord.ext.commands.CategoryChannelConverter:6 -#: discord.ext.commands.EmojiConverter:6 discord.ext.commands.MemberConverter:6 -#: discord.ext.commands.MessageConverter:5 discord.ext.commands.RoleConverter:6 -#: discord.ext.commands.TextChannelConverter:6 -#: discord.ext.commands.UserConverter:5 -#: discord.ext.commands.VoiceChannelConverter:6 of -msgid "The lookup strategy is as follows (in order):" -msgstr "" - -#: discord.ext.commands.CategoryChannelConverter:8 -#: discord.ext.commands.EmojiConverter:8 discord.ext.commands.MemberConverter:8 -#: discord.ext.commands.RoleConverter:8 -#: discord.ext.commands.TextChannelConverter:8 -#: discord.ext.commands.UserConverter:7 -#: discord.ext.commands.VoiceChannelConverter:8 of -msgid "Lookup by ID." -msgstr "" - -#: discord.ext.commands.CategoryChannelConverter:9 -#: discord.ext.commands.MemberConverter:9 discord.ext.commands.RoleConverter:9 -#: discord.ext.commands.TextChannelConverter:9 -#: discord.ext.commands.UserConverter:8 -#: discord.ext.commands.VoiceChannelConverter:9 of -msgid "Lookup by mention." -msgstr "" - -#: discord.ext.commands.MemberConverter:10 discord.ext.commands.UserConverter:9 -#: of -msgid "Lookup by name#discrim" -msgstr "" - -#: discord.ext.commands.CategoryChannelConverter:10 -#: discord.ext.commands.EmojiConverter:10 -#: discord.ext.commands.MemberConverter:11 -#: discord.ext.commands.RoleConverter:10 -#: discord.ext.commands.TextChannelConverter:10 -#: discord.ext.commands.UserConverter:10 -#: discord.ext.commands.VoiceChannelConverter:10 of -msgid "Lookup by name" -msgstr "" - -#: discord.ext.commands.MemberConverter:12 of -msgid "Lookup by nickname" -msgstr "" - -#: discord.ext.commands.MemberConverter:14 of -msgid "Raise :exc:`.MemberNotFound` instead of generic :exc:`.BadArgument`" -msgstr "" - -#: discord.ext.commands.MemberConverter:17 of -msgid "" -"This converter now lazily fetches members from the gateway and HTTP APIs," -" optionally caching the result if :attr:`.MemberCacheFlags.joined` is " -"enabled." -msgstr "" - -#: discord.ext.commands.UserConverter:1 of -msgid "Converts to a :class:`~discord.User`." -msgstr "" - -#: discord.ext.commands.UserConverter:3 of -msgid "All lookups are via the global user cache." -msgstr "" - -#: discord.ext.commands.UserConverter:12 of -msgid "Raise :exc:`.UserNotFound` instead of generic :exc:`.BadArgument`" -msgstr "" - -#: discord.ext.commands.MessageConverter:1 of -msgid "Converts to a :class:`discord.Message`." -msgstr "" - -#: discord.ext.commands.MessageConverter:7 of -msgid "" -"Lookup by \"{channel ID}-{message ID}\" (retrieved by shift-clicking on " -"\"Copy ID\")" -msgstr "" - -#: discord.ext.commands.MessageConverter:8 of -msgid "Lookup by message ID (the message **must** be in the context channel)" -msgstr "" - -#: discord.ext.commands.MessageConverter:9 of -msgid "Lookup by message URL" -msgstr "" - -#: discord.ext.commands.MessageConverter:11 of -msgid "" -"Raise :exc:`.ChannelNotFound`, `MessageNotFound` or `ChannelNotReadable` " -"instead of generic :exc:`.BadArgument`" -msgstr "" - -#: discord.ext.commands.TextChannelConverter:1 of -msgid "Converts to a :class:`~discord.TextChannel`." -msgstr "" - -#: discord.ext.commands.CategoryChannelConverter:12 -#: discord.ext.commands.TextChannelConverter:12 -#: discord.ext.commands.VoiceChannelConverter:12 of -msgid "Raise :exc:`.ChannelNotFound` instead of generic :exc:`.BadArgument`" -msgstr "" - -#: discord.ext.commands.VoiceChannelConverter:1 of -msgid "Converts to a :class:`~discord.VoiceChannel`." -msgstr "" - -#: discord.ext.commands.CategoryChannelConverter:1 of -msgid "Converts to a :class:`~discord.CategoryChannel`." -msgstr "" - -#: discord.ext.commands.InviteConverter:1 of -msgid "Converts to a :class:`~discord.Invite`." -msgstr "" - -#: discord.ext.commands.InviteConverter:3 of -msgid "This is done via an HTTP request using :meth:`.Bot.fetch_invite`." -msgstr "" - -#: discord.ext.commands.InviteConverter:5 of -msgid "Raise :exc:`.BadInviteArgument` instead of generic :exc:`.BadArgument`" -msgstr "" - -#: discord.ext.commands.RoleConverter:1 of -msgid "Converts to a :class:`~discord.Role`." -msgstr "" - -#: discord.ext.commands.RoleConverter:12 of -msgid "Raise :exc:`.RoleNotFound` instead of generic :exc:`.BadArgument`" -msgstr "" - -#: discord.ext.commands.GameConverter:1 of -msgid "Converts to :class:`~discord.Game`." -msgstr "" - -#: discord.ext.commands.ColourConverter:1 of -msgid "Converts to a :class:`~discord.Colour`." -msgstr "" - -#: discord.ext.commands.ColourConverter:3 of -msgid "Add an alias named ColorConverter" -msgstr "" - -#: discord.ext.commands.ColourConverter:6 of -msgid "The following formats are accepted:" -msgstr "" - -#: discord.ext.commands.ColourConverter:8 of -msgid "``0x``" -msgstr "" - -#: discord.ext.commands.ColourConverter:9 of -msgid "``#``" -msgstr "" - -#: discord.ext.commands.ColourConverter:10 of -msgid "``0x#``" -msgstr "" - -#: discord.ext.commands.ColourConverter:11 of -msgid "Any of the ``classmethod`` in :class:`Colour`" -msgstr "" - -#: discord.ext.commands.ColourConverter:13 of -msgid "The ``_`` in the name can be optionally replaced with spaces." -msgstr "" - -#: discord.ext.commands.ColourConverter:15 of -msgid "Raise :exc:`.BadColourArgument` instead of generic :exc:`.BadArgument`" -msgstr "" - -#: discord.ext.commands.EmojiConverter:1 of -msgid "Converts to a :class:`~discord.Emoji`." -msgstr "" - -#: discord.ext.commands.EmojiConverter:3 of -msgid "" -"All lookups are done for the local guild first, if available. If that " -"lookup fails, then it checks the client's global cache." -msgstr "" - -#: discord.ext.commands.EmojiConverter:9 of -msgid "Lookup by extracting ID from the emoji." -msgstr "" - -#: discord.ext.commands.EmojiConverter:12 of -msgid "Raise :exc:`.EmojiNotFound` instead of generic :exc:`.BadArgument`" -msgstr "" - -#: discord.ext.commands.PartialEmojiConverter:1 of -msgid "Converts to a :class:`~discord.PartialEmoji`." -msgstr "" - -#: discord.ext.commands.PartialEmojiConverter:3 of -msgid "This is done by extracting the animated flag, name and ID from the emoji." -msgstr "" - -#: discord.ext.commands.PartialEmojiConverter:5 of -msgid "" -"Raise :exc:`.PartialEmojiConversionFailure` instead of generic " -":exc:`.BadArgument`" -msgstr "" - -#: discord.ext.commands.clean_content:1 of -msgid "Converts the argument to mention scrubbed version of said content." -msgstr "" - -#: discord.ext.commands.clean_content:4 of -msgid "This behaves similarly to :attr:`~discord.Message.clean_content`." -msgstr "" - -#: discord.ext.commands.clean_content:8 of -msgid "Whether to clean channel mentions." -msgstr "" - -#: discord.ext.commands.clean_content:14 of -msgid "Whether to use nicknames when transforming mentions." -msgstr "" - -#: discord.ext.commands.clean_content:20 of -msgid "Whether to also escape special markdown characters." -msgstr "" - -#: ../../ext/commands/api.rst:253 -msgid "" -"A special converter that greedily consumes arguments until it can't. As a" -" consequence of this behaviour, most input errors are silently discarded," -" since it is used as an indicator of when to stop parsing." -msgstr "" - -#: ../../ext/commands/api.rst:257 -msgid "" -"When a parser error is met the greedy converter stops converting, undoes " -"the internal string parsing routine, and continues parsing regularly." -msgstr "" - -#: ../../ext/commands/api.rst:260 -msgid "For example, in the following code:" -msgstr "" - -#: ../../ext/commands/api.rst:268 -msgid "" -"An invocation of ``[p]test 1 2 3 4 5 6 hello`` would pass ``numbers`` " -"with ``[1, 2, 3, 4, 5, 6]`` and ``reason`` with ``hello``\\." -msgstr "" - -#: ../../ext/commands/api.rst:271 -msgid "For more information, check :ref:`ext_commands_special_converters`." -msgstr "" - -#: ../../ext/commands/api.rst:276 -msgid "Exceptions" -msgstr "" - -#: discord.ext.commands.CommandError:1 of -msgid "The base exception type for all command related errors." -msgstr "コマンドに関連するエラーすべての基礎となる例外。" - -#: discord.ext.commands.CommandError:3 of -msgid "This inherits from :exc:`discord.DiscordException`." -msgstr "これは :exc:`discord.DiscordException` を継承しています。" - -#: discord.ext.commands.CommandError:5 of -msgid "" -"This exception and exceptions inherited from it are handled in a special " -"way as they are caught and passed into a special event from " -":class:`.Bot`\\, :func:`on_command_error`." -msgstr "" - -#: discord.ext.commands.ConversionError:1 of -msgid "Exception raised when a Converter class raises non-CommandError." -msgstr "Converter クラスで、CommandErrorではない例外が発生した際に、発生する例外。" - -#: discord.ext.commands.CommandNotFound:7 -#: discord.ext.commands.ConversionError:3 -#: discord.ext.commands.MaxConcurrencyReached:3 -#: discord.ext.commands.UserInputError:4 of -msgid "This inherits from :exc:`CommandError`." -msgstr "" - -#: discord.ext.commands.ConversionError:7 of -msgid "The converter that failed." -msgstr "" - -#: discord.ext.commands.ConversionError:9 of -msgid ":class:`discord.ext.commands.Converter`" -msgstr "" - -#: discord.ext.commands.CommandInvokeError:7 -#: discord.ext.commands.ConversionError:13 -#: discord.ext.commands.ExtensionFailed:13 of -msgid "" -"The original exception that was raised. You can also get this via the " -"``__cause__`` attribute." -msgstr "Converter内で発生した元の例外。 ``__cause__`` からも取得できます。" - -#: discord.ext.commands.CommandInvokeError:10 -#: discord.ext.commands.ConversionError:16 -#: discord.ext.commands.ExtensionFailed:16 of -msgid ":exc:`Exception`" -msgstr "" - -#: discord.ext.commands.MissingRequiredArgument:1 of -msgid "" -"Exception raised when parsing a command and a parameter that is required " -"is not encountered." -msgstr "コマンドのパラメータ解析の際、要求されたパラメータに値が渡されていない場合に発生します。" - -#: discord.ext.commands.BadArgument:4 discord.ext.commands.BadUnionArgument:4 -#: discord.ext.commands.MissingRequiredArgument:4 -#: discord.ext.commands.TooManyArguments:4 of -msgid "This inherits from :exc:`UserInputError`" -msgstr "" - -#: discord.ext.commands.MissingRequiredArgument:8 of -msgid "The argument that is missing." -msgstr "" - -#: discord.ext.commands.BadUnionArgument:10 -#: discord.ext.commands.MissingRequiredArgument:10 of -msgid ":class:`inspect.Parameter`" -msgstr "" - -#: discord.ext.commands.ArgumentParsingError:1 of -msgid "An exception raised when the parser fails to parse a user's input." -msgstr "" - -#: discord.ext.commands.ArgumentParsingError:3 of -msgid "This inherits from :exc:`UserInputError`." -msgstr "" - -#: discord.ext.commands.ArgumentParsingError:5 of -msgid "" -"There are child classes that implement more granular parsing errors for " -"i18n purposes." -msgstr "" - -#: discord.ext.commands.UnexpectedQuoteError:1 of -msgid "" -"An exception raised when the parser encounters a quote mark inside a non-" -"quoted string." -msgstr "" - -#: discord.ext.commands.ExpectedClosingQuoteError:3 -#: discord.ext.commands.InvalidEndOfQuotedStringError:4 -#: discord.ext.commands.UnexpectedQuoteError:3 of -msgid "This inherits from :exc:`ArgumentParsingError`." -msgstr "" - -#: discord.ext.commands.UnexpectedQuoteError:7 of -msgid "The quote mark that was found inside the non-quoted string." -msgstr "" - -#: discord.ext.commands.InvalidEndOfQuotedStringError:1 of -msgid "" -"An exception raised when a space is expected after the closing quote in a" -" string but a different character is found." -msgstr "" - -#: discord.ext.commands.InvalidEndOfQuotedStringError:8 of -msgid "The character found instead of the expected string." -msgstr "" - -#: discord.ext.commands.ExpectedClosingQuoteError:1 of -msgid "An exception raised when a quote character is expected but not found." -msgstr "" - -#: discord.ext.commands.ExpectedClosingQuoteError:7 of -msgid "The quote character expected." -msgstr "" - -#: discord.ext.commands.BadArgument:1 of -msgid "" -"Exception raised when a parsing or conversion failure is encountered on " -"an argument to pass into a command." -msgstr "コマンドの引数に渡された値の解析、または変換に失敗した場合に発生する例外。" - -#: discord.ext.commands.BadUnionArgument:1 of -msgid "" -"Exception raised when a :data:`typing.Union` converter fails for all its " -"associated types." -msgstr "" - -#: discord.ext.commands.BadUnionArgument:8 of -msgid "The parameter that failed being converted." -msgstr "" - -#: discord.ext.commands.BadUnionArgument:14 of -msgid "A tuple of converters attempted in conversion, in order of failure." -msgstr "" - -#: discord.ext.commands.BadUnionArgument:16 of -msgid "Tuple[Type, ...]" -msgstr "" - -#: discord.ext.commands.BadUnionArgument:20 of -msgid "A list of errors that were caught from failing the conversion." -msgstr "" - -#: discord.ext.commands.BadUnionArgument:22 of -msgid "List[:class:`CommandError`]" -msgstr "" - -#: discord.ext.commands.PrivateMessageOnly:1 of -msgid "" -"Exception raised when an operation does not work outside of private " -"message contexts." -msgstr "" - -#: discord.ext.commands.BotMissingAnyRole:4 -#: discord.ext.commands.BotMissingPermissions:4 -#: discord.ext.commands.BotMissingRole:3 discord.ext.commands.MissingAnyRole:4 -#: discord.ext.commands.MissingPermissions:4 discord.ext.commands.MissingRole:3 -#: discord.ext.commands.NoPrivateMessage:4 discord.ext.commands.NotOwner:3 -#: discord.ext.commands.PrivateMessageOnly:4 of -msgid "This inherits from :exc:`CheckFailure`" -msgstr "" - -#: discord.ext.commands.NoPrivateMessage:1 of -msgid "" -"Exception raised when an operation does not work in private message " -"contexts." -msgstr "プライベートメッセージコンテキストで、要求された処理が実行できない場合に発生する例外。" - -#: discord.ext.commands.CheckFailure:1 of -msgid "" -"Exception raised when the predicates in :attr:`.Command.checks` have " -"failed." -msgstr "" - -#: discord.ext.commands.CheckFailure:3 -#: discord.ext.commands.CommandInvokeError:3 -#: discord.ext.commands.CommandOnCooldown:3 -#: discord.ext.commands.DisabledCommand:3 of -msgid "This inherits from :exc:`CommandError`" -msgstr "" - -#: discord.ext.commands.CheckAnyFailure:1 of -msgid "Exception raised when all predicates in :func:`check_any` fail." -msgstr "" - -#: discord.ext.commands.CheckAnyFailure:3 -#: discord.ext.commands.NSFWChannelRequired:3 of -msgid "This inherits from :exc:`CheckFailure`." -msgstr "" - -#: discord.ext.commands.CheckAnyFailure:9 of -msgid "A list of errors that were caught during execution." -msgstr "" - -#: discord.ext.commands.CheckAnyFailure:11 of -msgid "List[:class:`CheckFailure`]" -msgstr "" - -#: discord.ext.commands.CheckAnyFailure:15 of -msgid "A list of check predicates that failed." -msgstr "" - -#: discord.ext.commands.CheckAnyFailure:17 of -msgid "List[Callable[[:class:`Context`], :class:`bool`]]" -msgstr "" - -#: discord.ext.commands.CommandNotFound:1 of -msgid "" -"Exception raised when a command is attempted to be invoked but no command" -" under that name is found." -msgstr "コマンドを呼び出す際に、指定された名前を持つコマンドが存在していなかった場合に発生する例外。" - -#: discord.ext.commands.CommandNotFound:4 of -msgid "" -"This is not raised for invalid subcommands, rather just the initial main " -"command that is attempted to be invoked." -msgstr "" - -#: discord.ext.commands.DisabledCommand:1 of -msgid "Exception raised when the command being invoked is disabled." -msgstr "呼び出そうとしたコマンドが無効化されていた際に発生する例外。" - -#: discord.ext.commands.CommandInvokeError:1 of -msgid "Exception raised when the command being invoked raised an exception." -msgstr "" - -#: discord.ext.commands.TooManyArguments:1 of -msgid "" -"Exception raised when the command was passed too many arguments and its " -":attr:`.Command.ignore_extra` attribute was not set to ``True``." -msgstr "" - -#: discord.ext.commands.UserInputError:1 of -msgid "" -"The base exception type for errors that involve errors regarding user " -"input." -msgstr "" - -#: discord.ext.commands.CommandOnCooldown:1 of -msgid "Exception raised when the command being invoked is on cooldown." -msgstr "" - -#: discord.ext.commands.CommandOnCooldown:7 of -msgid "" -"A class with attributes ``rate``, ``per``, and ``type`` similar to the " -":func:`.cooldown` decorator." -msgstr "" - -#: discord.ext.commands.CommandOnCooldown:10 of -msgid "Cooldown" -msgstr "" - -#: discord.ext.commands.CommandOnCooldown:14 of -msgid "The amount of seconds to wait before you can retry again." -msgstr "" - -#: discord.ext.commands.MaxConcurrencyReached:1 of -#, fuzzy -msgid "" -"Exception raised when the command being invoked has reached its maximum " -"concurrency." -msgstr "呼び出そうとしたコマンドが無効化されていた際に発生する例外。" - -#: discord.ext.commands.MaxConcurrencyReached:7 of -msgid "The maximum number of concurrent invokers allowed." -msgstr "" - -#: discord.ext.commands.MaxConcurrencyReached:13 of -msgid "The bucket type passed to the :func:`.max_concurrency` decorator." -msgstr "" - -#: discord.ext.commands.MaxConcurrencyReached:15 of -#, fuzzy -msgid ":class:`.BucketType`" -msgstr ":class:`.Guild`" - -#: discord.ext.commands.NotOwner:1 of -msgid "Exception raised when the message author is not the owner of the bot." -msgstr "" - -#: discord.ext.commands.MessageNotFound:1 of -msgid "Exception raised when the message provided was not found in the channel." -msgstr "" - -#: discord.ext.commands.BadBoolArgument:3 -#: discord.ext.commands.ChannelNotFound:3 -#: discord.ext.commands.ChannelNotReadable:4 -#: discord.ext.commands.EmojiNotFound:3 discord.ext.commands.MemberNotFound:4 -#: discord.ext.commands.MessageNotFound:3 -#: discord.ext.commands.PartialEmojiConversionFailure:4 -#: discord.ext.commands.RoleNotFound:3 discord.ext.commands.UserNotFound:4 of -#, fuzzy -msgid "This inherits from :exc:`BadArgument`" -msgstr "これは :exc:`discord.DiscordException` を継承しています。" - -#: discord.ext.commands.MessageNotFound:9 of -msgid "The message supplied by the caller that was not found" -msgstr "" - -#: discord.ext.commands.MemberNotFound:1 of -msgid "" -"Exception raised when the member provided was not found in the bot's " -"cache." -msgstr "" - -#: discord.ext.commands.MemberNotFound:10 of -msgid "The member supplied by the caller that was not found" -msgstr "" - -#: discord.ext.commands.UserNotFound:1 of -msgid "Exception raised when the user provided was not found in the bot's cache." -msgstr "" - -#: discord.ext.commands.UserNotFound:10 of -msgid "The user supplied by the caller that was not found" -msgstr "" - -#: discord.ext.commands.ChannelNotFound:1 of -#, fuzzy -msgid "Exception raised when the bot can not find the channel." -msgstr "呼び出そうとしたコマンドが無効化されていた際に発生する例外。" - -#: discord.ext.commands.ChannelNotFound:9 of -msgid "The channel supplied by the caller that was not found" -msgstr "" - -#: discord.ext.commands.ChannelNotReadable:1 of -#, fuzzy -msgid "" -"Exception raised when the bot does not have permission to read messages " -"in the channel." -msgstr ":exc:`.Forbidden` -- 指定のチャンネルを取得する権限がない。" - -#: discord.ext.commands.ChannelNotReadable:10 of -msgid "The channel supplied by the caller that was not readable" -msgstr "" - -#: discord.ext.commands.ChannelNotReadable:12 of -#, fuzzy -msgid ":class:`.abc.GuildChannel`" -msgstr ":class:`.Guild`" - -#: discord.ext.commands.RoleNotFound:1 of -#, fuzzy -msgid "Exception raised when the bot can not find the role." -msgstr "呼び出そうとしたコマンドが無効化されていた際に発生する例外。" - -#: discord.ext.commands.RoleNotFound:9 of -msgid "The role supplied by the caller that was not found" -msgstr "" - -#: discord.ext.commands.EmojiNotFound:1 of -msgid "Exception raised when the bot can not find the emoji." -msgstr "" - -#: discord.ext.commands.EmojiNotFound:9 of -msgid "The emoji supplied by the caller that was not found" -msgstr "" - -#: discord.ext.commands.PartialEmojiConversionFailure:1 of -msgid "" -"Exception raised when the emoji provided does not match the correct " -"format." -msgstr "" - -#: discord.ext.commands.PartialEmojiConversionFailure:10 of -msgid "The emoji supplied by the caller that did not match the regex" -msgstr "" - -#: discord.ext.commands.BadBoolArgument:1 of -msgid "Exception raised when a boolean argument was not convertible." -msgstr "" - -#: discord.ext.commands.BadBoolArgument:9 of -msgid "" -"The boolean argument supplied by the caller that is not in the predefined" -" list" -msgstr "" - -#: discord.ext.commands.MissingPermissions:1 of -msgid "" -"Exception raised when the command invoker lacks permissions to run a " -"command." -msgstr "" - -#: discord.ext.commands.BotMissingPermissions:8 -#: discord.ext.commands.MissingPermissions:8 of -msgid "The required permissions that are missing." -msgstr "" - -#: discord.ext.commands.BotMissingPermissions:1 of -msgid "Exception raised when the bot's member lacks permissions to run a command." -msgstr "" - -#: discord.ext.commands.MissingRole:1 of -msgid "Exception raised when the command invoker lacks a role to run a command." -msgstr "" - -#: discord.ext.commands.BotMissingRole:9 discord.ext.commands.MissingRole:9 of -msgid "" -"The required role that is missing. This is the parameter passed to " -":func:`~.commands.has_role`." -msgstr "" - -#: discord.ext.commands.BotMissingRole:12 discord.ext.commands.MissingRole:12 -#: of -msgid "Union[:class:`str`, :class:`int`]" -msgstr "" - -#: discord.ext.commands.BotMissingRole:1 of -msgid "Exception raised when the bot's member lacks a role to run a command." -msgstr "" - -#: discord.ext.commands.MissingAnyRole:1 of -msgid "" -"Exception raised when the command invoker lacks any of the roles " -"specified to run a command." -msgstr "" - -#: discord.ext.commands.MissingAnyRole:10 of -msgid "" -"The roles that the invoker is missing. These are the parameters passed to" -" :func:`~.commands.has_any_role`." -msgstr "" - -#: discord.ext.commands.BotMissingAnyRole:13 -#: discord.ext.commands.MissingAnyRole:13 of -msgid "List[Union[:class:`str`, :class:`int`]]" -msgstr "" - -#: discord.ext.commands.BotMissingAnyRole:1 of -msgid "" -"Exception raised when the bot's member lacks any of the roles specified " -"to run a command." -msgstr "" - -#: discord.ext.commands.BotMissingAnyRole:10 of -msgid "" -"The roles that the bot's member is missing. These are the parameters " -"passed to :func:`~.commands.has_any_role`." -msgstr "" - -#: discord.ext.commands.NSFWChannelRequired:1 of -msgid "Exception raised when a channel does not have the required NSFW setting." -msgstr "" - -#: discord.ext.commands.NSFWChannelRequired:7 of -msgid "The channel that does not have NSFW enabled." -msgstr "" - -#: discord.ext.commands.ExtensionError:1 of -msgid "Base exception for extension related errors." -msgstr "" - -#: discord.ext.commands.ExtensionError:3 of -msgid "This inherits from :exc:`~discord.DiscordException`." -msgstr "" - -#: discord.ext.commands.ExtensionError:7 of -msgid "The extension that had an error." -msgstr "" - -#: discord.ext.commands.ExtensionAlreadyLoaded:1 of -msgid "An exception raised when an extension has already been loaded." -msgstr "" - -#: discord.ext.commands.ExtensionAlreadyLoaded:3 -#: discord.ext.commands.ExtensionFailed:3 -#: discord.ext.commands.ExtensionNotFound:3 -#: discord.ext.commands.ExtensionNotLoaded:3 -#: discord.ext.commands.NoEntryPointError:3 of -msgid "This inherits from :exc:`ExtensionError`" -msgstr "" - -#: discord.ext.commands.ExtensionNotLoaded:1 of -msgid "An exception raised when an extension was not loaded." -msgstr "" - -#: discord.ext.commands.NoEntryPointError:1 of -msgid "" -"An exception raised when an extension does not have a ``setup`` entry " -"point function." -msgstr "" - -#: discord.ext.commands.ExtensionFailed:1 of -msgid "" -"An exception raised when an extension failed to load during execution of " -"the module or ``setup`` entry point." -msgstr "" - -#: discord.ext.commands.ExtensionFailed:7 -#: discord.ext.commands.ExtensionNotFound:10 of -msgid "The extension that had the error." -msgstr "" - -#: discord.ext.commands.ExtensionNotFound:1 of -#, fuzzy -msgid "An exception raised when an extension is not found." -msgstr "プライベートメッセージコンテキストで、要求された処理が実行できない場合に発生する例外。" - -#: discord.ext.commands.ExtensionNotFound:5 of -msgid "Made the ``original`` attribute always None." -msgstr "" - -#: discord.ext.commands.ExtensionNotFound:16 of -msgid "Always ``None`` for backwards compatibility." -msgstr "" - -#: discord.ext.commands.ExtensionNotFound:18 of -msgid ":class:`NoneType`" -msgstr "" - -#: discord.ext.commands.CommandRegistrationError:1 of -msgid "" -"An exception raised when the command can't be added because the name is " -"already taken by a different command." -msgstr "" - -#: discord.ext.commands.CommandRegistrationError:4 of -#, fuzzy -msgid "This inherits from :exc:`discord.ClientException`" -msgstr "これは :exc:`discord.DiscordException` を継承しています。" - -#: discord.ext.commands.CommandRegistrationError:10 of -msgid "The command name that had the error." -msgstr "" - -#: discord.ext.commands.CommandRegistrationError:16 of -msgid "Whether the name that conflicts is an alias of the command we try to add." -msgstr "" - -#: ../../ext/commands/api.rst:412 -msgid "Exception Hierarchy" -msgstr "" - -#: ../../ext/commands/api.rst:460 -msgid ":exc:`~.DiscordException`" -msgstr "" - -#: ../../ext/commands/api.rst:454 -msgid ":exc:`~.commands.CommandError`" -msgstr "" - -#: ../../ext/commands/api.rst:418 -msgid ":exc:`~.commands.ConversionError`" -msgstr "" - -#: ../../ext/commands/api.rst:437 -msgid ":exc:`~.commands.UserInputError`" -msgstr "" - -#: ../../ext/commands/api.rst:420 -msgid ":exc:`~.commands.MissingRequiredArgument`" -msgstr "" - -#: ../../ext/commands/api.rst:421 -msgid ":exc:`~.commands.TooManyArguments`" -msgstr "" - -#: ../../ext/commands/api.rst:432 -msgid ":exc:`~.commands.BadArgument`" -msgstr "" - -#: ../../ext/commands/api.rst:423 -msgid ":exc:`~.commands.MessageNotFound`" -msgstr "" - -#: ../../ext/commands/api.rst:424 -msgid ":exc:`~.commands.MemberNotFound`" -msgstr "" - -#: ../../ext/commands/api.rst:425 -msgid ":exc:`~.commands.UserNotFound`" -msgstr "" - -#: ../../ext/commands/api.rst:426 -msgid ":exc:`~.commands.ChannelNotFound`" -msgstr "" - -#: ../../ext/commands/api.rst:427 -msgid ":exc:`~.commands.ChannelNotReadable`" -msgstr "" - -#: ../../ext/commands/api.rst:428 -msgid ":exc:`~.commands.BadColourArgument`" -msgstr "" - -#: ../../ext/commands/api.rst:429 -msgid ":exc:`~.commands.RoleNotFound`" -msgstr "" - -#: ../../ext/commands/api.rst:430 -msgid ":exc:`~.commands.BadInviteArgument`" -msgstr "" - -#: ../../ext/commands/api.rst:431 -msgid ":exc:`~.commands.EmojiNotFound`" -msgstr "" - -#: ../../ext/commands/api.rst:432 -msgid ":exc:`~.commands.PartialEmojiConversionFailure`" -msgstr "" - -#: ../../ext/commands/api.rst:433 -msgid ":exc:`~.commands.BadBoolArgument`" -msgstr "" - -#: ../../ext/commands/api.rst:434 -msgid ":exc:`~.commands.BadUnionArgument`" -msgstr "" - -#: ../../ext/commands/api.rst:437 -msgid ":exc:`~.commands.ArgumentParsingError`" -msgstr "" - -#: ../../ext/commands/api.rst:436 -msgid ":exc:`~.commands.UnexpectedQuoteError`" -msgstr "" - -#: ../../ext/commands/api.rst:437 -msgid ":exc:`~.commands.InvalidEndOfQuotedStringError`" -msgstr "" - -#: ../../ext/commands/api.rst:438 -msgid ":exc:`~.commands.ExpectedClosingQuoteError`" -msgstr "" - -#: ../../ext/commands/api.rst:439 -msgid ":exc:`~.commands.CommandNotFound`" -msgstr "" - -#: ../../ext/commands/api.rst:450 -msgid ":exc:`~.commands.CheckFailure`" -msgstr "" - -#: ../../ext/commands/api.rst:441 -msgid ":exc:`~.commands.CheckAnyFailure`" -msgstr "" - -#: ../../ext/commands/api.rst:442 -msgid ":exc:`~.commands.PrivateMessageOnly`" -msgstr "" - -#: ../../ext/commands/api.rst:443 -msgid ":exc:`~.commands.NoPrivateMessage`" -msgstr "" - -#: ../../ext/commands/api.rst:444 -msgid ":exc:`~.commands.NotOwner`" -msgstr "" - -#: ../../ext/commands/api.rst:445 -msgid ":exc:`~.commands.MissingPermissions`" -msgstr "" - -#: ../../ext/commands/api.rst:446 -msgid ":exc:`~.commands.BotMissingPermissions`" -msgstr "" - -#: ../../ext/commands/api.rst:447 -msgid ":exc:`~.commands.MissingRole`" -msgstr "" - -#: ../../ext/commands/api.rst:448 -msgid ":exc:`~.commands.BotMissingRole`" -msgstr "" - -#: ../../ext/commands/api.rst:449 -msgid ":exc:`~.commands.MissingAnyRole`" -msgstr "" - -#: ../../ext/commands/api.rst:450 -msgid ":exc:`~.commands.BotMissingAnyRole`" -msgstr "" - -#: ../../ext/commands/api.rst:451 -msgid ":exc:`~.commands.NSFWChannelRequired`" -msgstr "" - -#: ../../ext/commands/api.rst:452 -msgid ":exc:`~.commands.DisabledCommand`" -msgstr "" - -#: ../../ext/commands/api.rst:453 -msgid ":exc:`~.commands.CommandInvokeError`" -msgstr "" - -#: ../../ext/commands/api.rst:454 -msgid ":exc:`~.commands.CommandOnCooldown`" -msgstr "" - -#: ../../ext/commands/api.rst:455 -msgid ":exc:`~.commands.MaxConcurrencyReached`" -msgstr "" - -#: ../../ext/commands/api.rst:460 -msgid ":exc:`~.commands.ExtensionError`" -msgstr "" - -#: ../../ext/commands/api.rst:457 -msgid ":exc:`~.commands.ExtensionAlreadyLoaded`" -msgstr "" - -#: ../../ext/commands/api.rst:458 -msgid ":exc:`~.commands.ExtensionNotLoaded`" -msgstr "" - -#: ../../ext/commands/api.rst:459 -msgid ":exc:`~.commands.NoEntryPointError`" -msgstr "" - -#: ../../ext/commands/api.rst:460 -msgid ":exc:`~.commands.ExtensionFailed`" -msgstr "" - -#: ../../ext/commands/api.rst:461 -msgid ":exc:`~.commands.ExtensionNotFound`" -msgstr "" - -#: ../../ext/commands/api.rst:462 -msgid ":exc:`~.ClientException`" -msgstr "" - -#: ../../ext/commands/api.rst:463 -msgid ":exc:`~.commands.CommandRegistrationError`" -msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Whether the commands " -#~ "should be case insensitive. Defaults to" -#~ " ``False``. This attribute does not " -#~ "carry over to groups. You must set" -#~ " it to every group if you " -#~ "require group commands to be case " -#~ "insensitive as well." -#~ msgstr "" -#~ ":class:`bool` -- コマンドを大文字と小文字を区別するかどうか。デフォルトでは " -#~ "``False`` " -#~ "です。この属性はグループコマンドには影響されません。もしグループコマンドでも大文字と小文字の区別が必要な場合、すべてのグループでの設定が必要になります。" - -#~ msgid "" -#~ "Optional[Union[:class:`.Activity`, :class:`.Game`, " -#~ ":class:`.Streaming`]] -- The activity being" -#~ " used upon logging in." -#~ msgstr "" -#~ "Optional[Union[:class:`.Activity`, :class:`.Game`, " -#~ ":class:`.Streaming`]] -- ログイン時のアクティビティ。" - -#~ msgid ":exc:`.ClientException` -- If the command is already registered." -#~ msgstr ":exc:`.ClientException` -- コマンドがすでに登録されている。" - -#~ msgid "" -#~ "The activity parameter is a " -#~ ":class:`.Activity` object (not a string) " -#~ "that represents the activity being done" -#~ " currently. This could also be the" -#~ " slimmed down versions, :class:`.Game` and" -#~ " :class:`.Streaming`." -#~ msgstr "" -#~ "activityパラメータは、現在のアクティビティを示す :class:`.Activity` " -#~ "オブジェクトです(これはstringではありません)。スリム化された :class:`.Game` や " -#~ ":class:`.Streaming` でも可能です。" - -#~ msgid "" -#~ ":exc:`.InvalidArgument` -- Invalid icon image" -#~ " format given. Must be PNG or " -#~ "JPG." -#~ msgstr "" - -#~ msgid "" -#~ "Mapping[:class:`str`, :class:`py:types.ModuleType`] -- " -#~ "A read-only mapping of extension " -#~ "name to extension." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`.InvalidData` -- An unknown channel " -#~ "type was received from Discord." -#~ msgstr "" - -#~ msgid ":exc:`.NotFound` -- Invalid Channel ID." -#~ msgstr ":exc:`.NotFound` -- チャンネルのIDが無効。" - -#~ msgid "" -#~ "If the invite is for a guild " -#~ "you have not joined, the guild and" -#~ " channel attributes of the returned " -#~ ":class:`.Invite` will be " -#~ ":class:`.PartialInviteGuild` and " -#~ ":class:`PartialInviteChannel` respectively." -#~ msgstr "" - -#~ msgid ":exc:`.NotFound` -- The invite has expired or is invalid." -#~ msgstr "" - -#~ msgid ":exc:`.HTTPException` -- Getting the invite failed." -#~ msgstr "" - -#~ msgid ":exc:`.NotFound` -- A user with this ID does not exist." -#~ msgstr "" - -#~ msgid ":exc:`.HTTPException` -- Fetching the user failed." -#~ msgstr "" - -#~ msgid "" -#~ "Gets an arbitrary user's profile. This" -#~ " can only be used by non-bot" -#~ " accounts." -#~ msgstr "" - -#~ msgid ":exc:`.Forbidden` -- Not allowed to fetch profiles." -#~ msgstr "" - -#~ msgid ":exc:`.HTTPException` -- Fetching the profile failed." -#~ msgstr "" - -#~ msgid ":exc:`.HTTPException` -- Retrieving the webhook failed." -#~ msgstr "" - -#~ msgid ":exc:`.NotFound` -- Invalid webhook ID." -#~ msgstr "" - -#~ msgid ":exc:`.Forbidden` -- You do not have permission to fetch this webhook." -#~ msgstr "" - -#~ msgid ":exc:`.Forbidden` -- The widget for this guild is disabled." -#~ msgstr "" - -#~ msgid ":exc:`.HTTPException` -- Retrieving the widget failed." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[Union[:class:`.abc.GuildChannel`, :class:`.Thread`, " -#~ ":class:`.abc.PrivateChannel`]]: Returns a channel" -#~ " with the given ID." -#~ msgstr "" - -#~ msgid "If not found, returns ``None``." -#~ msgstr "" - -#~ msgid "" -#~ "Get a :class:`.Command` or subclasses " -#~ "from the internal list of commands." -#~ msgstr "" - -#~ msgid "Optional[:class:`.Emoji`]: Returns an emoji with the given ID." -#~ msgstr "" - -#~ msgid "Optional[:class:`.Guild`]: Returns a guild with the given ID." -#~ msgstr "" - -#~ msgid "Optional[:class:`~discord.User`]: Returns a user with the given ID." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`.Guild`] -- The guilds that " -#~ "the connected client is a member " -#~ "of." -#~ msgstr "" - -#~ msgid "Indicates if the websocket connection is closed." -#~ msgstr "" - -#~ msgid "Specifies if the client's internal cache is ready for use." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`float` -- Measures latency between " -#~ "a HEARTBEAT and a HEARTBEAT_ACK in " -#~ "seconds." -#~ msgstr "" - -#~ msgid ":exc:`ExtensionNotFound` -- The extension could not be imported." -#~ msgstr "" - -#~ msgid ":exc:`ExtensionAlreadyLoaded` -- The extension is already loaded." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`NoEntryPointError` -- The extension does" -#~ " not have a setup function." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`ExtensionFailed` -- The extension setup" -#~ " function had an execution error." -#~ msgstr "" - -#~ msgid "" -#~ "Logging on with a user token is" -#~ " against the Discord `Terms of " -#~ "Service `_ and doing so might" -#~ " potentially get your account banned. " -#~ "Use this at your own risk." -#~ msgstr "" - -#~ msgid ":exc:`.LoginFailure` -- The wrong credentials are passed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`.HTTPException` -- An unknown HTTP " -#~ "related error occurred, usually when it" -#~ " isn't 200 or the known incorrect " -#~ "credentials passing status code." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`.abc.PrivateChannel`] -- The private" -#~ " channels that the connected client " -#~ "is participating on." -#~ msgstr "" - -#~ msgid ":exc:`ExtensionNotLoaded` -- The extension was not loaded." -#~ msgstr "" - -#~ msgid "" -#~ "Remove a :class:`.Command` or subclasses " -#~ "from the internal list of commands." -#~ msgstr "" - -#~ msgid "" -#~ "The command that was removed. If " -#~ "the name is not valid then `None`" -#~ " is returned instead." -#~ msgstr "" - -#~ msgid ":class:`.Command` or subclass" -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`.InvalidArgument` -- If any guild " -#~ "is unavailable or not large in the" -#~ " collection." -#~ msgstr "" - -#~ msgid ":exc:`TypeError` -- An unexpected keyword argument was received." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`.ClientUser`] -- Represents the " -#~ "connected client. None if not logged " -#~ "in." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`~discord.User`] -- Returns a list" -#~ " of all the users the bot can" -#~ " see." -#~ msgstr "" - -#~ msgid "List[:class:`.VoiceClient`] -- Represents a list of voice connections." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`asyncio.TimeoutError` -- If a timeout" -#~ " is provided and it was reached." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`TypeError` -- If the function is" -#~ " not a coroutine or is already " -#~ "a command." -#~ msgstr "" - -#~ msgid ":class:`str` -- The name of the command." -#~ msgstr "" - -#~ msgid "" -#~ ":ref:`coroutine ` -- The coroutine" -#~ " that is executed when the command" -#~ " is called." -#~ msgstr "" - -#~ msgid ":class:`str` -- The long help text for the command." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The short help text " -#~ "for the command. If this is not" -#~ " specified then the first line of " -#~ "the long help text is used " -#~ "instead." -#~ msgstr "" - -#~ msgid ":class:`str` -- A replacement for arguments in the default help text." -#~ msgstr "" - -#~ msgid ":class:`list` -- The list of aliases the command can be invoked under." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- A boolean that " -#~ "indicates if the command is currently" -#~ " enabled. If the command is invoked" -#~ " while it is disabled, then " -#~ ":exc:`.DisabledCommand` is raised to the " -#~ ":func:`.on_command_error` event. Defaults to " -#~ "``True``." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`Command`] -- The parent " -#~ "command that this command belongs to." -#~ " ``None`` if there isn't one." -#~ msgstr "" - -#~ msgid "" -#~ "List[Callable[..., :class:`bool`]] -- A list" -#~ " of predicates that verifies if the" -#~ " command could be executed with the" -#~ " given :class:`.Context` as the sole " -#~ "parameter. If an exception is necessary" -#~ " to be thrown to signal failure, " -#~ "then one inherited from :exc:`.CommandError`" -#~ " should be used. Note that if " -#~ "the checks fail then :exc:`.CheckFailure` " -#~ "exception is raised to the " -#~ ":func:`.on_command_error` event." -#~ msgstr "" - -#~ msgid ":class:`str` -- The message prefixed into the default help command." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- If ``True``\\, the " -#~ "default help command does not show " -#~ "this in the help output." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- If ``False`` and a " -#~ "keyword-only argument is provided then" -#~ " the keyword only argument is " -#~ "stripped and handled as if it was" -#~ " a regular argument that handles " -#~ ":exc:`.MissingRequiredArgument` and default values" -#~ " in a regular matter rather than " -#~ "passing the rest completely raw. If " -#~ "``True`` then the keyword-only argument" -#~ " will pass in the rest of the" -#~ " arguments in a completely raw " -#~ "matter. Defaults to ``False``." -#~ msgstr "" - -#~ msgid "Optional[:class:`Command`] -- The subcommand that was invoked, if any." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- If ``True``\\, ignores " -#~ "extraneous strings passed to a command" -#~ " if all its requirements are met " -#~ "(e.g. ``?foo a b c`` when only " -#~ "expecting ``a`` and ``b``). Otherwise " -#~ ":func:`.on_command_error` and local error " -#~ "handlers are called with " -#~ ":exc:`.TooManyArguments`. Defaults to ``True``." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- If ``True``\\, cooldown " -#~ "processing is done after argument " -#~ "parsing, which calls converters. If " -#~ "``False`` then cooldown processing is " -#~ "done first and then the converters " -#~ "are called second. Defaults to " -#~ "``False``." -#~ msgstr "" - -#~ msgid "" -#~ "Retrieves the parameter OrderedDict without" -#~ " the context or self parameters." -#~ msgstr "" - -#~ msgid ":class:`str` -- Retrieves the fully qualified parent command name." -#~ msgstr "" - -#~ msgid ":class:`Command` -- Retrieves the parents of this command." -#~ msgstr "" - -#~ msgid ":class:`str` -- Retrieves the fully qualified command name." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The name of the " -#~ "cog this command belongs to. None " -#~ "otherwise." -#~ msgstr "" - -#~ msgid ":class:`str` -- Gets the \"short\" documentation of a command." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- Returns a POSIX-like " -#~ "signature useful for help command " -#~ "output." -#~ msgstr "" - -#~ msgid "" -#~ "Checks if the command can be " -#~ "executed by checking all the predicates" -#~ " inside the :attr:`.checks` attribute." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`CommandError` -- Any command error " -#~ "that was raised during a check " -#~ "call will be propagated by this " -#~ "function." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`bool`] -- Indicates if the" -#~ " group callback should begin parsing " -#~ "and invocation only if no subcommand " -#~ "was found. Useful for making it an" -#~ " error handling function to tell the" -#~ " user that no subcommand was found" -#~ " or to have different functionality " -#~ "in case no subcommand was found. " -#~ "If this is ``False``, then the " -#~ "group callback will always be invoked" -#~ " first. This means that the checks" -#~ " and the parsing dictated by its " -#~ "parameters will be executed. Defaults to" -#~ " ``False``." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`bool`] -- Indicates if the" -#~ " group's commands should be case " -#~ "insensitive. Defaults to ``False``." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`dict` -- A mapping of command" -#~ " name to :class:`.Command` or subclass " -#~ "objects." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Whether the commands " -#~ "should be case insensitive. Defaults to" -#~ " ``False``." -#~ msgstr "" - -#~ msgid "" -#~ "Returns a :class:`list` of " -#~ ":class:`.Command`\\s that are defined inside" -#~ " this cog." -#~ msgstr "" - -#~ msgid ":class:`str` -- Returns the cog's specified name, not the class name." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- Returns the cog's " -#~ "description, typically the cleaned docstring." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`TypeError` -- The function is not" -#~ " a coroutine function or a string " -#~ "was not passed as the name." -#~ msgstr "" - -#~ msgid "This function **can** be a coroutine." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The cog name. By " -#~ "default, it is the name of the " -#~ "class with no modification." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`dict` -- A list of attributes" -#~ " to apply to every command inside " -#~ "this cog. The dictionary is passed " -#~ "into the :class:`Command` (or its " -#~ "subclass) options at ``__init__``. If " -#~ "you specify attributes inside the " -#~ "command attribute in the class, it " -#~ "will override the one specified inside" -#~ " this attribute. For example:" -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`Context`] -- The context that" -#~ " invoked this help formatter. This is" -#~ " generally set after the help command" -#~ " assigned, :func:`command_callback`\\, has been" -#~ " called." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Specifies if hidden " -#~ "commands should be shown in the " -#~ "output. Defaults to ``False``." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Specifies if commands " -#~ "should have their :attr:`.Command.checks` " -#~ "called and verified. Defaults to " -#~ "``True``." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`dict` -- A dictionary of options" -#~ " to pass in for the construction " -#~ "of the help command. This allows " -#~ "you to change the command behaviour " -#~ "without actually changing the implementation" -#~ " of the command. The attributes will" -#~ " be the same as the ones passed" -#~ " in the :class:`.Command` constructor." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- The maximum number of" -#~ " characters that fit in a line. " -#~ "Defaults to 80." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- Whether to sort the " -#~ "commands in the output alphabetically. " -#~ "Defaults to ``True``." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`bool`] -- A tribool that " -#~ "indicates if the help command should " -#~ "DM the user instead of sending it" -#~ " to the channel it received it " -#~ "from. If the boolean is set to " -#~ "``True``, then all help output is " -#~ "DM'd. If ``False``, none of the " -#~ "help output is DM'd. If ``None``, " -#~ "then the bot will only DM when " -#~ "the help message becomes too long " -#~ "(dictated by more than " -#~ ":attr:`dm_help_threshold` characters). Defaults to" -#~ " ``False``." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`int`] -- The number of " -#~ "characters the paginator must accumulate " -#~ "before getting DM'd to the user if" -#~ " :attr:`dm_help` is set to ``None``. " -#~ "Defaults to 1000." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`int` -- How much to intend " -#~ "the commands from a heading. Defaults" -#~ " to ``2``." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The command list's " -#~ "heading string used when the help " -#~ "command is invoked with a category " -#~ "name. Useful for i18n. Defaults to " -#~ "``\"Commands:\"``" -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The string used when " -#~ "there is a command which does not" -#~ " belong to any category(cog). Useful " -#~ "for i18n. Defaults to ``\"No " -#~ "Category\"``" -#~ msgstr "" - -#~ msgid "" -#~ ":class:`Paginator` -- The paginator used " -#~ "to paginate the help command output." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The command list's " -#~ "heading string used when the help " -#~ "command is invoked with a category " -#~ "name. Useful for i18n. Defaults to " -#~ "``\"Commands\"``" -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The alias list's heading" -#~ " string used to list the aliases " -#~ "of the command. Useful for i18n. " -#~ "Defaults to ``\"Aliases:\"``." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`str`] -- The prefix inserted" -#~ " to every page. e.g. three backticks." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`str`] -- The suffix appended" -#~ " at the end of every page. e.g." -#~ " three backticks." -#~ msgstr "" - -#~ msgid ":class:`int` -- The maximum amount of codepoints allowed in a page." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`RuntimeError` -- The line was too" -#~ " big for the current :attr:`max_size`." -#~ msgstr "" - -#~ msgid "These functions can either be regular functions or coroutines." -#~ msgstr "" - -#~ msgid "" -#~ "A decorator that adds a cooldown " -#~ "to a :class:`.Command` or its " -#~ "subclasses." -#~ msgstr "" - -#~ msgid "" -#~ "A cooldown allows a command to " -#~ "only be used a specific amount of" -#~ " times in a specific time frame. " -#~ "These cooldowns can be based either " -#~ "on a per-guild, per-channel, " -#~ "per-user, or global basis. Denoted by" -#~ " the third argument of ``type`` which" -#~ " must be of enum type ``BucketType``" -#~ " which could be either:" -#~ msgstr "" - -#~ msgid "``BucketType.default`` for a global basis." -#~ msgstr "" - -#~ msgid "``BucketType.user`` for a per-user basis." -#~ msgstr "" - -#~ msgid "``BucketType.guild`` for a per-guild basis." -#~ msgstr "" - -#~ msgid "``BucketType.channel`` for a per-channel basis." -#~ msgstr "" - -#~ msgid "``BucketType.member`` for a per-member basis." -#~ msgstr "" - -#~ msgid "``BucketType.category`` for a per-category basis." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`.Message` -- The message that " -#~ "triggered the command being executed." -#~ msgstr "" - -#~ msgid ":class:`.Bot` -- The bot that contains the command being executed." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`list` -- The list of transformed" -#~ " arguments that were passed into the" -#~ " command. If this is accessed during" -#~ " the :func:`on_command_error` event then " -#~ "this list could be incomplete." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`dict` -- A dictionary of " -#~ "transformed arguments that were passed " -#~ "into the command. Similar to " -#~ ":attr:`args`\\, if this is accessed in" -#~ " the :func:`on_command_error` event then " -#~ "this dict could be incomplete." -#~ msgstr "" - -#~ msgid ":class:`str` -- The prefix that was used to invoke the command." -#~ msgstr "" - -#~ msgid "" -#~ "The command (i.e. :class:`.Command` or " -#~ "its subclasses) that is being invoked" -#~ " currently." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The command name that" -#~ " triggered this invocation. Useful for " -#~ "finding out which alias called the " -#~ "command." -#~ msgstr "" - -#~ msgid "" -#~ "The subcommand (i.e. :class:`.Command` or " -#~ "its subclasses) that was invoked. If " -#~ "no valid subcommand was invoked then " -#~ "this is equal to ``None``." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`str`] -- The string that " -#~ "was attempted to call a subcommand. " -#~ "This does not have to point to " -#~ "a valid registered subcommand and could" -#~ " just point to a nonsense string. " -#~ "If nothing was passed to attempt a" -#~ " call to a subcommand then this " -#~ "is set to ``None``." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`bool` -- A boolean that " -#~ "indicates if the command failed to " -#~ "be parsed, checked, or invoked." -#~ msgstr "" - -#~ msgid "" -#~ "You must have " -#~ ":attr:`~.Permissions.read_message_history` permissions to" -#~ " use this." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.Forbidden` -- You do not " -#~ "have permissions to get channel message" -#~ " history." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.HTTPException` -- The request " -#~ "to get message history failed." -#~ msgstr "" - -#~ msgid "" -#~ "Returns the channel associated with this" -#~ " context's command. Shorthand for " -#~ ":attr:`.Message.channel`." -#~ msgstr "" - -#~ msgid "" -#~ "Returns the author associated with this" -#~ " context's command. Shorthand for " -#~ ":attr:`.Message.author`" -#~ msgstr "" - -#~ msgid ":exc:`~discord.NotFound` -- The specified message was not found." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.Forbidden` -- You do not " -#~ "have the permissions required to get " -#~ "a message." -#~ msgstr "" - -#~ msgid ":exc:`~discord.HTTPException` -- Retrieving the message failed." -#~ msgstr "" - -#~ msgid "A command or subclass of a command that is going to be called." -#~ msgstr "" - -#~ msgid ":exc:`~discord.HTTPException` -- Retrieving the pinned messages failed." -#~ msgstr "" - -#~ msgid ":exc:`~discord.HTTPException` -- Sending the message failed." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.Forbidden` -- You do not " -#~ "have the proper permissions to send " -#~ "the message." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`~discord.InvalidArgument` -- The ``files`` " -#~ "list is not of the appropriate " -#~ "size or you specified both ``file`` " -#~ "and ``files``." -#~ msgstr "" - -#~ msgid "" -#~ "Similar to :attr:`.Guild.me` except it " -#~ "may return the :class:`.ClientUser` in " -#~ "private message contexts." -#~ msgstr "" - -#~ msgid "" -#~ "Optional[:class:`.VoiceClient`] -- A shortcut " -#~ "to :attr:`.Guild.voice_client`\\, if applicable." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Whether to clean channel mentions." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Whether to use nicknames when transforming mentions." -#~ msgstr "" - -#~ msgid ":class:`bool` -- Whether to also escape special markdown characters." -#~ msgstr "" - -#~ msgid ":class:`discord.ext.commands.Converter` -- The converter that failed." -#~ msgstr "" - -#~ msgid ":class:`inspect.Parameter` -- The argument that is missing." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`str` -- The quote mark that " -#~ "was found inside the non-quoted " -#~ "string." -#~ msgstr "" - -#~ msgid ":class:`str` -- The character found instead of the expected string." -#~ msgstr "" - -#~ msgid ":class:`str` -- The quote character expected." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`inspect.Parameter` -- The parameter " -#~ "that failed being converted." -#~ msgstr "" - -#~ msgid "" -#~ "*Tuple[Type, ...]* -- A tuple of " -#~ "converters attempted in conversion, in " -#~ "order of failure." -#~ msgstr "" - -#~ msgid "" -#~ "List[:class:`CommandError`] -- A list of " -#~ "errors that were caught from failing " -#~ "the conversion." -#~ msgstr "" - -#~ msgid "" -#~ "*Cooldown* -- A class with attributes" -#~ " ``rate``, ``per``, and ``type`` similar" -#~ " to the :func:`.cooldown` decorator." -#~ msgstr "" - -#~ msgid "" -#~ ":class:`float` -- The amount of seconds" -#~ " to wait before you can retry " -#~ "again." -#~ msgstr "" - -#~ msgid ":class:`list` -- The required permissions that are missing." -#~ msgstr "" - -#~ msgid "" -#~ "Union[:class:`str`, :class:`int`] -- The " -#~ "required role that is missing. This " -#~ "is the parameter passed to " -#~ ":func:`~.commands.has_role`." -#~ msgstr "" - -#~ msgid "" -#~ "List[Union[:class:`str`, :class:`int`]] -- The " -#~ "roles that the invoker is missing. " -#~ "These are the parameters passed to " -#~ ":func:`~.commands.has_any_role`." -#~ msgstr "" - -#~ msgid "" -#~ "List[Union[:class:`str`, :class:`int`]] -- The " -#~ "roles that the bot's member is " -#~ "missing. These are the parameters passed" -#~ " to :func:`~.commands.has_any_role`." -#~ msgstr "" - -#~ msgid ":class:`str` -- The extension that had an error." -#~ msgstr "" - -#~ msgid "" -#~ "An exception raised when an extension" -#~ " failed to load during execution of" -#~ " the ``setup`` entry point." -#~ msgstr "" - -#~ msgid ":class:`str` -- The extension that had the error." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`Exception` -- The original exception " -#~ "that was raised. You can also get" -#~ " this via the ``__cause__`` attribute." -#~ msgstr "" - -#~ msgid "An exception raised when an extension failed to be imported." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`ImportError` -- The original exception" -#~ " that was raised. You can also " -#~ "get this via the ``__cause__`` " -#~ "attribute." -#~ msgstr "" - diff --git a/docs/locale/ja/LC_MESSAGES/ext/commands/cogs.po b/docs/locale/ja/LC_MESSAGES/ext/commands/cogs.po deleted file mode 100644 index c4b657ad30..0000000000 --- a/docs/locale/ja/LC_MESSAGES/ext/commands/cogs.po +++ /dev/null @@ -1,179 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-22 09:35-0400\n" -"PO-Revision-Date: 2020-10-24 02:41\n" -"Last-Translator: \n" -"Language-Team: Japanese\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: discordpy\n" -"X-Crowdin-Project-ID: 362783\n" -"X-Crowdin-Language: ja\n" -"X-Crowdin-File: /ext/commands/cogs.pot\n" -"X-Crowdin-File-ID: 60\n" -"Language: ja_JP\n" - -#: ../../ext/commands/cogs.rst:6 -msgid "Cogs" -msgstr "コグ" - -#: ../../ext/commands/cogs.rst:8 -msgid "There comes a point in your bot's development when you want to organize a collection of commands, listeners, and some state into one class. Cogs allow you to do just that." -msgstr "Bot開発においてコマンドやリスナー、いくつかの状態を一つのクラスにまとめてしまいたい場合があるでしょう。コグはそれを実現したものです。" - -#: ../../ext/commands/cogs.rst:10 -msgid "The gist:" -msgstr "要旨:" - -#: ../../ext/commands/cogs.rst:12 -msgid "Each cog is a Python class that subclasses :class:`.commands.Cog`." -msgstr "すべてのコグは :class:`.commands.Cog` を継承したPythonクラスです。" - -#: ../../ext/commands/cogs.rst:13 -msgid "Every command is marked with the :func:`.commands.command` decorator." -msgstr "すべてのコマンドは :func:`.commands.command` デコレータでデコレートされます。" - -#: ../../ext/commands/cogs.rst:14 -msgid "Every listener is marked with the :meth:`.commands.Cog.listener` decorator." -msgstr "すべてのリスナーは :meth:`.commands.Cog.listener` デコレータでデコレートされます。" - -#: ../../ext/commands/cogs.rst:15 -msgid "Cogs are then registered with the :meth:`.Bot.add_cog` call." -msgstr "コグは :meth:`.Bot.add_cog` を呼び出して登録します。" - -#: ../../ext/commands/cogs.rst:16 -msgid "Cogs are subsequently removed with the :meth:`.Bot.remove_cog` call." -msgstr "コグは :meth:`.Bot.remove_cog` の呼び出しで削除されます。" - -#: ../../ext/commands/cogs.rst:18 -msgid "It should be noted that cogs are typically used alongside with :ref:`ext_commands_extensions`." -msgstr "コグは :ref:`ext_commands_extensions` とともに使用されるのが一般的であることを覚えておきましょう。" - -#: ../../ext/commands/cogs.rst:21 -msgid "Quick Example" -msgstr "簡単な例" - -#: ../../ext/commands/cogs.rst:23 -msgid "This example cog defines a ``Greetings`` category for your commands, with a single :ref:`command ` named ``hello`` as well as a listener to listen to an :ref:`Event `." -msgstr "この例で紹介するコグは ``hello`` という名前の :ref:`command ` と、 :ref:`Event ` をリッスンするリスナーを実装した ``Greetings`` という名前のコマンドカテゴリを定義しています。" - -#: ../../ext/commands/cogs.rst:48 -msgid "A couple of technical notes to take into consideration:" -msgstr "考慮すべき二つのテクニカルノート:" - -#: ../../ext/commands/cogs.rst:50 -msgid "All listeners must be explicitly marked via decorator, :meth:`~.commands.Cog.listener`." -msgstr "すべてのリスナーは :meth:`~.commands.Cog.listener` で明示的にデコレートする必要があります。" - -#: ../../ext/commands/cogs.rst:51 -msgid "The name of the cog is automatically derived from the class name but can be overridden. See :ref:`ext_commands_cogs_meta_options`." -msgstr "コグの名前は、自動的にクラスの名前が引用されますが、上書きも可能です。 :ref:`ext_commands_cogs_meta_options` を参照してください。" - -#: ../../ext/commands/cogs.rst:52 -msgid "All commands must now take a ``self`` parameter to allow usage of instance attributes that can be used to maintain state." -msgstr "すべてのコマンドは状態を保持するインスタンスの属性を使用するために ``self`` パラメータを持つ必要があります。" - -#: ../../ext/commands/cogs.rst:55 -msgid "Cog Registration" -msgstr "コグの登録" - -#: ../../ext/commands/cogs.rst:57 -msgid "Once you have defined your cogs, you need to tell the bot to register the cogs to be used. We do this via the :meth:`~.commands.Bot.add_cog` method." -msgstr "コグを定義したら、Botにコグを登録する処理が必要になります。 :meth:`~.commands.Bot.add_cog` メソッドを用いて登録ができます。" - -#: ../../ext/commands/cogs.rst:63 -msgid "This binds the cog to the bot, adding all commands and listeners to the bot automatically." -msgstr "これはコグとBotを紐づけ、すべてのコマンドとリスナーを自動的にBotに追加します。" - -#: ../../ext/commands/cogs.rst:65 -msgid "Note that we reference the cog by name, which we can override through :ref:`ext_commands_cogs_meta_options`. So if we ever want to remove the cog eventually, we would have to do the following." -msgstr "コグを名前で参照している点に注意してください。これは :ref:`ext_commands_cogs_meta_options` でオーバーライドが可能です。そのため、最終的にコグを削除したい場合は、次の処理を行う必要があります。" - -#: ../../ext/commands/cogs.rst:72 -msgid "Using Cogs" -msgstr "コグの使用" - -#: ../../ext/commands/cogs.rst:74 -msgid "Just as we remove a cog by its name, we can also retrieve it by its name as well. This allows us to use a cog as an inter-command communication protocol to share data. For example:" -msgstr "コグを名前で削除するのと同様に、名前でコグを検索することもできます。これによってコグをデータ共有のためのコマンド間通信プロトコルとして使うことができます。例えば:" - -#: ../../ext/commands/cogs.rst:109 -msgid "Special Methods" -msgstr "特殊なメソッド" - -#: ../../ext/commands/cogs.rst:111 -msgid "As cogs get more complicated and have more commands, there comes a point where we want to customise the behaviour of the entire cog or bot." -msgstr "コグが複雑化し、多くのコマンドを持つようになるにつれ、コグあるいはBot全体の挙動をカスタマイズしたくなることがあります。" - -#: ../../ext/commands/cogs.rst:113 -msgid "They are as follows:" -msgstr "そのための特殊なメソッドは以下のとおりです:" - -#: ../../ext/commands/cogs.rst:115 -msgid ":meth:`.Cog.cog_unload`" -msgstr ":meth:`.Cog.cog_unload`" - -#: ../../ext/commands/cogs.rst:116 -msgid ":meth:`.Cog.cog_check`" -msgstr ":meth:`.Cog.cog_check`" - -#: ../../ext/commands/cogs.rst:117 -msgid ":meth:`.Cog.cog_command_error`" -msgstr ":meth:`.Cog.cog_command_error`" - -#: ../../ext/commands/cogs.rst:118 -msgid ":meth:`.Cog.cog_before_invoke`" -msgstr ":meth:`.Cog.cog_before_invoke`" - -#: ../../ext/commands/cogs.rst:119 -msgid ":meth:`.Cog.cog_after_invoke`" -msgstr ":meth:`.Cog.cog_after_invoke`" - -#: ../../ext/commands/cogs.rst:120 -msgid ":meth:`.Cog.bot_check`" -msgstr ":meth:`.Cog.bot_check`" - -#: ../../ext/commands/cogs.rst:121 -msgid ":meth:`.Cog.bot_check_once`" -msgstr ":meth:`.Cog.bot_check_once`" - -#: ../../ext/commands/cogs.rst:123 -msgid "You can visit the reference to get more detail." -msgstr "詳細はリファレンスを参照してください。" - -#: ../../ext/commands/cogs.rst:128 -msgid "Meta Options" -msgstr "メタオプション" - -#: ../../ext/commands/cogs.rst:130 -msgid "At the heart of a cog resides a metaclass, :class:`.commands.CogMeta`, which can take various options to customise some of the behaviour. To do this, we pass keyword arguments to the class definition line. For example, to change the cog name we can pass the ``name`` keyword argument as follows:" -msgstr "コグの中核にはメタクラスである :class:`.commands.CogMeta` が存在します。これにはいくつかの挙動を変更ができる様々なオプションが用意されています。オプションを使用する際はキーワード引数をクラス定義の行で渡します。例えば、コグの名前を変更する場合はキーワード引数 ``name`` を次のように渡します。" - -#: ../../ext/commands/cogs.rst:137 -msgid "To see more options that you can set, see the documentation of :class:`.commands.CogMeta`." -msgstr "設定可能な他のオプションについては :class:`.commands.CogMeta` のドキュメントを参照してください。" - -#: ../../ext/commands/cogs.rst:140 -msgid "Inspection" -msgstr "インスペクション" - -#: ../../ext/commands/cogs.rst:142 -msgid "Since cogs ultimately are classes, we have some tools to help us inspect certain properties of the cog." -msgstr "コグは究極的にはクラスのため、コグの特定のプロパティを調べるのに役立つツールがいくつか用意されています。" - -#: ../../ext/commands/cogs.rst:145 -msgid "To get a :class:`list` of commands, we can use :meth:`.Cog.get_commands`. ::" -msgstr ":meth:`.Cog.get_commands` を使うことで、コマンドの :class:`list` を取得できます。" - -#: ../../ext/commands/cogs.rst:151 -msgid "If we want to get the subcommands as well, we can use the :meth:`.Cog.walk_commands` generator. ::" -msgstr "サブコマンドを取得したい場合は :meth:`.Cog.walk_commands` ジェネレータを使うことができます。" - -#: ../../ext/commands/cogs.rst:155 -msgid "To do the same with listeners, we can query them with :meth:`.Cog.get_listeners`. This returns a list of tuples -- the first element being the listener name and the second one being the actual function itself. ::" -msgstr "これ同様の処理をリスナーで行う場合は、 :meth:`.Cog.get_listeners` が使用できます。これはタプルのリストを返します -- 最初の要素がリスナーの名前で、二つ目の要素が関数そのものです。" - diff --git a/docs/locale/ja/LC_MESSAGES/ext/commands/commands.po b/docs/locale/ja/LC_MESSAGES/ext/commands/commands.po deleted file mode 100644 index 6f6d3ecb34..0000000000 --- a/docs/locale/ja/LC_MESSAGES/ext/commands/commands.po +++ /dev/null @@ -1,901 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 22:41-0400\n" -"PO-Revision-Date: 2020-10-24 02:41+0000\n" -"Last-Translator: \n" -"Language: ja_JP\n" -"Language-Team: Japanese\n" -"Plural-Forms: nplurals=1; plural=0\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.5.3\n" - -#: ../../ext/commands/commands.rst:6 -msgid "Commands" -msgstr "コマンド" - -#: ../../ext/commands/commands.rst:8 -msgid "" -"One of the most appealing aspect of the command extension is how easy it " -"is to define commands and how you can arbitrarily nest groups and " -"commands to have a rich sub-command system." -msgstr "コマンド拡張の最も魅力的な機能の一つは、簡単にコマンドが定義でき、かつそのコマンドを好きなようにネスト状にして、豊富なサブコマンドを用意することができる点です。" - -#: ../../ext/commands/commands.rst:11 -msgid "" -"Commands are defined by attaching it to a regular Python function. The " -"command is then invoked by the user using a similar signature to the " -"Python function." -msgstr "コマンドは、Pythonの関数と関連付けすることによって定義され、同様のシグネチャを使用してユーザーに呼び出されます。" - -#: ../../ext/commands/commands.rst:14 -msgid "For example, in the given command definition:" -msgstr "例えば、指定されたコマンド定義を使うと次のようになります。" - -#: ../../ext/commands/commands.rst:22 -msgid "With the following prefix (``$``), it would be invoked by the user via:" -msgstr "Prefixを (``$``) としたとすると、このコマンドは次の用に実行できます。" - -#: ../../ext/commands/commands.rst:28 -msgid "" -"A command must always have at least one parameter, ``ctx``, which is the " -":class:`.Context` as the first one." -msgstr "コマンドには、少なくとも :class:`.Context` を渡すための引数 ``ctx`` が必要です。" - -#: ../../ext/commands/commands.rst:30 -msgid "" -"There are two ways of registering a command. The first one is by using " -":meth:`.Bot.command` decorator, as seen in the example above. The second " -"is using the :func:`~ext.commands.command` decorator followed by " -":meth:`.Bot.add_command` on the instance." -msgstr "" -"コマンドを登録するには二通りの方法があります。一つ目は :meth:`.Bot.command` を使用する方法で、二つ目が " -":func:`~ext.commands.command` デコレータを使用して :meth:`.Bot.add_command` " -"でインスタンスにコマンドを追加していく方法です。" - -#: ../../ext/commands/commands.rst:34 -msgid "Essentially, these two are equivalent: ::" -msgstr "本質的に、これら2つは同等になります: ::" - -#: ../../ext/commands/commands.rst:52 -msgid "" -"Since the :meth:`.Bot.command` decorator is shorter and easier to " -"comprehend, it will be the one used throughout the documentation here." -msgstr ":meth:`.Bot.command` が簡単かつ理解がしやすいので、ドキュメント上ではこちらを使っています。" - -#: ../../ext/commands/commands.rst:55 -msgid "" -"Any parameter that is accepted by the :class:`.Command` constructor can " -"be passed into the decorator. For example, to change the name to " -"something other than the function would be as simple as doing this:" -msgstr "" -":class:`.Command` " -"のコンストラクタの引数はデコレータに渡すことで利用できます。例えば、コマンドの名前を関数以外のものへと変更したい場合は以下のように簡単に設定することができます。" - -#: ../../ext/commands/commands.rst:65 -msgid "Parameters" -msgstr "パラメーター" - -#: ../../ext/commands/commands.rst:67 -msgid "" -"Since we define commands by making Python functions, we also define the " -"argument passing behaviour by the function parameters." -msgstr "Pythonの関数定義によって、同時にコマンドを定義するので、関数のパラメーターを設定することにより、コマンドの引数受け渡し動作も定義することができます。" - -#: ../../ext/commands/commands.rst:70 -msgid "" -"Certain parameter types do different things in the user side and most " -"forms of parameter types are supported." -msgstr "特定のパラメータタイプはユーザーサイドで異なる動作を行い、そしてほとんどの形式のパラメータタイプがサポートされています。" - -#: ../../ext/commands/commands.rst:73 -msgid "Positional" -msgstr "位置引数" - -#: ../../ext/commands/commands.rst:75 -msgid "" -"The most basic form of parameter passing is the positional parameter. " -"This is where we pass a parameter as-is:" -msgstr "最も基本的な引数は位置パラメーターです。与えられた値をそのまま渡します。" - -#: ../../ext/commands/commands.rst:84 -msgid "" -"On the bot using side, you can provide positional arguments by just " -"passing a regular string:" -msgstr "Botの使用者側は、通常の文字列を渡すだけで位置引数に値を渡すことができます。" - -#: ../../ext/commands/commands.rst:88 -msgid "To make use of a word with spaces in between, you should quote it:" -msgstr "間に空白を含む文字列を渡す場合は、文字列を引用符で囲む必要があります。" - -#: ../../ext/commands/commands.rst:92 -msgid "" -"As a note of warning, if you omit the quotes, you will only get the first" -" word:" -msgstr "引用符を用いなかった場合、最初の文字列のみが渡されます。" - -#: ../../ext/commands/commands.rst:96 -msgid "" -"Since positional arguments are just regular Python arguments, you can " -"have as many as you want:" -msgstr "位置引数は、Pythonの引数と同じものなので、好きなだけ設定することが可能です。" - -#: ../../ext/commands/commands.rst:105 -msgid "Variable" -msgstr "可変長引数" - -#: ../../ext/commands/commands.rst:107 -msgid "" -"Sometimes you want users to pass in an undetermined number of parameters." -" The library supports this similar to how variable list parameters are " -"done in Python:" -msgstr "場合によっては、可変長のパラメーターを設定したい場合もあるでしょう。このライブラリはPythonの可変長パラメーターと同様にこれをサポートしています。" - -#: ../../ext/commands/commands.rst:116 -msgid "" -"This allows our user to accept either one or many arguments as they " -"please. This works similar to positional arguments, so multi-word " -"parameters should be quoted." -msgstr "これによって一つ、あるいは複数の引数を受け取ることができます。ただし、引数を渡す際の挙動は位置引数と同様のため、複数の単語を含む文字列は引用符で囲む必要があります。" - -#: ../../ext/commands/commands.rst:119 -msgid "For example, on the bot side:" -msgstr "例えば、Bot側ではこのように動きます。" - -#: ../../ext/commands/commands.rst:123 -msgid "" -"If the user wants to input a multi-word argument, they have to quote it " -"like earlier:" -msgstr "複数単語の文字列を渡す際は、引用符で囲んでください。" - -#: ../../ext/commands/commands.rst:127 -msgid "" -"Do note that similar to the Python function behaviour, a user can " -"technically pass no arguments at all:" -msgstr "Pythonの振る舞いと同様に、ユーザーは引数なしの状態を技術的に渡すことができます。" - -#: ../../ext/commands/commands.rst:132 -msgid "" -"Since the ``args`` variable is a :class:`py:tuple`, you can do anything " -"you would usually do with one." -msgstr "" - -#: ../../ext/commands/commands.rst:136 -msgid "Keyword-Only Arguments" -msgstr "キーワード引数" - -#: ../../ext/commands/commands.rst:138 -msgid "" -"When you want to handle parsing of the argument yourself or do not feel " -"like you want to wrap multi-word user input into quotes, you can ask the " -"library to give you the rest as a single argument. We do this by using a " -"**keyword-only argument**, seen below:" -msgstr "引数の構文解析を自分で行う場合や、複数単語の入力を引用符で囲む必要のないようにしたい場合は、渡された値を単一の引数として受け取るようにライブラリに求めることができます。以下のコードのようにキーワード引数のみを使用することでこれが可能になります。" - -#: ../../ext/commands/commands.rst:150 -msgid "You can only have one keyword-only argument due to parsing ambiguities." -msgstr "解析が曖昧になるため、一つのキーワードのみの引数しか扱えません。" - -#: ../../ext/commands/commands.rst:152 -msgid "On the bot side, we do not need to quote input with spaces:" -msgstr "Bot側では、スペースを含む入力を引用符で囲む必要がありません:" - -#: ../../ext/commands/commands.rst:156 -msgid "Do keep in mind that wrapping it in quotes leaves it as-is:" -msgstr "引用符で囲んだ場合、消えずに残るので注意してください:" - -#: ../../ext/commands/commands.rst:160 -msgid "" -"By default, the keyword-only arguments are stripped of white space to " -"make it easier to work with. This behaviour can be toggled by the " -":attr:`.Command.rest_is_raw` argument in the decorator." -msgstr "" -"通常、キーワード引数は利便性のために空白文字で分割されます。この動作はデコレータの引数として " -":attr:`.Command.rest_is_raw` を使うことで切り替えることが可能です。" - -#: ../../ext/commands/commands.rst:166 -msgid "Invocation Context" -msgstr "呼び出しコンテクスト" - -#: ../../ext/commands/commands.rst:168 -msgid "" -"As seen earlier, every command must take at least a single parameter, " -"called the :class:`~ext.commands.Context`." -msgstr "前述の通り、すべてのコマンドは必ず :class:`~ext.commands.Context` と呼ばれるパラメータを受け取らなければいけません。" - -#: ../../ext/commands/commands.rst:170 -msgid "" -"This parameter gives you access to something called the \"invocation " -"context\". Essentially all the information you need to know how the " -"command was executed. It contains a lot of useful information:" -msgstr "このパラメータにより、「呼び出しコンテクスト」というものにアクセスできます。言うなればコマンドがどのように実行されたのかを知るのに必要な基本的情報です。これにはたくさんの有用な情報が含まれています。" - -#: ../../ext/commands/commands.rst:173 -msgid ":attr:`.Context.guild` to fetch the :class:`Guild` of the command, if any." -msgstr "存在する場合に限り、コマンドの :class:`Guild` を取得できる :attr:`.Context.guild` 。" - -#: ../../ext/commands/commands.rst:174 -msgid ":attr:`.Context.message` to fetch the :class:`Message` of the command." -msgstr "コマンドの :class:`Message` を取得できる :attr:`.Context.message` 。" - -#: ../../ext/commands/commands.rst:175 -msgid "" -":attr:`.Context.author` to fetch the :class:`Member` or :class:`User` " -"that called the command." -msgstr "" -"コマンドを実行した :class:`Member` あるいは :class:`User` を取得できる " -":attr:`.Context.author` 。" - -#: ../../ext/commands/commands.rst:176 -msgid "" -":meth:`.Context.send` to send a message to the channel the command was " -"used in." -msgstr "コマンドが実行されたチャンネルにメッセージを送信する :meth:`.Context.send` 。" - -#: ../../ext/commands/commands.rst:178 -msgid "" -"The context implements the :class:`abc.Messageable` interface, so " -"anything you can do on a :class:`abc.Messageable` you can do on the " -":class:`~ext.commands.Context`." -msgstr "" -"コンテクストは :class:`abc.Messageable` インタフェースを実装しているため、 " -":class:`abc.Messageable` 上でできることは :class:`~ext.commands.Context` " -"上でも行うことが可能です。" - -#: ../../ext/commands/commands.rst:182 -msgid "Converters" -msgstr "コンバータ" - -#: ../../ext/commands/commands.rst:184 -msgid "" -"Adding bot arguments with function parameters is only the first step in " -"defining your bot's command interface. To actually make use of the " -"arguments, we usually want to convert the data into a target type. We " -"call these :ref:`ext_commands_api_converters`." -msgstr "" -"Botの引数を関数のパラメータとして設定するのは、Botのコマンドインタフェースを定義する第一歩です。引数を実際に扱うには、大抵の場合、データを目的の型へとと変換する必要があります。私達はこれを" -" :ref:`ext_commands_api_converters` と呼んでいます。" - -#: ../../ext/commands/commands.rst:188 -msgid "Converters come in a few flavours:" -msgstr "コンバータにはいくつかの種類があります:" - -#: ../../ext/commands/commands.rst:190 -msgid "" -"A regular callable object that takes an argument as a sole parameter and " -"returns a different type." -msgstr "引数を一つのパラメータとして受け取り、異なる型として返す、通常の呼び出し可能オブジェクト。" - -#: ../../ext/commands/commands.rst:192 -msgid "" -"These range from your own function, to something like :class:`bool` or " -":class:`int`." -msgstr "これらにはあなたの作った関数、 :class:`bool` や :class:`int` といったものまで含まれます。" - -#: ../../ext/commands/commands.rst:194 -msgid "A custom class that inherits from :class:`~ext.commands.Converter`." -msgstr ":class:`~ext.commands.Converter` を継承したカスタムクラス。" - -#: ../../ext/commands/commands.rst:197 -msgid "Basic Converters" -msgstr "基本的なコンバーター" - -#: ../../ext/commands/commands.rst:199 -msgid "" -"At its core, a basic converter is a callable that takes in an argument " -"and turns it into something else." -msgstr "基本的なコンバーターは、中核をなすものであり、受け取った引数を別のものへと変換します。" - -#: ../../ext/commands/commands.rst:201 -msgid "" -"For example, if we wanted to add two numbers together, we could request " -"that they are turned into integers for us by specifying the converter:" -msgstr "例えば、二つの値を加算したい場合、コンバーターを指定することにより、受け取った値を整数型へ変換するように要求できます。" - -#: ../../ext/commands/commands.rst:210 -msgid "" -"We specify converters by using something called a **function " -"annotation**. This is a Python 3 exclusive feature that was introduced in" -" :pep:`3107`." -msgstr "" -"コンバーターの指定には関数アノテーションというもの用います。これは :pep:`3107` にて追加された Python 3 " -"にのみ実装されている機能です。" - -#: ../../ext/commands/commands.rst:213 -msgid "" -"This works with any callable, such as a function that would convert a " -"string to all upper-case:" -msgstr "これは、文字列をすべて大文字に変換する関数などといった、任意の呼び出し可能関数でも動作します。" - -#: ../../ext/commands/commands.rst:225 -msgid "bool" -msgstr "論理型" - -#: ../../ext/commands/commands.rst:227 -#, fuzzy -msgid "" -"Unlike the other basic converters, the :class:`bool` converter is treated" -" slightly different. Instead of casting directly to the :class:`bool` " -"type, which would result in any non-empty argument returning ``True``, it" -" instead evaluates the argument as ``True`` or ``False`` based on its " -"given content:" -msgstr "" -"他の基本的なコンバーターとは異なり、 :class:`bool` のコンバーターは若干異なる扱いになります。 :class:`bool` " -"型に直接キャストする代わりに、与えられた値に基づいて ``True`` か ``False`` を返します。" - -#: ../../ext/commands/commands.rst:239 -msgid "Advanced Converters" -msgstr "応用的なコンバータ" - -#: ../../ext/commands/commands.rst:241 -msgid "" -"Sometimes a basic converter doesn't have enough information that we need." -" For example, sometimes we want to get some information from the " -":class:`Message` that called the command or we want to do some " -"asynchronous processing." -msgstr "" -"場合によっては、基本的なコンバータを動かすのに必要な情報が不足していることがあります。例えば、実行されたコマンドの " -":class:`Message` から情報を取得したい場合や、非同期処理を行いたい場合です。" - -#: ../../ext/commands/commands.rst:244 -msgid "" -"For this, the library provides the :class:`~ext.commands.Converter` " -"interface. This allows you to have access to the :class:`.Context` and " -"have the callable be asynchronous. Defining a custom converter using this" -" interface requires overriding a single method, " -":meth:`.Converter.convert`." -msgstr "" -"そういった用途のために、このライブラリは :class:`~ext.commands.Converter` " -"インタフェースを提供します。これによって :class:`.Context` " -"にアクセスが可能になり、また、呼び出し可能関数を非同期にもできるようになります。このインタフェースを使用して、カスタムコンバーターを定義したい場合は" -" :meth:`.Converter.convert` をオーバーライドしてください。" - -#: ../../ext/commands/commands.rst:248 -msgid "An example converter:" -msgstr "コンバーターの例" - -#: ../../ext/commands/commands.rst:263 -msgid "" -"The converter provided can either be constructed or not. Essentially " -"these two are equivalent:" -msgstr "コンバーターはインスタンス化されていなくても構いません。以下の例の二つのは同じ処理になります。" - -#: ../../ext/commands/commands.rst:277 -msgid "" -"Having the possibility of the converter be constructed allows you to set " -"up some state in the converter's ``__init__`` for fine tuning the " -"converter. An example of this is actually in the library, " -":class:`~ext.commands.clean_content`." -msgstr "" -"コンバーターをインスタンス化する可能性がある場合、コンバーターの調整を行うために ``__init__`` " -"で何かしらの状態を設定することが出来ます。この例としてライブラリに実際に存在する " -":class:`~ext.commands.clean_content` があります。" - -#: ../../ext/commands/commands.rst:293 -msgid "" -"If a converter fails to convert an argument to its designated target " -"type, the :exc:`.BadArgument` exception must be raised." -msgstr "コンバーターが渡された引数を指定の型に変換できなかった場合は :exc:`.BadArgument` を発生させてください。" - -#: ../../ext/commands/commands.rst:297 -msgid "Inline Advanced Converters" -msgstr "埋込み型の応用的なコンバーター" - -#: ../../ext/commands/commands.rst:299 -msgid "" -"If we don't want to inherit from :class:`~ext.commands.Converter`, we can" -" still provide a converter that has the advanced functionalities of an " -"advanced converter and save us from specifying two types." -msgstr "" -":class:`~ext.commands.Converter` " -"を継承したくない場合のために、応用的なコンバータの高度な機能を備えたコンバータを提供しています。これを使用することで2つのクラスを作成する必要がなくなります。" - -#: ../../ext/commands/commands.rst:302 -msgid "" -"For example, a common idiom would be to have a class and a converter for " -"that class:" -msgstr "例えば、一般的な書き方だと、クラスとそのクラスへのコンバーターを定義します:" - -#: ../../ext/commands/commands.rst:328 -msgid "" -"This can get tedious, so an inline advanced converter is possible through" -" a ``classmethod`` inside the type:" -msgstr "" -"これでは面倒に感じてしまうこともあるでしょう。しかし、埋込み型の応用的なコンバーターは ``classmethod`` " -"としてクラスへ埋め込むことが可能です:" - -#: ../../ext/commands/commands.rst:355 -msgid "Discord Converters" -msgstr "Discord コンバーター" - -#: ../../ext/commands/commands.rst:357 -msgid "" -"Working with :ref:`discord_api_models` is a fairly common thing when " -"defining commands, as a result the library makes working with them easy." -msgstr "" -":ref:`discord_api_models` " -"を使用して作業を行うのは、コマンドを定義する際には一般的なことです。そのため、このライブラリでは簡単に作業が行えるようになっています。" - -#: ../../ext/commands/commands.rst:360 -msgid "" -"For example, to receive a :class:`Member` you can just pass it as a " -"converter:" -msgstr "例えば、 :class:`Member` を受け取るには、これをコンバーターとして渡すだけです。" - -#: ../../ext/commands/commands.rst:368 -msgid "" -"When this command is executed, it attempts to convert the string given " -"into a :class:`Member` and then passes it as a parameter for the " -"function. This works by checking if the string is a mention, an ID, a " -"nickname, a username + discriminator, or just a regular username. The " -"default set of converters have been written to be as easy to use as " -"possible." -msgstr "" -"このコマンドが実行されると、与えられた文字列を :class:`Member` " -"に変換して、それを関数のパラメーターとして渡します。これは文字列がメンション、ID、ニックネーム、ユーザー名 + " -"Discordタグ、または普通のユーザー名かどうかをチェックすることで機能しています。デフォルトで定義されているコンバーターは、できるだけ簡単に使えるように作られています。" - -#: ../../ext/commands/commands.rst:372 -msgid "A lot of discord models work out of the gate as a parameter:" -msgstr "Discordモデルの多くがコンバーターとして動作します。" - -#: ../../ext/commands/commands.rst:374 ../../ext/commands/commands.rst:396 -msgid ":class:`Member`" -msgstr ":class:`Member`" - -#: ../../ext/commands/commands.rst:375 ../../ext/commands/commands.rst:400 -msgid ":class:`User`" -msgstr ":class:`User`" - -#: ../../ext/commands/commands.rst:376 ../../ext/commands/commands.rst:402 -msgid ":class:`TextChannel`" -msgstr ":class:`TextChannel`" - -#: ../../ext/commands/commands.rst:377 ../../ext/commands/commands.rst:404 -msgid ":class:`VoiceChannel`" -msgstr ":class:`VoiceChannel`" - -#: ../../ext/commands/commands.rst:378 ../../ext/commands/commands.rst:406 -msgid ":class:`CategoryChannel`" -msgstr ":class:`CategoryChannel`" - -#: ../../ext/commands/commands.rst:379 ../../ext/commands/commands.rst:408 -msgid ":class:`Role`" -msgstr ":class:`Role`" - -#: ../../ext/commands/commands.rst:380 -msgid ":class:`Message` (since v1.1)" -msgstr ":class:`Message` (v1.1 から)" - -#: ../../ext/commands/commands.rst:381 ../../ext/commands/commands.rst:410 -msgid ":class:`Invite`" -msgstr ":class:`Invite`" - -#: ../../ext/commands/commands.rst:382 ../../ext/commands/commands.rst:412 -msgid ":class:`Game`" -msgstr ":class:`Game`" - -#: ../../ext/commands/commands.rst:383 ../../ext/commands/commands.rst:414 -msgid ":class:`Emoji`" -msgstr ":class:`Emoji`" - -#: ../../ext/commands/commands.rst:384 ../../ext/commands/commands.rst:416 -msgid ":class:`PartialEmoji`" -msgstr ":class:`PartialEmoji`" - -#: ../../ext/commands/commands.rst:385 ../../ext/commands/commands.rst:418 -msgid ":class:`Colour`" -msgstr ":class:`Colour`" - -#: ../../ext/commands/commands.rst:387 -msgid "" -"Having any of these set as the converter will intelligently convert the " -"argument to the appropriate target type you specify." -msgstr "これらをコンバーターとして設定すると、引数を指定した型へとインテリジェントに変換します。" - -#: ../../ext/commands/commands.rst:390 -msgid "" -"Under the hood, these are implemented by the " -":ref:`ext_commands_adv_converters` interface. A table of the equivalent " -"converter is given below:" -msgstr "" -"これらは :ref:`ext_commands_adv_converters` " -"インタフェースによって実装されています。コンバーターとクラスの関係は以下の通りです。" - -#: ../../ext/commands/commands.rst:394 -msgid "Discord Class" -msgstr "Discord クラス" - -#: ../../ext/commands/commands.rst:394 -msgid "Converter" -msgstr "コンバーター" - -#: ../../ext/commands/commands.rst:396 -msgid ":class:`~ext.commands.MemberConverter`" -msgstr ":class:`~ext.commands.MemberConverter`" - -#: ../../ext/commands/commands.rst:398 -msgid ":class:`Message`" -msgstr ":class:`Message`" - -#: ../../ext/commands/commands.rst:398 -msgid ":class:`~ext.commands.MessageConverter`" -msgstr ":class:`~ext.commands.MessageConverter`" - -#: ../../ext/commands/commands.rst:400 -msgid ":class:`~ext.commands.UserConverter`" -msgstr ":class:`~ext.commands.UserConverter`" - -#: ../../ext/commands/commands.rst:402 -msgid ":class:`~ext.commands.TextChannelConverter`" -msgstr ":class:`~ext.commands.TextChannelConverter`" - -#: ../../ext/commands/commands.rst:404 -msgid ":class:`~ext.commands.VoiceChannelConverter`" -msgstr ":class:`~ext.commands.VoiceChannelConverter`" - -#: ../../ext/commands/commands.rst:406 -msgid ":class:`~ext.commands.CategoryChannelConverter`" -msgstr ":class:`~ext.commands.CategoryChannelConverter`" - -#: ../../ext/commands/commands.rst:408 -msgid ":class:`~ext.commands.RoleConverter`" -msgstr ":class:`~ext.commands.RoleConverter`" - -#: ../../ext/commands/commands.rst:410 -msgid ":class:`~ext.commands.InviteConverter`" -msgstr ":class:`~ext.commands.InviteConverter`" - -#: ../../ext/commands/commands.rst:412 -msgid ":class:`~ext.commands.GameConverter`" -msgstr ":class:`~ext.commands.GameConverter`" - -#: ../../ext/commands/commands.rst:414 -msgid ":class:`~ext.commands.EmojiConverter`" -msgstr ":class:`~ext.commands.EmojiConverter`" - -#: ../../ext/commands/commands.rst:416 -msgid ":class:`~ext.commands.PartialEmojiConverter`" -msgstr ":class:`~ext.commands.PartialEmojiConverter`" - -#: ../../ext/commands/commands.rst:418 -msgid ":class:`~ext.commands.ColourConverter`" -msgstr ":class:`~ext.commands.ColourConverter`" - -#: ../../ext/commands/commands.rst:421 -msgid "" -"By providing the converter it allows us to use them as building blocks " -"for another converter:" -msgstr "コンバーターを継承することで、他のコンバーターの一部として使うことができます:" - -#: ../../ext/commands/commands.rst:438 -msgid "Special Converters" -msgstr "特殊なコンバーター" - -#: ../../ext/commands/commands.rst:440 -msgid "" -"The command extension also has support for certain converters to allow " -"for more advanced and intricate use cases that go beyond the generic " -"linear parsing. These converters allow you to introduce some more relaxed" -" and dynamic grammar to your commands in an easy to use manner." -msgstr "コマンド拡張機能は一般的な線形解析を超える、より高度で複雑なユースケースに対応するため、特殊なコンバータをサポートしています。これらのコンバータは、簡単な方法でコマンドに更に容易で動的な文法の導入を可能にします。" - -#: ../../ext/commands/commands.rst:445 -msgid "typing.Union" -msgstr "typing.Union" - -#: ../../ext/commands/commands.rst:447 -msgid "" -"A :data:`typing.Union` is a special type hint that allows for the command" -" to take in any of the specific types instead of a singular type. For " -"example, given the following:" -msgstr ":data:`typing.Union` はコマンドが単数の型の代わりに、複数の特定の型を取り込める特殊な型ヒントです。例えば:" - -#: ../../ext/commands/commands.rst:459 -msgid "" -"The ``what`` parameter would either take a :class:`discord.TextChannel` " -"converter or a :class:`discord.Member` converter. The way this works is " -"through a left-to-right order. It first attempts to convert the input to " -"a :class:`discord.TextChannel`, and if it fails it tries to convert it to" -" a :class:`discord.Member`. If all converters fail, then a special error " -"is raised, :exc:`~ext.commands.BadUnionArgument`." -msgstr "" -"``what`` パラメータには :class:`discord.TextChannel` コンバーターか " -":class:`discord.Member` " -"コンバーターのいずれかが用いられます。これは左から右の順で変換できるか試行することになります。最初に渡された値を " -":class:`discord.TextChannel` へ変換しようと試み、失敗した場合は :class:`discord.Member` " -"に変換しようとします。すべてのコンバーターで失敗した場合は :exc:`~ext.commands.BadUnionArgument` " -"というエラーが発生します。" - -#: ../../ext/commands/commands.rst:464 -msgid "" -"Note that any valid converter discussed above can be passed in to the " -"argument list of a :data:`typing.Union`." -msgstr "以前に説明した有効なコンバーターは、すべて :data:`typing.Union` にわたすことが可能です。" - -#: ../../ext/commands/commands.rst:467 -msgid "typing.Optional" -msgstr "typing.Optional" - -#: ../../ext/commands/commands.rst:469 -msgid "" -"A :data:`typing.Optional` is a special type hint that allows for \"back-" -"referencing\" behaviour. If the converter fails to parse into the " -"specified type, the parser will skip the parameter and then either " -"``None`` or the specified default will be passed into the parameter " -"instead. The parser will then continue on to the next parameters and " -"converters, if any." -msgstr "" -":data:`typing.Optional` " -"は「後方参照」のような動作をする特殊な型ヒントです。コンバーターが指定された型へのパースに失敗した場合、パーサーは代わりに ``None`` " -"または指定されたデフォルト値をパラメータに渡したあと、そのパラメータをスキップします。次のパラメータまたはコンバータがあれば、そちらに進みます。" - -#: ../../ext/commands/commands.rst:473 ../../ext/commands/commands.rst:500 -msgid "Consider the following example:" -msgstr "次の例をみてください:" - -#: ../../ext/commands/commands.rst:486 -msgid "" -"In this example, since the argument could not be converted into an " -"``int``, the default of ``99`` is passed and the parser resumes handling," -" which in this case would be to pass it into the ``liquid`` parameter." -msgstr "" -"この例では引数を ``int`` に変換することができなかったので、デフォルト値である ``99`` " -"を代入し、パーサーは処理を続行しています。この場合、先程の変換に失敗した引数は ``liquid`` パラメータに渡されます。" - -#: ../../ext/commands/commands.rst:491 -msgid "" -"This converter only works in regular positional parameters, not variable " -"parameters or keyword-only parameters." -msgstr "このコンバーターは位置パラメータでのみ動作し、可変長パラメータやキーワードパラメータでは機能しません。" - -#: ../../ext/commands/commands.rst:494 -msgid "Greedy" -msgstr "Greedy" - -#: ../../ext/commands/commands.rst:496 -msgid "" -"The :data:`~ext.commands.Greedy` converter is a generalisation of the " -":data:`typing.Optional` converter, except applied to a list of arguments." -" In simple terms, this means that it tries to convert as much as it can " -"until it can't convert any further." -msgstr "" -":data:`~ext.commands.Greedy` コンバータは引数にリストが適用される以外は " -":data:`typing.Optional` " -"を一般化したものです。簡単に言うと、与えられた引数を変換ができなくなるまで指定の型に変換しようと試みます。" - -#: ../../ext/commands/commands.rst:509 -msgid "When invoked, it allows for any number of members to be passed in:" -msgstr "これが呼び出されると、任意の数のメンバーを渡すことができます:" - -#: ../../ext/commands/commands.rst:513 -msgid "" -"The type passed when using this converter depends on the parameter type " -"that it is being attached to:" -msgstr "" - -#: ../../ext/commands/commands.rst:515 -msgid "" -"Positional parameter types will receive either the default parameter or a" -" :class:`list` of the converted values." -msgstr "" - -#: ../../ext/commands/commands.rst:516 -msgid "Variable parameter types will be a :class:`tuple` as usual." -msgstr "" - -#: ../../ext/commands/commands.rst:517 -msgid "" -"Keyword-only parameter types will be the same as if " -":data:`~ext.commands.Greedy` was not passed at all." -msgstr "" - -#: ../../ext/commands/commands.rst:519 -msgid "" -":data:`~ext.commands.Greedy` parameters can also be made optional by " -"specifying an optional value." -msgstr "" - -#: ../../ext/commands/commands.rst:521 -msgid "" -"When mixed with the :data:`typing.Optional` converter you can provide " -"simple and expressive command invocation syntaxes:" -msgstr "" - -#: ../../ext/commands/commands.rst:536 -msgid "This command can be invoked any of the following ways:" -msgstr "" - -#: ../../ext/commands/commands.rst:546 -msgid "" -"The usage of :data:`~ext.commands.Greedy` and :data:`typing.Optional` are" -" powerful and useful, however as a price, they open you up to some " -"parsing ambiguities that might surprise some people." -msgstr "" - -#: ../../ext/commands/commands.rst:549 -msgid "" -"For example, a signature expecting a :data:`typing.Optional` of a " -":class:`discord.Member` followed by a :class:`int` could catch a member " -"named after a number due to the different ways a " -":class:`~ext.commands.MemberConverter` decides to fetch members. You " -"should take care to not introduce unintended parsing ambiguities in your " -"code. One technique would be to clamp down the expected syntaxes allowed " -"through custom converters or reordering the parameters to minimise " -"clashes." -msgstr "" - -#: ../../ext/commands/commands.rst:555 -msgid "" -"To help aid with some parsing ambiguities, :class:`str`, ``None``, " -":data:`typing.Optional` and :data:`~ext.commands.Greedy` are forbidden as" -" parameters for the :data:`~ext.commands.Greedy` converter." -msgstr "" - -#: ../../ext/commands/commands.rst:561 -msgid "Error Handling" -msgstr "エラーハンドリング" - -#: ../../ext/commands/commands.rst:563 -#, fuzzy -msgid "" -"When our commands fail to parse we will, by default, receive a noisy " -"error in ``stderr`` of our console that tells us that an error has " -"happened and has been silently ignored." -msgstr "" -"コマンドの解析に失敗したとき、通常では煩わしいエラーはエラーの発生を伝えるためにコンソールの ``stderr`` " -"で受け取られ、無視されていました。" - -#: ../../ext/commands/commands.rst:566 -msgid "" -"In order to handle our errors, we must use something called an error " -"handler. There is a global error handler, called :func:`on_command_error`" -" which works like any other event in the :ref:`discord-api-events`. This " -"global error handler is called for every error reached." -msgstr "" - -#: ../../ext/commands/commands.rst:570 -msgid "" -"Most of the time however, we want to handle an error local to the command" -" itself. Luckily, commands come with local error handlers that allow us " -"to do just that. First we decorate an error handler function with " -":meth:`.Command.error`:" -msgstr "" - -#: ../../ext/commands/commands.rst:586 -msgid "" -"The first parameter of the error handler is the :class:`.Context` while " -"the second one is an exception that is derived from " -":exc:`~ext.commands.CommandError`. A list of errors is found in the " -":ref:`ext_commands_api_errors` page of the documentation." -msgstr "" - -#: ../../ext/commands/commands.rst:590 -msgid "Checks" -msgstr "チェック" - -#: ../../ext/commands/commands.rst:592 -msgid "" -"There are cases when we don't want a user to use our commands. They don't" -" have permissions to do so or maybe we blocked them from using our bot " -"earlier. The commands extension comes with full support for these things " -"in a concept called a :ref:`ext_commands_api_checks`." -msgstr "" -"コマンドをユーザーに使ってほしくない場合などがあります。例えば、使用者が権限を持っていない場合や、Botをブロックしている場合などです。コマンド拡張ではこのような機能を" -" :ref:`ext_commands_api_checks` と呼び、完全にサポートしています。" - -#: ../../ext/commands/commands.rst:596 -msgid "" -"A check is a basic predicate that can take in a :class:`.Context` as its " -"sole parameter. Within it, you have the following options:" -msgstr "" - -#: ../../ext/commands/commands.rst:599 -msgid "Return ``True`` to signal that the person can run the command." -msgstr "" - -#: ../../ext/commands/commands.rst:600 -msgid "Return ``False`` to signal that the person cannot run the command." -msgstr "" - -#: ../../ext/commands/commands.rst:601 -msgid "" -"Raise a :exc:`~ext.commands.CommandError` derived exception to signal the" -" person cannot run the command." -msgstr "" - -#: ../../ext/commands/commands.rst:603 -msgid "" -"This allows you to have custom error messages for you to handle in the " -":ref:`error handlers `." -msgstr "" - -#: ../../ext/commands/commands.rst:606 -msgid "" -"To register a check for a command, we would have two ways of doing so. " -"The first is using the :meth:`~ext.commands.check` decorator. For " -"example:" -msgstr "" - -#: ../../ext/commands/commands.rst:620 -msgid "" -"This would only evaluate the command if the function ``is_owner`` returns" -" ``True``. Sometimes we re-use a check often and want to split it into " -"its own decorator. To do that we can just add another level of depth:" -msgstr "" - -#: ../../ext/commands/commands.rst:637 -msgid "" -"Since an owner check is so common, the library provides it for you " -"(:func:`~ext.commands.is_owner`):" -msgstr "" - -#: ../../ext/commands/commands.rst:647 -msgid "When multiple checks are specified, **all** of them must be ``True``:" -msgstr "" - -#: ../../ext/commands/commands.rst:663 -msgid "" -"If any of those checks fail in the example above, then the command will " -"not be run." -msgstr "" - -#: ../../ext/commands/commands.rst:665 -msgid "" -"When an error happens, the error is propagated to the :ref:`error " -"handlers `. If you do not raise a custom " -":exc:`~ext.commands.CommandError` derived exception, then it will get " -"wrapped up into a :exc:`~ext.commands.CheckFailure` exception as so:" -msgstr "" - -#: ../../ext/commands/commands.rst:683 -msgid "" -"If you want a more robust error system, you can derive from the exception" -" and raise it instead of returning ``False``:" -msgstr "" - -#: ../../ext/commands/commands.rst:708 -msgid "" -"Since having a ``guild_only`` decorator is pretty common, it comes built-" -"in via :func:`~ext.commands.guild_only`." -msgstr "" - -#: ../../ext/commands/commands.rst:711 -msgid "Global Checks" -msgstr "グローバルチェック" - -#: ../../ext/commands/commands.rst:713 -msgid "" -"Sometimes we want to apply a check to **every** command, not just certain" -" commands. The library supports this as well using the global check " -"concept." -msgstr "" - -#: ../../ext/commands/commands.rst:716 -msgid "" -"Global checks work similarly to regular checks except they are registered" -" with the :func:`.Bot.check` decorator." -msgstr "" - -#: ../../ext/commands/commands.rst:718 -msgid "For example, to block all DMs we could do the following:" -msgstr "" - -#: ../../ext/commands/commands.rst:728 -msgid "" -"Be careful on how you write your global checks, as it could also lock you" -" out of your own bot." -msgstr "" - -#~ msgid "" -#~ "To help aid with some parsing " -#~ "ambiguities, :class:`str`, ``None`` and " -#~ ":data:`~ext.commands.Greedy` are forbidden as " -#~ "parameters for the :data:`~ext.commands.Greedy` " -#~ "converter." -#~ msgstr "" - diff --git a/docs/locale/ja/LC_MESSAGES/ext/commands/extensions.po b/docs/locale/ja/LC_MESSAGES/ext/commands/extensions.po deleted file mode 100644 index d4bf7e8888..0000000000 --- a/docs/locale/ja/LC_MESSAGES/ext/commands/extensions.po +++ /dev/null @@ -1,83 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-22 09:35-0400\n" -"PO-Revision-Date: 2020-10-24 02:41\n" -"Last-Translator: \n" -"Language-Team: Japanese\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: discordpy\n" -"X-Crowdin-Project-ID: 362783\n" -"X-Crowdin-Language: ja\n" -"X-Crowdin-File: /ext/commands/extensions.pot\n" -"X-Crowdin-File-ID: 68\n" -"Language: ja_JP\n" - -#: ../../ext/commands/extensions.rst:6 -msgid "Extensions" -msgstr "エクステンション" - -#: ../../ext/commands/extensions.rst:8 -msgid "There comes a time in the bot development when you want to extend the bot functionality at run-time and quickly unload and reload code (also called hot-reloading). The command framework comes with this ability built-in, with a concept called **extensions**." -msgstr "Bot開発ではBotを起動している間にコードを素早くアンロードし、再度ロードし直したい (ホットリロードとも呼ばれます) という時があります。コマンドフレームワークでは **エクステンション** と呼ばれる概念でこの機能が組み込まれています。" - -#: ../../ext/commands/extensions.rst:11 -msgid "Primer" -msgstr "はじめに" - -#: ../../ext/commands/extensions.rst:13 -msgid "An extension at its core is a python file with an entry point called ``setup``. This setup must be a plain Python function (not a coroutine). It takes a single parameter -- the :class:`~.commands.Bot` that loads the extension." -msgstr "その中核となるエクステンションは ``setup`` というエントリポイントを持つPythonファイルです。このsetupは通常のPython関数である必要があります (コルーチンではありません)。この関数はエクステンションをロードする :class:`~.commands.Bot` を受け取るための単一のパラメータを持ちます。" - -#: ../../ext/commands/extensions.rst:15 -msgid "An example extension looks like this:" -msgstr "エクステンションの例は以下のとおりです:" - -#: ../../ext/commands/extensions.rst:17 -msgid "hello.py" -msgstr "hello.py" - -#: ../../ext/commands/extensions.rst:30 -msgid "In this example we define a simple command, and when the extension is loaded this command is added to the bot. Now the final step to this is loading the extension, which we do by calling :meth:`.commands.Bot.load_extension`. To load this extension we call ``bot.load_extension('hello')``." -msgstr "この例では単純なコマンドを実装しており、エクステンションがロードされることでこのコマンドがBotに追加されます。最後にこのエクステンションをロードする必要があります。ロードには :meth:`.commands.Bot.load_extension` を実行します。このエクステンションを読み込むために ``bot.load_extension('hello')`` を実行します。" - -#: ../../ext/commands/extensions.rst:32 -msgid "Cogs" -msgstr "コグ" - -#: ../../ext/commands/extensions.rst:35 -msgid "Extensions are usually used in conjunction with cogs. To read more about them, check out the documentation, :ref:`ext_commands_cogs`." -msgstr "エクステンションは通常、コグと組み合わせて使用します。詳細については :ref:`ext_commands_cogs` のドキュメントを参照してください。" - -#: ../../ext/commands/extensions.rst:39 -msgid "Extension paths are ultimately similar to the import mechanism. What this means is that if there is a folder, then it must be dot-qualified. For example to load an extension in ``plugins/hello.py`` then we use the string ``plugins.hello``." -msgstr "エクステンションのパスは究極的にはimportのメカニズムと似ています。これはフォルダ等がある場合、それをドットで区切らなければならないということです。例えば ``plugins/hello.py`` というエクステンションをロードする場合は、 ``plugins.hello`` という文字列を使います。" - -#: ../../ext/commands/extensions.rst:42 -msgid "Reloading" -msgstr "リロード" - -#: ../../ext/commands/extensions.rst:44 -msgid "When you make a change to the extension and want to reload the references, the library comes with a function to do this for you, :meth:`Bot.reload_extension`." -msgstr "エクステンションを更新し、その参照を再読込したい場合のために、ライブラリには :meth:`Bot.reload_extension` が用意されています。" - -#: ../../ext/commands/extensions.rst:50 -msgid "Once the extension reloads, any changes that we did will be applied. This is useful if we want to add or remove functionality without restarting our bot. If an error occurred during the reloading process, the bot will pretend as if the reload never happened." -msgstr "エクステンションを再読込すると、その変更が適用されます。Botを再起動せずに機能の追加や削除を行いたい場合に便利です。再読込処理中にエラーが発生した場合、Botは再読込処理をする前の状態に戻ります。" - -#: ../../ext/commands/extensions.rst:53 -msgid "Cleaning Up" -msgstr "クリーンアップ" - -#: ../../ext/commands/extensions.rst:55 -msgid "Although rare, sometimes an extension needs to clean-up or know when it's being unloaded. For cases like these, there is another entry point named ``teardown`` which is similar to ``setup`` except called when the extension is unloaded." -msgstr "稀ではありますが、エクステンションにクリーンアップが必要だったり、いつアンロードするかを確認したい場合があります。このために ``setup`` に似たエクステンションがアンロードされるときに呼び出される ``teardown`` というエントリポイントが用意されています。" - -#: ../../ext/commands/extensions.rst:57 -msgid "basic_ext.py" -msgstr "basic_ext.py" - diff --git a/docs/locale/ja/LC_MESSAGES/ext/commands/index.po b/docs/locale/ja/LC_MESSAGES/ext/commands/index.po deleted file mode 100644 index 25061bc51b..0000000000 --- a/docs/locale/ja/LC_MESSAGES/ext/commands/index.po +++ /dev/null @@ -1,27 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-22 09:35-0400\n" -"PO-Revision-Date: 2020-10-24 02:41\n" -"Last-Translator: \n" -"Language-Team: Japanese\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: discordpy\n" -"X-Crowdin-Project-ID: 362783\n" -"X-Crowdin-Language: ja\n" -"X-Crowdin-File: /ext/commands/index.pot\n" -"X-Crowdin-File-ID: 66\n" -"Language: ja_JP\n" - -#: ../../ext/commands/index.rst:4 -msgid "``discord.ext.commands`` -- Bot commands framework" -msgstr "``discord.ext.commands`` -- ボットコマンドのフレームワーク" - -#: ../../ext/commands/index.rst:6 -msgid "``pycord`` offers a lower level aspect on interacting with Discord. Often times, the library is used for the creation of bots. However this task can be daunting and confusing to get correctly the first time. Many times there comes a repetition in creating a bot command framework that is extensible, flexible, and powerful. For this reason, ``pycord`` comes with an extension library that handles this for you." -msgstr "``pycord`` は、Discordと連携するための低レベルな機能を提供します。ときどき、このライブラリーはBotの作成に用いられています。しかしこの作業を正しくやるのは最初のときは気が重くややこしいものです。何度も繰り返し、拡張可能で柔軟、そしてパワフルなBotコマンドフレームワークを作成しています。この理由より、 ``pycord`` にはこれを扱う拡張ライブラリがついてきます。" - diff --git a/docs/locale/ja/LC_MESSAGES/ext/tasks/index.po b/docs/locale/ja/LC_MESSAGES/ext/tasks/index.po deleted file mode 100644 index ead59ff797..0000000000 --- a/docs/locale/ja/LC_MESSAGES/ext/tasks/index.po +++ /dev/null @@ -1,417 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 22:41-0400\n" -"PO-Revision-Date: 2020-10-24 02:41+0000\n" -"Last-Translator: \n" -"Language: ja_JP\n" -"Language-Team: Japanese\n" -"Plural-Forms: nplurals=1; plural=0\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.5.3\n" - -#: ../../ext/tasks/index.rst:4 -msgid "``discord.ext.tasks`` -- asyncio.Task helpers" -msgstr "``discord.ext.tasks`` -- asyncio.Task ヘルパー" - -#: ../../ext/tasks/index.rst:8 -msgid "" -"One of the most common operations when making a bot is having a loop run " -"in the background at a specified interval. This pattern is very common " -"but has a lot of things you need to look out for:" -msgstr "ボットを作成するときの最も一般的な操作の1つは、指定した間隔でバックグラウンドでループを実行させることです。このパターンは非常に一般的ですが、注意すべきことがたくさんあります。" - -#: ../../ext/tasks/index.rst:10 -msgid "How do I handle :exc:`asyncio.CancelledError`?" -msgstr ":exc:`asyncio.CancelledError` はどのように処理するべきですか?" - -#: ../../ext/tasks/index.rst:11 -msgid "What do I do if the internet goes out?" -msgstr "インターネット接続が切れた場合はどうするべきですか?" - -#: ../../ext/tasks/index.rst:12 -msgid "What is the maximum number of seconds I can sleep anyway?" -msgstr "スリープできる最大時間は何秒ですか?" - -#: ../../ext/tasks/index.rst:14 -msgid "" -"The goal of this pycord extension is to abstract all these worries " -"away from you." -msgstr "pycordの拡張機能の目的は、こういった苦労の種を抽象化することです。" - -#: ../../ext/tasks/index.rst:17 -msgid "Recipes" -msgstr "レシピ" - -#: ../../ext/tasks/index.rst:19 -msgid "A simple background task in a :class:`~discord.ext.commands.Cog`:" -msgstr ":class:`~discord.ext.commands.Cog` におけるシンプルなバックグラウンドタスク:" - -#: ../../ext/tasks/index.rst:38 -msgid "Adding an exception to handle during reconnect:" -msgstr "再接続中に処理する例外を追加します:" - -#: ../../ext/tasks/index.rst:61 -msgid "Looping a certain amount of times before exiting:" -msgstr "特定の回数ループさせる:" - -#: ../../ext/tasks/index.rst:77 -msgid "Waiting until the bot is ready before the loop starts:" -msgstr "ループが始まる前に、Botの準備が整うまで待機する: " - -#: ../../ext/tasks/index.rst:102 -msgid "Doing something during cancellation:" -msgstr "キャンセルする場合、その間に何らかの処理を行う:" - -#: ../../ext/tasks/index.rst:136 -msgid "API Reference" -msgstr "APIリファレンス" - -#: discord.ext.tasks.Loop:1 of -msgid "" -"A background task helper that abstracts the loop and reconnection logic " -"for you." -msgstr "ループと再接続処理を抽象化するバックグラウンドタスクのヘルパー。" - -#: discord.ext.tasks.Loop:3 of -msgid "The main interface to create this is through :func:`loop`." -msgstr ":func:`loop` はこれを作成するための主要なインタフェースです。" - -#: discord.ext.tasks.Loop.current_loop:1 of -msgid "The current iteration of the loop." -msgstr "" - -#: discord.ext.tasks.Loop.current_loop discord.ext.tasks.Loop.next_iteration of -msgid "type" -msgstr "" - -#: discord.ext.tasks.Loop.current_loop:3 of -#, fuzzy -msgid ":class:`int`" -msgstr ":class:`asyncio.Task`" - -#: discord.ext.tasks.Loop.next_iteration:1 of -msgid "When the next iteration of the loop will occur." -msgstr "" - -#: discord.ext.tasks.Loop.next_iteration:5 of -msgid "Optional[:class:`datetime.datetime`]" -msgstr "" - -#: discord.ext.tasks.Loop.start:1 of -msgid "Starts the internal task in the event loop." -msgstr "" - -#: discord.ext.tasks.Loop.add_exception_type discord.ext.tasks.Loop.after_loop -#: discord.ext.tasks.Loop.before_loop discord.ext.tasks.Loop.change_interval -#: discord.ext.tasks.Loop.error discord.ext.tasks.Loop.remove_exception_type -#: discord.ext.tasks.Loop.restart discord.ext.tasks.Loop.start -#: discord.ext.tasks.loop of -msgid "Parameters" -msgstr "パラメーター" - -#: discord.ext.tasks.Loop.start:3 of -msgid "The arguments to use." -msgstr "" - -#: discord.ext.tasks.Loop.restart:9 discord.ext.tasks.Loop.start:4 of -msgid "The keyword arguments to use." -msgstr "" - -#: discord.ext.tasks.Loop.add_exception_type discord.ext.tasks.Loop.after_loop -#: discord.ext.tasks.Loop.before_loop discord.ext.tasks.Loop.change_interval -#: discord.ext.tasks.Loop.error discord.ext.tasks.Loop.start -#: discord.ext.tasks.loop of -#, fuzzy -msgid "Raises" -msgstr "例外" - -#: discord.ext.tasks.Loop.start:6 of -msgid "A task has already been launched and is running." -msgstr "" - -#: discord.ext.tasks.Loop.remove_exception_type discord.ext.tasks.Loop.start of -msgid "Returns" -msgstr "戻り値" - -#: discord.ext.tasks.Loop.start:8 of -msgid "The task that has been created." -msgstr "タスクが作成されました。" - -#: discord.ext.tasks.Loop.remove_exception_type discord.ext.tasks.Loop.start of -msgid "Return type" -msgstr "戻り値の型" - -#: discord.ext.tasks.Loop.start:9 of -msgid ":class:`asyncio.Task`" -msgstr ":class:`asyncio.Task`" - -#: discord.ext.tasks.Loop.stop:1 of -msgid "Gracefully stops the task from running." -msgstr "" - -#: discord.ext.tasks.Loop.stop:3 of -msgid "" -"Unlike :meth:`cancel`\\, this allows the task to finish its current " -"iteration before gracefully exiting." -msgstr "" - -#: discord.ext.tasks.Loop.stop:8 of -msgid "" -"If the internal function raises an error that can be handled before " -"finishing then it will retry until it succeeds." -msgstr "" - -#: discord.ext.tasks.Loop.stop:12 of -msgid "" -"If this is undesirable, either remove the error handling before stopping " -"via :meth:`clear_exception_types` or use :meth:`cancel` instead." -msgstr "" - -#: discord.ext.tasks.Loop.cancel:1 of -msgid "Cancels the internal task, if it is running." -msgstr "" - -#: discord.ext.tasks.Loop.restart:1 of -msgid "A convenience method to restart the internal task." -msgstr "" - -#: discord.ext.tasks.Loop.restart:5 of -msgid "" -"Due to the way this function works, the task is not returned like " -":meth:`start`." -msgstr "" - -#: discord.ext.tasks.Loop.restart:8 of -msgid "The arguments to to use." -msgstr "" - -#: discord.ext.tasks.Loop.add_exception_type:1 of -#, fuzzy -msgid "Adds exception types to be handled during the reconnect logic." -msgstr "再接続中に処理する例外を追加します:" - -#: discord.ext.tasks.Loop.add_exception_type:3 of -msgid "" -"By default the exception types handled are those handled by " -":meth:`discord.Client.connect`\\, which includes a lot of internet " -"disconnection errors." -msgstr "" - -#: discord.ext.tasks.Loop.add_exception_type:7 of -msgid "" -"This function is useful if you're interacting with a 3rd party library " -"that raises its own set of exceptions." -msgstr "" - -#: discord.ext.tasks.Loop.add_exception_type:10 -#: discord.ext.tasks.Loop.remove_exception_type:3 of -msgid "An argument list of exception classes to handle." -msgstr "" - -#: discord.ext.tasks.Loop.add_exception_type:13 of -msgid "" -"An exception passed is either not a class or not inherited from " -":class:`BaseException`." -msgstr "" - -#: discord.ext.tasks.Loop.clear_exception_types:1 of -msgid "Removes all exception types that are handled." -msgstr "" - -#: discord.ext.tasks.Loop.clear_exception_types:5 of -msgid "This operation obviously cannot be undone!" -msgstr "" - -#: discord.ext.tasks.Loop.remove_exception_type:1 of -#, fuzzy -msgid "Removes exception types from being handled during the reconnect logic." -msgstr "再接続中に処理する例外を追加します:" - -#: discord.ext.tasks.Loop.remove_exception_type:6 of -msgid "Whether all exceptions were successfully removed." -msgstr "" - -#: discord.ext.tasks.Loop.remove_exception_type:7 of -msgid ":class:`bool`" -msgstr "" - -#: discord.ext.tasks.Loop.get_task:1 of -msgid "" -"Optional[:class:`asyncio.Task`]: Fetches the internal task or ``None`` if" -" there isn't one running." -msgstr "" - -#: discord.ext.tasks.Loop.is_being_cancelled:1 of -msgid "Whether the task is being cancelled." -msgstr "" - -#: discord.ext.tasks.Loop.failed:1 of -msgid ":class:`bool`: Whether the internal task has failed." -msgstr "" - -#: discord.ext.tasks.Loop.is_running:1 of -msgid ":class:`bool`: Check if the task is currently running." -msgstr "" - -#: discord.ext.tasks.Loop.before_loop:1 of -msgid "" -"A decorator that registers a coroutine to be called before the loop " -"starts running." -msgstr "" - -#: discord.ext.tasks.Loop.before_loop:3 of -msgid "" -"This is useful if you want to wait for some bot state before the loop " -"starts, such as :meth:`discord.Client.wait_until_ready`." -msgstr "" - -#: discord.ext.tasks.Loop.after_loop:3 discord.ext.tasks.Loop.before_loop:6 of -msgid "The coroutine must take no arguments (except ``self`` in a class context)." -msgstr "" - -#: discord.ext.tasks.Loop.before_loop:8 of -msgid "The coroutine to register before the loop runs." -msgstr "" - -#: discord.ext.tasks.Loop.after_loop:14 discord.ext.tasks.Loop.before_loop:11 -#: discord.ext.tasks.Loop.error:13 discord.ext.tasks.loop:22 of -msgid "The function was not a coroutine." -msgstr "" - -#: discord.ext.tasks.Loop.after_loop:1 of -msgid "" -"A decorator that register a coroutine to be called after the loop " -"finished running." -msgstr "" - -#: discord.ext.tasks.Loop.after_loop:7 of -msgid "" -"This coroutine is called even during cancellation. If it is desirable to " -"tell apart whether something was cancelled or not, check to see whether " -":meth:`is_being_cancelled` is ``True`` or not." -msgstr "" - -#: discord.ext.tasks.Loop.after_loop:11 of -msgid "The coroutine to register after the loop finishes." -msgstr "" - -#: discord.ext.tasks.Loop.error:1 of -msgid "" -"A decorator that registers a coroutine to be called if the task " -"encounters an unhandled exception." -msgstr "" - -#: discord.ext.tasks.Loop.error:3 of -msgid "" -"The coroutine must take only one argument the exception raised (except " -"``self`` in a class context)." -msgstr "" - -#: discord.ext.tasks.Loop.error:5 of -msgid "" -"By default this prints to :data:`sys.stderr` however it could be " -"overridden to have a different implementation." -msgstr "" - -#: discord.ext.tasks.Loop.error:10 of -msgid "The coroutine to register in the event of an unhandled exception." -msgstr "" - -#: discord.ext.tasks.Loop.change_interval:1 of -msgid "Changes the interval for the sleep time." -msgstr "" - -#: discord.ext.tasks.Loop.change_interval:5 of -msgid "" -"This only applies on the next loop iteration. If it is desirable for the " -"change of interval to be applied right away, cancel the task with " -":meth:`cancel`." -msgstr "" - -#: discord.ext.tasks.Loop.change_interval:10 discord.ext.tasks.loop:4 of -msgid "The number of seconds between every iteration." -msgstr "" - -#: discord.ext.tasks.Loop.change_interval:12 discord.ext.tasks.loop:6 of -msgid "The number of minutes between every iteration." -msgstr "" - -#: discord.ext.tasks.Loop.change_interval:14 discord.ext.tasks.loop:8 of -msgid "The number of hours between every iteration." -msgstr "" - -#: discord.ext.tasks.Loop.change_interval:17 discord.ext.tasks.loop:21 of -msgid "An invalid value was given." -msgstr "" - -#: discord.ext.tasks.loop:1 of -msgid "" -"A decorator that schedules a task in the background for you with optional" -" reconnect logic. The decorator returns a :class:`Loop`." -msgstr "" - -#: discord.ext.tasks.loop:10 of -msgid "The number of loops to do, ``None`` if it should be an infinite loop." -msgstr "" - -#: discord.ext.tasks.loop:13 of -msgid "" -"Whether to handle errors and restart the task using an exponential back-" -"off algorithm similar to the one used in :meth:`discord.Client.connect`." -msgstr "" - -#: discord.ext.tasks.loop:17 of -msgid "" -"The loop to use to register the task, if not given defaults to " -":func:`asyncio.get_event_loop`." -msgstr "" - -#~ msgid ":class:`int` -- The current iteration of the loop." -#~ msgstr "" - -#~ msgid ":exc:`RuntimeError` -- A task has already been launched and is running." -#~ msgstr "" - -#~ msgid "Adds an exception type to be handled during the reconnect logic." -#~ msgstr "" - -#~ msgid "The exception class to handle." -#~ msgstr "" - -#~ msgid "" -#~ ":exc:`TypeError` -- The exception passed " -#~ "is either not a class or not " -#~ "inherited from :class:`BaseException`." -#~ msgstr "" - -#~ msgid "" -#~ "Removes an exception type from being " -#~ "handled during the reconnect logic." -#~ msgstr "" - -#~ msgid "Whether it was successfully removed." -#~ msgstr "" - -#~ msgid ":exc:`TypeError` -- The function was not a coroutine." -#~ msgstr "" - -#~ msgid ":exc:`ValueError` -- An invalid value was given." -#~ msgstr "" - -#~ msgid "" -#~ "A decorator that schedules a task " -#~ "in the background for you with " -#~ "optional reconnect logic." -#~ msgstr "" - -#~ msgid "The loop helper that handles the background task." -#~ msgstr "" - -#~ msgid ":class:`Loop`" -#~ msgstr "" - diff --git a/docs/locale/ja/LC_MESSAGES/faq.po b/docs/locale/ja/LC_MESSAGES/faq.po deleted file mode 100644 index c17802f9f4..0000000000 --- a/docs/locale/ja/LC_MESSAGES/faq.po +++ /dev/null @@ -1,582 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 22:41-0400\n" -"PO-Revision-Date: 2020-10-24 02:41+0000\n" -"Last-Translator: \n" -"Language: ja_JP\n" -"Language-Team: Japanese\n" -"Plural-Forms: nplurals=1; plural=0\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.5.3\n" - -#: ../../faq.rst:5 -msgid "Frequently Asked Questions" -msgstr "よくある質問" - -#: ../../faq.rst:7 -msgid "" -"This is a list of Frequently Asked Questions regarding using " -"``pycord`` and its extension modules. Feel free to suggest a new " -"question or submit one via pull requests." -msgstr "これは ``pycord`` 及び 拡張モジュールに対して、よくある質問をまとめたものです。気軽に質問やプルリクエストを提出してください。" - -#: ../../faq.rst:11 -msgid "Questions" -msgstr "質問" - -#: ../../faq.rst:14 -msgid "Coroutines" -msgstr "コルーチン" - -#: ../../faq.rst:16 -msgid "Questions regarding coroutines and asyncio belong here." -msgstr "コルーチンとasyncioに関する質問。" - -#: ../../faq.rst:19 -msgid "What is a coroutine?" -msgstr "コルーチンとはなんですか。" - -#: ../../faq.rst:21 -msgid "" -"A |coroutine_link|_ is a function that must be invoked with ``await`` or " -"``yield from``. When Python encounters an ``await`` it stops the " -"function's execution at that point and works on other things until it " -"comes back to that point and finishes off its work. This allows for your " -"program to be doing multiple things at the same time without using " -"threads or complicated multiprocessing." -msgstr "" -"|coroutine_link|_ とは ``await`` または ``yield from`` から呼び出さなければならない関数です。 " -"``await`` にエンカウントした場合、そのポイントで関数の実行を停止し、他の作業を実行します。 " -"これは作業が終了し、このポイントに戻ってくるまで続きます。 " -"これにより、スレッドや複雑なマルチプロセッシングを用いずに複数の処理を並列実行することができます。" - -#: ../../faq.rst:26 -msgid "" -"**If you forget to await a coroutine then the coroutine will not run. " -"Never forget to await a coroutine.**" -msgstr "**コルーチンにawaitを記述し忘れた場合、コルーチンは実行されません。awaitの記述を忘れないように注意してください。**" - -#: ../../faq.rst:29 -msgid "Where can I use ``await``\\?" -msgstr "``await`` はどこで使用することができますか。" - -#: ../../faq.rst:31 -msgid "" -"You can only use ``await`` inside ``async def`` functions and nowhere " -"else." -msgstr "``await`` は ``async def`` 関数の中でのみ使用できます。" - -#: ../../faq.rst:34 -msgid "What does \"blocking\" mean?" -msgstr "「ブロッキング」とはなんですか。" - -#: ../../faq.rst:36 -msgid "" -"In asynchronous programming a blocking call is essentially all the parts " -"of the function that are not ``await``. Do not despair however, because " -"not all forms of blocking are bad! Using blocking calls is inevitable, " -"but you must work to make sure that you don't excessively block " -"functions. Remember, if you block for too long then your bot will freeze " -"since it has not stopped the function's execution at that point to do " -"other things." -msgstr "" -"非同期プログラミングにおけるブロッキングとは、関数内の ``await`` 修飾子がないコードすべてを指します。 " -"しかし、全てのブロッキングが悪いというわけではありません。ブロッキングを使用することは避けられませんが、ブロックの発生は出来るだけ少なくする必要があります。長時間のブロックが発生すると、関数の実行が停止しないため、長時間Botがフリーズすることになることを覚えておきましょう。" - -#: ../../faq.rst:41 -msgid "" -"If logging is enabled, this library will attempt to warn you that " -"blocking is occurring with the message: ``Heartbeat blocked for more than" -" N seconds.`` See :ref:`logging_setup` for details on enabling logging." -msgstr "" -"もしロギングを有効にしている場合、ライブラリはブロッキングが起きていることを次のメッセージで警告しようと試みます: ``Heartbeat " -"blocked for more than N seconds.`` " -"ロギングを有効にするには、:ref:`logging_setup`をご覧ください。" - -#: ../../faq.rst:45 -msgid "" -"A common source of blocking for too long is something like " -":func:`time.sleep`. Don't do that. Use :func:`asyncio.sleep` instead. " -"Similar to this example: ::" -msgstr "" -"長時間ブロックの原因として一般的なのは :func:`time.sleep` などです。 これは使用せず、下記の例のように " -":func:`asyncio.sleep` を使用してください。" - -#: ../../faq.rst:54 -msgid "" -"Another common source of blocking for too long is using HTTP requests " -"with the famous module :doc:`req:index`. While :doc:`req:index` is an " -"amazing module for non-asynchronous programming, it is not a good choice " -"for :mod:`asyncio` because certain requests can block the event loop too " -"long. Instead, use the :doc:`aiohttp ` library which is " -"installed on the side with this library." -msgstr "" -"また、これだけでなく、有名なモジュール :doc:`req:index` のHTTPリクエストも長時間ブロックの原因になります。 " -":doc:`req:index` " -"モジュールは非非同期プログラミングでは素晴らしいモジュールですが、特定のリクエストがイベントループを長時間ブロックする可能性があるため、 " -":mod:`asyncio` には適していません。 代わりにこのライブラリと一緒にインストールされた :doc:`aiohttp " -"` を使用してください。" - -#: ../../faq.rst:59 -msgid "Consider the following example: ::" -msgstr "次の例を見てみましょう。" - -#: ../../faq.rst:75 -msgid "General" -msgstr "一般" - -#: ../../faq.rst:77 -msgid "General questions regarding library usage belong here." -msgstr "ライブラリの使用に関する一般的な質問。" - -#: ../../faq.rst:80 -msgid "Where can I find usage examples?" -msgstr "" - -#: ../../faq.rst:82 -msgid "" -"Example code can be found in the `examples folder " -"`_ in the " -"repository." -msgstr "" - -#: ../../faq.rst:86 -msgid "How do I set the \"Playing\" status?" -msgstr "「プレイ中」状態の設定をするにはどうすればいいですか。" - -#: ../../faq.rst:88 -msgid "" -"There is a method for this under :class:`Client` called " -":meth:`Client.change_presence`. The relevant aspect of this is its " -"``activity`` keyword argument which takes in an :class:`Activity` object." -msgstr "" -":class:`Client` 下にプレイ中状態の設定を行うためのメソッド :meth:`Client.change_presence` " -"が用意されています。 これの引数 ``activity`` に :class:`Activity` を渡します。" - -#: ../../faq.rst:91 -msgid "" -"The status type (playing, listening, streaming, watching) can be set " -"using the :class:`ActivityType` enum. For memory optimisation purposes, " -"some activities are offered in slimmed down versions:" -msgstr "" -"ステータスタイプ(プレイ中、再生中、配信中、視聴中)は列挙型の :class:`ActivityType` " -"を指定することで設定が可能です。メモリの最適化のため、一部のアクティビティはスリム化したバージョンで提供しています。" - -#: ../../faq.rst:94 -msgid ":class:`Game`" -msgstr ":class:`Game`" - -#: ../../faq.rst:95 -msgid ":class:`Streaming`" -msgstr ":class:`Streaming`" - -#: ../../faq.rst:97 -msgid "Putting both of these pieces of info together, you get the following: ::" -msgstr "これらの情報をまとめると以下のようになります: ::" - -#: ../../faq.rst:106 -msgid "How do I send a message to a specific channel?" -msgstr "特定のチャンネルにメッセージを送るにはどうすればいいですか。" - -#: ../../faq.rst:108 -msgid "" -"You must fetch the channel directly and then call the appropriate method." -" Example: ::" -msgstr "チャンネルを直接取得してから、適切なメソッドの呼び出しを行う必要があります。以下がその例です。" - -#: ../../faq.rst:114 -msgid "How do I send a DM?" -msgstr "" - -#: ../../faq.rst:116 -msgid "" -"Get the :class:`User` or :class:`Member` object and call " -":meth:`abc.Messageable.send`. For example: ::" -msgstr "" - -#: ../../faq.rst:121 -msgid "" -"If you are responding to an event, such as :func:`on_message`, you " -"already have the :class:`User` object via :attr:`Message.author`: ::" -msgstr "" - -#: ../../faq.rst:126 -#, fuzzy -msgid "How do I get the ID of a sent message?" -msgstr "元の ``message`` を取得するにはどうすればよいですか。" - -#: ../../faq.rst:128 -msgid "" -":meth:`abc.Messageable.send` returns the :class:`Message` that was sent. " -"The ID of a message can be accessed via :attr:`Message.id`: ::" -msgstr "" - -#: ../../faq.rst:135 -msgid "How do I upload an image?" -msgstr "画像をアップロードするにはどうすればいいですか。" - -#: ../../faq.rst:137 -msgid "To upload something to Discord you have to use the :class:`File` object." -msgstr "Discordに何かをアップロードする際には :class:`File` オブジェクトを使用する必要があります。" - -#: ../../faq.rst:139 -msgid "" -"A :class:`File` accepts two parameters, the file-like object (or file " -"path) and the filename to pass to Discord when uploading." -msgstr ":class:`File` は二つのパラメータがあり、ファイルライクなオブジェクト(または、そのファイルパス)と、ファイル名を渡すことができます。" - -#: ../../faq.rst:142 -msgid "If you want to upload an image it's as simple as: ::" -msgstr "画像をアップロードするだけなら、以下のように簡単に行なえます。" - -#: ../../faq.rst:146 -msgid "If you have a file-like object you can do as follows: ::" -msgstr "もし、ファイルライクなオブジェクトがあるなら、以下のような実装が可能です。" - -#: ../../faq.rst:151 -msgid "" -"To upload multiple files, you can use the ``files`` keyword argument " -"instead of ``file``\\: ::" -msgstr "複数のファイルをアップロードするには、 ``file`` の代わりに ``files`` を使用しましょう。" - -#: ../../faq.rst:159 -msgid "" -"If you want to upload something from a URL, you will have to use an HTTP " -"request using :doc:`aiohttp ` and then pass an " -":class:`io.BytesIO` instance to :class:`File` like so:" -msgstr "" -"URLから何かをアップロードする場合は、 :doc:`aiohttp ` のHTTPリクエストを使用し、 " -":class:`io.BytesIO` インスタンスを :class:`File` にわたす必要があります。" - -#: ../../faq.rst:176 -msgid "How can I add a reaction to a message?" -msgstr "メッセージにリアクションをつけるにはどうすればいいですか。" - -#: ../../faq.rst:178 -msgid "You use the :meth:`Message.add_reaction` method." -msgstr ":meth:`Client.add_reaction` を使用してください。" - -#: ../../faq.rst:180 -msgid "" -"If you want to use unicode emoji, you must pass a valid unicode code " -"point in a string. In your code, you can write this in a few different " -"ways:" -msgstr "Unicodeの絵文字を使用する場合は、文字列内の有効なUnicodeのコードポイントを渡す必要があります。 例を挙げると、このようになります。" - -#: ../../faq.rst:182 -msgid "``'👍'``" -msgstr "``'👍'``" - -#: ../../faq.rst:183 -msgid "``'\\U0001F44D'``" -msgstr "``'\\U0001F44D'``" - -#: ../../faq.rst:184 -msgid "``'\\N{THUMBS UP SIGN}'``" -msgstr "``'\\N{THUMBS UP SIGN}'``" - -#: ../../faq.rst:186 ../../faq.rst:202 ../../faq.rst:277 ../../faq.rst:293 -#: ../../faq.rst:313 -msgid "Quick example: ::" -msgstr "簡単な例。" - -#: ../../faq.rst:192 -msgid "" -"In case you want to use emoji that come from a message, you already get " -"their code points in the content without needing to do anything special. " -"You **cannot** send ``':thumbsup:'`` style shorthands." -msgstr "" -"メッセージから来た絵文字を使用したい場合は、特になにをするでもなく、コンテンツのコードポイントをあなたは取得しています。また、 " -"``':thumbsup:'`` のような簡略化したものを送信することは **できません** 。" - -#: ../../faq.rst:195 -msgid "" -"For custom emoji, you should pass an instance of :class:`Emoji`. You can " -"also pass a ``'<:name:id>'`` string, but if you can use said emoji, you " -"should be able to use :meth:`Client.get_emoji` to get an emoji via ID or " -"use :func:`utils.find`/ :func:`utils.get` on :attr:`Client.emojis` or " -":attr:`Guild.emojis` collections." -msgstr "" -"カスタム絵文字については、:class:`Emoji`のインスタンスを渡すといいでしょう。``'<:名前:ID>'``形式の文字列も渡せますが、その絵文字が使えるなら、:meth:`Client.get_emoji`でIDから絵文字を取得したり、:attr:`Client.emojis`" -" や :attr:`Guild.emojis`に対して:func:`utils.find`/ " -":func:`utils.get`を使ったりできるでしょう。" - -#: ../../faq.rst:199 -msgid "" -"The name and ID of a custom emoji can be found with the client by " -"prefixing ``:custom_emoji:`` with a backslash. For example, sending the " -"message ``\\:python3:`` with the client will result in " -"``<:python3:232720527448342530>``." -msgstr "カスタム絵文字の名前とIDをクライアント側で知るには、``:カスタム絵文字:``の頭にバックスラッシュ(円記号)をつけます。たとえば、メッセージ``\\:python3:``を送信すると、結果は``<:python3:232720527448342530>``になります。" - -#: ../../faq.rst:219 -msgid "How do I pass a coroutine to the player's \"after\" function?" -msgstr "どうやってコルーチンをプレイヤーの後処理に渡すのですか。" - -#: ../../faq.rst:221 -msgid "" -"The library's music player launches on a separate thread, ergo it does " -"not execute inside a coroutine. This does not mean that it is not " -"possible to call a coroutine in the ``after`` parameter. To do so you " -"must pass a callable that wraps up a couple of aspects." -msgstr "" -"ライブラリの音楽プレーヤーは別のスレッドで起動するもので、コルーチン内で実行されるものではありません。しかし、 ``after`` " -"にコルーチンが渡せないというわけではありません。コルーチンを渡すためには、いくつかの機能を包括した呼び出し可能コードで渡す必要があります。" - -#: ../../faq.rst:225 -msgid "" -"The first gotcha that you must be aware of is that calling a coroutine is" -" not a thread-safe operation. Since we are technically in another thread," -" we must take caution in calling thread-safe operations so things do not " -"bug out. Luckily for us, :mod:`asyncio` comes with a " -":func:`asyncio.run_coroutine_threadsafe` function that allows us to call " -"a coroutine from another thread." -msgstr "" -"コルーチンを呼び出すという動作はスレッドセーフなものではないということを最初に理解しておく必要があります。技術的に別スレッドなので、スレッドセーフに呼び出す際には注意が必要です。幸運にも、" -" :mod:`asyncio` には :func:`asyncio.run_coroutine_threadsafe` " -"という関数があります。これを用いることで、別スレッドからコルーチンを呼び出すことが可能です。" - -#: ../../faq.rst:230 -msgid "" -"However, this function returns a :class:`concurrent.Future` and to " -"actually call it we have to fetch its result. Putting all of this " -"together we can do the following: ::" -msgstr "" -"しかし、この関数は :class:`concurrent.Future` " -"を返すので、実際にはそこから結果を読み出す必要があります。これをすべてまとめると、次のことができます。" - -#: ../../faq.rst:245 -msgid "How do I run something in the background?" -msgstr "バックグラウンドで何かを動かすにはどうすればいいですか。" - -#: ../../faq.rst:247 -msgid "" -"`Check the background_task.py example. " -"`_" -msgstr "" -"`background_task.pyの例を参照してください。 " -"`_" - -#: ../../faq.rst:250 -msgid "How do I get a specific model?" -msgstr "特定のユーザー、役割、チャンネル、サーバを取得するにはどうすればいいですか。" - -#: ../../faq.rst:252 -msgid "" -"There are multiple ways of doing this. If you have a specific model's ID " -"then you can use one of the following functions:" -msgstr "方法は複数ありますが、特定のモデルのIDがわかっていれば、以下の方法が使えます。" - -#: ../../faq.rst:255 -msgid ":meth:`Client.get_channel`" -msgstr ":meth:`Client.get_channel`" - -#: ../../faq.rst:256 -msgid ":meth:`Client.get_guild`" -msgstr ":meth:`Client.get_guild`" - -#: ../../faq.rst:257 -msgid ":meth:`Client.get_user`" -msgstr ":meth:`Client.get_user`" - -#: ../../faq.rst:258 -msgid ":meth:`Client.get_emoji`" -msgstr ":meth:`Client.get_emoji`" - -#: ../../faq.rst:259 -msgid ":meth:`Guild.get_member`" -msgstr ":meth:`Guild.get_member`" - -#: ../../faq.rst:260 -msgid ":meth:`Guild.get_channel`" -msgstr ":meth:`Guild.get_channel`" - -#: ../../faq.rst:261 -msgid ":meth:`Guild.get_role`" -msgstr ":meth:`Guild.get_role`" - -#: ../../faq.rst:263 -msgid "The following use an HTTP request:" -msgstr "以下の例ではHTTPリクエストを使用します。" - -#: ../../faq.rst:265 -msgid ":meth:`abc.Messageable.fetch_message`" -msgstr ":meth:`abc.Messageable.fetch_message`" - -#: ../../faq.rst:266 -msgid ":meth:`Client.fetch_user`" -msgstr ":meth:`Client.fetch_user`" - -#: ../../faq.rst:267 -msgid ":meth:`Client.fetch_guilds`" -msgstr ":meth:`Client.fetch_guilds`" - -#: ../../faq.rst:268 -msgid ":meth:`Client.fetch_guild`" -msgstr ":meth:`Client.fetch_guild`" - -#: ../../faq.rst:269 -msgid ":meth:`Guild.fetch_emoji`" -msgstr ":meth:`Guild.fetch_emoji`" - -#: ../../faq.rst:270 -msgid ":meth:`Guild.fetch_emojis`" -msgstr ":meth:`Guild.fetch_emojis`" - -#: ../../faq.rst:271 -msgid ":meth:`Guild.fetch_member`" -msgstr ":meth:`Guild.fetch_member`" - -#: ../../faq.rst:274 -msgid "" -"If the functions above do not help you, then use of :func:`utils.find` or" -" :func:`utils.get` would serve some use in finding specific models." -msgstr "上記の関数を使えない状況の場合、 :func:`utils.find` または :func:`utils.get` が役に立つでしょう。" - -#: ../../faq.rst:288 -msgid "How do I make a web request?" -msgstr "Webリクエストはどうやって作ればよいですか。" - -#: ../../faq.rst:290 -msgid "" -"To make a request, you should use a non-blocking library. This library " -"already uses and requires a 3rd party library for making requests, " -"``aiohttp``." -msgstr "" -"リクエストを送るには、ノンブロッキングのライブラリを使わなければなりません。このライブラリは、リクエストを作成するのにサードパーティー製の " -"``aiohttp`` を必要とします。" - -#: ../../faq.rst:300 -msgid "" -"See `aiohttp's full documentation " -"`_ for more information." -msgstr "" -"詳細は `aiohttpの完全なドキュメント `_ " -"を参照してください。" - -#: ../../faq.rst:303 -msgid "How do I use a local image file for an embed image?" -msgstr "Embedの画像にローカルの画像を使用するにはどうすればいいですか。" - -#: ../../faq.rst:305 -msgid "" -"Discord special-cases uploading an image attachment and using it within " -"an embed so that it will not display separately, but instead in the " -"embed's thumbnail, image, footer or author icon." -msgstr "特殊なケースとして、画像が別々に表示されないようDiscordにembedを用いてアップロードする際、画像は代わりにembedのサムネイルや画像、フッター、製作者アイコンに表示されます。" - -#: ../../faq.rst:308 -msgid "" -"To do so, upload the image normally with :meth:`abc.Messageable.send`, " -"and set the embed's image URL to ``attachment://image.png``, where " -"``image.png`` is the filename of the image you will send." -msgstr "" -"これを行うには、通常通り :meth:`abc.Messageable.send` を用いて画像をアップロードし、Embedの画像URLに " -"``attachment://image.png`` を設定します。このとき ``image.png`` は送信したい画像のファイル名にです。" - -#: ../../faq.rst:322 -msgid "Due to a Discord limitation, filenames may not include underscores." -msgstr "Discord側の制限により、ファイル名にアンダースコアが含まれていない場合があります。" - -#: ../../faq.rst:325 -#, fuzzy -msgid "Is there an event for audit log entries being created?" -msgstr "招待、または監査ログのエントリが作成されるイベントはありますか。" - -#: ../../faq.rst:327 -msgid "" -"Since Discord does not dispatch this information in the gateway, the " -"library cannot provide this information. This is currently a Discord " -"limitation." -msgstr "Discordはゲートウェイでこの情報をディスパッチしないため、ライブラリによってこの情報を提供することはできません。これは現在、Discord側の制限です。" - -#: ../../faq.rst:331 -msgid "Commands Extension" -msgstr "コマンド拡張" - -#: ../../faq.rst:333 -msgid "Questions regarding ``discord.ext.commands`` belong here." -msgstr "``discord.ext.commands`` に関する質問。" - -#: ../../faq.rst:336 -msgid "Why does ``on_message`` make my commands stop working?" -msgstr "``on_message`` を使うとコマンドが動作しなくなります。どうしてですか。" - -#: ../../faq.rst:338 -msgid "" -"Overriding the default provided ``on_message`` forbids any extra commands" -" from running. To fix this, add a ``bot.process_commands(message)`` line " -"at the end of your ``on_message``. For example: ::" -msgstr "" -"デフォルトで提供されている ``on_message`` をオーバーライドすると、コマンドが実行されなくなります。これを修正するには " -"``on_message`` の最後に ``bot.process_commands(message)`` を追加してみてください。" - -#: ../../faq.rst:347 -msgid "" -"Alternatively, you can place your ``on_message`` logic into a " -"**listener**. In this setup, you should not manually call " -"``bot.process_commands()``. This also allows you to do multiple things " -"asynchronously in response to a message. Example::" -msgstr "" - -#: ../../faq.rst:357 -msgid "Why do my arguments require quotes?" -msgstr "コマンドの引数にクォーテーションが必要なのはなぜですか。" - -#: ../../faq.rst:359 -msgid "In a simple command defined as: ::" -msgstr "次の簡単なコマンドを見てみましょう。" - -#: ../../faq.rst:365 -msgid "" -"Calling it via ``?echo a b c`` will only fetch the first argument and " -"disregard the rest. To fix this you should either call it via ``?echo \"a" -" b c\"`` or change the signature to have \"consume rest\" behaviour. " -"Example: ::" -msgstr "" -"このコマンドを ``?echo a b c`` " -"のように実行したとき、コマンドに渡されるのは最初の引数だけです。その後の引数はすべて無視されます。これを正常に動かすためには ``?echo " -"\"a b c\"`` のようにしてコマンドを実行するか、コマンドの引数を下記の例のようにしてみましょう" - -#: ../../faq.rst:372 -msgid "This will allow you to use ``?echo a b c`` without needing the quotes." -msgstr "これにより、クォーテーションなしで ``?echo a b c`` を使用することができます。" - -#: ../../faq.rst:375 -msgid "How do I get the original ``message``\\?" -msgstr "元の ``message`` を取得するにはどうすればよいですか。" - -#: ../../faq.rst:377 -msgid "" -"The :class:`~ext.commands.Context` contains an attribute, " -":attr:`~.Context.message` to get the original message." -msgstr "" -":class:`~ext.commands.Context` は元のメッセージを取得するための属性である " -":attr:`~.Context.message` を持っています。" - -#: ../../faq.rst:380 ../../faq.rst:392 -msgid "Example: ::" -msgstr "例:" - -#: ../../faq.rst:387 -msgid "How do I make a subcommand?" -msgstr "サブコマンドを作るにはどうすればいいですか。" - -#: ../../faq.rst:389 -msgid "" -"Use the ``group`` decorator. This will transform the callback into a " -"``Group`` which will allow you to add commands into the group operating " -"as \"subcommands\". These groups can be arbitrarily nested as well." -msgstr "" -"``group`` デコレータを使います。これにより、コールバックが ``Group`` " -"に変換され、groupに「サブコマンド」として動作するコマンドを追加できます。これらのグループは、ネストすることもできます。" - -#: ../../faq.rst:403 -msgid "This could then be used as ``?git push origin master``." -msgstr "これは ``?git push origin master`` のように使うことができます。" - diff --git a/docs/locale/ja/LC_MESSAGES/index.po b/docs/locale/ja/LC_MESSAGES/index.po deleted file mode 100644 index 44ba60f39c..0000000000 --- a/docs/locale/ja/LC_MESSAGES/index.po +++ /dev/null @@ -1,83 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 22:41-0400\n" -"PO-Revision-Date: 2020-10-24 02:41+0000\n" -"Last-Translator: \n" -"Language: ja_JP\n" -"Language-Team: Japanese\n" -"Plural-Forms: nplurals=1; plural=0\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.5.3\n" - -#: ../../index.rst:7 -msgid "Welcome to pycord" -msgstr "pycord へようこそ。" - -#: ../../index.rst:11 -msgid "" -"pycord is a modern, easy to use, feature-rich, and async ready API " -"wrapper for Discord." -msgstr "pycord は機能豊富かつモダンで使いやすい、非同期処理にも対応したDiscord用のAPIラッパーです。" - -#: ../../index.rst:14 -msgid "**Features:**" -msgstr "**特徴:**" - -#: ../../index.rst:16 -msgid "Modern Pythonic API using ``async``\\/``await`` syntax" -msgstr "``async``\\/``await`` 構文を使ったモダンなPythonらしいAPI" - -#: ../../index.rst:17 -msgid "Sane rate limit handling that prevents 429s" -msgstr "429エラー防止の為のレート制限" - -#: ../../index.rst:18 -msgid "Implements the entire Discord API" -msgstr "Discord APIを完全にカバー" - -#: ../../index.rst:19 -msgid "Command extension to aid with bot creation" -msgstr "Bot作成に便利なコマンド拡張" - -#: ../../index.rst:20 -msgid "Easy to use with an object oriented design" -msgstr "オブジェクト指向設計で使いやすい" - -#: ../../index.rst:21 -msgid "Optimised for both speed and memory" -msgstr "メモリと速度の両方を最適化" - -#: ../../index.rst:24 -msgid "Documentation Contents" -msgstr "ドキュメントの目次" - -#: ../../index.rst:36 -msgid "Extensions" -msgstr "拡張機能" - -#: ../../index.rst:46 -msgid "Additional Information" -msgstr "追加情報" - -#: ../../index.rst:57 -msgid "" -"If you still can't find what you're looking for, try in one of the " -"following pages:" -msgstr "探しているものが見つからない場合は、以下のページを試してください。" - -#: ../../index.rst:59 -msgid ":ref:`genindex`" -msgstr ":ref:`genindex`" - -#: ../../index.rst:60 -msgid ":ref:`search`" -msgstr ":ref:`search`" - -#~ msgid ":ref:`modindex`" -#~ msgstr ":ref:`modindex`" - diff --git a/docs/locale/ja/LC_MESSAGES/intents.po b/docs/locale/ja/LC_MESSAGES/intents.po deleted file mode 100644 index 4db2dabbe9..0000000000 --- a/docs/locale/ja/LC_MESSAGES/intents.po +++ /dev/null @@ -1,429 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2015-present, Rapptz -# This file is distributed under the same license as the pycord package. -# FIRST AUTHOR , 2020. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: pycord 1.5.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 22:41-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.5.3\n" - -#: ../../intents.rst:6 -msgid "A Primer to Gateway Intents" -msgstr "" - -#: ../../intents.rst:8 -msgid "" -"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 into specific buckets of events. The events that correspond " -"to each intent is documented in the individual attribute of the " -":class:`Intents` documentation." -msgstr "" - -#: ../../intents.rst:10 -msgid "" -"These intents are passed to the constructor of :class:`Client` or its " -"subclasses (:class:`AutoShardedClient`, :class:`~.AutoShardedBot`, " -":class:`~.Bot`) with the ``intents`` argument." -msgstr "" - -#: ../../intents.rst:12 -msgid "" -"If intents are not passed, then the library defaults to every intent " -"being enabled except the privileged intents, currently " -":attr:`Intents.members` and :attr:`Intents.presences`." -msgstr "" - -#: ../../intents.rst:15 -msgid "What intents are needed?" -msgstr "" - -#: ../../intents.rst:17 -msgid "" -"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 ` it corresponds to and what kind of " -"cache it enables." -msgstr "" - -#: ../../intents.rst:19 -msgid "" -"For example, if you want a bot that functions without spammy events like " -"presences or typing then we could do the following:" -msgstr "" - -#: ../../intents.rst:34 -msgid "" -"Note that this doesn't enable :attr:`Intents.members` since it's a " -"privileged intent." -msgstr "" - -#: ../../intents.rst:36 -msgid "" -"Another example showing a bot that only deals with messages and guild " -"information:" -msgstr "" - -#: ../../intents.rst:54 -msgid "Privileged Intents" -msgstr "" - -#: ../../intents.rst:56 -msgid "" -"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**." -msgstr "" - -#: ../../intents.rst:58 -msgid "" -"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:" -msgstr "" - -#: ../../intents.rst:60 -msgid "" -"Make sure you're logged on to the `Discord website " -"`_." -msgstr "" - -#: ../../intents.rst:61 -msgid "" -"Navigate to the `application page " -"`_" -msgstr "" - -#: ../../intents.rst:62 -msgid "Click on the bot you want to enable privileged intents for." -msgstr "" - -#: ../../intents.rst:63 -msgid "Navigate to the bot tab on the left side of the screen." -msgstr "" - -#: ../../intents.rst:68 -msgid "" -"Scroll down to the \"Privileged Gateway Intents\" section and enable the " -"ones you want." -msgstr "" - -#: ../../intents.rst:75 -msgid "" -"Enabling privileged intents when your bot is in over 100 guilds requires " -"going through `bot verification `_. If your bot is already verified and you " -"would like to enable a privileged intent you must go through `discord " -"support `_ and talk to them about it." -msgstr "" - -#: ../../intents.rst:79 -msgid "" -"Even if you enable intents through the developer portal, you still have " -"to enable the intents through code as well." -msgstr "" - -#: ../../intents.rst:83 -msgid "Do I need privileged intents?" -msgstr "" - -#: ../../intents.rst:85 -msgid "This is a quick checklist to see if you need specific privileged intents." -msgstr "" - -#: ../../intents.rst:90 -msgid "Presence Intent" -msgstr "" - -#: ../../intents.rst:92 -msgid "Whether you use :attr:`Member.status` at all to track member statuses." -msgstr "" - -#: ../../intents.rst:93 -msgid "" -"Whether you use :attr:`Member.activity` or :attr:`Member.activities` to " -"check member's activities." -msgstr "" - -#: ../../intents.rst:98 -msgid "Member Intent" -msgstr "" - -#: ../../intents.rst:100 -msgid "" -"Whether you track member joins or member leaves, corresponds to " -":func:`on_member_join` and :func:`on_member_remove` events." -msgstr "" - -#: ../../intents.rst:101 -msgid "Whether you want to track member updates such as nickname or role changes." -msgstr "" - -#: ../../intents.rst:102 -msgid "" -"Whether you want to track user updates such as usernames, avatars, " -"discriminators, etc." -msgstr "" - -#: ../../intents.rst:103 -msgid "" -"Whether you want to request the guild member list through " -":meth:`Guild.chunk` or :meth:`Guild.fetch_members`." -msgstr "" - -#: ../../intents.rst:104 -msgid "Whether you want high accuracy member cache under :attr:`Guild.members`." -msgstr "" - -#: ../../intents.rst:109 -msgid "Member Cache" -msgstr "" - -#: ../../intents.rst:111 -msgid "" -"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." -msgstr "" - -#: ../../intents.rst:113 -msgid "" -"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." -msgstr "" - -#: ../../intents.rst:115 -msgid "" -"It should be noted that certain things do not need a member cache since " -"Discord will provide full member information if possible. For example:" -msgstr "" - -#: ../../intents.rst:117 -msgid "" -":func:`on_message` will have :attr:`Message.author` be a member even if " -"cache is disabled." -msgstr "" - -#: ../../intents.rst:118 -msgid "" -":func:`on_voice_state_update` will have the ``member`` parameter be a " -"member even if cache is disabled." -msgstr "" - -#: ../../intents.rst:119 -msgid "" -":func:`on_reaction_add` will have the ``user`` parameter be a member even" -" if cache is disabled." -msgstr "" - -#: ../../intents.rst:120 -msgid "" -":func:`on_raw_reaction_add` will have " -":attr:`RawReactionActionEvent.member` be a member even if cache is " -"disabled." -msgstr "" - -#: ../../intents.rst:121 -msgid "" -"The reaction removal events do not have the member information. This is a" -" Discord limitation." -msgstr "" - -#: ../../intents.rst:123 -msgid "" -"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." -msgstr "" - -#: ../../intents.rst:128 -msgid "Retrieving Members" -msgstr "" - -#: ../../intents.rst:130 -msgid "" -"If 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:" -msgstr "" - -#: ../../intents.rst:134 -msgid ":meth:`Guild.query_members`" -msgstr "" - -#: ../../intents.rst:133 -msgid "Used to query members by a prefix matching nickname or username." -msgstr "" - -#: ../../intents.rst:134 -msgid "This can also be used to query members by their user ID." -msgstr "" - -#: ../../intents.rst:135 -msgid "This uses the gateway and not the HTTP." -msgstr "" - -#: ../../intents.rst:136 -msgid ":meth:`Guild.chunk`" -msgstr "" - -#: ../../intents.rst:137 -msgid "This can be used to fetch the entire member list through the gateway." -msgstr "" - -#: ../../intents.rst:138 -msgid ":meth:`Guild.fetch_member`" -msgstr "" - -#: ../../intents.rst:139 -msgid "Used to fetch a member by ID through the HTTP API." -msgstr "" - -#: ../../intents.rst:141 -msgid ":meth:`Guild.fetch_members`" -msgstr "" - -#: ../../intents.rst:141 -msgid "used to fetch a large number of members through the HTTP API." -msgstr "" - -#: ../../intents.rst:143 -msgid "" -"It should be noted that the gateway has a strict rate limit of 120 " -"requests per 60 seconds." -msgstr "" - -#: ../../intents.rst:146 -msgid "Troubleshooting" -msgstr "" - -#: ../../intents.rst:148 -msgid "Some common issues relating to the mandatory intent change." -msgstr "" - -#: ../../intents.rst:151 -msgid "Where'd my members go?" -msgstr "" - -#: ../../intents.rst:153 -msgid "" -"Due to an :ref:`API change ` 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 ` and change the " -":attr:`Intents.members` attribute to true." -msgstr "" - -#: ../../intents.rst:155 -msgid "For example:" -msgstr "" - -#: ../../intents.rst:170 -msgid "Why does ``on_ready`` take so long to fire?" -msgstr "" - -#: ../../intents.rst:172 -msgid "" -"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." -msgstr "" - -#: ../../intents.rst:174 -msgid "There are a few solutions to fix this." -msgstr "" - -#: ../../intents.rst:176 -msgid "" -"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." -msgstr "" - -#: ../../intents.rst:178 -msgid "" -"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 `." -msgstr "" - -#: ../../intents.rst:180 -msgid "" -"To illustrate the slowdown caused the API change, take a bot who is in " -"840 guilds and 95 of these guilds are \"large\" (over 250 members)." -msgstr "" - -#: ../../intents.rst:182 -msgid "" -"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." -msgstr "" - -#: ../../intents.rst:184 -msgid "" -"Unfortunately due to this change being required from Discord there is " -"nothing that the library can do to mitigate this." -msgstr "" - -#: ../../intents.rst:187 -msgid "I don't like this, can I go back?" -msgstr "" - -#: ../../intents.rst:189 -msgid "" -"For now, the old gateway will still work so downgrading to pycord " -"v1.4 is still possible and will continue to be supported until Discord " -"officially kills the v6 gateway, which is imminent. However it is " -"paramount that for the future of your bot that you upgrade your code to " -"the new way things are done." -msgstr "" - -#: ../../intents.rst:191 -msgid "To downgrade you can do the following:" -msgstr "" - -#: ../../intents.rst:197 -msgid "On Windows use ``py -3`` instead of ``python3``." -msgstr "" - -#: ../../intents.rst:201 -msgid "" -"There is no currently set date in which the old gateway will stop working" -" so it is recommended to update your code instead." -msgstr "" - -#: ../../intents.rst:203 -msgid "" -"If you truly dislike the direction Discord is going with their API, you " -"can contact them via `support `_" -msgstr "" diff --git a/docs/locale/ja/LC_MESSAGES/intro.po b/docs/locale/ja/LC_MESSAGES/intro.po deleted file mode 100644 index 20a01b34fb..0000000000 --- a/docs/locale/ja/LC_MESSAGES/intro.po +++ /dev/null @@ -1,127 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-22 09:35-0400\n" -"PO-Revision-Date: 2020-10-24 02:41\n" -"Last-Translator: \n" -"Language-Team: Japanese\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: discordpy\n" -"X-Crowdin-Project-ID: 362783\n" -"X-Crowdin-Language: ja\n" -"X-Crowdin-File: intro.pot\n" -"X-Crowdin-File-ID: 80\n" -"Language: ja_JP\n" - -#: ../../intro.rst:6 -msgid "Introduction" -msgstr "はじめに" - -#: ../../intro.rst:8 -msgid "This is the documentation for pycord, a library for Python to aid in creating applications that utilise the Discord API." -msgstr "これはDiscord APIを利用したアプリケーションを作成するのに便利なPythonライブラリ、pycordのドキュメントです。" - -#: ../../intro.rst:12 -msgid "Prerequisites" -msgstr "前提" - -#: ../../intro.rst:14 -msgid "pycord works with Python 3.5.3 or higher. Support for earlier versions of Python is not provided. Python 2.7 or lower is not supported. Python 3.4 or lower is not supported due to one of the dependencies (:doc:`aiohttp `) not supporting Python 3.4." -msgstr "pycordは3.5.3以降のバージョンのPythonで動作します。Python2.7のような旧バージョンはサポートされていません。Python3.4以下は依存関係にあるライブラリ (:doc:`aiohttp `) がサポートされていないため、サポートしていません。" - -#: ../../intro.rst:22 -msgid "Installing" -msgstr "インストール" - -#: ../../intro.rst:24 -msgid "You can get the library directly from PyPI: ::" -msgstr "PyPIから直接ライブラリをインストールできます。" - -#: ../../intro.rst:28 -msgid "If you are using Windows, then the following should be used instead: ::" -msgstr "Windowsを使用している場合は、以下のコマンドで実行してください。" - -#: ../../intro.rst:34 -msgid "To install additional packages for speedup, you should use ``py-cord[speed]`` instead of ``pycord``, e.g. ::" -msgstr "高速化のために追加のパッケージをインストールするには、 ``py-cord`` ではなく、以下の例のように ``py-cord[speed]`` を使うべきです。" - -#: ../../intro.rst:44 -msgid "To get voice support, you should use ``py-cord[voice]`` instead of ``py-cord``, e.g. ::" -msgstr "音声のサポートが必要な場合は、 ``py-cord`` ではなく、以下の例のように ``py-cord[voice]`` を使うべきです。" - -#: ../../intro.rst:48 -msgid "On Linux environments, installing voice requires getting the following dependencies:" -msgstr "Linux環境では、依存関係にある以下のライブラリが必要になるので注意してください。" - -#: ../../intro.rst:50 -msgid "`libffi `_" -msgstr "`libffi `_" - -#: ../../intro.rst:51 -msgid "`libnacl `_" -msgstr "`libnacl `_" - -#: ../../intro.rst:52 -msgid "`python3-dev `_" -msgstr "`python3-dev `_" - -#: ../../intro.rst:54 -msgid "For a Debian-based system, the following command will get these dependencies:" -msgstr "Debianベースのシステムでは、次のコマンドで依存関係にあるライブラリを取得できます。" - -#: ../../intro.rst:60 -msgid "Remember to check your permissions!" -msgstr "自分の権限の確認は忘れないようにしてください!" - -#: ../../intro.rst:62 -msgid "Virtual Environments" -msgstr "仮想環境" - -#: ../../intro.rst:65 -msgid "Sometimes you want to keep libraries from polluting system installs or use a different version of libraries than the ones installed on the system. You might also not have permissions to install libraries system-wide. For this purpose, the standard library as of Python 3.3 comes with a concept called \"Virtual Environment\"s to help maintain these separate versions." -msgstr "システムへのインストールをライブラリによって汚したくない場合や、現在インストールされているシステムとは異なるバージョンのライブラリを使用したい場合があります。または、システムへのライブラリのインストール権限がない場合などです。こういった目的のため、Python3.3の標準ライブラリには、このように別々のバージョンを保持したい場合のために、「仮想環境」というものが用意されています。" - -#: ../../intro.rst:70 -msgid "A more in-depth tutorial is found on :doc:`py:tutorial/venv`." -msgstr "より詳しいチュートリアルは :doc:`py:tutorial/venv` にあります。" - -#: ../../intro.rst:72 -msgid "However, for the quick and dirty:" -msgstr "簡単に仮想環境を構築する方法。" - -#: ../../intro.rst:74 -msgid "Go to your project's working directory:" -msgstr "プロジェクトの作業ディレクトリに移動してください。" - -#: ../../intro.rst:81 -msgid "Activate the virtual environment:" -msgstr "下記コマンドで仮想環境を有効化します。" - -#: ../../intro.rst:87 -msgid "On Windows you activate it with:" -msgstr "Windowsの場合は、こちらを使ってください。" - -#: ../../intro.rst:93 -msgid "Use pip like usual:" -msgstr "いつものようにpipインストールを実行します。" - -#: ../../intro.rst:99 -msgid "Congratulations. You now have a virtual environment all set up." -msgstr "おめでとうございます。これで仮想環境のセットアップができました。" - -#: ../../intro.rst:102 -msgid "Basic Concepts" -msgstr "基本概念" - -#: ../../intro.rst:104 -msgid "pycord revolves around the concept of :ref:`events `. An event is something you listen to and then respond to. For example, when a message happens, you will receive an event about it that you can respond to." -msgstr "pycordは :ref:`イベント ` の概念を中心としています。イベントは何かを受け取り、それに対する応答を行います。例えば、メッセージが発生すると、メッセージの発生に関連するイベントを受け取り、そのイベントに対して応答を返すことができます。" - -#: ../../intro.rst:108 -msgid "A quick example to showcase how events work:" -msgstr "以下はイベントの仕組みを紹介する簡単な例です。" - diff --git a/docs/locale/ja/LC_MESSAGES/logging.po b/docs/locale/ja/LC_MESSAGES/logging.po deleted file mode 100644 index c9d2f4a4d3..0000000000 --- a/docs/locale/ja/LC_MESSAGES/logging.po +++ /dev/null @@ -1,77 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 22:41-0400\n" -"PO-Revision-Date: 2020-10-24 02:41+0000\n" -"Last-Translator: \n" -"Language: ja_JP\n" -"Language-Team: Japanese\n" -"Plural-Forms: nplurals=1; plural=0\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.5.3\n" - -#: ../../logging.rst:5 -msgid "Setting Up Logging" -msgstr "ログの設定" - -#: ../../logging.rst:7 -msgid "" -"*pycord* logs errors and debug information via the :mod:`logging` " -"python module. It is strongly recommended that the logging module is " -"configured, as no errors or warnings will be output if it is not set up. " -"Configuration of the ``logging`` module can be as simple as::" -msgstr "" -"*pycord* はPythonの :mod:`logging` " -"モジュールを介してエラーやデバッグの情報を記録します。loggingモジュールが設定されていない場合は、エラーや警告が出力されないため、設定するとを強くおすすめします。loggingモジュールの設定は下記手順で簡単に実装が可能です。" - -#: ../../logging.rst:16 -#, fuzzy -msgid "" -"Placed at the start of the application. This will output the logs from " -"discord as well as other libraries that use the ``logging`` module " -"directly to the console." -msgstr "" -"アプリケーションの始めにこれを書き加えるだけです。これはdiscordからのログを ``logging`` " -"モジュールを用いた他のライブラリ同様、コンソールに出力します。" - -#: ../../logging.rst:20 -#, fuzzy -msgid "" -"The optional ``level`` argument specifies what level of events to log out" -" and can be any of ``CRITICAL``, ``ERROR``, ``WARNING``, ``INFO``, and " -"``DEBUG`` and if not specified defaults to ``WARNING``." -msgstr "" -"オプションである ``level`` の引数は出力するイベントのレベルを指定するためのもので、 ``CRITICAL``, ``ERROR``, " -"``WARNING``, ``INFO`` そして ``DEBUG`` を指定することが可能です。指定されていない場合はデフォルトである " -"``WARNING`` に設定されます。" - -#: ../../logging.rst:24 -#, fuzzy -msgid "" -"More advanced setups are possible with the :mod:`logging` module. For " -"example to write the logs to a file called ``discord.log`` instead of " -"outputting them to the console the following snippet can be used::" -msgstr "" -"また、 :mod:`logging` モジュールでは更に高度な設定が可能です。たとえば、コンソールへ出力するのではなく、 " -"``discord.log`` というファイルにログを出力するには、以下のスニペットが利用できます。" - -#: ../../logging.rst:37 -#, fuzzy -msgid "" -"This is recommended, especially at verbose levels such as ``INFO`` and " -"``DEBUG``, as there are a lot of events logged and it would clog the " -"stdout of your program." -msgstr "" -"特に、 ``INFO`` や ``DEBUG`` " -"といった冗長なイベントレベルを設定している場合、プログラムの標準出力をつまらせてしまう原因になるため、ファイルへの出力が推奨されます。" - -#: ../../logging.rst:43 -msgid "" -"For more information, check the documentation and tutorial of the " -":mod:`logging` module." -msgstr "詳細は、:mod:`logging` モジュールのドキュメントを参照してください。" - diff --git a/docs/locale/ja/LC_MESSAGES/migrating.po b/docs/locale/ja/LC_MESSAGES/migrating.po deleted file mode 100644 index 652002edf6..0000000000 --- a/docs/locale/ja/LC_MESSAGES/migrating.po +++ /dev/null @@ -1,2548 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 22:41-0400\n" -"PO-Revision-Date: 2020-10-24 02:41+0000\n" -"Last-Translator: \n" -"Language: ja_JP\n" -"Language-Team: Japanese\n" -"Plural-Forms: nplurals=1; plural=0\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.5.3\n" - -#: ../../migrating.rst:6 -msgid "Migrating to v1.0" -msgstr "v1.0への移行" - -#: ../../migrating.rst:8 -msgid "" -"v1.0 is one of the biggest breaking changes in the library due to a " -"complete redesign." -msgstr "v1.0 では完全な書き直しが行われたため,このライブラリにおけるもっとも大きな更新のひとつといえます。" - -#: ../../migrating.rst:11 -msgid "" -"The amount of changes are so massive and long that for all intents and " -"purposes, it is a completely new library." -msgstr "すべての意図と目的を達成するために変更点が長大になった結果,ライブラリは完全に新しいものになりました。" - -#: ../../migrating.rst:14 -msgid "" -"Part of the redesign involves making things more easy to use and natural." -" Things are done on the :ref:`models ` instead of " -"requiring a :class:`Client` instance to do any work." -msgstr "" -"一部の書き換えは,より使いやすく自然に物事を表現するために行われています。あらゆる仕事をするのに :class:`Client` " -"インスタンスを要求するのではなく,代わりに :ref:`models ` " -"を用いることができるようになりました。" - -#: ../../migrating.rst:18 -msgid "Python Version Change" -msgstr "Pythonのバージョンの変更" - -#: ../../migrating.rst:20 -msgid "" -"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**." -msgstr "" -"pycord の開発をより簡単にし,またその依存関係にあるライブラリをアップグレードして Python 3.7 " -"以上を使えるようにするために,pycord は Python 3.5.3 " -"より古いバージョンに対するサポートを諦めざるを得ませんでした。これはつまり **Python 3.4 に対するサポートは打ち切られた** " -"ということです。" - -#: ../../migrating.rst:25 -msgid "Major Model Changes" -msgstr "主要モデルの変更" - -#: ../../migrating.rst:27 -msgid "Below are major model changes that have happened in v1.0" -msgstr "以下は v1.0 で発生した主要なモデルの変更点です。" - -#: ../../migrating.rst:30 -msgid "Snowflakes are int" -msgstr "Snowflakeのint型への変更" - -#: ../../migrating.rst:32 -msgid "" -"Before v1.0, all snowflakes (the ``id`` attribute) were strings. This has" -" been changed to :class:`int`." -msgstr "" -"v1.0以前は、全てのsnowflake (``id`` 属性) が文字列として扱われていましたが、これは :class:`int` " -"型に変更されました。" - -#: ../../migrating.rst:34 ../../migrating.rst:254 -msgid "Quick example: ::" -msgstr "簡単な例:" - -#: ../../migrating.rst:46 -msgid "" -"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." -msgstr "" -"この変更により,公式クライアントの「 ID をコピー」機能を使用した際に間違いがより起こりにくくなりました。もはや取得した ID " -"をクォーテーションマークで囲う必要はありませんし,内部で JSON の代わりに ETF を用いることで最適化の機会を得ることにもなります。" - -#: ../../migrating.rst:50 -msgid "Server is now Guild" -msgstr "Server から Guild に変更" - -#: ../../migrating.rst:52 -msgid "" -"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." -msgstr "" -"公式のAPIドキュメントでは、「Server」は「Guild」と呼ばれています。APIドキュメントとの一貫性を保つため、モデルの名称が " -":class:`Guild` へ変更されました。同時にこのモデルを参照するすべてのインスタンスも変更されています。" - -#: ../../migrating.rst:56 -msgid "A list of changes is as follows:" -msgstr "変更点の一覧" - -#: ../../migrating.rst:59 ../../migrating.rst:95 ../../migrating.rst:869 -msgid "Before" -msgstr "変更前" - -#: ../../migrating.rst:59 ../../migrating.rst:95 ../../migrating.rst:869 -msgid "After" -msgstr "変更後" - -#: ../../migrating.rst:61 -msgid "``Message.server``" -msgstr "``Message.server``" - -#: ../../migrating.rst:61 -msgid ":attr:`Message.guild`" -msgstr ":attr:`Message.guild`" - -#: ../../migrating.rst:63 -msgid "``Channel.server``" -msgstr "``Channel.server``" - -#: ../../migrating.rst:63 -msgid ":attr:`.GuildChannel.guild`" -msgstr ":attr:`.GuildChannel.guild`" - -#: ../../migrating.rst:65 -msgid "``Client.servers``" -msgstr "``Client.servers``" - -#: ../../migrating.rst:65 ../../migrating.rst:233 -msgid ":attr:`Client.guilds`" -msgstr ":attr:`Client.guilds`" - -#: ../../migrating.rst:67 -msgid "``Client.get_server``" -msgstr "``Client.get_server``" - -#: ../../migrating.rst:67 -msgid ":meth:`Client.get_guild`" -msgstr ":meth:`Client.get_guild`" - -#: ../../migrating.rst:69 -msgid "``Emoji.server``" -msgstr "``Emoji.server``" - -#: ../../migrating.rst:69 -msgid ":attr:`Emoji.guild`" -msgstr ":attr:`Emoji.guild`" - -#: ../../migrating.rst:71 -msgid "``Role.server``" -msgstr "``Role.server``" - -#: ../../migrating.rst:71 -msgid ":attr:`Role.guild`" -msgstr ":attr:`Role.guild`" - -#: ../../migrating.rst:73 -msgid "``Invite.server``" -msgstr "``Invite.server``" - -#: ../../migrating.rst:73 -msgid ":attr:`Invite.guild`" -msgstr ":attr:`Invite.guild`" - -#: ../../migrating.rst:75 -msgid "``Member.server``" -msgstr "``Member.server``" - -#: ../../migrating.rst:75 -msgid ":attr:`Member.guild`" -msgstr ":attr:`Member.guild`" - -#: ../../migrating.rst:77 -msgid "``Permissions.manage_server``" -msgstr "``Permissions.manage_server``" - -#: ../../migrating.rst:77 -msgid ":attr:`Permissions.manage_guild`" -msgstr ":attr:`Permissions.manage_guild`" - -#: ../../migrating.rst:79 -msgid "``VoiceClient.server``" -msgstr "``VoiceClient.server``" - -#: ../../migrating.rst:79 -msgid ":attr:`VoiceClient.guild`" -msgstr ":attr:`VoiceClient.guild`" - -#: ../../migrating.rst:81 -msgid "``Client.create_server``" -msgstr "``Client.create_server``" - -#: ../../migrating.rst:81 -msgid ":meth:`Client.create_guild`" -msgstr ":meth:`Client.create_guild`" - -#: ../../migrating.rst:87 -msgid "Models are Stateful" -msgstr "モデルのステートフル化" - -#: ../../migrating.rst:89 -msgid "" -"As mentioned earlier, a lot of functionality was moved out of " -":class:`Client` and put into their respective :ref:`model " -"`." -msgstr "" -"前述したように、多くの機能が :class:`Client` から各々の :ref:`model ` " -"へと移されました。" - -#: ../../migrating.rst:92 -msgid "A list of these changes is enumerated below." -msgstr "以下が、これによる変更点の一覧です。" - -#: ../../migrating.rst:97 -msgid "``Client.add_reaction``" -msgstr "``Client.add_reaction``" - -#: ../../migrating.rst:97 -msgid ":meth:`Message.add_reaction`" -msgstr ":meth:`Message.add_reaction`" - -#: ../../migrating.rst:99 -msgid "``Client.add_roles``" -msgstr "``Client.add_roles``" - -#: ../../migrating.rst:99 -msgid ":meth:`Member.add_roles`" -msgstr ":meth:`Member.add_roles`" - -#: ../../migrating.rst:101 -msgid "``Client.ban``" -msgstr "``Client.ban``" - -#: ../../migrating.rst:101 -msgid ":meth:`Member.ban` or :meth:`Guild.ban`" -msgstr ":meth:`Member.ban` または :meth:`Guild.ban`" - -#: ../../migrating.rst:103 -msgid "``Client.change_nickname``" -msgstr "``Client.change_nickname``" - -#: ../../migrating.rst:103 ../../migrating.rst:171 ../../migrating.rst:187 -#: ../../migrating.rst:195 -msgid ":meth:`Member.edit`" -msgstr ":meth:`Member.edit`" - -#: ../../migrating.rst:105 -msgid "``Client.clear_reactions``" -msgstr "``Client.clear_reactions``" - -#: ../../migrating.rst:105 -msgid ":meth:`Message.clear_reactions`" -msgstr ":meth:`Message.clear_reactions`" - -#: ../../migrating.rst:107 -msgid "``Client.create_channel``" -msgstr "``Client.create_channel``" - -#: ../../migrating.rst:107 -msgid ":meth:`Guild.create_text_channel` and :meth:`Guild.create_voice_channel`" -msgstr ":meth:`Guild.create_text_channel` および :meth:`Guild.create_voice_channel`" - -#: ../../migrating.rst:109 -msgid "``Client.create_custom_emoji``" -msgstr "``Client.create_custom_emoji``" - -#: ../../migrating.rst:109 -msgid ":meth:`Guild.create_custom_emoji`" -msgstr ":meth:`Guild.create_custom_emoji`" - -#: ../../migrating.rst:111 -msgid "``Client.create_invite``" -msgstr "``Client.create_invite``" - -#: ../../migrating.rst:111 -msgid ":meth:`abc.GuildChannel.create_invite`" -msgstr ":meth:`abc.GuildChannel.create_invite`" - -#: ../../migrating.rst:113 -msgid "``Client.create_role``" -msgstr "``Client.create_role``" - -#: ../../migrating.rst:113 -msgid ":meth:`Guild.create_role`" -msgstr ":meth:`Guild.create_role`" - -#: ../../migrating.rst:115 -msgid "``Client.delete_channel``" -msgstr "``Client.delete_channel``" - -#: ../../migrating.rst:115 -msgid ":meth:`abc.GuildChannel.delete`" -msgstr ":meth:`abc.GuildChannel.delete`" - -#: ../../migrating.rst:117 -msgid "``Client.delete_channel_permissions``" -msgstr "``Client.delete_channel_permissions``" - -#: ../../migrating.rst:117 -msgid "" -":meth:`abc.GuildChannel.set_permissions` with ``overwrite`` set to " -"``None``" -msgstr "" -":meth:`abc.GuildChannel.set_permissions` の ``overwrite`` を ``None`` " -"に設定しました" - -#: ../../migrating.rst:119 -msgid "``Client.delete_custom_emoji``" -msgstr "``Client.delete_custom_emoji``" - -#: ../../migrating.rst:119 -msgid ":meth:`Emoji.delete`" -msgstr ":meth:`Emoji.delete`" - -#: ../../migrating.rst:121 -msgid "``Client.delete_invite``" -msgstr "``Client.delete_invite``" - -#: ../../migrating.rst:121 -msgid ":meth:`Invite.delete` or :meth:`Client.delete_invite`" -msgstr ":meth:`Invite.delete` または :meth:`Client.delete_invite`" - -#: ../../migrating.rst:123 -msgid "``Client.delete_message``" -msgstr "``Client.delete_message``" - -#: ../../migrating.rst:123 -msgid ":meth:`Message.delete`" -msgstr ":meth:`Message.delete`" - -#: ../../migrating.rst:125 -msgid "``Client.delete_messages``" -msgstr "``Client.delete_messages``" - -#: ../../migrating.rst:125 -msgid ":meth:`TextChannel.delete_messages`" -msgstr ":meth:`TextChannel.delete_messages`" - -#: ../../migrating.rst:127 -msgid "``Client.delete_role``" -msgstr "``Client.delete_role``" - -#: ../../migrating.rst:127 -msgid ":meth:`Role.delete`" -msgstr ":meth:`Role.delete`" - -#: ../../migrating.rst:129 -msgid "``Client.delete_server``" -msgstr "``Client.delete_server``" - -#: ../../migrating.rst:129 -msgid ":meth:`Guild.delete`" -msgstr ":meth:`Guild.delete`" - -#: ../../migrating.rst:131 -msgid "``Client.edit_channel``" -msgstr "``Client.edit_channel``" - -#: ../../migrating.rst:131 ../../migrating.rst:169 -msgid ":meth:`TextChannel.edit` or :meth:`VoiceChannel.edit`" -msgstr ":meth:`TextChannel.edit` または :meth:`VoiceChannel.edit`" - -#: ../../migrating.rst:133 -msgid "``Client.edit_channel_permissions``" -msgstr "``Client.edit_channel_permissions``" - -#: ../../migrating.rst:133 -msgid ":meth:`abc.GuildChannel.set_permissions`" -msgstr ":meth:`abc.GuildChannel.set_permissions`" - -#: ../../migrating.rst:135 -msgid "``Client.edit_custom_emoji``" -msgstr "``Client.edit_custom_emoji``" - -#: ../../migrating.rst:135 -msgid ":meth:`Emoji.edit`" -msgstr ":meth:`Emoji.edit`" - -#: ../../migrating.rst:137 -msgid "``Client.edit_message``" -msgstr "``Client.edit_message``" - -#: ../../migrating.rst:137 -msgid ":meth:`Message.edit`" -msgstr ":meth:`Message.edit`" - -#: ../../migrating.rst:139 -msgid "``Client.edit_profile``" -msgstr "``Client.edit_profile``" - -#: ../../migrating.rst:139 -msgid ":meth:`ClientUser.edit` (you get this from :attr:`Client.user`)" -msgstr ":meth:`ClientUser.edit` ( :attr:`Client.user` から取得可能)" - -#: ../../migrating.rst:141 -msgid "``Client.edit_role``" -msgstr "``Client.edit_role``" - -#: ../../migrating.rst:141 ../../migrating.rst:173 -msgid ":meth:`Role.edit`" -msgstr ":meth:`Role.edit`" - -#: ../../migrating.rst:143 -msgid "``Client.edit_server``" -msgstr "``Client.edit_server``" - -#: ../../migrating.rst:143 -msgid ":meth:`Guild.edit`" -msgstr ":meth:`Guild.edit`" - -#: ../../migrating.rst:145 -msgid "``Client.estimate_pruned_members``" -msgstr "``Client.estimate_pruned_members``" - -#: ../../migrating.rst:145 -msgid ":meth:`Guild.estimate_pruned_members`" -msgstr ":meth:`Guild.estimate_pruned_members`" - -#: ../../migrating.rst:147 ../../migrating.rst:327 -msgid "``Client.get_all_emojis``" -msgstr "``Client.get_all_emojis``" - -#: ../../migrating.rst:147 -msgid ":attr:`Client.emojis`" -msgstr ":attr:`Client.emojis`" - -#: ../../migrating.rst:149 -msgid "``Client.get_bans``" -msgstr "``Client.get_bans``" - -#: ../../migrating.rst:149 -msgid ":meth:`Guild.bans`" -msgstr ":meth:`Guild.bans`" - -#: ../../migrating.rst:151 -msgid "``Client.get_invite``" -msgstr "``Client.get_invite``" - -#: ../../migrating.rst:151 -msgid ":meth:`Client.fetch_invite`" -msgstr ":meth:`Client.fetch_invite`" - -#: ../../migrating.rst:153 -msgid "``Client.get_message``" -msgstr "``Client.get_message``" - -#: ../../migrating.rst:153 -msgid ":meth:`abc.Messageable.fetch_message`" -msgstr ":meth:`abc.Messageable.fetch_message`" - -#: ../../migrating.rst:155 -msgid "``Client.get_reaction_users``" -msgstr "``Client.get_reaction_users``" - -#: ../../migrating.rst:155 ../../migrating.rst:493 -msgid ":meth:`Reaction.users`" -msgstr ":meth:`Reaction.users`" - -#: ../../migrating.rst:157 -msgid "``Client.get_user_info``" -msgstr "``Client.get_user_info``" - -#: ../../migrating.rst:157 -msgid ":meth:`Client.fetch_user`" -msgstr ":meth:`Client.fetch_user`" - -#: ../../migrating.rst:159 -msgid "``Client.invites_from``" -msgstr "``Client.invites_from``" - -#: ../../migrating.rst:159 -msgid ":meth:`abc.GuildChannel.invites` or :meth:`Guild.invites`" -msgstr ":meth:`abc.GuildChannel.invites` または :meth:`Guild.invites`" - -#: ../../migrating.rst:161 -msgid "``Client.join_voice_channel``" -msgstr "``Client.join_voice_channel``" - -#: ../../migrating.rst:161 -msgid ":meth:`VoiceChannel.connect` (see :ref:`migrating_1_0_voice`)" -msgstr ":meth:`VoiceChannel.connect` ( :ref:`migrating_1_0_voice` を参照)" - -#: ../../migrating.rst:163 -msgid "``Client.kick``" -msgstr "``Client.kick``" - -#: ../../migrating.rst:163 -msgid ":meth:`Guild.kick` or :meth:`Member.kick`" -msgstr ":meth:`Guild.kick` または :meth:`Member.kick`" - -#: ../../migrating.rst:165 -msgid "``Client.leave_server``" -msgstr "``Client.leave_server``" - -#: ../../migrating.rst:165 -msgid ":meth:`Guild.leave`" -msgstr ":meth:`Guild.leave`" - -#: ../../migrating.rst:167 -msgid "``Client.logs_from``" -msgstr "``Client.logs_from``" - -#: ../../migrating.rst:167 -msgid ":meth:`abc.Messageable.history` (see :ref:`migrating_1_0_async_iter`)" -msgstr ":meth:`abc.Messageable.history` ( :ref:`migrating_1_0_async_iter` を参照)" - -#: ../../migrating.rst:169 -msgid "``Client.move_channel``" -msgstr "``Client.move_channel``" - -#: ../../migrating.rst:171 -msgid "``Client.move_member``" -msgstr "``Client.move_member``" - -#: ../../migrating.rst:173 -msgid "``Client.move_role``" -msgstr "``Client.move_role``" - -#: ../../migrating.rst:175 -msgid "``Client.pin_message``" -msgstr "``Client.pin_message``" - -#: ../../migrating.rst:175 -msgid ":meth:`Message.pin`" -msgstr ":meth:`Message.pin`" - -#: ../../migrating.rst:177 -msgid "``Client.pins_from``" -msgstr "``Client.pins_from``" - -#: ../../migrating.rst:177 -msgid ":meth:`abc.Messageable.pins`" -msgstr ":meth:`abc.Messageable.pins`" - -#: ../../migrating.rst:179 -msgid "``Client.prune_members``" -msgstr "``Client.prune_members``" - -#: ../../migrating.rst:179 -msgid ":meth:`Guild.prune_members`" -msgstr ":meth:`Guild.prune_members`" - -#: ../../migrating.rst:181 -msgid "``Client.purge_from``" -msgstr "``Client.purge_from``" - -#: ../../migrating.rst:181 -msgid ":meth:`TextChannel.purge`" -msgstr ":meth:`TextChannel.purge`" - -#: ../../migrating.rst:183 -msgid "``Client.remove_reaction``" -msgstr "``Client.remove_reaction``" - -#: ../../migrating.rst:183 -msgid ":meth:`Message.remove_reaction`" -msgstr ":meth:`Message.remove_reaction`" - -#: ../../migrating.rst:185 -msgid "``Client.remove_roles``" -msgstr "``Client.remove_roles``" - -#: ../../migrating.rst:185 -msgid ":meth:`Member.remove_roles`" -msgstr ":meth:`Member.remove_roles`" - -#: ../../migrating.rst:187 -msgid "``Client.replace_roles``" -msgstr "``Client.replace_roles``" - -#: ../../migrating.rst:189 -msgid "``Client.send_file``" -msgstr "``Client.send_file``" - -#: ../../migrating.rst:189 ../../migrating.rst:191 -msgid ":meth:`abc.Messageable.send` (see :ref:`migrating_1_0_sending_messages`)" -msgstr ":meth:`abc.Messageable.send` ( :ref:`migrating_1_0_sending_messages` を参照)" - -#: ../../migrating.rst:191 -msgid "``Client.send_message``" -msgstr "``Client.send_message``" - -#: ../../migrating.rst:193 -msgid "``Client.send_typing``" -msgstr "``Client.send_typing``" - -#: ../../migrating.rst:193 -msgid "" -":meth:`abc.Messageable.trigger_typing` (use " -":meth:`abc.Messageable.typing`)" -msgstr "" -":meth:`abc.Messageable.trigger_typing` (:meth:`abc.Messageable.typing` " -"を使用してください)" - -#: ../../migrating.rst:195 -msgid "``Client.server_voice_state``" -msgstr "``Client.server_voice_state``" - -#: ../../migrating.rst:197 -msgid "``Client.start_private_message``" -msgstr "``Client.start_private_message``" - -#: ../../migrating.rst:197 -msgid ":meth:`User.create_dm`" -msgstr ":meth:`User.create_dm`" - -#: ../../migrating.rst:199 -msgid "``Client.unban``" -msgstr "``Client.unban``" - -#: ../../migrating.rst:199 -msgid ":meth:`Guild.unban` or :meth:`Member.unban`" -msgstr ":meth:`Guild.unban` または :meth:`Member.unban`" - -#: ../../migrating.rst:201 -msgid "``Client.unpin_message``" -msgstr "``Client.unpin_message``" - -#: ../../migrating.rst:201 -msgid ":meth:`Message.unpin`" -msgstr ":meth:`Message.unpin`" - -#: ../../migrating.rst:203 -msgid "``Client.wait_for_message``" -msgstr "``Client.wait_for_message``" - -#: ../../migrating.rst:203 ../../migrating.rst:205 -msgid ":meth:`Client.wait_for` (see :ref:`migrating_1_0_wait_for`)" -msgstr ":meth:`Client.wait_for` ( :ref:`migrating_1_0_wait_for` を参照)" - -#: ../../migrating.rst:205 -msgid "``Client.wait_for_reaction``" -msgstr "``Client.wait_for_reaction``" - -#: ../../migrating.rst:207 -msgid "``Client.wait_until_login``" -msgstr "``Client.wait_until_login``" - -#: ../../migrating.rst:207 -msgid "Removed" -msgstr "削除されました" - -#: ../../migrating.rst:209 -msgid "``Client.wait_until_ready``" -msgstr "``Client.wait_until_ready``" - -#: ../../migrating.rst:209 -msgid "No change" -msgstr "変更なし" - -#: ../../migrating.rst:213 -msgid "Property Changes" -msgstr "プロパティの変更" - -#: ../../migrating.rst:215 -msgid "" -"In order to be a bit more consistent, certain things that were properties" -" were changed to methods instead." -msgstr "一貫性を持たせるために、いくつかのプロパティがメソッドに変更されました。" - -#: ../../migrating.rst:217 -msgid "" -"The following are now methods instead of properties (requires " -"parentheses):" -msgstr "プロパティの代わりに追加されたメソッドは以下のとおりです。(使用の際にはカッコが必要です)" - -#: ../../migrating.rst:219 -msgid ":meth:`Role.is_default`" -msgstr ":meth:`Role.is_default`" - -#: ../../migrating.rst:220 -msgid ":meth:`Client.is_ready`" -msgstr ":meth:`Client.is_ready`" - -#: ../../migrating.rst:221 -msgid ":meth:`Client.is_closed`" -msgstr ":meth:`Client.is_closed`" - -#: ../../migrating.rst:224 -msgid "Dict Value Change" -msgstr "辞書の値の変更" - -#: ../../migrating.rst:226 -msgid "" -"Prior to v1.0 some aggregating properties that retrieved models would " -"return \"dict view\" objects." -msgstr "v1.0以前では、複数のモデルを集約して取得するプロパティは「辞書ビュー」オブジェクトで結果を返していました。" - -#: ../../migrating.rst:228 -msgid "" -"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." -msgstr "これは、オブジェクトを用いて繰り返し処理を行っている間に、辞書サイズが変更されたとき、RuntimeErrorを発生させてタスクをクラッシュさせていました。これを軽減させるため「辞書ビュー」オブジェクトはリストに変更されました。" - -#: ../../migrating.rst:231 -msgid "The following views were changed to a list:" -msgstr "以下のビューがリストへ変更されています。" - -#: ../../migrating.rst:234 -msgid ":attr:`Client.users` (new in v1.0)" -msgstr ":attr:`Client.users` (v1.0にて追加)" - -#: ../../migrating.rst:235 -msgid ":attr:`Client.emojis` (new in v1.0)" -msgstr ":attr:`Client.emojis` (v1.0にて追加)" - -#: ../../migrating.rst:236 -msgid ":attr:`Guild.channels`" -msgstr ":attr:`Guild.channels`" - -#: ../../migrating.rst:237 -msgid ":attr:`Guild.text_channels` (new in v1.0)" -msgstr ":attr:`Guild.text_channels` (v1.0にて追加)" - -#: ../../migrating.rst:238 -msgid ":attr:`Guild.voice_channels` (new in v1.0)" -msgstr ":attr:`Guild.voice_channels` (v1.0にて追加)" - -#: ../../migrating.rst:239 -msgid ":attr:`Guild.emojis`" -msgstr ":attr:`Guild.emojis`" - -#: ../../migrating.rst:240 -msgid ":attr:`Guild.members`" -msgstr ":attr:`Guild.members`" - -#: ../../migrating.rst:243 -msgid "Voice State Changes" -msgstr "ボイスステートの変更" - -#: ../../migrating.rst:245 -msgid "" -"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." -msgstr "" -"v0.11.0では、ボイスステートを参照するために :class:`VoiceState` が追加され、このクラスを参照するために " -":attr:`Member.voice` が使われていました。" - -#: ../../migrating.rst:248 -msgid "" -"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." -msgstr "これはユーザーにとって透過的なものでしたが、ライブラリがメモリを節約できるようボイスステートの変化が可視的になりました。" - -#: ../../migrating.rst:251 -msgid "" -"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``." -msgstr "" -"ボイスの属性にアクセスするには :attr:`Member.voice` を用いる方法しか存在しません。メンバーがボイスステートを持たない場合は " -"``None`` が返ることに注意してください。" - -#: ../../migrating.rst:267 -msgid "User and Member Type Split" -msgstr "ユーザーとメンバーの分離" - -#: ../../migrating.rst:269 -msgid "" -"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." -msgstr "" -"v1.0では、メモリの節約のため、 :class:`Member` は :class:`User` のサブクラスではなくなりました。代わりに、 " -":class:`User` " -"に記述されたものと同等のプロパティを実装することで、この二つのクラスはフラット化されています。そのため、使用方法に機能的変更はありません。ただし、" -" :func:`isinstance` が使えなくなってしまったことは留意しておくべきです。" - -#: ../../migrating.rst:273 -msgid "" -"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`." -msgstr "" -"メモリの節約は、グローバルな :class:`User` のキャッシュを持つことで実現しました。これによって " -":meth:`Client.get_user` を使ってIDから簡単に :class:`User` " -"を取得できます。また、あなたのクライアントが見ることができるユーザーを :attr:`Client.users` " -"ですべて取得できるようにもなりました。" - -#: ../../migrating.rst:280 -msgid "Channel Type Split" -msgstr "チャンネルタイプの分割" - -#: ../../migrating.rst:282 -msgid "" -"Prior to v1.0, channels were two different types, ``Channel`` and " -"``PrivateChannel`` with a ``is_private`` property to help differentiate " -"between them." -msgstr "" -"v1.0以前のバージョンでは、チャンネルは ``is_private`` で判別する ``Channel`` と " -"``PrivateChannel`` の二通りしかありませんでした。" - -#: ../../migrating.rst:285 -msgid "" -"In order to save memory the channels have been split into 4 different " -"types:" -msgstr "メモリ使用量を削減するため、チャンネルを4つのタイプへ分割しました。" - -#: ../../migrating.rst:287 -msgid ":class:`TextChannel` for guild text channels." -msgstr "ギルドのテキストチャンネル用である :class:`TextChannel` 。" - -#: ../../migrating.rst:288 -msgid ":class:`VoiceChannel` for guild voice channels." -msgstr "ギルドのボイスチャンネル用である :class:`VoiceChannel` 。" - -#: ../../migrating.rst:289 -msgid ":class:`DMChannel` for DM channels with members." -msgstr "メンバーのDMチャンネル用である :class:`DMChannel` 。" - -#: ../../migrating.rst:290 -msgid ":class:`GroupChannel` for Group DM channels with members." -msgstr "メンバーが参加するグループDMチャンネル用である :class:`GroupChannel` 。" - -#: ../../migrating.rst:292 -msgid "" -"With this split came the removal of the ``is_private`` attribute. You " -"should now use :func:`isinstance`." -msgstr "" -"これらに分割されたことにより、 ``is_private`` は削除されました。v1.0では :func:`isinstance` " -"を使うべきでしょう。" - -#: ../../migrating.rst:294 -msgid "The types are split into two different :ref:`discord_api_abcs`:" -msgstr "型は二通りの :ref:`discord_api_abcs` に分けられます。" - -#: ../../migrating.rst:296 -msgid ":class:`abc.GuildChannel` for guild channels." -msgstr "ギルドのチャンネルを表す :class:`abc.GuildChannel` 。" - -#: ../../migrating.rst:297 -msgid ":class:`abc.PrivateChannel` for private channels (DMs and group DMs)." -msgstr "プライベートチャンネル(DMやグループDM)を表す :class:`abc.PrivateChannel` 。" - -#: ../../migrating.rst:299 -msgid "So to check if something is a guild channel you would do: ::" -msgstr "チャンネルがギルドチャンネルであるかをチェックしたい場合:" - -#: ../../migrating.rst:303 -msgid "And to check if it's a private channel you would do: ::" -msgstr "チャンネルがプライベートチャンネルであるかをチェックしたい場合:" - -#: ../../migrating.rst:307 -msgid "" -"Of course, if you're looking for only a specific type you can pass that " -"too, e.g. ::" -msgstr "もちろん、特定のチャンネルタイプを探したい場合、そのチャンネルタイプを渡すことも可能です。" - -#: ../../migrating.rst:311 -msgid "" -"With this type split also came event changes, which are enumerated in " -":ref:`migrating_1_0_event_changes`." -msgstr "" -"この分割により、イベントにも変更がありました。これについては :ref:`migrating_1_0_event_changes` " -"に詳細があります。" - -#: ../../migrating.rst:315 -msgid "Miscellaneous Model Changes" -msgstr "その他のモデルの変更" - -#: ../../migrating.rst:317 -msgid "There were lots of other things added or removed in the models in general." -msgstr "一般的なモデルには追加、あるいは削除されたものが多くあります。" - -#: ../../migrating.rst:319 -msgid "They will be enumerated here." -msgstr "以下がその一覧です。" - -#: ../../migrating.rst:321 -msgid "**Removed**" -msgstr "**削除**" - -#: ../../migrating.rst:323 -msgid ":meth:`Client.login` no longer accepts email and password logins." -msgstr ":meth:`Client.login` はEメールとパスワードによるログインを受け付けなくなりました。" - -#: ../../migrating.rst:325 -msgid "Use a token and ``bot=False``." -msgstr "トークンと ``bot=False`` を使用してください。" - -#: ../../migrating.rst:329 -msgid "Use :attr:`Client.emojis` instead." -msgstr "代わりに :attr:`Client.emojis` を使用してください。" - -#: ../../migrating.rst:331 -#, fuzzy -msgid "``Client.messages``" -msgstr "` ``Client.messages``" - -#: ../../migrating.rst:333 -msgid "Use read-only :attr:`Client.cached_messages` instead." -msgstr "読み込み専用の :attr:`Client.cached_messages`を代わりに使ってください。" - -#: ../../migrating.rst:335 -msgid "``Client.wait_for_message`` and ``Client.wait_for_reaction`` are gone." -msgstr "``Client.wait_for_message`` および ``Client.wait_for_reaction`` は削除されました。" - -#: ../../migrating.rst:337 -msgid "Use :meth:`Client.wait_for` instead." -msgstr "代わりに :meth:`Client.wait_for` を使用してください。" - -#: ../../migrating.rst:339 -msgid "``Channel.voice_members``" -msgstr "``Channel.voice_members``" - -#: ../../migrating.rst:341 -msgid "Use :attr:`VoiceChannel.members` instead." -msgstr "代わりに :attr:`VoiceChannel.members` を使用してください。" - -#: ../../migrating.rst:343 -msgid "``Channel.is_private``" -msgstr "``Channel.is_private``" - -#: ../../migrating.rst:345 -msgid "" -"Use ``isinstance`` instead with one of the :ref:`discord_api_abcs` " -"instead." -msgstr "代わりに ``isinstance`` と :ref:`discord_api_abcs` を使用してください。" - -#: ../../migrating.rst:346 -msgid "" -"e.g. ``isinstance(channel, discord.abc.GuildChannel)`` will check if it " -"isn't a private channel." -msgstr "" -"例を挙げると ``isinstance(channel, discord.abc.GuildChannel)`` " -"でプライベートチャンネルであるかを確認できます。" - -#: ../../migrating.rst:348 -msgid "``Client.accept_invite``" -msgstr "``Client.accept_invite``" - -#: ../../migrating.rst:350 -msgid "" -"There is no replacement for this one. This functionality is deprecated " -"API wise." -msgstr "これに代わるものはありません。これは非推奨のAPIです。" - -#: ../../migrating.rst:352 -msgid "" -"``Guild.default_channel`` / ``Server.default_channel`` and " -"``Channel.is_default``" -msgstr "" -"``Guild.default_channel`` / ``Server.default_channel`` および " -"``Channel.is_default``" - -#: ../../migrating.rst:354 -msgid "" -"The concept of a default channel was removed from Discord. See `#329 " -"`_." -msgstr "" -"デフォルトチャンネルの概念は、Discordから削除されました。 `#329 " -"`_ " -"を参照してください。" - -#: ../../migrating.rst:357 -msgid "``Message.edited_timestamp``" -msgstr "``Message.edited_timestamp``" - -#: ../../migrating.rst:359 -msgid "Use :attr:`Message.edited_at` instead." -msgstr "代わりに :attr:`Message.edited_at` を使用してください。" - -#: ../../migrating.rst:361 -msgid "``Message.timestamp``" -msgstr "``Message.timestamp``" - -#: ../../migrating.rst:363 -msgid "Use :attr:`Message.created_at` instead." -msgstr "代わりに :attr:`Message.created_at` を使用してください。" - -#: ../../migrating.rst:365 -msgid "``Colour.to_tuple()``" -msgstr "``Colour.to_tuple()``" - -#: ../../migrating.rst:367 -msgid "Use :meth:`Colour.to_rgb` instead." -msgstr "代わりに :meth:`Colour.to_rgb` を使用してください。" - -#: ../../migrating.rst:369 -msgid "``Permissions.view_audit_logs``" -msgstr "``Permissions.view_audit_logs``" - -#: ../../migrating.rst:371 -msgid "Use :attr:`Permissions.view_audit_log` instead." -msgstr "代わりに :attr:`Permissions.view_audit_log` を使用してください。" - -#: ../../migrating.rst:373 -msgid "``Member.game``" -msgstr "``Member.game``" - -#: ../../migrating.rst:375 -msgid "Use :attr:`Member.activities` instead." -msgstr "代わりに :attr:`Member.activities` 使用してください。" - -#: ../../migrating.rst:377 -msgid "``Guild.role_hierarchy`` / ``Server.role_hierarchy``" -msgstr "``Guild.role_hierarchy`` / ``Server.role_hierarchy``" - -#: ../../migrating.rst:379 -msgid "" -"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." -msgstr "" -"代わりに :attr:`Guild.roles` を使用してください。ソート順が以前の ``Guild.role_hierarchy`` " -"とは逆になっていることに注意してください。" - -#: ../../migrating.rst:382 -msgid "**Changed**" -msgstr "**変更**" - -#: ../../migrating.rst:384 -msgid "" -":attr:`Member.avatar_url` and :attr:`User.avatar_url` now return the " -"default avatar if a custom one is not set." -msgstr "" -":attr:`Member.avatar_url` と :attr:`User.avatar_url` " -"はアバターが設定されていなければ、デフォルトアバターが返るようになりました。" - -#: ../../migrating.rst:385 -msgid "" -":attr:`Message.embeds` is now a list of :class:`Embed` instead of " -":class:`dict` objects." -msgstr "" -":attr:`Message.embeds` は :class:`dict` オブジェクトから :class:`Embed` " -"のリストに変更されました。" - -#: ../../migrating.rst:386 -msgid "" -":attr:`Message.attachments` is now a list of :class:`Attachment` instead " -"of :class:`dict` object." -msgstr "" -":attr:`Message.attachments` は :class:`dict` オブジェクトから :class:`Attachment` " -"のリストに変更されました。" - -#: ../../migrating.rst:387 -msgid "" -":attr:`Guild.roles` is now sorted through hierarchy. The first element is" -" always the ``@everyone`` role." -msgstr ":attr:`Guild.roles` はヒエラルキー順にソートされるようになりました。先頭には必ず ``@everyone`` が格納されます。" - -#: ../../migrating.rst:389 -msgid "**Added**" -msgstr "**追加**" - -#: ../../migrating.rst:391 -msgid ":class:`Attachment` to represent a discord attachment." -msgstr "Discordのアタッチメントを表す :class:`Attachment` 。" - -#: ../../migrating.rst:392 -msgid ":class:`CategoryChannel` to represent a channel category." -msgstr "チャンネルのカテゴリを表す :class:`CategoryChannel` 。" - -#: ../../migrating.rst:393 -msgid "" -":attr:`VoiceChannel.members` for fetching members connected to a voice " -"channel." -msgstr "ボイスチャンネルに接続しているメンバーを取得する :attr:`VoiceChannel.members` 。" - -#: ../../migrating.rst:394 -msgid ":attr:`TextChannel.members` for fetching members that can see the channel." -msgstr "テキストチャンネルを閲覧可能なメンバーを取得する :attr:`TextChannel.members` 。" - -#: ../../migrating.rst:395 -msgid ":attr:`Role.members` for fetching members that have the role." -msgstr "役割を持っているメンバーを取得する :attr:`Role.members` 。" - -#: ../../migrating.rst:396 -msgid ":attr:`Guild.text_channels` for fetching text channels only." -msgstr "テキストチャンネルのみを取得する :attr:`Guild.text_channels` 。" - -#: ../../migrating.rst:397 -msgid ":attr:`Guild.voice_channels` for fetching voice channels only." -msgstr "ボイスチャンネルのみを取得する :attr:`Guild.voice_channels` 。" - -#: ../../migrating.rst:398 -msgid ":attr:`Guild.categories` for fetching channel categories only." -msgstr "チャンネルのカテゴリのみを取得する :attr:`Guild.categories` 。" - -#: ../../migrating.rst:399 -msgid "" -":attr:`TextChannel.category` and :attr:`VoiceChannel.category` to get the" -" category a channel belongs to." -msgstr "" -"チャンネルが属するカテゴリを取得する :attr:`TextChannel.category` と " -":attr:`VoiceChannel.category` 。" - -#: ../../migrating.rst:400 -msgid ":meth:`Guild.by_category` to get channels grouped by their category." -msgstr "カテゴリによってグループ化されたチャンネルを取得する :meth:`Guild.by_category` 。" - -#: ../../migrating.rst:401 -msgid ":attr:`Guild.chunked` to check member chunking status." -msgstr "メンバーのチャンク状態を確認する :attr:`Guild.chunked` 。" - -#: ../../migrating.rst:402 -msgid ":attr:`Guild.explicit_content_filter` to fetch the content filter." -msgstr "不適切な表現のフィルターを取得する :attr:`Guild.explicit_content_filter` 。" - -#: ../../migrating.rst:403 -msgid ":attr:`Guild.shard_id` to get a guild's Shard ID if you're sharding." -msgstr "Shardingを使用している場合のみ、ギルドのShard IDを取得する :attr:`Guild.shard_id` 。" - -#: ../../migrating.rst:404 -msgid ":attr:`Client.users` to get all visible :class:`User` instances." -msgstr "Botによってみることができる :class:`User` インスタンスをすべて返す :attr:`Client.users` 。" - -#: ../../migrating.rst:405 -msgid ":meth:`Client.get_user` to get a :class:`User` by ID." -msgstr "IDから :class:`User` を取得する :meth:`Client.get_user` 。" - -#: ../../migrating.rst:406 -msgid ":meth:`User.avatar_url_as` to get an avatar in a specific size or format." -msgstr "特定のサイズ、あるいはフォーマットのアバターを取得する :meth:`User.avatar_url_as` 。" - -#: ../../migrating.rst:407 -msgid ":meth:`Guild.vanity_invite` to fetch the guild's vanity invite." -msgstr "ギルドのカスタム招待URLを取得する :meth:`Guild.vanity_invite` 。" - -#: ../../migrating.rst:408 -msgid ":meth:`Guild.audit_logs` to fetch the guild's audit logs." -msgstr "ギルドのサーバーログを取得する :meth:`Guild.audit_logs` 。" - -#: ../../migrating.rst:409 -msgid ":attr:`Message.webhook_id` to fetch the message's webhook ID." -msgstr "メッセージのWebhook IDを取得する :attr:`Message.webhook_id` 。" - -#: ../../migrating.rst:410 -msgid "" -":attr:`Message.activity` and :attr:`Message.application` for Rich " -"Presence related information." -msgstr "" -"リッチプレゼンスに関する情報を取得する :attr:`Message.activity` および " -":attr:`Message.application` 。" - -#: ../../migrating.rst:411 -msgid ":meth:`TextChannel.is_nsfw` to check if a text channel is NSFW." -msgstr "テキストチャンネルがNSFWであるかを確認する :meth:`TextChannel.is_nsfw` 。" - -#: ../../migrating.rst:412 -msgid ":meth:`Colour.from_rgb` to construct a :class:`Colour` from RGB tuple." -msgstr "RGBのタプルから :class:`Colour` を作成する :meth:`Colour.from_rgb` 。" - -#: ../../migrating.rst:413 -msgid ":meth:`Guild.get_role` to get a role by its ID." -msgstr "IDから役職を取得する :meth:`Guild.get_role` 。" - -#: ../../migrating.rst:418 -msgid "Sending Messages" -msgstr "メッセージの送信" - -#: ../../migrating.rst:420 -msgid "" -"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`." -msgstr "" -"変更点の一つは、以前の ``Client.send_message`` と ``Client.send_file`` の機能を単一のメソッド " -":meth:`~abc.Messageable.send` に統合したことです。" - -#: ../../migrating.rst:423 ../../migrating.rst:1077 -msgid "Basically: ::" -msgstr "基本形" - -#: ../../migrating.rst:431 -msgid "" -"This supports everything that the old ``send_message`` supported such as " -"embeds: ::" -msgstr "これは埋め込みメッセージなどといった、従来の ``send_message`` が持っていた機能を全てサポートしています。" - -#: ../../migrating.rst:436 -msgid "" -"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. ::" -msgstr "" -"これはファイルの送信に対応できるように拡張されましたが、複数のファイルを送信する際には、 :class:`File` " -"の擬似的な名前付きタプルでファイルを渡す必要があります。" - -#: ../../migrating.rst:445 -msgid "This change was to facilitate multiple file uploads: ::" -msgstr "この変更は、複数の添付ファイルの送信を容易にするために行われました。" - -#: ../../migrating.rst:457 -msgid "Asynchronous Iterators" -msgstr "非同期のイテレータ" - -#: ../../migrating.rst:459 -msgid "" -"Prior to v1.0, certain functions like ``Client.logs_from`` would return a" -" different type if done in Python 3.4 or 3.5+." -msgstr "" -"v1.0以前のバージョンは、Python 3.4 または 3.5以上の環境において ``Client.logs_from`` " -"のような特定の関数で、処理終了時に異なった型を返していました。" - -#: ../../migrating.rst:461 -msgid "" -"In v1.0, this change has been reverted and will now return a singular " -"type meeting an abstract concept called :class:`AsyncIterator`." -msgstr "これはv1.0で元に戻り、 :class:`AsyncIterator` という抽象概念を満たす特異な型を返します。" - -#: ../../migrating.rst:464 -msgid "This allows you to iterate over it like normal: ::" -msgstr "これは通常のイテレータと同様の処理が行なえます。" - -#: ../../migrating.rst:469 -msgid "Or turn it into a list: ::" -msgstr "またはリストにできます。" - -#: ../../migrating.rst:475 -msgid "" -"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`: ::" -msgstr "" -":class:`AsyncIterator` を返すことで便利な点は :meth:`AsyncIterator.map` や " -":meth:`AsyncIterator.filter` といった関数をチェーンできることです: ::" - -#: ../../migrating.rst:481 -msgid "" -"The functions passed to :meth:`AsyncIterator.map` or " -":meth:`AsyncIterator.filter` can be either coroutines or regular " -"functions." -msgstr "" -":meth:`AsyncIterator.map` または :meth:`AsyncIterator.filter` " -"に渡される関数はコルーチンか通常の関数です。" - -#: ../../migrating.rst:484 -msgid "" -"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`: ::" -msgstr "" -":meth:`AsyncIterator.get` または :meth:`AsyncIterator.find` を介して " -":func:`discord.utils.get` または :func:`discord.utils.find` " -"で単一の要素を取得することもできます。" - -#: ../../migrating.rst:489 -msgid "The following return :class:`AsyncIterator`:" -msgstr ":class:`AsyncIterator` を返すのは以下のとおりです:" - -#: ../../migrating.rst:491 -msgid ":meth:`abc.Messageable.history`" -msgstr ":meth:`abc.Messageable.history`" - -#: ../../migrating.rst:492 -msgid ":meth:`Guild.audit_logs`" -msgstr ":meth:`Guild.audit_logs`" - -#: ../../migrating.rst:498 ../../migrating.rst:924 -msgid "Event Changes" -msgstr "イベントの変更" - -#: ../../migrating.rst:500 -msgid "A lot of events have gone through some changes." -msgstr "多くのイベントに変更がありました。" - -#: ../../migrating.rst:502 -msgid "" -"Many events with ``server`` in the name were changed to use ``guild`` " -"instead." -msgstr "名前に ``server`` が含まれていたイベントのほとんどが、 ``guild`` を使った名前に変更されました。" - -#: ../../migrating.rst:504 ../../migrating.rst:568 -msgid "Before:" -msgstr "変更前" - -#: ../../migrating.rst:506 -msgid "``on_server_join``" -msgstr "``on_server_join``" - -#: ../../migrating.rst:507 -msgid "``on_server_remove``" -msgstr "``on_server_remove``" - -#: ../../migrating.rst:508 -msgid "``on_server_update``" -msgstr "``on_server_update``" - -#: ../../migrating.rst:509 -msgid "``on_server_role_create``" -msgstr "``on_server_role_create``" - -#: ../../migrating.rst:510 -msgid "``on_server_role_delete``" -msgstr "``on_server_role_delete``" - -#: ../../migrating.rst:511 -msgid "``on_server_role_update``" -msgstr "``on_server_role_update``" - -#: ../../migrating.rst:512 -msgid "``on_server_emojis_update``" -msgstr "``on_server_emojis_update``" - -#: ../../migrating.rst:513 -msgid "``on_server_available``" -msgstr "``on_server_available``" - -#: ../../migrating.rst:514 -msgid "``on_server_unavailable``" -msgstr "``on_server_unavailable``" - -#: ../../migrating.rst:516 ../../migrating.rst:574 -msgid "After:" -msgstr "変更後" - -#: ../../migrating.rst:518 -msgid ":func:`on_guild_join`" -msgstr ":func:`on_guild_join`" - -#: ../../migrating.rst:519 -msgid ":func:`on_guild_remove`" -msgstr ":func:`on_guild_remove`" - -#: ../../migrating.rst:520 -msgid ":func:`on_guild_update`" -msgstr ":func:`on_guild_update`" - -#: ../../migrating.rst:521 -msgid ":func:`on_guild_role_create`" -msgstr ":func:`on_guild_role_create`" - -#: ../../migrating.rst:522 -msgid ":func:`on_guild_role_delete`" -msgstr ":func:`on_guild_role_delete`" - -#: ../../migrating.rst:523 -msgid ":func:`on_guild_role_update`" -msgstr ":func:`on_guild_role_update`" - -#: ../../migrating.rst:524 -msgid ":func:`on_guild_emojis_update`" -msgstr ":func:`on_guild_emojis_update`" - -#: ../../migrating.rst:525 -msgid ":func:`on_guild_available`" -msgstr ":func:`on_guild_available`" - -#: ../../migrating.rst:526 -msgid ":func:`on_guild_unavailable`" -msgstr ":func:`on_guild_unavailable`" - -#: ../../migrating.rst:529 -msgid "The :func:`on_voice_state_update` event has received an argument change." -msgstr ":func:`on_voice_state_update` イベントの引数が変更されました。" - -#: ../../migrating.rst:531 ../../migrating.rst:543 ../../migrating.rst:555 -#: ../../migrating.rst:615 ../../migrating.rst:928 -msgid "Before: ::" -msgstr "更新前" - -#: ../../migrating.rst:535 ../../migrating.rst:547 ../../migrating.rst:559 -#: ../../migrating.rst:627 ../../migrating.rst:934 ../../migrating.rst:1159 -msgid "After: ::" -msgstr "更新後" - -#: ../../migrating.rst:539 -msgid "" -"Instead of two :class:`Member` objects, the new event takes one " -":class:`Member` object and two :class:`VoiceState` objects." -msgstr "" -"新しくなったイベントは、二つの :class:`Member` の代わりに、 一つの :class:`Member` と二つの " -":class:`VoiceState` を受け取るようになりました。" - -#: ../../migrating.rst:541 -msgid "The :func:`on_guild_emojis_update` event has received an argument change." -msgstr ":func:`on_guild_emojis_update` イベントの引数が変更されました。" - -#: ../../migrating.rst:551 -msgid "" -"The first argument is now the :class:`Guild` that the emojis were updated" -" from." -msgstr "最初の引数は絵文字の更新が行われた :class:`Guild` です。" - -#: ../../migrating.rst:553 -msgid "The :func:`on_member_ban` event has received an argument change as well:" -msgstr ":func:`on_member_ban` も引数が変更されました。" - -#: ../../migrating.rst:563 -msgid "" -"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." -msgstr "" -"変更の一つは、イベントが :class:`Member` または :class:`User` のどちらかを受け取れるようになったことです。 " -":class:`User` で受け取る場合には第一引数として :class:`Guild` が渡されます。" - -#: ../../migrating.rst:566 -msgid "" -"The ``on_channel_`` events have received a type level split (see " -":ref:`migrating_1_0_channel_split`)." -msgstr "" -"``on_channel_`` のようなイベントは、チャンネルタイプにより分割されました ( " -":ref:`migrating_1_0_channel_split` を参照)。" - -#: ../../migrating.rst:570 -msgid "``on_channel_delete``" -msgstr "``on_channel_delete``" - -#: ../../migrating.rst:571 -msgid "``on_channel_create``" -msgstr "``on_channel_create``" - -#: ../../migrating.rst:572 -msgid "``on_channel_update``" -msgstr "``on_channel_update``" - -#: ../../migrating.rst:576 -msgid ":func:`on_guild_channel_delete`" -msgstr ":func:`on_guild_channel_delete`" - -#: ../../migrating.rst:577 -msgid ":func:`on_guild_channel_create`" -msgstr ":func:`on_guild_channel_create`" - -#: ../../migrating.rst:578 -msgid ":func:`on_guild_channel_update`" -msgstr ":func:`on_guild_channel_update`" - -#: ../../migrating.rst:579 -msgid ":func:`on_private_channel_delete`" -msgstr ":func:`on_private_channel_delete`" - -#: ../../migrating.rst:580 -msgid ":func:`on_private_channel_create`" -msgstr ":func:`on_private_channel_create`" - -#: ../../migrating.rst:581 -msgid ":func:`on_private_channel_update`" -msgstr ":func:`on_private_channel_update`" - -#: ../../migrating.rst:583 -msgid "" -"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`)." -msgstr "" -"``on_guild_channel_`` イベントは更新される :class:`abc.GuildChannel` " -"(:class:`TextChannel` および :class:`VoiceChannel`)に対応しており、 " -"``on_private_channel_`` イベントは更新される :class:`abc.PrivateChannel` " -"(:class:`DMChannel` および :class:`GroupChannel`)に対応しています。" - -#: ../../migrating.rst:590 -msgid "Voice Changes" -msgstr "ボイスの変更" - -#: ../../migrating.rst:592 -msgid "Voice sending has gone through a complete redesign." -msgstr "ボイスの送信が完全に再構成されました。" - -#: ../../migrating.rst:594 -msgid "In particular:" -msgstr "主な変更点は以下のとおりです。" - -#: ../../migrating.rst:596 -msgid "" -"Connection is done through :meth:`VoiceChannel.connect` instead of " -"``Client.join_voice_channel``." -msgstr "" -"ボイスチャンネルへの接続は ``Client.join_voice_channel`` に代わって " -":meth:`VoiceChannel.connect` になりました。" - -#: ../../migrating.rst:597 -msgid "" -"You no longer create players and operate on them (you no longer store " -"them)." -msgstr "プレイヤーを作成せずに操作が可能になりました。(プレイヤーの保存の必要もありません)" - -#: ../../migrating.rst:598 -msgid "" -"You instead request :class:`VoiceClient` to play an :class:`AudioSource` " -"via :meth:`VoiceClient.play`." -msgstr "" -"代わりに :class:`VoiceClient` の :meth:`VoiceClient.play` を介して " -":class:`AudioSource` の再生を要求します。" - -#: ../../migrating.rst:599 -msgid "There are different built-in :class:`AudioSource`\\s." -msgstr "様々な組み込み :class:`AudioSource` があります。" - -#: ../../migrating.rst:601 -msgid ":class:`FFmpegPCMAudio` is the equivalent of ``create_ffmpeg_player``" -msgstr ":class:`FFmpegPCMAudio` は ``create_ffmpeg_player`` と同等です。" - -#: ../../migrating.rst:603 -msgid "" -"create_ffmpeg_player/create_stream_player/create_ytdl_player have all " -"been removed." -msgstr "create_ffmpeg_player/create_stream_player/create_ytdl_player はすべて削除されました。" - -#: ../../migrating.rst:605 -msgid "The goal is to create :class:`AudioSource` instead." -msgstr "代わりに:class:`AudioSource`を作成してください。" - -#: ../../migrating.rst:607 -msgid "Using :meth:`VoiceClient.play` will not return an ``AudioPlayer``." -msgstr ":meth:`VoiceClient.play` を呼び出しても ``AudioPlayer`` は返ってきません。" - -#: ../../migrating.rst:609 -msgid "Instead, it's \"flattened\" like :class:`User` -> :class:`Member` is." -msgstr "代わりに、:class:`User`と:class:`Member`のように、「フラット化」されています。" - -#: ../../migrating.rst:611 -msgid "The ``after`` parameter now takes a single parameter (the error)." -msgstr "``after``パラメータの関数は、ひとつ引数 (エラー) を取ります。" - -#: ../../migrating.rst:613 -msgid "Basically:" -msgstr "基本的には以下のとおりです:" - -#: ../../migrating.rst:637 -msgid "" -"With the changed :class:`AudioSource` design, you can now change the " -"source that the :class:`VoiceClient` is playing at runtime via " -":attr:`VoiceClient.source`." -msgstr "" -":class:`AudioSource` の再設計により、 :attr:`VoiceClient.source` を介して実行中の " -":class:`VoiceClient` のソースを変更できるようになりました。" - -#: ../../migrating.rst:640 -msgid "" -"For example, you can add a :class:`PCMVolumeTransformer` to allow " -"changing the volume: ::" -msgstr "例えば、 :class:`PCMVolumeTransformer` を追加すると、ボリュームの変更ができるようになります。" - -#: ../../migrating.rst:645 -msgid "" -"An added benefit of the redesign is that it will be much more resilient " -"towards reconnections:" -msgstr "再設計によるさらなる利点は、再接続において遥かに柔軟性を持ったことです。" - -#: ../../migrating.rst:647 -msgid "" -"The voice websocket will now automatically re-connect and re-do the " -"handshake when disconnected." -msgstr "音声ウェブソケットは、切断された際に自動的に再接続し、ハンドシェイクを再実行します。" - -#: ../../migrating.rst:648 -msgid "" -"The initial connect handshake will now retry up to 5 times so you no " -"longer get as many ``asyncio.TimeoutError``." -msgstr "" -"初期接続のハンドシェイクは、最大5回までの再試行となったので、大量の ``asyncio.TimeoutError`` " -"に悩まされることはなくなりました。" - -#: ../../migrating.rst:649 -msgid "Audio will now stop and resume when a disconnect is found." -msgstr "VCの切断を検知すると、オーディオは停止し、再開しようとします。" - -#: ../../migrating.rst:651 -msgid "This includes changing voice regions etc." -msgstr "これはサーバーリージョンの変更も含まれます。" - -#: ../../migrating.rst:657 -msgid "Waiting For Events" -msgstr "イベントの待機" - -#: ../../migrating.rst:659 -msgid "" -"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." -msgstr "" -"v1.0以前のバージョンでは、イベントの発生を待つ方法として ``Client.wait_for_message`` と " -"``Client.wait_for_reaction`` " -"の二つの関数が用意されていました。このアプローチの欠点はライブラリが提供するイベント以外の発生を待つことが出来ない点です。" - -#: ../../migrating.rst:663 -msgid "" -"In v1.0 the concept of waiting for another event has been generalised to " -"work with any event as :meth:`Client.wait_for`." -msgstr "v1.0では別のイベント待機の概念が :meth:`Client.wait_for` イベントのように一般化されました。" - -#: ../../migrating.rst:665 -msgid "For example, to wait for a message: ::" -msgstr "例えば、メッセージを待つ処理は以下のようになります。" - -#: ../../migrating.rst:676 -msgid "" -"To facilitate multiple returns, :meth:`Client.wait_for` returns either a " -"single argument, no arguments, or a tuple of arguments." -msgstr "複数の返り値に対応するため、 :meth:`Client.wait_for` は単一の引数、引数なし、あるいは引数のタプルを返すようになっています。" - -#: ../../migrating.rst:679 -msgid "For example, to wait for a reaction: ::" -msgstr "例えば、リアクションを待つ処理は以下のようになります。" - -#: ../../migrating.rst:685 -msgid "" -"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:" -msgstr "" -"この関数は複数の引数を返すため、 ``timeout`` に設定した時間経過すると、 ``None`` を返すのではなく、 " -":exc:`asyncio.TimeoutError` を発生させるようになりました。以下はその例になります。" - -#: ../../migrating.rst:702 -msgid "Upgraded Dependencies" -msgstr "依存関係のアップグレード" - -#: ../../migrating.rst:704 -msgid "" -"Following v1.0 of the library, we've updated our requirements to " -":doc:`aiohttp ` v2.0 or higher." -msgstr "ライブラリのv1.0への更新に伴い、要件が :doc:`aiohttp ` v2.0以上へと変更されました。" - -#: ../../migrating.rst:706 -msgid "" -"Since this is a backwards incompatible change, it is recommended that you" -" see the `changes " -"`_ " -"and the :doc:`aio:migration_to_2xx` pages for details on the breaking " -"changes in :doc:`aiohttp `." -msgstr "" -"これは後方互換性のない変更となるため、 :doc:`aiohttp ` の変更点の詳細については `changes " -"`_ と" -" :doc:`aio:migration_to_2xx` ページを参照してください。" - -#: ../../migrating.rst:711 -msgid "" -"Of the most significant for common users is the removal of helper " -"functions such as:" -msgstr "ユーザーにとって最も重要な変更点は、以下のヘルパー関数の削除です。" - -#: ../../migrating.rst:713 -msgid "``aiohttp.get``" -msgstr "``aiohttp.get``" - -#: ../../migrating.rst:714 -msgid "``aiohttp.post``" -msgstr "``aiohttp.post``" - -#: ../../migrating.rst:715 -msgid "``aiohttp.delete``" -msgstr "``aiohttp.delete``" - -#: ../../migrating.rst:716 -msgid "``aiohttp.patch``" -msgstr "``aiohttp.patch``" - -#: ../../migrating.rst:717 -msgid "``aiohttp.head``" -msgstr "``aiohttp.head``" - -#: ../../migrating.rst:718 -msgid "``aiohttp.put``" -msgstr "``aiohttp.put``" - -#: ../../migrating.rst:719 -msgid "``aiohttp.request``" -msgstr "``aiohttp.request``" - -#: ../../migrating.rst:721 -msgid "It is recommended that you create a session instead: ::" -msgstr "代わりにセッションを作成することをお勧めします。" - -#: ../../migrating.rst:727 -msgid "" -"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." -msgstr "" -"リクエストごとにセッションを作成するのは良いとは言えないため、変数に格納しておき、破棄しなければならない時に ``session.close`` " -"を呼び出すのが良いでしょう。" - -#: ../../migrating.rst:731 -msgid "Sharding" -msgstr "シャーディング" - -#: ../../migrating.rst:733 -msgid "" -"The library has received significant changes on how it handles sharding " -"and now has sharding as a first-class citizen." -msgstr "シャーディングの扱いに対して大きな変更があり、現在、シャーディングは第一級オブジェクトとして扱われています。" - -#: ../../migrating.rst:735 -msgid "" -"If using a Bot account and you want to shard your bot in a single process" -" then you can use the :class:`AutoShardedClient`." -msgstr "" -"Botアカウントを使用していて、かつ一つのプロセスでBotをシャーディングしたい場合は、 :class:`AutoShardedClient` " -"を使用してください。" - -#: ../../migrating.rst:737 -msgid "" -"This class allows you to use sharding without having to launch multiple " -"processes or deal with complicated IPC." -msgstr "このクラスは複数のプロセスを起動したり、IPCを処理することなくシャーディングが行えます。" - -#: ../../migrating.rst:739 -msgid "" -"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." -msgstr "シャーディングしたクライアントはユーザーアカウントをサポートしないことを覚えておきましょう。これは、接続の形態と状態処理の変更によるものです。" - -#: ../../migrating.rst:742 -msgid "Usage is as simple as doing: ::" -msgstr "使い方は簡単です。" - -#: ../../migrating.rst:746 -msgid "instead of using :class:`Client`." -msgstr ":class:`Client` の代わりに上記のようにしてください。" - -#: ../../migrating.rst:748 -msgid "" -"This will launch as many shards as your bot needs using the " -"``/gateway/bot`` endpoint, which allocates about 1000 guilds per shard." -msgstr "" -"これは ``/gateway/bot`` " -"エンドポイントを使って、あなたのBotに必要な数のシャードを起動します。このエンドポイントはシャードごとに1000ギルドを割り当てます。" - -#: ../../migrating.rst:751 -msgid "" -"If you want more control over the sharding you can specify " -"``shard_count`` and ``shard_ids``. ::" -msgstr "シャードをより詳細に制御したい場合は、 ``shard_count`` と ``shard_ids`` を利用してください。" - -#: ../../migrating.rst:759 -msgid "" -"For users of the command extension, there is also " -":class:`~ext.commands.AutoShardedBot` which behaves similarly." -msgstr "" -"コマンド拡張を利用しているユーザーのために、同様に動作する :class:`~ext.commands.AutoShardedBot` " -"が用意されています。" - -#: ../../migrating.rst:762 -msgid "Connection Improvements" -msgstr "接続の改善" - -#: ../../migrating.rst:764 -msgid "In v1.0, the auto reconnection logic has been powered up significantly." -msgstr "v1.0では、自動再接続機能が大幅に強化されました。" - -#: ../../migrating.rst:766 -msgid "" -":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." -msgstr "" -":meth:`Client.connect` には新しいキーワード引数が追加されました。再接続機能の設定を行う ``reconnect`` " -"はデフォルトで ``True`` " -"に設定されています。有効にすると、クライアントは全インターネットのインスタンスがオフラインになった際や、Discordが指数関数的後退によってオフラインになった際に自動で再接続を試みます。" - -#: ../../migrating.rst:770 -msgid "" -":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." -msgstr "" -":meth:`Client.run` や :meth:`Client.start` " -"にも同様のキーワード引数が追加されていますが、このさい接続機能をオフにする場合以外は指定する必要はありません。" - -#: ../../migrating.rst:776 -msgid "Command Extension Changes" -msgstr "コマンド拡張の変更" - -#: ../../migrating.rst:778 -msgid "" -"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." -msgstr ":ref:`migrating_1_0_model_state` により、拡張モジュールの設計にもいくつかの変更があります。" - -#: ../../migrating.rst:782 -msgid "Context Changes" -msgstr "コンテキストの変更" - -#: ../../migrating.rst:784 -msgid "" -"In v1.0, the :class:`.Context` has received a lot of changes with how " -"it's retrieved and used." -msgstr "v1.0において、 :class:`.Context` は取得と利用の面において、多くの変更があります。" - -#: ../../migrating.rst:786 -msgid "" -"The biggest change is that ``pass_context=True`` no longer exists, " -":class:`.Context` is always passed. Ergo:" -msgstr "" -"最も大きな変更点は ``pass_context=True`` が廃止され、常に :class:`.Context` " -"が渡されるようになったことです。そのため以下のようになります。" - -#: ../../migrating.rst:800 -msgid "" -"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." -msgstr "" -"その理由として、 :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` を参照してください。" - -#: ../../migrating.rst:806 -msgid "" -"Since the :class:`~ext.commands.Context` is now passed by default, " -"several shortcuts have been added:" -msgstr ":class:`~ext.commands.Context`がデフォルトで渡されるので、ショートカットが追加されました:" - -#: ../../migrating.rst:808 -msgid "**New Shortcuts**" -msgstr "**新しいショートカット**" - -#: ../../migrating.rst:810 -msgid "" -":attr:`ctx.author ` is a shortcut for " -"``ctx.message.author``." -msgstr "" -":attr:`ctx.author ` は " -"``ctx.message.author``のショートカットです。" - -#: ../../migrating.rst:811 -msgid "" -":attr:`ctx.guild ` is a shortcut for " -"``ctx.message.guild``." -msgstr "" -":attr:`ctx.guild ` は " -"``ctx.message.guild``のショートカットです。" - -#: ../../migrating.rst:812 -msgid "" -":attr:`ctx.channel ` is a shortcut for " -"``ctx.message.channel``." -msgstr "" -":attr:`ctx.channel ` は " -"``ctx.message.channel``のショートカットです。" - -#: ../../migrating.rst:813 -msgid "" -":attr:`ctx.me ` is a shortcut for " -"``ctx.message.guild.me`` or ``ctx.bot.user``." -msgstr "" -":attr:`ctx.me ` は " -"``ctx.message.guild.me``のショートカットです。" - -#: ../../migrating.rst:814 -msgid "" -":attr:`ctx.voice_client ` is a " -"shortcut for ``ctx.message.guild.voice_client``." -msgstr "" -":attr:`ctx.voice_client ` は " -"``ctx.message.guild.voice_client``のショートカットです。" - -#: ../../migrating.rst:816 -msgid "**New Functionality**" -msgstr "**新しい機能**" - -#: ../../migrating.rst:818 -msgid ":meth:`.Context.reinvoke` to invoke a command again." -msgstr ":meth:`.Context.reinvoke` はコマンドを再度呼び出します。" - -#: ../../migrating.rst:820 -msgid "This is useful for bypassing cooldowns." -msgstr "クールダウンの回避に利用できます。" - -#: ../../migrating.rst:821 -msgid "" -":attr:`.Context.valid` to check if a context can be invoked with " -":meth:`.Bot.invoke`." -msgstr ":attr:`.Context.valid`で、:meth:`.Bot.invoke`で呼びだせるか確認します。" - -#: ../../migrating.rst:822 -msgid "" -":meth:`.Context.send_help` to show the help command for an entity using " -"the new :class:`~.ext.commands.HelpCommand` system." -msgstr ":meth:`.Context.send_help`を使うと、新しい:class:`~.ext.commands.HelpCommand`システムである項目のヘルプを出力できます。" - -#: ../../migrating.rst:824 -msgid "" -"This is useful if you want to show the user help if they misused a " -"command." -msgstr "コマンドの使用法を誤ったときにヘルプを表示させたい場合に便利です。" - -#: ../../migrating.rst:827 -msgid "Subclassing Context" -msgstr "コンテキストのサブクラス" - -#: ../../migrating.rst:829 -msgid "" -"In v1.0, there is now the ability to subclass " -":class:`~ext.commands.Context` and use it instead of the default provided" -" one." -msgstr "" -"v1.0では、 :class:`~ext.commands.Context` " -"を継承したサブクラスを作成し、デフォルトで実装されているものの代わりに使うことが出来ます。" - -#: ../../migrating.rst:832 -msgid "For example, if you want to add some functionality to the context:" -msgstr "例えば、コンテキストに機能の追加を行いたい場合は以下のように実装が出来ます。" - -#: ../../migrating.rst:841 -msgid "" -"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:" -msgstr "" -"また、 :func:`on_message` 内で :meth:`~ext.commands.Bot.get_context` と " -":meth:`~ext.commands.Bot.invoke` を組み合わせることであなたのカスタムコンテキストを使用できます。" - -#: ../../migrating.rst:851 -msgid "Now inside your commands you will have access to your custom context:" -msgstr "これにより、コマンドからあなたのカスタムコンテキストにアクセスすることが可能です。" - -#: ../../migrating.rst:862 -msgid "Removed Helpers" -msgstr "ヘルパー関数の削除" - -#: ../../migrating.rst:864 -msgid "" -"With the new :class:`.Context` changes, a lot of message sending helpers " -"have been removed." -msgstr "新しい :class:`.Context` の変更によって、たくさんのメッセージ送信用のヘルパー関数が削除されました。" - -#: ../../migrating.rst:866 -msgid "For a full list of changes, see below:" -msgstr "以下が削除された関数のリストです。" - -#: ../../migrating.rst:871 -msgid "``Bot.say``" -msgstr "``Bot.say``" - -#: ../../migrating.rst:871 ../../migrating.rst:873 -msgid ":meth:`.Context.send`" -msgstr ":meth:`.Context.send`" - -#: ../../migrating.rst:873 -msgid "``Bot.upload``" -msgstr "``Bot.upload``" - -#: ../../migrating.rst:875 -msgid "``Bot.whisper``" -msgstr "``Bot.whisper``" - -#: ../../migrating.rst:875 -msgid "``ctx.author.send``" -msgstr "``ctx.author.send``" - -#: ../../migrating.rst:877 -msgid "``Bot.type``" -msgstr "``Bot.type``" - -#: ../../migrating.rst:877 -msgid ":meth:`.Context.typing` or :meth:`.Context.trigger_typing`" -msgstr ":meth:`.Context.typing` または :meth:`.Context.trigger_typing`" - -#: ../../migrating.rst:879 -msgid "``Bot.reply``" -msgstr "``Bot.reply``" - -#: ../../migrating.rst:879 -msgid "No replacement." -msgstr "代替となるものはありません。" - -#: ../../migrating.rst:883 -msgid "Command Changes" -msgstr "コマンドの変更" - -#: ../../migrating.rst:885 -msgid "" -"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." -msgstr "前述の通り、 ``pass_context=True`` は削除されたため、これをパラメータとして渡す必要はありません。" - -#: ../../migrating.rst:888 -msgid "" -"Another change is the removal of ``no_pm=True``. Instead, use the new " -":func:`~ext.commands.guild_only` built-in check." -msgstr "" -"他に ``no_pm=True`` も削除されました。代わりに新しい組み込みチェックである " -":func:`~ext.commands.guild_only` を使用してください。" - -#: ../../migrating.rst:891 -msgid "" -"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." -msgstr "" -":class:`~ext.commands.Bot` と :class:`~ext.commands.Group` の ``commands`` " -"属性は辞書からエイリアスを持たないsetに変更されました。以前のような辞書を取得するには ``all_commands`` を使用してください。" - -#: ../../migrating.rst:894 -msgid "Command instances have gained new attributes and properties:" -msgstr "コマンドインスタンスには新たな属性とプロパティが追加されました。" - -#: ../../migrating.rst:896 -msgid "" -":attr:`~ext.commands.Command.signature` to get the signature of the " -"command." -msgstr "コマンドのシグネチャを取得する :attr:`~ext.commands.Command.signature` 。" - -#: ../../migrating.rst:897 -msgid ":attr:`~.Command.usage`, an attribute to override the default signature." -msgstr "デフォルトのシグネチャをオーバーライドする属性 :attr:`~.Command.usage` 。" - -#: ../../migrating.rst:898 -msgid "" -":attr:`~.Command.root_parent` to get the root parent group of a " -"subcommand." -msgstr "サブコマンドのルートである親グループを取得する :attr:`~.Command.root_parent` 。" - -#: ../../migrating.rst:900 -msgid "" -"For :class:`~ext.commands.Group` and :class:`~ext.commands.Bot` the " -"following changed:" -msgstr ":class:`~ext.commands.Group` と :class:`~ext.commands.Bot` は次のように変更されました。" - -#: ../../migrating.rst:902 -msgid "" -"Changed :attr:`~.GroupMixin.commands` to be a :class:`set` without " -"aliases." -msgstr ":attr:`~.GroupMixin.commands` は エイリアスなしの :class:`set` に変更されました。" - -#: ../../migrating.rst:904 -msgid "" -"Use :attr:`~.GroupMixin.all_commands` to get the old :class:`dict` with " -"all commands." -msgstr "" -"すべてのコマンドを従来の :class:`dict` で取得するには :attr:`~.GroupMixin.all_commands` " -"を使用してください。" - -#: ../../migrating.rst:907 -msgid "Check Changes" -msgstr "チェックの変更" - -#: ../../migrating.rst:909 -msgid "" -"Prior to v1.0, :func:`~ext.commands.check`\\s could only be synchronous. " -"As of v1.0 checks can now be coroutines." -msgstr "" -"v1.0以前のバージョンでは :func:`~ext.commands.check` は同期関数でしたが、 " -"v1.0のチェックはコルーチンになりました。" - -#: ../../migrating.rst:911 -msgid "Along with this change, a couple new checks were added." -msgstr "この変更に加え、新たなチェックが二つ追加されました。" - -#: ../../migrating.rst:913 -msgid "" -":func:`~ext.commands.guild_only` replaces the old ``no_pm=True`` " -"functionality." -msgstr "``no_pm=True`` の代わりとなる :func:`~ext.commands.guild_only` 。" - -#: ../../migrating.rst:914 -msgid "" -":func:`~ext.commands.is_owner` uses the :meth:`Client.application_info` " -"endpoint by default to fetch owner ID." -msgstr "" -":func:`~ext.commands.is_owner` は :meth:`Client.application_info` " -"のエンドポイントを使用してオーナーIDを取得します。" - -#: ../../migrating.rst:916 -msgid "" -"This is actually powered by a different function, " -":meth:`~ext.commands.Bot.is_owner`." -msgstr "実際には :meth:`~ext.commands.Bot.is_owner` という別の関数を使用して実行されます。" - -#: ../../migrating.rst:917 -msgid "You can set the owner ID yourself by setting :attr:`.Bot.owner_id`." -msgstr ":attr:`.Bot.owner_id` に値を指定することで自分でオーナーIDの設定ができます。" - -#: ../../migrating.rst:919 -msgid "" -":func:`~ext.commands.is_nsfw` checks if the channel the command is in is " -"a NSFW channel." -msgstr ":func:`~ext.commands.is_nsfw` はコマンドが実行されたチャンネルがNSFWチャンネルかどうかをチェックします。" - -#: ../../migrating.rst:921 -msgid "This is powered by the new :meth:`TextChannel.is_nsfw` method." -msgstr "これは新しく追加された :meth:`TextChannel.is_nsfw` メソッドにより実行されています。" - -#: ../../migrating.rst:926 -msgid "All command extension events have changed." -msgstr "すべてのコマンド拡張のイベントが変更されました。" - -#: ../../migrating.rst:940 -msgid "" -"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." -msgstr "" -":func:`.on_command` と :func:`.on_command_completion` の ``command`` " -"パラメータが削除されました。 :class:`~ext.commands.Command` " -"インスタンスは更新されておらず、正しいものではありませんでした。最新の :class:`~ext.commands.Command` " -"インスタンスを取得するには :attr:`.Context.command` 属性を使用してください。" - -#: ../../migrating.rst:945 -msgid "" -"The error handlers, either :meth:`.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." -msgstr "" -":meth:`.Command.error` や :func:`.on_command_error` " -"のようなエラーハンドラは他のイベント及びコマンドとの一貫性を保つため、最初のパラメータとして " -":class:`~ext.commands.Context` を使用するよう変更されました。" - -#: ../../migrating.rst:950 -msgid "HelpFormatter and Help Command Changes" -msgstr "HelpFormatter および Help Command の変更" - -#: ../../migrating.rst:952 -msgid "" -"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." -msgstr "" -"``HelpFormatter`` クラスは削除され、 :class:`~.commands.HelpCommand` " -"に置き換えられました。このクラスはヘルプコマンドのコマンドハンドリングや処理などといったすべてが格納されています。" - -#: ../../migrating.rst:954 -msgid "" -"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``." -msgstr "" -"ヘルプコマンドは属性である :attr:`.Bot.help_command` に格納されています。追加の機能として、この属性に ``None``" -" を代入するか、 ``help_command=None`` のようにして ``__init__`` " -"にわたすことでヘルプコマンドを完全に無効化できます。" - -#: ../../migrating.rst:956 -msgid "" -"The new interface allows the help command to be customised through " -"special methods that can be overridden." -msgstr "新しいインタフェースでは特殊なメソッドをオーバーライドすることでヘルプコマンドをカスタマイズすることができます。" - -#: ../../migrating.rst:958 -msgid ":meth:`.HelpCommand.send_bot_help`" -msgstr ":meth:`.HelpCommand.send_bot_help`" - -#: ../../migrating.rst:959 -msgid "Called when the user requested for help with the entire bot." -msgstr "ユーザーがBot全体のヘルプを要求した際に呼び出されます。" - -#: ../../migrating.rst:960 -msgid ":meth:`.HelpCommand.send_cog_help`" -msgstr ":meth:`.HelpCommand.send_cog_help`" - -#: ../../migrating.rst:961 -msgid "Called when the user requested for help with a specific cog." -msgstr "ユーザーが特定のコグについてのヘルプを要求した際に呼び出されます。" - -#: ../../migrating.rst:962 -msgid ":meth:`.HelpCommand.send_group_help`" -msgstr ":meth:`.HelpCommand.send_group_help`" - -#: ../../migrating.rst:963 -msgid "Called when the user requested for help with a :class:`~.commands.Group`" -msgstr "ユーザーが :class:`~.commands.Group` についてのヘルプを要求した際に呼び出されます。" - -#: ../../migrating.rst:964 -msgid ":meth:`.HelpCommand.send_command_help`" -msgstr ":meth:`.HelpCommand.send_command_help`" - -#: ../../migrating.rst:965 -msgid "Called when the user requested for help with a :class:`~.commands.Command`" -msgstr "ユーザーが :class:`~.commands.Command` についてのヘルプを要求した際に呼び出されます。" - -#: ../../migrating.rst:966 -msgid ":meth:`.HelpCommand.get_destination`" -msgstr ":meth:`.HelpCommand.get_destination`" - -#: ../../migrating.rst:967 -msgid "" -"Called to know where to send the help messages. Useful for deciding " -"whether to DM or not." -msgstr "ヘルプメッセージの送信先を知るために呼び出されます。DMとして送るかどうかを決める際に役立ちます。" - -#: ../../migrating.rst:968 -msgid ":meth:`.HelpCommand.command_not_found`" -msgstr ":meth:`.HelpCommand.command_not_found`" - -#: ../../migrating.rst:969 -msgid "" -"A function (or coroutine) that returns a presentable no command found " -"string." -msgstr "表示可能なコマンドが見つからなかった旨の文字列を返す関数(またはコルーチン)。" - -#: ../../migrating.rst:970 -msgid ":meth:`.HelpCommand.subcommand_not_found`" -msgstr ":meth:`.HelpCommand.subcommand_not_found`" - -#: ../../migrating.rst:971 -msgid "" -"A function (or coroutine) that returns a string when a subcommand is not " -"found." -msgstr "表示可能なサブコマンドが見つからなかった旨の文字列を返す関数(またはコルーチン)。" - -#: ../../migrating.rst:973 -msgid ":meth:`.HelpCommand.send_error_message`" -msgstr ":meth:`.HelpCommand.send_error_message`" - -#: ../../migrating.rst:973 -msgid "" -"A coroutine that gets passed the result of " -":meth:`.HelpCommand.command_not_found` and " -":meth:`.HelpCommand.subcommand_not_found`." -msgstr "" -":meth:`.HelpCommand.command_not_found` および " -":meth:`.HelpCommand.subcommand_not_found` の結果が渡されるコルーチン。" - -#: ../../migrating.rst:974 -msgid "" -"By default it just sends the message. But you can, for example, override " -"it to put it in an embed." -msgstr "デフォルトではメッセージの送信のみを行いますが、たとえば、そのメッセージを埋め込み化したい場合などにオーバーライドして使うことができます。" - -#: ../../migrating.rst:975 -msgid ":meth:`.HelpCommand.on_help_command_error`" -msgstr ":meth:`.HelpCommand.on_help_command_error`" - -#: ../../migrating.rst:976 -msgid "" -"The :ref:`error handler ` for the help " -"command if you want to add one." -msgstr "ヘルプコマンドの :ref:`エラーハンドラ ` 。追加したい場合のみ使用してください。" - -#: ../../migrating.rst:978 -msgid ":meth:`.HelpCommand.prepare_help_command`" -msgstr ":meth:`.HelpCommand.prepare_help_command`" - -#: ../../migrating.rst:978 -msgid "" -"A coroutine that is called right before the help command processing is " -"done." -msgstr "ヘルプコマンドの処理が行われる前に呼び出されるコルーチン。" - -#: ../../migrating.rst:980 -msgid "Certain subclasses can implement more customisable methods." -msgstr "特定のサブクラスはさらにカスタマイズ可能なメソッドを実装できます。" - -#: ../../migrating.rst:982 -msgid "" -"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." -msgstr "" -"以前の ``HelpFormatter`` はその機能を全て実装した :class:`~.commands.DefaultHelpCommand`" -" に置き換えられました。カスタマイズメソッドは添付のドキュメントで確認することができます。" - -#: ../../migrating.rst:984 -msgid "" -"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." -msgstr "" -"このライブラリは多くのスペースをとらない、より小規模化した :class:`~.commands.HelpCommand` の実装である " -":class:`~.commands.MinimalHelpCommand` " -"を提供します。カスタマイズ可能なメソッドは付随のドキュメントから確認することが可能です。" - -#: ../../migrating.rst:986 -msgid "" -"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." -msgstr "" -"ヘルプコマンドをコグに関連付けることはできないのかという要望が多くありました。この新しい設計では :attr:`.HelpCommand.cog`" -" " -"にバインドすることでコグを動的に変更することが可能です。この割当をおこなった後、ヘルプコマンドはコグの一部として、期待通りの動きをするでしょう。コグがアンロードされると、ヘルプコマンドはコグから「バインド解除」されます。" - -#: ../../migrating.rst:988 -msgid "" -"For example, to implement a :class:`~.commands.HelpCommand` in a cog, the" -" following snippet can be used." -msgstr "例えば、 :class:`~.commands.HelpCommand` をコグに実装するには、次のコードが役立つでしょう。" - -#: ../../migrating.rst:1005 -msgid "" -"For more information, check out the relevant :ref:`documentation " -"`." -msgstr "詳しくは、:ref:`こちらの説明 `をご覧ください。" - -#: ../../migrating.rst:1008 -msgid "Cog Changes" -msgstr "コグの変更" - -#: ../../migrating.rst:1010 -msgid "" -"Cogs have completely been revamped. They are documented in " -":ref:`ext_commands_cogs` as well." -msgstr "コグは完全に刷新されました。これは :ref:`ext_commands_cogs` としてドキュメント化されています。" - -#: ../../migrating.rst:1012 -msgid "" -"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." -msgstr "" -"コグは将来的な校正のためのクラスである :class:`~.commands.Cog` " -"を基底クラスとして持つ必要があります。このクラスには動作のカスタマイズのために、特別なメソッドが用意されています。" - -#: ../../migrating.rst:1014 -msgid ":meth:`.Cog.cog_unload`" -msgstr ":meth:`.Cog.cog_unload`" - -#: ../../migrating.rst:1015 -msgid "" -"This is called when a cog needs to do some cleanup, such as cancelling a " -"task." -msgstr "これはタスクのキャンセルのような、コグに何らかのクリーンアップが必要なときに呼び出されます。" - -#: ../../migrating.rst:1016 -msgid ":meth:`.Cog.bot_check_once`" -msgstr ":meth:`.Cog.bot_check_once`" - -#: ../../migrating.rst:1017 -msgid "This registers a :meth:`.Bot.check_once` check." -msgstr "これは :meth:`.Bot.check_once` チェックを登録します。" - -#: ../../migrating.rst:1018 -msgid ":meth:`.Cog.bot_check`" -msgstr ":meth:`.Cog.bot_check`" - -#: ../../migrating.rst:1019 -msgid "This registers a regular :meth:`.Bot.check` check." -msgstr "これは普通の :meth:`.Bot.check` チェックを登録します。" - -#: ../../migrating.rst:1020 -msgid ":meth:`.Cog.cog_check`" -msgstr ":meth:`.Cog.cog_check`" - -#: ../../migrating.rst:1021 -msgid "This registers a check that applies to every command in the cog." -msgstr "これはコグのすべてのコマンドに適用されるチェックを登録します。" - -#: ../../migrating.rst:1022 -msgid ":meth:`.Cog.cog_command_error`" -msgstr ":meth:`.Cog.cog_command_error`" - -#: ../../migrating.rst:1023 -msgid "" -"This is a special error handler that is called whenever an error happens " -"inside the cog." -msgstr "これは特別なエラーハンドラで、コグ内でエラーが発生するたびに呼び出されます。" - -#: ../../migrating.rst:1025 -msgid ":meth:`.Cog.cog_before_invoke` and :meth:`.Cog.cog_after_invoke`" -msgstr ":meth:`.Cog.cog_before_invoke` と :meth:`.Cog.cog_after_invoke`" - -#: ../../migrating.rst:1025 -msgid "" -"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`." -msgstr "" -"コグの前後に呼び出されるフックを登録する特別なメソッド。詳細は :ref:`migrating_1_0_before_after_hook` " -"に記載されています。" - -#: ../../migrating.rst:1027 -msgid "" -"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." -msgstr "" -"コグ内で ``on_message`` のようなリスナーを使用していた人は、 :meth:`.commands.Cog.listener` " -"デコレータを用いて、リスナーを明示する必要があります。" - -#: ../../migrating.rst:1029 -msgid "" -"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`." -msgstr "それによって、コグはクラス定義の行で指定することによって、独自の名前を持てるようになりました。オプションはこれらを容易にするメタクラス、:class:`.commands.CogMeta`で見つかります。" - -#: ../../migrating.rst:1031 -msgid "" -"An example cog with every special method registered and a custom name is " -"as follows:" -msgstr "すべての特別なメソッドを使用し、そして名前を指定したコグの例が以下のようになります:" - -#: ../../migrating.rst:1068 -msgid "Before and After Invocation Hooks" -msgstr "前後処理のフック" - -#: ../../migrating.rst:1070 -msgid "" -"Commands have gained new before and after invocation hooks that allow you" -" to do an action before and after a command is run." -msgstr "コマンドに、コマンドの実行前および実行後に処理が行えるようにするフックが新たに追加されました。" - -#: ../../migrating.rst:1073 -msgid "" -"They take a single parameter, :class:`~ext.commands.Context` and they " -"must be a coroutine." -msgstr "これは単一のパラメータとして :class:`~ext.commands.Context` を受け取り、かつコルーチンである必要があります。" - -#: ../../migrating.rst:1075 -msgid "They are on a global, per-cog, or per-command basis." -msgstr "また、このフックは全体、コグごと、あるいはコマンドごとに設定することが可能です。" - -#: ../../migrating.rst:1092 -msgid "" -"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." -msgstr "" -"後処理のフックは **コマンドのエラー発生に関わらず** " -"必ず呼び出されます。そのため、データベース接続のようなリソースのクリーンアップやエラー処理に最適です。" - -#: ../../migrating.rst:1095 -msgid "The per-command registration is as follows: ::" -msgstr "コマンドごとに設定する方法は以下のとおりです。" - -#: ../../migrating.rst:1111 -msgid "" -"The special cog method for these is :meth:`.Cog.cog_before_invoke` and " -":meth:`.Cog.cog_after_invoke`, e.g.:" -msgstr "" -"これらのコグ用の特別なメソッドは:meth:`.Cog.cog_before_invoke` と " -":meth:`.Cog.cog_after_invoke`です。例:" - -#: ../../migrating.rst:1126 -msgid "" -"To check if a command failed in the after invocation hook, you can use " -":attr:`.Context.command_failed`." -msgstr ":attr:`.Context.command_failed` を使うことで、後処理でコマンドがエラーになったかを確認する事ができます。" - -#: ../../migrating.rst:1129 -msgid "The invocation order is as follows:" -msgstr "呼び出される順序は以下のとおりです。" - -#: ../../migrating.rst:1131 -msgid "Command local before invocation hook" -msgstr "コマンドごとの前処理。" - -#: ../../migrating.rst:1132 -msgid "Cog local before invocation hook" -msgstr "コグごとの前処理。" - -#: ../../migrating.rst:1133 -msgid "Global before invocation hook" -msgstr "全体での前処理。" - -#: ../../migrating.rst:1134 -msgid "The actual command" -msgstr "実行されたコマンド。" - -#: ../../migrating.rst:1135 -msgid "Command local after invocation hook" -msgstr "コマンドごとの後処理。" - -#: ../../migrating.rst:1136 -msgid "Cog local after invocation hook" -msgstr "コグごとの後処理。" - -#: ../../migrating.rst:1137 -msgid "Global after invocation hook" -msgstr "全体での後処理。" - -#: ../../migrating.rst:1140 -msgid "Converter Changes" -msgstr "コンバーターの変更" - -#: ../../migrating.rst:1142 -msgid "" -"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." -msgstr "v1.0以前では、コンバーターはユーザーにより渡された引数を、文字列の単独引数として呼び出す型ヒントでした。" - -#: ../../migrating.rst:1145 -msgid "" -"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." -msgstr "" - -#: ../../migrating.rst:1149 -msgid "" -"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." -msgstr "" -"v1.0ではこのコンバーターシステムは :class:`~ext.commands.Converter` " -"派生のクラスを用いることができるよう変更されました。一貫性を保つため、 " -":meth:`~ext.commands.Converter.convert` は常にコルーチンとるよう変更され、二つのパラメータを受け取ります。" - -#: ../../migrating.rst:1153 -msgid "Essentially, before: ::" -msgstr "更新前: ::" - -#: ../../migrating.rst:1165 -msgid "The command framework also got a couple new converters:" -msgstr "コマンドフレームワークにも二つのコンバーターが追加されました。" - -#: ../../migrating.rst:1167 -msgid "" -":class:`~ext.commands.clean_content` this is akin to " -":attr:`Message.clean_content` which scrubs mentions." -msgstr "" - -#: ../../migrating.rst:1168 -msgid "" -":class:`~ext.commands.UserConverter` will now appropriately convert " -":class:`User` only." -msgstr ":class:`~ext.commands.UserConverter` は :class:`User` だけを適切に変換します。" - -#: ../../migrating.rst:1169 -msgid "``ChannelConverter`` is now split into two different converters." -msgstr "``ChannelConverter`` は二つのコンバーターに分離されました。" - -#: ../../migrating.rst:1171 -msgid ":class:`~ext.commands.TextChannelConverter` for :class:`TextChannel`." -msgstr ":class:`TextChannel` 用の :class:`~ext.commands.TextChannelConverter` 。" - -#: ../../migrating.rst:1172 -msgid ":class:`~ext.commands.VoiceChannelConverter` for :class:`VoiceChannel`." -msgstr ":class:`VoiceChannel` 用の :class:`~ext.commands.VoiceChannelConverter` 。" - diff --git a/docs/locale/ja/LC_MESSAGES/migrating_to_async.po b/docs/locale/ja/LC_MESSAGES/migrating_to_async.po deleted file mode 100644 index 0f99738980..0000000000 --- a/docs/locale/ja/LC_MESSAGES/migrating_to_async.po +++ /dev/null @@ -1,363 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-22 09:35-0400\n" -"PO-Revision-Date: 2020-10-24 02:41\n" -"Last-Translator: \n" -"Language-Team: Japanese\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: discordpy\n" -"X-Crowdin-Project-ID: 362783\n" -"X-Crowdin-Language: ja\n" -"X-Crowdin-File: migrating_to_async.pot\n" -"X-Crowdin-File-ID: 48\n" -"Language: ja_JP\n" - -#: ../../migrating_to_async.rst:8 -msgid "Migrating to v0.10.0" -msgstr "v0.10.0への移行" - -#: ../../migrating_to_async.rst:10 -msgid "v0.10.0 is one of the biggest breaking changes in the library due to massive fundamental changes in how the library operates." -msgstr "v0.10.0は、ライブラリの根本的動作が大幅に変更された、ライブラリの中でも大きな更新の一つです。" - -#: ../../migrating_to_async.rst:13 -msgid "The biggest major change is that the library has dropped support to all versions prior to Python 3.4.2. This was made to support :mod:`asyncio`, in which more detail can be seen :issue:`in the corresponding issue <50>`. To reiterate this, the implication is that **python version 2.7 and 3.3 are no longer supported**." -msgstr "最大の大きな変更点はPython 3.4.2以前のすべてのバージョンのサポートが打ち切られたことです。これは :mod:`asyncio` をサポートするためで、対応する :issue:`in the corresponding issue <50>` で詳細が見られます。繰り返しになりますが、 **Python 2.7及びPython3.3は、既にサポートされていません** 。" - -#: ../../migrating_to_async.rst:18 -msgid "Below are all the other major changes from v0.9.0 to v0.10.0." -msgstr "以下は、v0.9.0からv0.10.0までのその他の主要な変更点です。" - -#: ../../migrating_to_async.rst:21 -msgid "Event Registration" -msgstr "イベント登録" - -#: ../../migrating_to_async.rst:23 -msgid "All events before were registered using :meth:`Client.event`. While this is still possible, the events must be decorated with ``@asyncio.coroutine``." -msgstr "以前まではすべてのイベントが :meth:`Client.event` を使用して登録されていました。このやり方はまだ可能ですが、 ``@asyncio.coroutine`` で修飾が必要です。" - -#: ../../migrating_to_async.rst:26 -#: ../../migrating_to_async.rst:71 -#: ../../migrating_to_async.rst:105 -#: ../../migrating_to_async.rst:166 -msgid "Before:" -msgstr "更新前:" - -#: ../../migrating_to_async.rst:34 -#: ../../migrating_to_async.rst:83 -#: ../../migrating_to_async.rst:111 -#: ../../migrating_to_async.rst:174 -#: ../../migrating_to_async.rst:284 -msgid "After:" -msgstr "更新後:" - -#: ../../migrating_to_async.rst:43 -msgid "Or in Python 3.5+:" -msgstr "Python 3.5以降の場合:" - -#: ../../migrating_to_async.rst:51 -msgid "Because there is a lot of typing, a utility decorator (:meth:`Client.async_event`) is provided for easier registration. For example:" -msgstr "多くの型付けがあるため、登録を簡単にするためにユーティリティデコレータ (:meth:`Client.async_event`) が用意されています。例:" - -#: ../../migrating_to_async.rst:61 -msgid "Be aware however, that this is still a coroutine and your other functions that are coroutines must be decorated with ``@asyncio.coroutine`` or be ``async def``." -msgstr "しかし、これはまだコルーチンであり、コルーチンである関数には ``@asyncio.coroutine`` あるいは ``async def`` での修飾が必要であることに注意してください。" - -#: ../../migrating_to_async.rst:65 -msgid "Event Changes" -msgstr "イベントの変更" - -#: ../../migrating_to_async.rst:67 -msgid "Some events in v0.9.0 were considered pretty useless due to having no separate states. The main events that were changed were the ``_update`` events since previously they had no context on what was changed." -msgstr "v0.9.0でいくつかのイベントは、別の状態を持たないために、役に立たないと考えられていました。変更された主なイベントは、更新前と更新後の二つの状態を持つ ``_update`` イベントです。" - -#: ../../migrating_to_async.rst:93 -msgid "Note that ``on_status`` was removed. If you want its functionality, use :func:`on_member_update`. See :ref:`discord-api-events` for more information. Other removed events include ``on_socket_closed``, ``on_socket_receive``, and ``on_socket_opened``." -msgstr "``on_status`` が削除されていることに注意してください。似たような機能が使いたい場合は、 :func:`on_member_update` を使用します。詳細は :ref:`discord-api-events` を参照してください。他に、 ``on_socket_closed`` 、 ``on_socket_receive`` や ``on_socket_opened`` も削除されています。" - -#: ../../migrating_to_async.rst:98 -msgid "Coroutines" -msgstr "コルーチン" - -#: ../../migrating_to_async.rst:100 -msgid "The biggest change that the library went through is that almost every function in :class:`Client` was changed to be a `coroutine `_. Functions that are marked as a coroutine in the documentation must be awaited from or yielded from in order for the computation to be done. For example..." -msgstr "ライブラリの最大の変更点は :class:`Client` を使用していたほとんどの関数が `コルーチン `_ へと変更されたことです。ドキュメントのコルーチンとして定義された関数は、処理の終了を待機します。例えば、" - -#: ../../migrating_to_async.rst:120 -msgid "In order for you to ``yield from`` or ``await`` a coroutine then your function must be decorated with ``@asyncio.coroutine`` or ``async def``." -msgstr "``yield from`` あるいは ``await`` を使用するには、関数が ``@asyncio.coroutine`` または ``async def`` で修飾されている必要があります。" - -#: ../../migrating_to_async.rst:124 -msgid "Iterables" -msgstr "イテラブル" - -#: ../../migrating_to_async.rst:126 -msgid "For performance reasons, many of the internal data structures were changed into a dictionary to support faster lookup. As a consequence, this meant that some lists that were exposed via the API have changed into iterables and not sequences. In short, this means that certain attributes now only support iteration and not any of the sequence functions." -msgstr "パフォーマンス上の理由から、より高速な情報の取得を可能とするため、多くの内部データ構造が辞書に変更されました。結果として、これはAPIを介して公開された一部リストが、シーケンスではなくイテラブルに変更されたことを意味します。つまるところ、現在、特定の属性はイテラブルのみをサポートしており、シーケンスを扱うことができないことを意味しています。" - -#: ../../migrating_to_async.rst:131 -msgid "The affected attributes are as follows:" -msgstr "影響を受ける属性は以下のとおりです。" - -#: ../../migrating_to_async.rst:133 -msgid ":attr:`Client.servers`" -msgstr ":attr:`Client.servers`" - -#: ../../migrating_to_async.rst:134 -msgid ":attr:`Client.private_channels`" -msgstr ":attr:`Client.private_channels`" - -#: ../../migrating_to_async.rst:135 -msgid ":attr:`Server.channels`" -msgstr ":attr:`Server.channels`" - -#: ../../migrating_to_async.rst:136 -msgid ":attr:`Server.members`" -msgstr ":attr:`Server.members`" - -#: ../../migrating_to_async.rst:138 -msgid "Some examples of previously valid behaviour that is now invalid" -msgstr "以前は有効であったが、現在は無効である操作の例。" - -#: ../../migrating_to_async.rst:145 -msgid "Since they are no longer :obj:`list`\\s, they no longer support indexing or any operation other than iterating. In order to get the old behaviour you should explicitly cast it to a list." -msgstr "これらは、既に :obj:`list` ではないため、インデックスや反復処理以外の操作はサポートされなくなりました。以前の動作で処理を行うには、listに明示的にキャストする必要があります。" - -#: ../../migrating_to_async.rst:155 -msgid "Due to internal changes of the structure, the order you receive the data in is not in a guaranteed order." -msgstr "構造の内部的な変更のため、データを受け取った順序は保証されません。" - -#: ../../migrating_to_async.rst:159 -msgid "Enumerations" -msgstr "列挙型" - -#: ../../migrating_to_async.rst:161 -msgid "Due to dropping support for versions lower than Python 3.4.2, the library can now use :doc:`py:library/enum` in places where it makes sense." -msgstr "Python 3.4.2以前のバージョンのサポートを打ち切ったため、ライブラリは理にかなった場所での :doc:`py:library/enum` の使用が可能になりました。" - -#: ../../migrating_to_async.rst:164 -msgid "The common places where this was changed was in the server region, member status, and channel type." -msgstr "変更された主な場所は、サーバーリージョン、メンバーのステータス、およびチャンネルタイプです。" - -#: ../../migrating_to_async.rst:182 -msgid "The main reason for this change was to reduce the use of finicky strings in the API as this could give users a false sense of power. More information can be found in the :ref:`discord-api-enums` page." -msgstr "この変更の主な理由は、APIでの厄介な文字列の使用を削減することでした。ユーザーに誤った感覚を与える可能性があったためです。詳細は :ref:`discord-api-enums` を参照してください。" - -#: ../../migrating_to_async.rst:186 -msgid "Properties" -msgstr "プロパティ" - -#: ../../migrating_to_async.rst:188 -msgid "A lot of function calls that returned constant values were changed into Python properties for ease of use in format strings." -msgstr "定数値を返す関数呼び出しの多くは、書式化した文字列での使いやすさ向上を図るため、Pythonのプロパティに変更されました。" - -#: ../../migrating_to_async.rst:191 -msgid "The following functions were changed into properties:" -msgstr "以下はプロパティに変更された関数です。" - -#: ../../migrating_to_async.rst:194 -#: ../../migrating_to_async.rst:223 -#: ../../migrating_to_async.rst:238 -msgid "Before" -msgstr "変更前" - -#: ../../migrating_to_async.rst:194 -#: ../../migrating_to_async.rst:223 -#: ../../migrating_to_async.rst:238 -msgid "After" -msgstr "変更後" - -#: ../../migrating_to_async.rst:196 -msgid "``User.avatar_url()``" -msgstr "``User.avatar_url()``" - -#: ../../migrating_to_async.rst:196 -msgid ":attr:`User.avatar_url`" -msgstr ":attr:`User.avatar_url`" - -#: ../../migrating_to_async.rst:198 -msgid "``User.mention()``" -msgstr "``User.mention()``" - -#: ../../migrating_to_async.rst:198 -msgid ":attr:`User.mention`" -msgstr ":attr:`User.mention`" - -#: ../../migrating_to_async.rst:200 -msgid "``Channel.mention()``" -msgstr "``Channel.mention()``" - -#: ../../migrating_to_async.rst:200 -msgid ":attr:`Channel.mention`" -msgstr ":attr:`Channel.mention`" - -#: ../../migrating_to_async.rst:202 -msgid "``Channel.is_default_channel()``" -msgstr "``Channel.is_default_channel()``" - -#: ../../migrating_to_async.rst:202 -msgid ":attr:`Channel.is_default`" -msgstr ":attr:`Channel.is_default`" - -#: ../../migrating_to_async.rst:204 -msgid "``Role.is_everyone()``" -msgstr "``Role.is_everyone()``" - -#: ../../migrating_to_async.rst:204 -msgid ":attr:`Role.is_everyone`" -msgstr ":attr:`Role.is_everyone`" - -#: ../../migrating_to_async.rst:206 -msgid "``Server.get_default_role()``" -msgstr "``Server.get_default_role()``" - -#: ../../migrating_to_async.rst:206 -msgid ":attr:`Server.default_role`" -msgstr ":attr:`Server.default_role`" - -#: ../../migrating_to_async.rst:208 -msgid "``Server.icon_url()``" -msgstr "``Server.icon_url()``" - -#: ../../migrating_to_async.rst:208 -msgid ":attr:`Server.icon_url`" -msgstr ":attr:`Server.icon_url`" - -#: ../../migrating_to_async.rst:210 -msgid "``Server.get_default_channel()``" -msgstr "``Server.get_default_channel()``" - -#: ../../migrating_to_async.rst:210 -msgid ":attr:`Server.default_channel`" -msgstr ":attr:`Server.default_channel`" - -#: ../../migrating_to_async.rst:212 -msgid "``Message.get_raw_mentions()``" -msgstr "``Message.get_raw_mentions()``" - -#: ../../migrating_to_async.rst:212 -msgid ":attr:`Message.raw_mentions`" -msgstr ":attr:`Message.raw_mentions`" - -#: ../../migrating_to_async.rst:214 -msgid "``Message.get_raw_channel_mentions()``" -msgstr "``Message.get_raw_channel_mentions()``" - -#: ../../migrating_to_async.rst:214 -msgid ":attr:`Message.raw_channel_mentions`" -msgstr ":attr:`Message.raw_channel_mentions`" - -#: ../../migrating_to_async.rst:218 -msgid "Member Management" -msgstr "メンバー管理" - -#: ../../migrating_to_async.rst:220 -msgid "Functions that involved banning and kicking were changed." -msgstr "BANやキックを含む関数が追加されました。" - -#: ../../migrating_to_async.rst:225 -msgid "``Client.ban(server, user)``" -msgstr "``Client.ban(server, user)``" - -#: ../../migrating_to_async.rst:225 -msgid "``Client.ban(member)``" -msgstr "``Client.ban(member)``" - -#: ../../migrating_to_async.rst:227 -msgid "``Client.kick(server, user)``" -msgstr "``Client.kick(server, user)``" - -#: ../../migrating_to_async.rst:227 -msgid "``Client.kick(member)``" -msgstr "``Client.kick(member)``" - -#: ../../migrating_to_async.rst:233 -msgid "Renamed Functions" -msgstr "関数の改名" - -#: ../../migrating_to_async.rst:235 -msgid "Functions have been renamed." -msgstr "いくつかの関数名が変更されました。" - -#: ../../migrating_to_async.rst:240 -msgid "``Client.set_channel_permissions``" -msgstr "``Client.set_channel_permissions``" - -#: ../../migrating_to_async.rst:240 -#: ../../migrating_to_async.rst:263 -msgid ":meth:`Client.edit_channel_permissions`" -msgstr ":meth:`Client.edit_channel_permissions`" - -#: ../../migrating_to_async.rst:243 -msgid "All the :class:`Permissions` related attributes have been renamed and the `can_` prefix has been dropped. So for example, ``can_manage_messages`` has become ``manage_messages``." -msgstr "すべての :class:`Permissions` 関連の属性の名称が変更され、 接頭詞であった `can_` が削除されました。例を挙げると ``can_manage_messages`` が ``manage_messages`` になりました。" - -#: ../../migrating_to_async.rst:247 -msgid "Forced Keyword Arguments" -msgstr "強制キーワード引数" - -#: ../../migrating_to_async.rst:249 -msgid "Since 3.0+ of Python, we can now force questions to take in forced keyword arguments. A keyword argument is when you explicitly specify the name of the variable and assign to it, for example: ``foo(name='test')``. Due to this support, some functions in the library were changed to force things to take said keyword arguments. This is to reduce errors of knowing the argument order and the issues that could arise from them." -msgstr "Python 3.0以降では、強制的にキーワード引数をとるようにすることができるようになりました。キーワード引数は、変数の名前を明示的に指定してそれに割り当てることで、例えば ``foo(name='test')`` などです。このサポートにより、ライブラリ内のいくつかの関数が変更され、キーワード引数を取るようになりました。これは引数の順序が誤っていることが原因で発生するエラーを減らすためです。" - -#: ../../migrating_to_async.rst:254 -msgid "The following parameters are now exclusively keyword arguments:" -msgstr "次のパラメータは、現在、排他的なキーワード引数です。" - -#: ../../migrating_to_async.rst:256 -msgid ":meth:`Client.send_message`" -msgstr ":meth:`Client.send_message`" - -#: ../../migrating_to_async.rst:257 -msgid "``tts``" -msgstr "``tts``" - -#: ../../migrating_to_async.rst:259 -msgid ":meth:`Client.logs_from`" -msgstr ":meth:`Client.logs_from`" - -#: ../../migrating_to_async.rst:259 -msgid "``before``" -msgstr "``before``" - -#: ../../migrating_to_async.rst:260 -msgid "``after``" -msgstr "``after``" - -#: ../../migrating_to_async.rst:262 -msgid "``allow``" -msgstr "``allow``" - -#: ../../migrating_to_async.rst:263 -msgid "``deny``" -msgstr "``deny``" - -#: ../../migrating_to_async.rst:265 -msgid "In the documentation you can tell if a function parameter is a forced keyword argument if it is after ``\\*,`` in the function signature." -msgstr "ドキュメントでは、関数シグネチャ内の ``\\*,`` の後に引数があるかどうかで、関数の引数が強制的なキーワード引数であるかを知ることができます。" - -#: ../../migrating_to_async.rst:271 -msgid "Running the Client" -msgstr "クライアントの実行" - -#: ../../migrating_to_async.rst:273 -msgid "In earlier versions of pycord, ``client.run()`` was a blocking call to the main thread that called it. In v0.10.0 it is still a blocking call but it handles the event loop for you. However, in order to do that you must pass in your credentials to :meth:`Client.run`." -msgstr "以前のバージョンのpycordでは ``client.run()`` は呼び出したメインスレッドをブロッキングするブロック付き呼び出しでした。v0.10.0でも未だブロック付き呼び出しですが、イベントループで処理を行います。ただし、それを行うためには認証情報を :meth:`Client.run` に渡す必要があります。" - -#: ../../migrating_to_async.rst:277 -msgid "Basically, before:" -msgstr "以前:" - -#: ../../migrating_to_async.rst:292 -msgid "Like in the older ``Client.run`` function, the newer one must be the one of the last functions to call. This is because the function is **blocking**. Registering events or doing anything after :meth:`Client.run` will not execute until the function returns." -msgstr "以前の ``Client.run`` 同様、新しくなった関数も最後に呼び出す必要があります。これは関数がブロッキングを行うためです。 :meth:`Client.run` の後に何かを定義しても、この関数が終了するまで、それらの処理は行われません。" - -#: ../../migrating_to_async.rst:297 -msgid "This is a utility function that abstracts the event loop for you. There's no need for the run call to be blocking and out of your control. Indeed, if you want control of the event loop then doing so is quite straightforward:" -msgstr "これはイベントループを抽象化するユーティリティ関数です。 実行呼び出しがブロックされ、コントロールから外れる必要はありません。実際に、イベントループを制御したい場合、この方法では非常に簡単です。" - diff --git a/docs/locale/ja/LC_MESSAGES/quickstart.po b/docs/locale/ja/LC_MESSAGES/quickstart.po deleted file mode 100644 index fe5e2ddaba..0000000000 --- a/docs/locale/ja/LC_MESSAGES/quickstart.po +++ /dev/null @@ -1,91 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-22 09:35-0400\n" -"PO-Revision-Date: 2020-10-24 02:41\n" -"Last-Translator: \n" -"Language-Team: Japanese\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: discordpy\n" -"X-Crowdin-Project-ID: 362783\n" -"X-Crowdin-Language: ja\n" -"X-Crowdin-File: quickstart.pot\n" -"X-Crowdin-File-ID: 50\n" -"Language: ja_JP\n" - -#: ../../quickstart.rst:6 -msgid "Quickstart" -msgstr "クイックスタート" - -#: ../../quickstart.rst:8 -msgid "This page gives a brief introduction to the library. It assumes you have the library installed, if you don't check the :ref:`installing` portion." -msgstr "ここでは、ライブラリの概要を説明します。ライブラリがインストールされていることを前提としているので、インストールを終えていない人は :ref:`installing` を参照してください。" - -#: ../../quickstart.rst:12 -msgid "A Minimal Bot" -msgstr "最小限のBot" - -#: ../../quickstart.rst:14 -msgid "Let's make a bot that replies to a specific message and walk you through it." -msgstr "では早速、特定のメッセージに対して、返事をするBotを作ってみましょう。" - -#: ../../quickstart.rst:16 -msgid "It looks something like this:" -msgstr "結論から書くと、このように書くことができます。" - -#: ../../quickstart.rst:38 -msgid "Let's name this file ``example_bot.py``. Make sure not to name it ``pycord`` as that'll conflict with the library." -msgstr "ファイルの名前を ``example_bot.py`` としましょう。ライブラリと競合してしまうので、 ``pycord`` というファイル名にはしないでください。" - -#: ../../quickstart.rst:41 -msgid "There's a lot going on here, so let's walk you through it step by step." -msgstr "さて、では順を追って一つづつ説明していきます。" - -#: ../../quickstart.rst:43 -msgid "The first line just imports the library, if this raises a `ModuleNotFoundError` or `ImportError` then head on over to :ref:`installing` section to properly install." -msgstr "最初の行は、ただライブラリをインポートしただけです。 `ModuleNotFoundError` や `ImportError` が発生した場合は :ref:`installing` を見て、ライブラリをきちんとインストールしましょう。" - -#: ../../quickstart.rst:45 -msgid "Next, we create an instance of a :class:`Client`. This client is our connection to Discord." -msgstr "次に、 :class:`Client` のインスタンスを作成します。クライアントはDiscordへの接続を行います。" - -#: ../../quickstart.rst:46 -msgid "We then use the :meth:`Client.event` decorator to register an event. This library has many events. Since this library is asynchronous, we do things in a \"callback\" style manner." -msgstr "続いて、 :meth:`Client.event` デコレータを使用してイベントを登録します。ライブラリにはたくさんのイベントが用意されています。このライブラリは非同期のため、「コールバック」のスタイルで処理を行います。" - -#: ../../quickstart.rst:49 -msgid "A callback is essentially a function that is called when something happens. In our case, the :func:`on_ready` event is called when the bot has finished logging in and setting things up and the :func:`on_message` event is called when the bot has received a message." -msgstr "コールバックは基本的に、何かが発生した場合に呼び出される関数です。今回の場合だと、Botがログインして、設定などを終えたときに :func:`on_ready` が、メッセージを受信したときに :func:`on_message` が呼び出されます。" - -#: ../../quickstart.rst:52 -msgid "Since the :func:`on_message` event triggers for *every* message received, we have to make sure that we ignore messages from ourselves. We do this by checking if the :attr:`Message.author` is the same as the :attr:`Client.user`." -msgstr ":func:`on_message` イベントは受信したメッセージすべてに対して呼び出されるため、Bot自身からのメッセージは無視するように設定する必要があります。これは、メッセージの送信者である :attr:`Message.author` と、Bot自身を表す :attr:`Client.user` が等しいか比較することで実装できます。" - -#: ../../quickstart.rst:55 -msgid "Afterwards, we check if the :class:`Message.content` starts with ``'$hello'``. If it is, then we reply in the channel it was used in with ``'Hello!'``." -msgstr "その後、 :class:`Message.content` が ``'$hello'`` から始まるかどうかを確認し、当てはまればそのチャンネルに ``'Hello!'`` という返事を送信します。" - -#: ../../quickstart.rst:57 -msgid "Finally, we run the bot with our login token. If you need help getting your token or creating a bot, look in the :ref:`discord-intro` section." -msgstr "最後に、ログイン用トークンを用いてBotを起動します。トークンの取得やBotの作成について分からないことがあれば、 :ref:`discord-intro` を参照してください。" - -#: ../../quickstart.rst:61 -msgid "Now that we've made a bot, we have to *run* the bot. Luckily, this is simple since this is just a Python script, we can run it directly." -msgstr "さて、これでBotは完成なので、Botを *実行* してみましょう。幸いにも、これはただのPythonスクリプトなので実行は簡単です。直接実行が可能です。" - -#: ../../quickstart.rst:64 -msgid "On Windows:" -msgstr "Windowsの場合:" - -#: ../../quickstart.rst:70 -msgid "On other systems:" -msgstr "その他のシステムの場合:" - -#: ../../quickstart.rst:76 -msgid "Now you can try playing around with your basic bot." -msgstr "これで、あなたが作ったBotと遊ぶことができます。" - diff --git a/docs/locale/ja/LC_MESSAGES/sphinx.po b/docs/locale/ja/LC_MESSAGES/sphinx.po deleted file mode 100644 index cdf43dd4be..0000000000 --- a/docs/locale/ja/LC_MESSAGES/sphinx.po +++ /dev/null @@ -1,23 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-22 09:35-0400\n" -"PO-Revision-Date: 2020-10-24 02:41\n" -"Last-Translator: \n" -"Language-Team: Japanese\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: discordpy\n" -"X-Crowdin-Project-ID: 362783\n" -"X-Crowdin-Language: ja\n" -"X-Crowdin-File: sphinx.pot\n" -"X-Crowdin-File-ID: 70\n" -"Language: ja_JP\n" - -#: ../../_templates/layout.html:24 -msgid "Created using Sphinx %(sphinx_version)s." -msgstr "Sphinx %(sphinx_version)s で作成されました。" - diff --git a/docs/locale/ja/LC_MESSAGES/version_guarantees.po b/docs/locale/ja/LC_MESSAGES/version_guarantees.po deleted file mode 100644 index d66cd38be5..0000000000 --- a/docs/locale/ja/LC_MESSAGES/version_guarantees.po +++ /dev/null @@ -1,79 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-22 09:35-0400\n" -"PO-Revision-Date: 2020-10-24 02:41\n" -"Last-Translator: \n" -"Language-Team: Japanese\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Crowdin-Project: discordpy\n" -"X-Crowdin-Project-ID: 362783\n" -"X-Crowdin-Language: ja\n" -"X-Crowdin-File: version_guarantees.pot\n" -"X-Crowdin-File-ID: 46\n" -"Language: ja_JP\n" - -#: ../../version_guarantees.rst:4 -msgid "Version Guarantees" -msgstr "バージョン保証" - -#: ../../version_guarantees.rst:6 -msgid "The library follows a `semantic versioning principle `_ which means that the major version is updated every time there is an incompatible API change. However due to the lack of guarantees on the Discord side when it comes to breaking changes along with the fairly dynamic nature of Python it can be hard to discern what can be considered a breaking change and what isn't." -msgstr "このライブラリは `セマンティック バージョニングの原則 `_ に従います。それが意味するのは、互換性のないAPIの変更が行われるたびにメジャーバージョンが更新されるということです。しかしながら、Discord側にはPythonの非常に動的な性質とともに破壊的変更を行う際の保証がないため、破壊的変更とみなされるもの、そうでないものを区別するのは困難です。" - -#: ../../version_guarantees.rst:8 -msgid "The first thing to keep in mind is that breaking changes only apply to **publicly documented functions and classes**. If it's not listed in the documentation here then it is not part of the public API and is thus bound to change. This includes attributes that start with an underscore or functions without an underscore that are not documented." -msgstr "最初に覚えておくべきことは、破壊的変更は **公開ドキュメント化してある関数とクラス** のみに適用されるということです。ドキュメントにないものはパブリックAPIの一部ではないため、変更される可能性があります。これにはドキュメントに載っていないアンダースコアから始まる関数や、通常の関数が含まれます。" - -#: ../../version_guarantees.rst:12 -msgid "The examples below are non-exhaustive." -msgstr "以下の例は網羅的なものではありません。" - -#: ../../version_guarantees.rst:15 -msgid "Examples of Breaking Changes" -msgstr "破壊的変更の例" - -#: ../../version_guarantees.rst:17 -msgid "Changing the default parameter value to something else." -msgstr "デフォルトのパラメータ値を別のものに変更。" - -#: ../../version_guarantees.rst:18 -msgid "Renaming a function without an alias to an old function." -msgstr "古い関数へのエイリアスのない関数の名称を変更。" - -#: ../../version_guarantees.rst:19 -msgid "Adding or removing parameters to an event." -msgstr "イベントへのパラメータの追加、あるいは削除。" - -#: ../../version_guarantees.rst:22 -msgid "Examples of Non-Breaking Changes" -msgstr "破壊的変更ではないものの例" - -#: ../../version_guarantees.rst:24 -msgid "Adding or removing private underscored attributes." -msgstr "アンダースコア付きのプライベート関数の追加、あるいは削除。" - -#: ../../version_guarantees.rst:25 -msgid "Adding an element into the ``__slots__`` of a data class." -msgstr "データクラスの ``__slots__`` への要素の追加。" - -#: ../../version_guarantees.rst:26 -msgid "Changing the behaviour of a function to fix a bug." -msgstr "バグ修正のための関数の動作の変更。" - -#: ../../version_guarantees.rst:27 -msgid "Changes in the documentation." -msgstr "ドキュメントの変更。" - -#: ../../version_guarantees.rst:28 -msgid "Modifying the internal HTTP handling." -msgstr "内部HTTP処理の変更。" - -#: ../../version_guarantees.rst:29 -msgid "Upgrading the dependencies to a new version, major or otherwise." -msgstr "依存関係をメジャー、またはそれ以外の新しいバージョンへアップグレード。" - diff --git a/docs/locale/ja/LC_MESSAGES/whats_new.po b/docs/locale/ja/LC_MESSAGES/whats_new.po deleted file mode 100644 index ebcc0cd475..0000000000 --- a/docs/locale/ja/LC_MESSAGES/whats_new.po +++ /dev/null @@ -1,2937 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: discordpy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 22:41-0400\n" -"PO-Revision-Date: 2020-10-24 02:41+0000\n" -"Last-Translator: \n" -"Language: ja_JP\n" -"Language-Team: Japanese\n" -"Plural-Forms: nplurals=1; plural=0\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.5.3\n" - -#: ../../whats_new.rst:9 -msgid "Changelog" -msgstr "変更履歴" - -#: ../../whats_new.rst:11 -msgid "" -"This page keeps a detailed human friendly rendering of what's new and " -"changed in specific versions." -msgstr "このページでは、特定のバージョンの新機能や変更された機能を人にやさしい形で詳細に記載しています。" - -#: ../../whats_new.rst:17 -#, fuzzy -msgid "v1.5.1" -msgstr "v1.2.1" - -#: ../../whats_new.rst:20 ../../whats_new.rst:73 ../../whats_new.rst:107 -#: ../../whats_new.rst:133 ../../whats_new.rst:204 ../../whats_new.rst:255 -#: ../../whats_new.rst:265 ../../whats_new.rst:280 ../../whats_new.rst:298 -#: ../../whats_new.rst:383 ../../whats_new.rst:434 ../../whats_new.rst:444 -#: ../../whats_new.rst:459 ../../whats_new.rst:473 ../../whats_new.rst:483 -#: ../../whats_new.rst:519 ../../whats_new.rst:549 ../../whats_new.rst:591 -#: ../../whats_new.rst:631 ../../whats_new.rst:652 ../../whats_new.rst:668 -#: ../../whats_new.rst:688 ../../whats_new.rst:736 ../../whats_new.rst:753 -#: ../../whats_new.rst:790 ../../whats_new.rst:826 ../../whats_new.rst:878 -#: ../../whats_new.rst:922 ../../whats_new.rst:988 -msgid "Bug Fixes" -msgstr "バグ修正" - -#: ../../whats_new.rst:22 -msgid "" -"Fix :func:`utils.escape_markdown` not escaping quotes properly " -"(:issue:`5897`)" -msgstr "" - -#: ../../whats_new.rst:23 -msgid "Fix :class:`Message` not being hashable (:issue:`5901`, :issue:`5866`)" -msgstr "" - -#: ../../whats_new.rst:24 -msgid "Fix moving channels to the end of the channel list (:issue:`5923`)" -msgstr "" - -#: ../../whats_new.rst:25 -msgid "" -"Fix seemingly strange behaviour in ``__eq__`` for " -":class:`PermissionOverwrite` (:issue:`5929`)" -msgstr "" - -#: ../../whats_new.rst:26 -msgid "" -"Fix aliases showing up in ``__iter__`` for :class:`Intents` " -"(:issue:`5945`)" -msgstr "" - -#: ../../whats_new.rst:27 -msgid "" -"Fix the bot disconnecting from voice when moving them to another channel " -"(:issue:`5904`)" -msgstr "" - -#: ../../whats_new.rst:28 -msgid "" -"Fix attribute errors when chunking times out sometimes during delayed " -"on_ready dispatching." -msgstr "" - -#: ../../whats_new.rst:29 -msgid "" -"Ensure that the bot's own member is not evicted from the cache " -"(:issue:`5949`)" -msgstr "" - -#: ../../whats_new.rst:32 ../../whats_new.rst:88 ../../whats_new.rst:122 -#: ../../whats_new.rst:232 ../../whats_new.rst:304 ../../whats_new.rst:407 -#: ../../whats_new.rst:527 ../../whats_new.rst:554 ../../whats_new.rst:612 -msgid "Miscellaneous" -msgstr "" - -#: ../../whats_new.rst:34 -msgid "" -"Members are now loaded during ``GUILD_MEMBER_UPDATE`` events if " -":attr:`MemberCacheFlags.joined` is set. (:issue:`5930`)" -msgstr "" - -#: ../../whats_new.rst:35 -msgid "" -"|commands| :class:`MemberConverter ` now " -"properly lazily fetches members if not available from cache." -msgstr "" - -#: ../../whats_new.rst:36 -msgid "This is the same as having ``discord.Member`` as the type-hint." -msgstr "" - -#: ../../whats_new.rst:37 -msgid "" -":meth:`Guild.chunk` now allows concurrent calls without spamming the " -"gateway with requests." -msgstr "" - -#: ../../whats_new.rst:42 -#, fuzzy -msgid "v1.5.0" -msgstr "v1.2.0" - -#: ../../whats_new.rst:44 -msgid "" -"This version came with forced breaking changes that Discord is requiring " -"all bots to go through on October 7th. It is highly recommended to read " -"the documentation on intents, :ref:`intents_primer`." -msgstr "" - -#: ../../whats_new.rst:47 -#, fuzzy -msgid "API Changes" -msgstr "破壊的変更" - -#: ../../whats_new.rst:49 -msgid "" -"Members and presences will no longer be retrieved due to an API change. " -"See :ref:`privileged_intents` for more info." -msgstr "" - -#: ../../whats_new.rst:50 -msgid "" -"As a consequence, fetching offline members is disabled if the members " -"intent is not enabled." -msgstr "" - -#: ../../whats_new.rst:53 ../../whats_new.rst:147 ../../whats_new.rst:317 -#: ../../whats_new.rst:496 ../../whats_new.rst:564 ../../whats_new.rst:682 -#: ../../whats_new.rst:714 ../../whats_new.rst:747 ../../whats_new.rst:776 -#: ../../whats_new.rst:803 ../../whats_new.rst:839 ../../whats_new.rst:899 -#: ../../whats_new.rst:945 -msgid "New Features" -msgstr "新機能" - -#: ../../whats_new.rst:55 -msgid "" -"Support for gateway intents, passed via ``intents`` in :class:`Client` " -"using :class:`Intents`." -msgstr "" - -#: ../../whats_new.rst:56 -msgid "Add :attr:`VoiceRegion.south_korea` (:issue:`5233`)" -msgstr "" - -#: ../../whats_new.rst:57 -msgid "Add support for ``__eq__`` for :class:`Message` (:issue:`5789`)" -msgstr "" - -#: ../../whats_new.rst:58 -msgid "Add :meth:`Colour.dark_theme` factory method (:issue:`1584`)" -msgstr "" - -#: ../../whats_new.rst:59 -msgid "" -"Add :meth:`AllowedMentions.none` and :meth:`AllowedMentions.all` " -"(:issue:`5785`)" -msgstr "" - -#: ../../whats_new.rst:60 -msgid "" -"Add more concrete exceptions for 500 class errors under " -":class:`DiscordServerError` (:issue:`5797`)" -msgstr "" - -#: ../../whats_new.rst:61 -msgid "Implement :class:`VoiceProtocol` to better intersect the voice flow." -msgstr "" - -#: ../../whats_new.rst:62 -msgid "Add :meth:`Guild.chunk` to fully chunk a guild." -msgstr "" - -#: ../../whats_new.rst:63 -msgid "" -"Add :class:`MemberCacheFlags` to better control member cache. See " -":ref:`intents_member_cache` for more info." -msgstr "" - -#: ../../whats_new.rst:65 -msgid "Add support for :attr:`ActivityType.competing` (:issue:`5823`)" -msgstr "" - -#: ../../whats_new.rst:65 -msgid "This seems currently unused API wise." -msgstr "" - -#: ../../whats_new.rst:67 -msgid "" -"Add support for message references, :attr:`Message.reference` " -"(:issue:`5754`, :issue:`5832`)" -msgstr "" - -#: ../../whats_new.rst:68 -msgid "" -"Add alias for :class:`ColourConverter` under ``ColorConverter`` " -"(:issue:`5773`)" -msgstr "" - -#: ../../whats_new.rst:69 -msgid "" -"Add alias for :attr:`PublicUserFlags.verified_bot_developer` under " -":attr:`PublicUserFlags.early_verified_bot_developer` (:issue:`5849`)" -msgstr "" - -#: ../../whats_new.rst:70 -msgid "" -"|commands| Add support for ``require_var_positional`` for " -":class:`Command` (:issue:`5793`)" -msgstr "" - -#: ../../whats_new.rst:75 ../../whats_new.rst:109 -msgid "Fix issue with :meth:`Guild.by_category` not showing certain channels." -msgstr "" - -#: ../../whats_new.rst:76 ../../whats_new.rst:110 -msgid "" -"Fix :attr:`abc.GuildChannel.permissions_synced` always being ``False`` " -"(:issue:`5772`)" -msgstr "" - -#: ../../whats_new.rst:77 ../../whats_new.rst:111 -msgid "" -"Fix handling of cloudflare bans on webhook related requests " -"(:issue:`5221`)" -msgstr "" - -#: ../../whats_new.rst:78 ../../whats_new.rst:112 -msgid "" -"Fix cases where a keep-alive thread would ack despite already dying " -"(:issue:`5800`)" -msgstr "" - -#: ../../whats_new.rst:79 ../../whats_new.rst:113 -msgid "" -"Fix cases where a :class:`Member` reference would be stale when cache is " -"disabled in message events (:issue:`5819`)" -msgstr "" - -#: ../../whats_new.rst:80 ../../whats_new.rst:114 -msgid "" -"Fix ``allowed_mentions`` not being sent when sending a single file " -"(:issue:`5835`)" -msgstr "" - -#: ../../whats_new.rst:81 ../../whats_new.rst:115 -msgid "" -"Fix ``overwrites`` being ignored in :meth:`abc.GuildChannel.edit` if " -"``{}`` is passed (:issue:`5756`, :issue:`5757`)" -msgstr "" - -#: ../../whats_new.rst:82 ../../whats_new.rst:116 -msgid "" -"|commands| Fix exceptions being raised improperly in command invoke hooks" -" (:issue:`5799`)" -msgstr "" - -#: ../../whats_new.rst:83 ../../whats_new.rst:117 -msgid "" -"|commands| Fix commands not being properly ejected during errors in a cog" -" injection (:issue:`5804`)" -msgstr "" - -#: ../../whats_new.rst:84 ../../whats_new.rst:118 -msgid "|commands| Fix cooldown timing ignoring edited timestamps." -msgstr "" - -#: ../../whats_new.rst:85 ../../whats_new.rst:119 -msgid "" -"|tasks| Fix tasks extending the next iteration on handled exceptions " -"(:issue:`5762`, :issue:`5763`)" -msgstr "" - -#: ../../whats_new.rst:90 -msgid "Webhook requests are now logged (:issue:`5798`)" -msgstr "" - -#: ../../whats_new.rst:91 ../../whats_new.rst:124 -msgid "" -"Remove caching layer from :attr:`AutoShardedClient.shards`. This was " -"causing issues if queried before launching shards." -msgstr "" - -#: ../../whats_new.rst:92 -msgid "Gateway rate limits are now handled." -msgstr "" - -#: ../../whats_new.rst:93 -msgid "Warnings logged due to missed caches are now changed to DEBUG log level." -msgstr "" - -#: ../../whats_new.rst:94 -msgid "Some strings are now explicitly interned to reduce memory usage." -msgstr "" - -#: ../../whats_new.rst:95 -msgid "" -"Usage of namedtuples has been reduced to avoid potential breaking changes" -" in the future (:issue:`5834`)" -msgstr "" - -#: ../../whats_new.rst:96 -msgid "" -"|commands| All :class:`BadArgument` exceptions from the built-in " -"converters now raise concrete exceptions to better tell them apart " -"(:issue:`5748`)" -msgstr "" - -#: ../../whats_new.rst:97 ../../whats_new.rst:125 -msgid "" -"|tasks| Lazily fetch the event loop to prevent surprises when changing " -"event loop policy (:issue:`5808`)" -msgstr "" - -#: ../../whats_new.rst:102 -#, fuzzy -msgid "v1.4.2" -msgstr "v1.2.2" - -#: ../../whats_new.rst:104 -msgid "This is a maintenance release with backports from :ref:`vp1p5p0`." -msgstr "" - -#: ../../whats_new.rst:130 -#, fuzzy -msgid "v1.4.1" -msgstr "v1.2.1" - -#: ../../whats_new.rst:135 -msgid "" -"Properly terminate the connection when :meth:`Client.close` is called " -"(:issue:`5207`)" -msgstr "" - -#: ../../whats_new.rst:136 -msgid "" -"Fix error being raised when clearing embed author or image when it was " -"already cleared (:issue:`5210`, :issue:`5212`)" -msgstr "" - -#: ../../whats_new.rst:137 -msgid "Fix ``__path__`` to allow editable extensions (:issue:`5213`)" -msgstr "" - -#: ../../whats_new.rst:142 -#, fuzzy -msgid "v1.4.0" -msgstr "v1.2.0" - -#: ../../whats_new.rst:144 -msgid "" -"Another version with a long development time. Features like Intents are " -"slated to be released in a v1.5 release. Thank you for your patience!" -msgstr "" - -#: ../../whats_new.rst:151 -msgid "" -"Add support for :class:`AllowedMentions` to have more control over what " -"gets mentioned." -msgstr "" - -#: ../../whats_new.rst:150 -msgid "This can be set globally through :attr:`Client.allowed_mentions`" -msgstr "" - -#: ../../whats_new.rst:151 -msgid "" -"This can also be set on a per message basis via " -":meth:`abc.Messageable.send`" -msgstr "" - -#: ../../whats_new.rst:159 -msgid "" -":class:`AutoShardedClient` has been completely redesigned from the ground" -" up to better suit multi-process clusters (:issue:`2654`)" -msgstr "" - -#: ../../whats_new.rst:154 -msgid "" -"Add :class:`ShardInfo` which allows fetching specific information about a" -" shard." -msgstr "" - -#: ../../whats_new.rst:155 -msgid "" -"The :class:`ShardInfo` allows for reconnecting and disconnecting of a " -"specific shard as well." -msgstr "" - -#: ../../whats_new.rst:156 -msgid "" -"Add :meth:`AutoShardedClient.get_shard` and " -":attr:`AutoShardedClient.shards` to get information about shards." -msgstr "" - -#: ../../whats_new.rst:157 -msgid "" -"Rework the entire connection flow to better facilitate the ``IDENTIFY`` " -"rate limits." -msgstr "" - -#: ../../whats_new.rst:158 -msgid "" -"Add a hook :meth:`Client.before_identify_hook` to have better control " -"over what happens before an ``IDENTIFY`` is done." -msgstr "" - -#: ../../whats_new.rst:159 -msgid "" -"Add more shard related events such as :func:`on_shard_connect`, " -":func:`on_shard_disconnect` and :func:`on_shard_resumed`." -msgstr "" - -#: ../../whats_new.rst:165 -msgid "Add support for guild templates (:issue:`2652`)" -msgstr "" - -#: ../../whats_new.rst:162 -msgid "This adds :class:`Template` to read a template's information." -msgstr "" - -#: ../../whats_new.rst:163 -msgid "" -":meth:`Client.fetch_template` can be used to fetch a template's " -"information from the API." -msgstr "" - -#: ../../whats_new.rst:164 -msgid "" -":meth:`Client.create_guild` can now take an optional template to base the" -" creation from." -msgstr "" - -#: ../../whats_new.rst:165 -msgid "" -"Note that fetching a guild's template is currently restricted for bot " -"accounts." -msgstr "" - -#: ../../whats_new.rst:175 -msgid "Add support for guild integrations (:issue:`2051`, :issue:`1083`)" -msgstr "" - -#: ../../whats_new.rst:168 -msgid ":class:`Integration` is used to read integration information." -msgstr "" - -#: ../../whats_new.rst:169 -msgid "" -":class:`IntegrationAccount` is used to read integration account " -"information." -msgstr "" - -#: ../../whats_new.rst:170 -msgid ":meth:`Guild.integrations` will fetch all integrations in a guild." -msgstr "" - -#: ../../whats_new.rst:171 -msgid ":meth:`Guild.create_integration` will create an integration." -msgstr "" - -#: ../../whats_new.rst:172 -msgid ":meth:`Integration.edit` will edit an existing integration." -msgstr "" - -#: ../../whats_new.rst:173 -msgid ":meth:`Integration.delete` will delete an integration." -msgstr "" - -#: ../../whats_new.rst:174 -msgid ":meth:`Integration.sync` will sync an integration." -msgstr "" - -#: ../../whats_new.rst:175 -msgid "There is currently no support in the audit log for this." -msgstr "" - -#: ../../whats_new.rst:177 -msgid "" -"Add an alias for :attr:`VerificationLevel.extreme` under " -":attr:`VerificationLevel.very_high` (:issue:`2650`)" -msgstr "" - -#: ../../whats_new.rst:178 -msgid "Add various grey to gray aliases for :class:`Colour` (:issue:`5130`)" -msgstr "" - -#: ../../whats_new.rst:179 -msgid "" -"Added :attr:`VoiceClient.latency` and :attr:`VoiceClient.average_latency`" -" (:issue:`2535`)" -msgstr "" - -#: ../../whats_new.rst:180 -msgid "" -"Add ``use_cached`` and ``spoiler`` parameters to " -":meth:`Attachment.to_file` (:issue:`2577`, :issue:`4095`)" -msgstr "" - -#: ../../whats_new.rst:181 -msgid "" -"Add ``position`` parameter support to :meth:`Guild.create_category` " -"(:issue:`2623`)" -msgstr "" - -#: ../../whats_new.rst:182 -msgid "Allow passing ``int`` for the colour in :meth:`Role.edit` (:issue:`4057`)" -msgstr "" - -#: ../../whats_new.rst:183 -msgid "" -"Add :meth:`Embed.remove_author` to clear author information from an embed" -" (:issue:`4068`)" -msgstr "" - -#: ../../whats_new.rst:184 -msgid "" -"Add the ability to clear images and thumbnails in embeds using " -":attr:`Embed.Empty` (:issue:`4053`)" -msgstr "" - -#: ../../whats_new.rst:185 -msgid "Add :attr:`Guild.max_video_channel_users` (:issue:`4120`)" -msgstr "" - -#: ../../whats_new.rst:186 -msgid "Add :attr:`Guild.public_updates_channel` (:issue:`4120`)" -msgstr "" - -#: ../../whats_new.rst:187 -msgid "" -"Add ``guild_ready_timeout`` parameter to :class:`Client` and subclasses " -"to control timeouts when the ``GUILD_CREATE`` stream takes too long " -"(:issue:`4112`)" -msgstr "" - -#: ../../whats_new.rst:188 -msgid "" -"Add support for public user flags via :attr:`User.public_flags` and " -":class:`PublicUserFlags` (:issue:`3999`)" -msgstr "" - -#: ../../whats_new.rst:189 -msgid "" -"Allow changing of channel types via :meth:`TextChannel.edit` to and from " -"a news channel (:issue:`4121`)" -msgstr "" - -#: ../../whats_new.rst:190 -msgid "" -"Add :meth:`Guild.edit_role_positions` to bulk edit role positions in a " -"single API call (:issue:`2501`, :issue:`2143`)" -msgstr "" - -#: ../../whats_new.rst:191 -msgid "" -"Add :meth:`Guild.change_voice_state` to change your voice state in a " -"guild (:issue:`5088`)" -msgstr "" - -#: ../../whats_new.rst:192 -msgid "" -"Add :meth:`PartialInviteGuild.is_icon_animated` for checking if the " -"invite guild has animated icon (:issue:`4180`, :issue:`4181`)" -msgstr "" - -#: ../../whats_new.rst:193 -msgid "" -"Add :meth:`PartialInviteGuild.icon_url_as` now supports ``static_format``" -" for consistency (:issue:`4180`, :issue:`4181`)" -msgstr "" - -#: ../../whats_new.rst:194 -msgid "Add support for ``user_ids`` in :meth:`Guild.query_members`" -msgstr "" - -#: ../../whats_new.rst:195 -msgid "" -"Add support for pruning members by roles in :meth:`Guild.prune_members` " -"(:issue:`4043`)" -msgstr "" - -#: ../../whats_new.rst:196 -msgid "" -"|commands| Implement :func:`~ext.commands.before_invoke` and " -":func:`~ext.commands.after_invoke` decorators (:issue:`1986`, " -":issue:`2502`)" -msgstr "" - -#: ../../whats_new.rst:197 -msgid "" -"|commands| Add a way to retrieve ``retry_after`` from a cooldown in a " -"command via :meth:`Command.get_cooldown_retry_after " -"<.ext.commands.Command.get_cooldown_retry_after>` (:issue:`5195`)" -msgstr "" - -#: ../../whats_new.rst:198 -msgid "" -"|commands| Add a way to dynamically add and remove checks from a " -":class:`HelpCommand <.ext.commands.HelpCommand>` (:issue:`5197`)" -msgstr "" - -#: ../../whats_new.rst:199 -msgid "" -"|tasks| Add :meth:`Loop.is_running <.ext.tasks.Loop.is_running>` method " -"to the task objects (:issue:`2540`)" -msgstr "" - -#: ../../whats_new.rst:200 -msgid "" -"|tasks| Allow usage of custom error handlers similar to the command " -"extensions to tasks using :meth:`Loop.error <.ext.tasks.Loop.error>` " -"decorator (:issue:`2621`)" -msgstr "" - -#: ../../whats_new.rst:206 -msgid "" -"Fix issue with :attr:`PartialEmoji.url` reads leading to a failure " -"(:issue:`4015`, :issue:`4016`)" -msgstr "" - -#: ../../whats_new.rst:207 -msgid "" -"Allow :meth:`abc.Messageable.history` to take a limit of ``1`` even if " -"``around`` is passed (:issue:`4019`)" -msgstr "" - -#: ../../whats_new.rst:208 -msgid "" -"Fix :attr:`Guild.member_count` not updating in certain cases when a " -"member has left the guild (:issue:`4021`)" -msgstr "" - -#: ../../whats_new.rst:209 -msgid "" -"Fix the type of :attr:`Object.id` not being validated. For backwards " -"compatibility ``str`` is still allowed but is converted to ``int`` " -"(:issue:`4002`)" -msgstr "" - -#: ../../whats_new.rst:210 -msgid "" -"Fix :meth:`Guild.edit` not allowing editing of notification settings " -"(:issue:`4074`, :issue:`4047`)" -msgstr "" - -#: ../../whats_new.rst:211 -msgid "" -"Fix crash when the guild widget contains channels that aren't in the " -"payload (:issue:`4114`, :issue:`4115`)" -msgstr "" - -#: ../../whats_new.rst:212 -msgid "" -"Close ffmpeg stdin handling from spawned processes with " -":class:`FFmpegOpusAudio` and :class:`FFmpegPCMAudio` (:issue:`4036`)" -msgstr "" - -#: ../../whats_new.rst:213 -msgid "" -"Fix :func:`utils.escape_markdown` not escaping masked links " -"(:issue:`4206`, :issue:`4207`)" -msgstr "" - -#: ../../whats_new.rst:214 -msgid "" -"Fix reconnect loop due to failed handshake on region change " -"(:issue:`4210`, :issue:`3996`)" -msgstr "" - -#: ../../whats_new.rst:215 -msgid "" -"Fix :meth:`Guild.by_category` not returning empty categories " -"(:issue:`4186`)" -msgstr "" - -#: ../../whats_new.rst:216 -msgid "Fix certain JPEG images not being identified as JPEG (:issue:`5143`)" -msgstr "" - -#: ../../whats_new.rst:217 -msgid "" -"Fix a crash when an incomplete guild object is used when fetching " -"reaction information (:issue:`5181`)" -msgstr "" - -#: ../../whats_new.rst:218 -msgid "" -"Fix a timeout issue when fetching members using " -":meth:`Guild.query_members`" -msgstr "" - -#: ../../whats_new.rst:219 -msgid "" -"Fix an issue with domain resolution in voice (:issue:`5188`, " -":issue:`5191`)" -msgstr "" - -#: ../../whats_new.rst:220 -msgid "" -"Fix an issue where :attr:`PartialEmoji.id` could be a string " -"(:issue:`4153`, :issue:`4152`)" -msgstr "" - -#: ../../whats_new.rst:221 -msgid "Fix regression where :attr:`Member.activities` would not clear." -msgstr "" - -#: ../../whats_new.rst:222 -msgid "" -"|commands| A :exc:`TypeError` is now raised when :obj:`typing.Optional` " -"is used within :data:`commands.Greedy <.ext.commands.Greedy>` " -"(:issue:`2253`, :issue:`5068`)" -msgstr "" - -#: ../../whats_new.rst:223 -msgid "" -"|commands| :meth:`Bot.walk_commands <.ext.commands.Bot.walk_commands>` no" -" longer yields duplicate commands due to aliases (:issue:`2591`)" -msgstr "" - -#: ../../whats_new.rst:224 -msgid "" -"|commands| Fix regex characters not being escaped in " -":attr:`HelpCommand.clean_prefix <.ext.commands.HelpCommand.clean_prefix>`" -" (:issue:`4058`, :issue:`4071`)" -msgstr "" - -#: ../../whats_new.rst:225 -msgid "" -"|commands| Fix :meth:`Bot.get_command <.ext.commands.Bot.get_command>` " -"from raising errors when a name only has whitespace (:issue:`5124`)" -msgstr "" - -#: ../../whats_new.rst:226 -msgid "" -"|commands| Fix issue with :attr:`Context.subcommand_passed " -"<.ext.commands.Context.subcommand_passed>` not functioning as expected " -"(:issue:`5198`)" -msgstr "" - -#: ../../whats_new.rst:227 -msgid "" -"|tasks| Task objects are no longer stored globally so two class instances" -" can now start two separate tasks (:issue:`2294`)" -msgstr "" - -#: ../../whats_new.rst:228 -msgid "" -"|tasks| Allow cancelling the loop within :meth:`before_loop " -"<.ext.tasks.Loop.before_loop>` (:issue:`4082`)" -msgstr "" - -#: ../../whats_new.rst:234 -msgid "" -"The :attr:`Member.roles` cache introduced in v1.3 was reverted due to " -"issues caused (:issue:`4087`, :issue:`4157`)" -msgstr "" - -#: ../../whats_new.rst:235 -msgid ":class:`Webhook` objects are now comparable and hashable (:issue:`4182`)" -msgstr "" - -#: ../../whats_new.rst:239 -msgid "" -"Some more API requests got a ``reason`` parameter for audit logs " -"(:issue:`5086`)" -msgstr "" - -#: ../../whats_new.rst:237 -msgid ":meth:`TextChannel.follow`" -msgstr "" - -#: ../../whats_new.rst:238 -msgid ":meth:`Message.pin` and :meth:`Message.unpin`" -msgstr "" - -#: ../../whats_new.rst:239 -msgid ":meth:`Webhook.delete` and :meth:`Webhook.edit`" -msgstr "" - -#: ../../whats_new.rst:241 -msgid "" -"For performance reasons ``websockets`` has been dropped in favour of " -"``aiohttp.ws``." -msgstr "" - -#: ../../whats_new.rst:242 -msgid "" -"The blocking logging message now shows the stack trace of where the main " -"thread was blocking" -msgstr "" - -#: ../../whats_new.rst:243 -msgid "" -"The domain name was changed from ``discordapp.com`` to ``discord.com`` to" -" prepare for the required domain migration" -msgstr "" - -#: ../../whats_new.rst:244 -msgid "" -"Reduce memory usage when reconnecting due to stale references being held " -"by the message cache (:issue:`5133`)" -msgstr "" - -#: ../../whats_new.rst:245 -#, python-format -msgid "" -"Optimize :meth:`abc.GuildChannel.permissions_for` by not creating as many" -" temporary objects (20-32% savings)." -msgstr "" - -#: ../../whats_new.rst:246 -msgid "" -"|commands| Raise :exc:`~ext.commands.CommandRegistrationError` instead of" -" :exc:`ClientException` when a duplicate error is registered " -"(:issue:`4217`)" -msgstr "" - -#: ../../whats_new.rst:247 -msgid "" -"|tasks| No longer handle :exc:`HTTPException` by default in the task " -"reconnect loop (:issue:`5193`)" -msgstr "" - -#: ../../whats_new.rst:252 -#, fuzzy -msgid "v1.3.4" -msgstr "v1.2.2" - -#: ../../whats_new.rst:257 -msgid "" -"Fix an issue with channel overwrites causing multiple issues including " -"crashes (:issue:`5109`)" -msgstr "" - -#: ../../whats_new.rst:262 -#, fuzzy -msgid "v1.3.3" -msgstr "v1.2.2" - -#: ../../whats_new.rst:268 -msgid "Change default WS close to 4000 instead of 1000." -msgstr "" - -#: ../../whats_new.rst:268 -msgid "" -"The previous close code caused sessions to be invalidated at a higher " -"frequency than desired." -msgstr "" - -#: ../../whats_new.rst:270 -msgid "Fix ``None`` appearing in ``Member.activities``. (:issue:`2619`)" -msgstr "" - -#: ../../whats_new.rst:275 -#, fuzzy -msgid "v1.3.2" -msgstr "v1.2.2" - -#: ../../whats_new.rst:277 -msgid "Another minor bug fix release." -msgstr "" - -#: ../../whats_new.rst:282 -msgid "" -"Higher the wait time during the ``GUILD_CREATE`` stream before " -"``on_ready`` is fired for :class:`AutoShardedClient`." -msgstr "" - -#: ../../whats_new.rst:283 -msgid "" -":func:`on_voice_state_update` now uses the inner ``member`` payload which" -" should make it more reliable." -msgstr "" - -#: ../../whats_new.rst:284 -msgid "Fix various Cloudflare handling errors (:issue:`2572`, :issue:`2544`)" -msgstr "" - -#: ../../whats_new.rst:285 -msgid "" -"Fix crashes if :attr:`Message.guild` is :class:`Object` instead of " -":class:`Guild`." -msgstr "" - -#: ../../whats_new.rst:286 -msgid "" -"Fix :meth:`Webhook.send` returning an empty string instead of ``None`` " -"when ``wait=False``." -msgstr "" - -#: ../../whats_new.rst:287 -msgid "Fix invalid format specifier in webhook state (:issue:`2570`)" -msgstr "" - -#: ../../whats_new.rst:288 -msgid "" -"|commands| Passing invalid permissions to permission related checks now " -"raises ``TypeError``." -msgstr "" - -#: ../../whats_new.rst:293 -#, fuzzy -msgid "v1.3.1" -msgstr "v1.2.1" - -#: ../../whats_new.rst:295 -msgid "Minor bug fix release." -msgstr "" - -#: ../../whats_new.rst:300 -msgid "Fix fetching invites in guilds that the user is not in." -msgstr "" - -#: ../../whats_new.rst:301 -msgid "" -"Fix the channel returned from :meth:`Client.fetch_channel` raising when " -"sending messages. (:issue:`2531`)" -msgstr "" - -#: ../../whats_new.rst:306 -msgid "Fix compatibility warnings when using the Python 3.9 alpha." -msgstr "" - -#: ../../whats_new.rst:307 -msgid "Change the unknown event logging from WARNING to DEBUG to reduce noise." -msgstr "" - -#: ../../whats_new.rst:312 -#, fuzzy -msgid "v1.3.0" -msgstr "v1.2.0" - -#: ../../whats_new.rst:314 -msgid "" -"This version comes with a lot of bug fixes and new features. It's been in" -" development for a lot longer than was anticipated!" -msgstr "" - -#: ../../whats_new.rst:319 -msgid "" -"Add :meth:`Guild.fetch_members` to fetch members from the HTTP API. " -"(:issue:`2204`)" -msgstr "" - -#: ../../whats_new.rst:320 -msgid "" -"Add :meth:`Guild.fetch_roles` to fetch roles from the HTTP API. " -"(:issue:`2208`)" -msgstr "" - -#: ../../whats_new.rst:321 -msgid "" -"Add support for teams via :class:`Team` when fetching with " -":meth:`Client.application_info`. (:issue:`2239`)" -msgstr "" - -#: ../../whats_new.rst:322 -msgid "Add support for suppressing embeds via :meth:`Message.edit`" -msgstr "" - -#: ../../whats_new.rst:323 -msgid "" -"Add support for guild subscriptions. See the :class:`Client` " -"documentation for more details." -msgstr "" - -#: ../../whats_new.rst:324 -msgid "" -"Add :attr:`VoiceChannel.voice_states` to get voice states without relying" -" on member cache." -msgstr "" - -#: ../../whats_new.rst:325 -msgid "Add :meth:`Guild.query_members` to request members from the gateway." -msgstr "" - -#: ../../whats_new.rst:326 -msgid "Add :class:`FFmpegOpusAudio` and other voice improvements. (:issue:`2258`)" -msgstr "" - -#: ../../whats_new.rst:327 -msgid "" -"Add :attr:`RawMessageUpdateEvent.channel_id` for retrieving channel IDs " -"during raw message updates. (:issue:`2301`)" -msgstr "" - -#: ../../whats_new.rst:328 -msgid "" -"Add :attr:`RawReactionActionEvent.event_type` to disambiguate between " -"reaction addition and removal in reaction events." -msgstr "" - -#: ../../whats_new.rst:329 -msgid "" -"Add :attr:`abc.GuildChannel.permissions_synced` to query whether " -"permissions are synced with the category. (:issue:`2300`, :issue:`2324`)" -msgstr "" - -#: ../../whats_new.rst:330 -msgid "" -"Add :attr:`MessageType.channel_follow_add` message type for announcement " -"channels being followed. (:issue:`2314`)" -msgstr "" - -#: ../../whats_new.rst:331 -msgid "" -"Add :meth:`Message.is_system` to allow for quickly filtering through " -"system messages." -msgstr "" - -#: ../../whats_new.rst:332 -msgid "" -"Add :attr:`VoiceState.self_stream` to indicate whether someone is " -"streaming via Go Live. (:issue:`2343`)" -msgstr "" - -#: ../../whats_new.rst:333 -msgid "" -"Add :meth:`Emoji.is_usable` to check if the client user can use an emoji." -" (:issue:`2349`)" -msgstr "" - -#: ../../whats_new.rst:334 -msgid "" -"Add :attr:`VoiceRegion.europe` and :attr:`VoiceRegion.dubai`. " -"(:issue:`2358`, :issue:`2490`)" -msgstr "" - -#: ../../whats_new.rst:335 -msgid "Add :meth:`TextChannel.follow` to follow a news channel. (:issue:`2367`)" -msgstr "" - -#: ../../whats_new.rst:336 -msgid "Add :attr:`Permissions.view_guild_insights` permission. (:issue:`2415`)" -msgstr "" - -#: ../../whats_new.rst:338 -msgid "" -"Add support for new audit log types. See :ref:`discord-api-audit-logs` " -"for more information. (:issue:`2427`)" -msgstr "" - -#: ../../whats_new.rst:338 -msgid "Note that integration support is not finalized." -msgstr "" - -#: ../../whats_new.rst:340 -msgid "" -"Add :attr:`Webhook.type` to query the type of webhook " -"(:class:`WebhookType`). (:issue:`2441`)" -msgstr "" - -#: ../../whats_new.rst:341 -msgid "" -"Allow bulk editing of channel overwrites through " -":meth:`abc.GuildChannel.edit`. (:issue:`2198`)" -msgstr "" - -#: ../../whats_new.rst:342 -msgid "" -"Add :class:`Activity.created_at` to see when an activity was started. " -"(:issue:`2446`)" -msgstr "" - -#: ../../whats_new.rst:343 -msgid "" -"Add support for ``xsalsa20_poly1305_lite`` encryption mode for voice. " -"(:issue:`2463`)" -msgstr "" - -#: ../../whats_new.rst:344 -msgid "" -"Add :attr:`RawReactionActionEvent.member` to get the member who did the " -"reaction. (:issue:`2443`)" -msgstr "" - -#: ../../whats_new.rst:345 -msgid "" -"Add support for new YouTube streaming via :attr:`Streaming.platform` and " -":attr:`Streaming.game`. (:issue:`2445`)" -msgstr "" - -#: ../../whats_new.rst:346 -msgid "" -"Add :attr:`Guild.discovery_splash_url` to get the discovery splash image " -"asset. (:issue:`2482`)" -msgstr "" - -#: ../../whats_new.rst:348 -msgid "" -"Add :attr:`Guild.rules_channel` to get the rules channel of public " -"guilds. (:issue:`2482`)" -msgstr "" - -#: ../../whats_new.rst:348 -msgid "" -"It should be noted that this feature is restricted to those who are " -"either in Server Discovery or planning to be there." -msgstr "" - -#: ../../whats_new.rst:350 -msgid "" -"Add support for message flags via :attr:`Message.flags` and " -":class:`MessageFlags`. (:issue:`2433`)" -msgstr "" - -#: ../../whats_new.rst:351 -msgid "" -"Add :attr:`User.system` and :attr:`Profile.system` to know whether a user" -" is an official Discord Trust and Safety account." -msgstr "" - -#: ../../whats_new.rst:352 -msgid "" -"Add :attr:`Profile.team_user` to check whether a user is a member of a " -"team." -msgstr "" - -#: ../../whats_new.rst:353 -msgid "" -"Add :meth:`Attachment.to_file` to easily convert attachments to " -":class:`File` for sending." -msgstr "" - -#: ../../whats_new.rst:357 -msgid "" -"Add certain aliases to :class:`Permissions` to match the UI better. " -"(:issue:`2496`)" -msgstr "" - -#: ../../whats_new.rst:355 -msgid ":attr:`Permissions.manage_permissions`" -msgstr "" - -#: ../../whats_new.rst:356 -msgid ":attr:`Permissions.view_channel`" -msgstr "" - -#: ../../whats_new.rst:357 -msgid ":attr:`Permissions.use_external_emojis`" -msgstr "" - -#: ../../whats_new.rst:359 -msgid "" -"Add support for passing keyword arguments when creating " -":class:`Permissions`." -msgstr "" - -#: ../../whats_new.rst:361 -msgid "" -"Add support for custom activities via :class:`CustomActivity`. " -"(:issue:`2400`)" -msgstr "" - -#: ../../whats_new.rst:361 -msgid "Note that as of now, bots cannot send custom activities yet." -msgstr "" - -#: ../../whats_new.rst:363 -msgid "" -"Add support for :func:`on_invite_create` and :func:`on_invite_delete` " -"events." -msgstr "" - -#: ../../whats_new.rst:366 -msgid "Add support for clearing a specific reaction emoji from a message." -msgstr "" - -#: ../../whats_new.rst:365 -msgid ":meth:`Message.clear_reaction` and :meth:`Reaction.clear` methods." -msgstr "" - -#: ../../whats_new.rst:366 -msgid "" -":func:`on_raw_reaction_clear_emoji` and :func:`on_reaction_clear_emoji` " -"events." -msgstr "" - -#: ../../whats_new.rst:368 -msgid "" -"Add :func:`utils.sleep_until` helper to sleep until a specific datetime. " -"(:issue:`2517`, :issue:`2519`)" -msgstr "" - -#: ../../whats_new.rst:369 -msgid "" -"|commands| Add support for teams and :attr:`Bot.owner_ids " -"<.ext.commands.Bot.owner_ids>` to have multiple bot owners. " -"(:issue:`2239`)" -msgstr "" - -#: ../../whats_new.rst:370 -msgid "" -"|commands| Add new :attr:`BucketType.role " -"<.ext.commands.BucketType.role>` bucket type. (:issue:`2201`)" -msgstr "" - -#: ../../whats_new.rst:371 -msgid "" -"|commands| Expose :attr:`Command.cog <.ext.commands.Command.cog>` " -"property publicly. (:issue:`2360`)" -msgstr "" - -#: ../../whats_new.rst:372 -msgid "" -"|commands| Add non-decorator interface for adding checks to commands via " -":meth:`Command.add_check <.ext.commands.Command.add_check>` and " -":meth:`Command.remove_check <.ext.commands.Command.remove_check>`. " -"(:issue:`2411`)" -msgstr "" - -#: ../../whats_new.rst:373 -msgid "" -"|commands| Add :func:`has_guild_permissions " -"<.ext.commands.has_guild_permissions>` check. (:issue:`2460`)" -msgstr "" - -#: ../../whats_new.rst:374 -msgid "" -"|commands| Add :func:`bot_has_guild_permissions " -"<.ext.commands.bot_has_guild_permissions>` check. (:issue:`2460`)" -msgstr "" - -#: ../../whats_new.rst:375 -msgid "" -"|commands| Add ``predicate`` attribute to checks decorated with " -":func:`~.ext.commands.check`." -msgstr "" - -#: ../../whats_new.rst:376 -msgid "" -"|commands| Add :func:`~.ext.commands.check_any` check to logical OR " -"multiple checks." -msgstr "" - -#: ../../whats_new.rst:377 -msgid "" -"|commands| Add :func:`~.ext.commands.max_concurrency` to allow only a " -"certain amount of users to use a command concurrently before waiting or " -"erroring." -msgstr "" - -#: ../../whats_new.rst:378 -msgid "" -"|commands| Add support for calling a :class:`~.ext.commands.Command` as a" -" regular function." -msgstr "" - -#: ../../whats_new.rst:379 -msgid "" -"|tasks| :meth:`Loop.add_exception_type " -"<.ext.tasks.Loop.add_exception_type>` now allows multiple exceptions to " -"be set. (:issue:`2333`)" -msgstr "" - -#: ../../whats_new.rst:380 -msgid "" -"|tasks| Add :attr:`Loop.next_iteration <.ext.tasks.Loop.next_iteration>` " -"property. (:issue:`2305`)" -msgstr "" - -#: ../../whats_new.rst:385 -msgid "" -"Fix issue with permission resolution sometimes failing for guilds with no" -" owner." -msgstr "" - -#: ../../whats_new.rst:386 -msgid "Tokens are now stripped upon use. (:issue:`2135`)" -msgstr "" - -#: ../../whats_new.rst:387 -msgid "" -"Passing in a ``name`` is no longer required for :meth:`Emoji.edit`. " -"(:issue:`2368`)" -msgstr "" - -#: ../../whats_new.rst:388 -msgid "" -"Fix issue with webhooks not re-raising after retries have run out. " -"(:issue:`2272`, :issue:`2380`)" -msgstr "" - -#: ../../whats_new.rst:389 -msgid "" -"Fix mismatch in URL handling in :func:`utils.escape_markdown`. " -"(:issue:`2420`)" -msgstr "" - -#: ../../whats_new.rst:390 -msgid "" -"Fix issue with ports being read in little endian when they should be big " -"endian in voice connections. (:issue:`2470`)" -msgstr "" - -#: ../../whats_new.rst:391 -msgid "" -"Fix :meth:`Member.mentioned_in` not taking into consideration the " -"message's guild." -msgstr "" - -#: ../../whats_new.rst:392 -msgid "" -"Fix bug with moving channels when there are gaps in positions due to " -"channel deletion and creation." -msgstr "" - -#: ../../whats_new.rst:393 -msgid "" -"Fix :func:`on_shard_ready` not triggering when ``fetch_offline_members`` " -"is disabled. (:issue:`2504`)" -msgstr "" - -#: ../../whats_new.rst:394 -msgid "" -"Fix issue with large sharded bots taking too long to actually dispatch " -":func:`on_ready`." -msgstr "" - -#: ../../whats_new.rst:395 -msgid "" -"Fix issue with fetching group DM based invites in " -":meth:`Client.fetch_invite`." -msgstr "" - -#: ../../whats_new.rst:396 -msgid "Fix out of order files being sent in webhooks when there are 10 files." -msgstr "" - -#: ../../whats_new.rst:397 -msgid "" -"|commands| Extensions that fail internally due to ImportError will no " -"longer raise :exc:`~.ext.commands.ExtensionNotFound`. (:issue:`2244`, " -":issue:`2275`, :issue:`2291`)" -msgstr "" - -#: ../../whats_new.rst:398 -msgid "" -"|commands| Updating the :attr:`Paginator.suffix " -"<.ext.commands.Paginator.suffix>` will not cause out of date " -"calculations. (:issue:`2251`)" -msgstr "" - -#: ../../whats_new.rst:399 -msgid "" -"|commands| Allow converters from custom extension packages. " -"(:issue:`2369`, :issue:`2374`)" -msgstr "" - -#: ../../whats_new.rst:400 -msgid "" -"|commands| Fix issue with paginator prefix being ``None`` causing empty " -"pages. (:issue:`2471`)" -msgstr "" - -#: ../../whats_new.rst:401 -msgid "" -"|commands| :class:`~.commands.Greedy` now ignores parsing errors rather " -"than propagating them." -msgstr "" - -#: ../../whats_new.rst:402 -msgid "" -"|commands| :meth:`Command.can_run <.ext.commands.Command.can_run>` now " -"checks whether a command is disabled." -msgstr "" - -#: ../../whats_new.rst:403 -msgid "" -"|commands| :attr:`HelpCommand.clean_prefix " -"<.ext.commands.HelpCommand.clean_prefix>` now takes into consideration " -"nickname mentions. (:issue:`2489`)" -msgstr "" - -#: ../../whats_new.rst:404 -msgid "" -"|commands| :meth:`Context.send_help <.ext.commands.Context.send_help>` " -"now properly propagates to the :meth:`HelpCommand.on_help_command_error " -"<.ext.commands.HelpCommand.on_help_command_error>` handler." -msgstr "" - -#: ../../whats_new.rst:409 -msgid "The library now fully supports Python 3.8 without warnings." -msgstr "" - -#: ../../whats_new.rst:410 -msgid "" -"Bump the dependency of ``websockets`` to 8.0 for those who can use it. " -"(:issue:`2453`)" -msgstr "" - -#: ../../whats_new.rst:411 -msgid "" -"Due to Discord providing :class:`Member` data in mentions, users will now" -" be upgraded to :class:`Member` more often if mentioned." -msgstr "" - -#: ../../whats_new.rst:412 -msgid ":func:`utils.escape_markdown` now properly escapes new quote markdown." -msgstr "" - -#: ../../whats_new.rst:413 -msgid "" -"The message cache can now be disabled by passing ``None`` to " -"``max_messages`` in :class:`Client`." -msgstr "" - -#: ../../whats_new.rst:414 -msgid "" -"The default message cache size has changed from 5000 to 1000 to " -"accommodate small bots." -msgstr "" - -#: ../../whats_new.rst:415 -msgid "" -"Lower memory usage by only creating certain objects as needed in " -":class:`Role`." -msgstr "" - -#: ../../whats_new.rst:416 -msgid "" -"There is now a sleep of 5 seconds before re-IDENTIFYing during a " -"reconnect to prevent long loops of session invalidation." -msgstr "" - -#: ../../whats_new.rst:418 -msgid "" -"The rate limiting code now uses millisecond precision to have more " -"granular rate limit handling." -msgstr "" - -#: ../../whats_new.rst:418 -msgid "" -"Along with that, the rate limiting code now uses Discord's response to " -"wait. If you need to use the system clock again for whatever reason, " -"consider passing ``assume_synced_clock`` in :class:`Client`." -msgstr "" - -#: ../../whats_new.rst:420 -msgid "" -"The performance of :attr:`Guild.default_role` has been improved from O(N)" -" to O(1). (:issue:`2375`)" -msgstr "" - -#: ../../whats_new.rst:421 -msgid "" -"The performance of :attr:`Member.roles` has improved due to usage of " -"caching to avoid surprising performance traps." -msgstr "" - -#: ../../whats_new.rst:422 -msgid "" -"The GC is manually triggered during things that cause large deallocations" -" (such as guild removal) to prevent memory fragmentation." -msgstr "" - -#: ../../whats_new.rst:423 -msgid "" -"There have been many changes to the documentation for fixes both for " -"usability, correctness, and to fix some linter errors. Thanks to everyone" -" who contributed to those." -msgstr "" - -#: ../../whats_new.rst:424 -msgid "" -"The loading of the opus module has been delayed which would make the " -"result of :func:`opus.is_loaded` somewhat surprising." -msgstr "" - -#: ../../whats_new.rst:425 -msgid "" -"|commands| Usernames prefixed with @ inside DMs will properly convert " -"using the :class:`User` converter. (:issue:`2498`)" -msgstr "" - -#: ../../whats_new.rst:426 -msgid "" -"|tasks| The task sleeping time will now take into consideration the " -"amount of time the task body has taken before sleeping. (:issue:`2516`)" -msgstr "" - -#: ../../whats_new.rst:431 -#, fuzzy -msgid "v1.2.5" -msgstr "v1.2.2" - -#: ../../whats_new.rst:436 -msgid "" -"Fix a bug that caused crashes due to missing ``animated`` field in Emoji " -"structures in reactions." -msgstr "" - -#: ../../whats_new.rst:441 -#, fuzzy -msgid "v1.2.4" -msgstr "v1.2.2" - -#: ../../whats_new.rst:446 -msgid "Fix a regression when :attr:`Message.channel` would be ``None``." -msgstr "" - -#: ../../whats_new.rst:447 -msgid "" -"Fix a regression where :attr:`Message.edited_at` would not update during " -"edits." -msgstr "" - -#: ../../whats_new.rst:448 -msgid "" -"Fix a crash that would trigger during message updates (:issue:`2265`, " -":issue:`2287`)." -msgstr "" - -#: ../../whats_new.rst:449 -msgid "" -"Fix a bug when :meth:`VoiceChannel.connect` would not return " -"(:issue:`2274`, :issue:`2372`, :issue:`2373`, :issue:`2377`)." -msgstr "" - -#: ../../whats_new.rst:450 -msgid "Fix a crash relating to token-less webhooks (:issue:`2364`)." -msgstr "" - -#: ../../whats_new.rst:451 -msgid "" -"Fix issue where :attr:`Guild.premium_subscription_count` would be " -"``None`` due to a Discord bug. (:issue:`2331`, :issue:`2376`)." -msgstr "" - -#: ../../whats_new.rst:456 -#, fuzzy -msgid "v1.2.3" -msgstr "v1.2.2" - -#: ../../whats_new.rst:461 -msgid "" -"Fix an AttributeError when accessing :attr:`Member.premium_since` in " -":func:`on_member_update`. (:issue:`2213`)" -msgstr "" - -#: ../../whats_new.rst:462 -msgid "" -"Handle :exc:`asyncio.CancelledError` in :meth:`abc.Messageable.typing` " -"context manager. (:issue:`2218`)" -msgstr "" - -#: ../../whats_new.rst:463 -msgid "" -"Raise the max encoder bitrate to 512kbps to account for nitro boosting. " -"(:issue:`2232`)" -msgstr "" - -#: ../../whats_new.rst:464 -msgid "Properly propagate exceptions in :meth:`Client.run`. (:issue:`2237`)" -msgstr "" - -#: ../../whats_new.rst:465 -msgid "" -"|commands| Ensure cooldowns are properly copied when used in cog level " -"``command_attrs``." -msgstr "" - -#: ../../whats_new.rst:470 -msgid "v1.2.2" -msgstr "v1.2.2" - -#: ../../whats_new.rst:475 -msgid "" -"Audit log related attribute access have been fixed to not error out when " -"they shouldn't have." -msgstr "" - -#: ../../whats_new.rst:480 -msgid "v1.2.1" -msgstr "v1.2.1" - -#: ../../whats_new.rst:485 -msgid ":attr:`User.avatar_url` and related attributes no longer raise an error." -msgstr "" - -#: ../../whats_new.rst:486 -msgid "More compatibility shims with the ``enum.Enum`` code." -msgstr "" - -#: ../../whats_new.rst:491 -msgid "v1.2.0" -msgstr "v1.2.0" - -#: ../../whats_new.rst:493 -msgid "" -"This update mainly brings performance improvements and various nitro " -"boosting attributes (referred to in the API as \"premium guilds\")." -msgstr "" - -#: ../../whats_new.rst:498 -msgid "" -"Add :attr:`Guild.premium_tier` to query the guild's current nitro boost " -"level." -msgstr "" - -#: ../../whats_new.rst:499 -msgid "" -"Add :attr:`Guild.emoji_limit`, :attr:`Guild.bitrate_limit`, " -":attr:`Guild.filesize_limit` to query the new limits of a guild when " -"taking into consideration boosting." -msgstr "" - -#: ../../whats_new.rst:500 -msgid "" -"Add :attr:`Guild.premium_subscription_count` to query how many members " -"are boosting a guild." -msgstr "" - -#: ../../whats_new.rst:501 -msgid "" -"Add :attr:`Member.premium_since` to query since when a member has boosted" -" a guild." -msgstr "" - -#: ../../whats_new.rst:502 -msgid "" -"Add :attr:`Guild.premium_subscribers` to query all the members currently " -"boosting the guild." -msgstr "" - -#: ../../whats_new.rst:503 -msgid "" -"Add :attr:`Guild.system_channel_flags` to query the settings for a " -"guild's :attr:`Guild.system_channel`." -msgstr "" - -#: ../../whats_new.rst:504 -msgid "This includes a new type named :class:`SystemChannelFlags`" -msgstr "" - -#: ../../whats_new.rst:505 -msgid "" -"Add :attr:`Emoji.available` to query if an emoji can be used (within the " -"guild or otherwise)." -msgstr "" - -#: ../../whats_new.rst:506 -msgid "" -"Add support for animated icons in :meth:`Guild.icon_url_as` and " -":attr:`Guild.icon_url`." -msgstr "" - -#: ../../whats_new.rst:507 -msgid "Add :meth:`Guild.is_icon_animated`." -msgstr "" - -#: ../../whats_new.rst:508 -msgid "" -"Add support for the various new :class:`MessageType` involving nitro " -"boosting." -msgstr "" - -#: ../../whats_new.rst:509 -msgid "Add :attr:`VoiceRegion.india`. (:issue:`2145`)" -msgstr "" - -#: ../../whats_new.rst:510 -msgid "Add :meth:`Embed.insert_field_at`. (:issue:`2178`)" -msgstr "" - -#: ../../whats_new.rst:511 -msgid "" -"Add a ``type`` attribute for all channels to their appropriate " -":class:`ChannelType`. (:issue:`2185`)" -msgstr "" - -#: ../../whats_new.rst:512 -msgid "" -"Add :meth:`Client.fetch_channel` to fetch a channel by ID via HTTP. " -"(:issue:`2169`)" -msgstr "" - -#: ../../whats_new.rst:513 -msgid "" -"Add :meth:`Guild.fetch_channels` to fetch all channels via HTTP. " -"(:issue:`2169`)" -msgstr "" - -#: ../../whats_new.rst:514 -msgid "" -"|tasks| Add :meth:`Loop.stop <.ext.tasks.Loop.stop>` to gracefully stop a" -" task rather than cancelling." -msgstr "" - -#: ../../whats_new.rst:515 -msgid "" -"|tasks| Add :meth:`Loop.failed <.ext.tasks.Loop.failed>` to query if a " -"task had failed somehow." -msgstr "" - -#: ../../whats_new.rst:516 -msgid "" -"|tasks| Add :meth:`Loop.change_interval " -"<.ext.tasks.Loop.change_interval>` to change the sleep interval at " -"runtime (:issue:`2158`, :issue:`2162`)" -msgstr "" - -#: ../../whats_new.rst:521 -msgid "Fix internal error when using :meth:`Guild.prune_members`." -msgstr "" - -#: ../../whats_new.rst:522 -msgid "" -"|commands| Fix :attr:`.Command.invoked_subcommand` being invalid in many " -"cases." -msgstr "" - -#: ../../whats_new.rst:523 -msgid "|tasks| Reset iteration count when the loop terminates and is restarted." -msgstr "" - -#: ../../whats_new.rst:524 -msgid "" -"|tasks| The decorator interface now works as expected when stacking " -"(:issue:`2154`)" -msgstr "" - -#: ../../whats_new.rst:530 -msgid "Improve performance of all Enum related code significantly." -msgstr "" - -#: ../../whats_new.rst:530 -msgid "" -"This was done by replacing the ``enum.Enum`` code with an API compatible " -"one." -msgstr "" - -#: ../../whats_new.rst:531 -msgid "This should not be a breaking change for most users due to duck-typing." -msgstr "" - -#: ../../whats_new.rst:532 -msgid "Improve performance of message creation by about 1.5x." -msgstr "" - -#: ../../whats_new.rst:533 -msgid "" -"Improve performance of message editing by about 1.5-4x depending on " -"payload size." -msgstr "" - -#: ../../whats_new.rst:534 -msgid "Improve performance of attribute access on :class:`Member` about by 2x." -msgstr "" - -#: ../../whats_new.rst:535 -msgid "" -"Improve performance of :func:`utils.get` by around 4-6x depending on " -"usage." -msgstr "" - -#: ../../whats_new.rst:536 -msgid "Improve performance of event parsing lookup by around 2.5x." -msgstr "" - -#: ../../whats_new.rst:537 -msgid "" -"Keyword arguments in :meth:`Client.start` and :meth:`Client.run` are now " -"validated (:issue:`953`, :issue:`2170`)" -msgstr "" - -#: ../../whats_new.rst:538 -msgid "" -"The Discord error code is now shown in the exception message for " -":exc:`HTTPException`." -msgstr "" - -#: ../../whats_new.rst:539 -msgid "" -"Internal tasks launched by the library will now have their own custom " -"``__repr__``." -msgstr "" - -#: ../../whats_new.rst:540 -msgid "" -"All public facing types should now have a proper and more detailed " -"``__repr__``." -msgstr "" - -#: ../../whats_new.rst:541 -msgid "|tasks| Errors are now logged via the standard :mod:`py:logging` module." -msgstr "" - -#: ../../whats_new.rst:546 -msgid "v1.1.1" -msgstr "v1.1.1" - -#: ../../whats_new.rst:551 -msgid "" -"Webhooks do not overwrite data on retrying their HTTP requests " -"(:issue:`2140`)" -msgstr "" - -#: ../../whats_new.rst:556 -msgid "" -"Add back signal handling to :meth:`Client.run` due to issues some users " -"had with proper cleanup." -msgstr "" - -#: ../../whats_new.rst:561 -msgid "v1.1.0" -msgstr "v1.1.0" - -#: ../../whats_new.rst:566 -msgid "**There is a new extension dedicated to making background tasks easier.**" -msgstr "" - -#: ../../whats_new.rst:567 -msgid "You can check the documentation here: :ref:`ext_tasks_api`." -msgstr "" - -#: ../../whats_new.rst:568 -msgid "Add :attr:`Permissions.stream` permission. (:issue:`2077`)" -msgstr "" - -#: ../../whats_new.rst:569 -msgid "Add equality comparison and hash support to :class:`Asset`" -msgstr "" - -#: ../../whats_new.rst:570 -msgid "" -"Add ``compute_prune_members`` parameter to :meth:`Guild.prune_members` " -"(:issue:`2085`)" -msgstr "" - -#: ../../whats_new.rst:571 -msgid "" -"Add :attr:`Client.cached_messages` attribute to fetch the message cache " -"(:issue:`2086`)" -msgstr "" - -#: ../../whats_new.rst:572 -msgid "" -"Add :meth:`abc.GuildChannel.clone` to clone a guild channel. " -"(:issue:`2093`)" -msgstr "" - -#: ../../whats_new.rst:573 -msgid "" -"Add ``delay`` keyword-only argument to :meth:`Message.delete` " -"(:issue:`2094`)" -msgstr "" - -#: ../../whats_new.rst:574 -msgid "Add support for ``<:name:id>`` when adding reactions (:issue:`2095`)" -msgstr "" - -#: ../../whats_new.rst:575 -msgid "" -"Add :meth:`Asset.read` to fetch the bytes content of an asset " -"(:issue:`2107`)" -msgstr "" - -#: ../../whats_new.rst:576 -msgid "" -"Add :meth:`Attachment.read` to fetch the bytes content of an attachment " -"(:issue:`2118`)" -msgstr "" - -#: ../../whats_new.rst:577 -msgid "" -"Add support for voice kicking by passing ``None`` to " -":meth:`Member.move_to`." -msgstr "" - -#: ../../whats_new.rst:580 ../../whats_new.rst:601 ../../whats_new.rst:620 -msgid "``discord.ext.commands``" -msgstr "" - -#: ../../whats_new.rst:582 -msgid "Add new :func:`~.commands.dm_only` check." -msgstr "" - -#: ../../whats_new.rst:583 -msgid "Support callable converters in :data:`~.commands.Greedy`" -msgstr "" - -#: ../../whats_new.rst:584 -msgid "Add new :class:`~.commands.MessageConverter`." -msgstr "" - -#: ../../whats_new.rst:585 -msgid "This allows you to use :class:`Message` as a type hint in functions." -msgstr "" - -#: ../../whats_new.rst:586 -msgid "" -"Allow passing ``cls`` in the :func:`~.commands.group` decorator " -"(:issue:`2061`)" -msgstr "" - -#: ../../whats_new.rst:587 -msgid "" -"Add :attr:`.Command.parents` to fetch the parents of a command " -"(:issue:`2104`)" -msgstr "" - -#: ../../whats_new.rst:593 -msgid "Fix :exc:`AttributeError` when using ``__repr__`` on :class:`Widget`." -msgstr "" - -#: ../../whats_new.rst:594 -msgid "" -"Fix issue with :attr:`abc.GuildChannel.overwrites` returning ``None`` for" -" keys." -msgstr "" - -#: ../../whats_new.rst:595 -msgid "Remove incorrect legacy NSFW checks in e.g. :meth:`TextChannel.is_nsfw`." -msgstr "" - -#: ../../whats_new.rst:596 -msgid "" -"Fix :exc:`UnboundLocalError` when :class:`RequestsWebhookAdapter` raises " -"an error." -msgstr "" - -#: ../../whats_new.rst:597 -msgid "Fix bug where updating your own user did not update your member instances." -msgstr "" - -#: ../../whats_new.rst:598 -msgid "" -"Tighten constraints of ``__eq__`` in :class:`Spotify` objects " -"(:issue:`2113`, :issue:`2117`)" -msgstr "" - -#: ../../whats_new.rst:603 -msgid "Fix lambda converters in a non-module context (e.g. ``eval``)." -msgstr "" - -#: ../../whats_new.rst:604 -msgid "Use message creation time for reference time when computing cooldowns." -msgstr "" - -#: ../../whats_new.rst:605 -msgid "This prevents cooldowns from triggering during e.g. a RESUME session." -msgstr "" - -#: ../../whats_new.rst:606 -msgid "" -"Fix the default :func:`on_command_error` to work with new-style cogs " -"(:issue:`2094`)" -msgstr "" - -#: ../../whats_new.rst:607 -msgid "" -"DM channels are now recognised as NSFW in :func:`~.commands.is_nsfw` " -"check." -msgstr "" - -#: ../../whats_new.rst:608 -msgid "Fix race condition with help commands (:issue:`2123`)" -msgstr "" - -#: ../../whats_new.rst:609 -msgid "" -"Fix cog descriptions not showing in " -":class:`~.commands.MinimalHelpCommand` (:issue:`2139`)" -msgstr "" - -#: ../../whats_new.rst:614 -msgid "" -"Improve the performance of internal enum creation in the library by about" -" 5x." -msgstr "" - -#: ../../whats_new.rst:615 -msgid "Make the output of ``python -m discord --version`` a bit more useful." -msgstr "" - -#: ../../whats_new.rst:616 -msgid "The loop cleanup facility has been rewritten again." -msgstr "" - -#: ../../whats_new.rst:617 -msgid "The signal handling in :meth:`Client.run` has been removed." -msgstr "" - -#: ../../whats_new.rst:622 -msgid "" -"Custom exception classes are now used for all default checks in the " -"library (:issue:`2101`)" -msgstr "" - -#: ../../whats_new.rst:628 -msgid "v1.0.1" -msgstr "v1.0.1" - -#: ../../whats_new.rst:633 -msgid "Fix issue with speaking state being cast to ``int`` when it was invalid." -msgstr "" - -#: ../../whats_new.rst:634 -msgid "" -"Fix some issues with loop cleanup that some users experienced on Linux " -"machines." -msgstr "" - -#: ../../whats_new.rst:635 -msgid "Fix voice handshake race condition (:issue:`2056`, :issue:`2063`)" -msgstr "" - -#: ../../whats_new.rst:640 -msgid "v1.0.0" -msgstr "v1.0.0" - -#: ../../whats_new.rst:642 -msgid "" -"The changeset for this version are too big to be listed here, for more " -"information please see :ref:`the migrating page `." -msgstr "" -"このバージョンの変更は大きすぎるため、この場所に収まりきりません。詳細については :ref:`移行についてのページ " -"` を参照してください。" - -#: ../../whats_new.rst:649 -msgid "v0.16.6" -msgstr "v0.16.6" - -#: ../../whats_new.rst:654 -msgid "Fix issue with :meth:`Client.create_server` that made it stop working." -msgstr ":meth:`Client.create_server` によって動作が停止する問題を修正しました。" - -#: ../../whats_new.rst:655 -msgid "Fix main thread being blocked upon calling ``StreamPlayer.stop``." -msgstr "``StreamPlayer.stop`` の呼び出し時にメインスレッドがブロックされるのを修正しました。" - -#: ../../whats_new.rst:656 -msgid "Handle HEARTBEAT_ACK and resume gracefully when it occurs." -msgstr "HEARTBEAT_ACKを処理し、正常に再開します。" - -#: ../../whats_new.rst:657 -msgid "" -"Fix race condition when pre-emptively rate limiting that caused releasing" -" an already released lock." -msgstr "既に開放されているロックを解放しようとする原因になっていた先制的なレート制限を行っている時の競合状態を修正しました。" - -#: ../../whats_new.rst:658 -msgid "Fix invalid state errors when immediately cancelling a coroutine." -msgstr "コルーチンを直ちにキャンセルするときに無効な状態になるエラーを修正しました。" - -#: ../../whats_new.rst:663 -msgid "v0.16.1" -msgstr "v0.16.1" - -#: ../../whats_new.rst:665 -msgid "" -"This release is just a bug fix release with some better rate limit " -"implementation." -msgstr "このリリースはバグ修正であり、いくつかのレート制限の実装が改善されています。" - -#: ../../whats_new.rst:670 -msgid "Servers are now properly chunked for user bots." -msgstr "" - -#: ../../whats_new.rst:671 -msgid "The CDN URL is now used instead of the API URL for assets." -msgstr "アセットのAPI URLの代わりにCDN URLが使用されるようになりました。" - -#: ../../whats_new.rst:672 -msgid "Rate limit implementation now tries to use header information if possible." -msgstr "" - -#: ../../whats_new.rst:673 -msgid "Event loop is now properly propagated (:issue:`420`)" -msgstr "" - -#: ../../whats_new.rst:674 -msgid "" -"Allow falsey values in :meth:`Client.send_message` and " -":meth:`Client.send_file`." -msgstr "" - -#: ../../whats_new.rst:679 -msgid "v0.16.0" -msgstr "v0.16.0" - -#: ../../whats_new.rst:684 -msgid "" -"Add :attr:`Channel.overwrites` to get all the permission overwrites of a " -"channel." -msgstr "" - -#: ../../whats_new.rst:685 -msgid "Add :attr:`Server.features` to get information about partnered servers." -msgstr "" - -#: ../../whats_new.rst:690 -msgid "" -"Timeout when waiting for offline members while triggering " -":func:`on_ready`." -msgstr "" - -#: ../../whats_new.rst:692 -msgid "" -"The fact that we did not timeout caused a gigantic memory leak in the " -"library that caused thousands of duplicate :class:`Member` instances " -"causing big memory spikes." -msgstr "" - -#: ../../whats_new.rst:695 -msgid "Discard null sequences in the gateway." -msgstr "" - -#: ../../whats_new.rst:697 -msgid "" -"The fact these were not discarded meant that :func:`on_ready` kept being " -"called instead of :func:`on_resumed`. Since this has been corrected, in " -"most cases :func:`on_ready` will be called once or twice with " -":func:`on_resumed` being called much more often." -msgstr "" - -#: ../../whats_new.rst:704 -msgid "v0.15.1" -msgstr "v0.15.1" - -#: ../../whats_new.rst:706 -msgid "Fix crash on duplicate or out of order reactions." -msgstr "" - -#: ../../whats_new.rst:711 -msgid "v0.15.0" -msgstr "v0.15.0" - -#: ../../whats_new.rst:716 -msgid "Rich Embeds for messages are now supported." -msgstr "" - -#: ../../whats_new.rst:718 -msgid "" -"To do so, create your own :class:`Embed` and pass the instance to the " -"``embed`` keyword argument to :meth:`Client.send_message` or " -":meth:`Client.edit_message`." -msgstr "" - -#: ../../whats_new.rst:719 -msgid "Add :meth:`Client.clear_reactions` to remove all reactions from a message." -msgstr "" - -#: ../../whats_new.rst:720 -msgid "" -"Add support for MESSAGE_REACTION_REMOVE_ALL event, under " -":func:`on_reaction_clear`." -msgstr "" - -#: ../../whats_new.rst:721 -msgid "" -"Add :meth:`Permissions.update` and :meth:`PermissionOverwrite.update` for" -" bulk permission updates." -msgstr "" - -#: ../../whats_new.rst:723 -msgid "" -"This allows you to use e.g. ``p.update(read_messages=True, " -"send_messages=False)`` in a single line." -msgstr "" - -#: ../../whats_new.rst:724 -msgid "" -"Add :meth:`PermissionOverwrite.is_empty` to check if the overwrite is " -"empty (i.e. has no overwrites set explicitly as true or false)." -msgstr "" - -#: ../../whats_new.rst:726 -msgid "For the command extension, the following changed:" -msgstr "コマンド拡張の場合、以下のことが変更されます。" - -#: ../../whats_new.rst:728 -msgid "``Context`` is no longer slotted to facilitate setting dynamic attributes." -msgstr "" - -#: ../../whats_new.rst:733 -msgid "v0.14.3" -msgstr "v0.14.3" - -#: ../../whats_new.rst:738 -msgid "Fix crash when dealing with MESSAGE_REACTION_REMOVE" -msgstr "MESSAGE_REACTION_REMOVEを扱う際のクラッシュを修正しました" - -#: ../../whats_new.rst:739 -msgid "Fix incorrect buckets for reactions." -msgstr "" - -#: ../../whats_new.rst:744 -msgid "v0.14.2" -msgstr "v0.14.2" - -#: ../../whats_new.rst:750 -msgid "" -":meth:`Client.wait_for_reaction` now returns a namedtuple with " -"``reaction`` and ``user`` attributes." -msgstr "" - -#: ../../whats_new.rst:750 -msgid "" -"This is for better support in the case that ``None`` is returned since " -"tuple unpacking can lead to issues." -msgstr "" - -#: ../../whats_new.rst:755 -msgid "" -"Fix bug that disallowed ``None`` to be passed for ``emoji`` parameter in " -":meth:`Client.wait_for_reaction`." -msgstr "" - -#: ../../whats_new.rst:760 -msgid "v0.14.1" -msgstr "v0.14.1" - -#: ../../whats_new.rst:763 -msgid "Bug fixes" -msgstr "バグ修正" - -#: ../../whats_new.rst:766 -msgid "Fix bug with `Reaction` not being visible at import." -msgstr "" - -#: ../../whats_new.rst:766 -msgid "This was also breaking the documentation." -msgstr "" - -#: ../../whats_new.rst:771 -msgid "v0.14.0" -msgstr "v0.14.0" - -#: ../../whats_new.rst:773 -msgid "This update adds new API features and a couple of bug fixes." -msgstr "このアップデートには、新しいAPI機能といくつかのバグ修正が含まれています。" - -#: ../../whats_new.rst:778 -msgid "" -"Add support for Manage Webhooks permission under " -":attr:`Permissions.manage_webhooks`" -msgstr "" - -#: ../../whats_new.rst:779 -msgid "Add support for ``around`` argument in 3.5+ :meth:`Client.logs_from`." -msgstr "" - -#: ../../whats_new.rst:787 -msgid "Add support for reactions." -msgstr "リアクションのサポートを追加します。" - -#: ../../whats_new.rst:781 -msgid ":meth:`Client.add_reaction` to add a reactions" -msgstr "" - -#: ../../whats_new.rst:782 -msgid ":meth:`Client.remove_reaction` to remove a reaction." -msgstr "" - -#: ../../whats_new.rst:783 -msgid "" -":meth:`Client.get_reaction_users` to get the users that reacted to a " -"message." -msgstr "" - -#: ../../whats_new.rst:784 -msgid ":attr:`Permissions.add_reactions` permission bit support." -msgstr "" - -#: ../../whats_new.rst:785 -msgid "Two new events, :func:`on_reaction_add` and :func:`on_reaction_remove`." -msgstr "" - -#: ../../whats_new.rst:786 -msgid ":attr:`Message.reactions` to get reactions from a message." -msgstr "" - -#: ../../whats_new.rst:787 -msgid ":meth:`Client.wait_for_reaction` to wait for a reaction from a user." -msgstr "" - -#: ../../whats_new.rst:792 -msgid "Fix bug with Paginator still allowing lines that are too long." -msgstr "" - -#: ../../whats_new.rst:793 -msgid "Fix the :attr:`Permissions.manage_emojis` bit being incorrect." -msgstr "" - -#: ../../whats_new.rst:798 -msgid "v0.13.0" -msgstr "v0.13.0" - -#: ../../whats_new.rst:800 -msgid "This is a backwards compatible update with new features." -msgstr "" - -#: ../../whats_new.rst:805 -msgid "Add the ability to manage emojis." -msgstr "" - -#: ../../whats_new.rst:807 -msgid ":meth:`Client.create_custom_emoji` to create new emoji." -msgstr "新しい絵文字を作成する :meth:`Client.create_custom_emoji` 。" - -#: ../../whats_new.rst:808 -msgid ":meth:`Client.edit_custom_emoji` to edit an old emoji." -msgstr "" - -#: ../../whats_new.rst:809 -msgid ":meth:`Client.delete_custom_emoji` to delete a custom emoji." -msgstr "" - -#: ../../whats_new.rst:810 -msgid "Add new :attr:`Permissions.manage_emojis` toggle." -msgstr "" - -#: ../../whats_new.rst:812 -msgid "This applies for :class:`PermissionOverwrite` as well." -msgstr "" - -#: ../../whats_new.rst:813 -msgid "Add new statuses for :class:`Status`." -msgstr "" - -#: ../../whats_new.rst:815 -msgid "" -":attr:`Status.dnd` (aliased with :attr:`Status.do_not_disturb`\\) for Do " -"Not Disturb." -msgstr "" - -#: ../../whats_new.rst:816 -msgid "" -":attr:`Status.invisible` for setting your status to invisible (please see" -" the docs for a caveat)." -msgstr "" - -#: ../../whats_new.rst:817 -msgid "Deprecate :meth:`Client.change_status`" -msgstr "" - -#: ../../whats_new.rst:819 -msgid "" -"Use :meth:`Client.change_presence` instead for better more up to date " -"functionality." -msgstr "" - -#: ../../whats_new.rst:820 -msgid "This method is subject for removal in a future API version." -msgstr "" - -#: ../../whats_new.rst:821 -msgid "" -"Add :meth:`Client.change_presence` for changing your status with the new " -"Discord API change." -msgstr "" - -#: ../../whats_new.rst:823 -msgid "" -"This is the only method that allows changing your status to invisible or " -"do not disturb." -msgstr "" - -#: ../../whats_new.rst:828 -msgid "Paginator pages do not exceed their max_size anymore (:issue:`340`)" -msgstr "" - -#: ../../whats_new.rst:829 -msgid "" -"Do Not Disturb users no longer show up offline due to the new " -":class:`Status` changes." -msgstr "" - -#: ../../whats_new.rst:834 -msgid "v0.12.0" -msgstr "v0.12.0" - -#: ../../whats_new.rst:836 -msgid "This is a bug fix update that also comes with new features." -msgstr "" - -#: ../../whats_new.rst:841 -msgid "Add custom emoji support." -msgstr "" - -#: ../../whats_new.rst:843 -msgid "Adds a new class to represent a custom Emoji named :class:`Emoji`" -msgstr "" - -#: ../../whats_new.rst:844 -msgid "Adds a utility generator function, :meth:`Client.get_all_emojis`." -msgstr "" - -#: ../../whats_new.rst:845 -msgid "Adds a list of emojis on a server, :attr:`Server.emojis`." -msgstr "" - -#: ../../whats_new.rst:846 -msgid "Adds a new event, :func:`on_server_emojis_update`." -msgstr "" - -#: ../../whats_new.rst:847 -msgid "Add new server regions to :class:`ServerRegion`" -msgstr "" - -#: ../../whats_new.rst:849 -msgid ":attr:`ServerRegion.eu_central` and :attr:`ServerRegion.eu_west`." -msgstr "" - -#: ../../whats_new.rst:850 -msgid "" -"Add support for new pinned system message under " -":attr:`MessageType.pins_add`." -msgstr "" - -#: ../../whats_new.rst:851 -msgid "" -"Add order comparisons for :class:`Role` to allow it to be compared with " -"regards to hierarchy." -msgstr "" - -#: ../../whats_new.rst:853 -msgid "" -"This means that you can now do ``role_a > role_b`` etc to check if " -"``role_b`` is lower in the hierarchy." -msgstr "" - -#: ../../whats_new.rst:855 -msgid "Add :attr:`Server.role_hierarchy` to get the server's role hierarchy." -msgstr "" - -#: ../../whats_new.rst:856 -msgid "" -"Add :attr:`Member.server_permissions` to get a member's server " -"permissions without their channel specific overwrites." -msgstr "" - -#: ../../whats_new.rst:857 -msgid "Add :meth:`Client.get_user_info` to retrieve a user's info from their ID." -msgstr "" - -#: ../../whats_new.rst:858 -msgid "" -"Add a new ``Player`` property, ``Player.error`` to fetch the error that " -"stopped the player." -msgstr "" - -#: ../../whats_new.rst:860 -msgid "" -"To help with this change, a player's ``after`` function can now take a " -"single parameter denoting the current player." -msgstr "" - -#: ../../whats_new.rst:861 -msgid "Add support for server verification levels." -msgstr "" - -#: ../../whats_new.rst:863 -msgid "Adds a new enum called :class:`VerificationLevel`." -msgstr "" - -#: ../../whats_new.rst:864 -msgid "" -"This enum can be used in :meth:`Client.edit_server` under the " -"``verification_level`` keyword argument." -msgstr "" - -#: ../../whats_new.rst:865 -msgid "Adds a new attribute in the server, :attr:`Server.verification_level`." -msgstr "" - -#: ../../whats_new.rst:866 -msgid "" -"Add :attr:`Server.voice_client` shortcut property for " -":meth:`Client.voice_client_in`." -msgstr "" - -#: ../../whats_new.rst:868 -msgid "" -"This is technically old (was added in v0.10.0) but was undocumented until" -" v0.12.0." -msgstr "" - -#: ../../whats_new.rst:870 ../../whats_new.rst:916 -msgid "For the command extension, the following are new:" -msgstr "" - -#: ../../whats_new.rst:872 -msgid "Add custom emoji converter." -msgstr "" - -#: ../../whats_new.rst:873 -msgid "All default converters that can take IDs can now convert via ID." -msgstr "" - -#: ../../whats_new.rst:874 -msgid "Add coroutine support for ``Bot.command_prefix``." -msgstr "" - -#: ../../whats_new.rst:875 -msgid "Add a method to reset command cooldown." -msgstr "" - -#: ../../whats_new.rst:880 -msgid "" -"Fix bug that caused the library to not work with the latest " -"``websockets`` library." -msgstr "" - -#: ../../whats_new.rst:881 -msgid "Fix bug that leaked keep alive threads (:issue:`309`)" -msgstr "" - -#: ../../whats_new.rst:882 -msgid "" -"Fix bug that disallowed :class:`ServerRegion` from being used in " -":meth:`Client.edit_server`." -msgstr "" - -#: ../../whats_new.rst:883 -msgid "" -"Fix bug in :meth:`Channel.permissions_for` that caused permission " -"resolution to happen out of order." -msgstr "" - -#: ../../whats_new.rst:884 -msgid "" -"Fix bug in :attr:`Member.top_role` that did not account for same-position" -" roles." -msgstr "" - -#: ../../whats_new.rst:889 -msgid "v0.11.0" -msgstr "v0.11.0" - -#: ../../whats_new.rst:891 -msgid "" -"This is a minor bug fix update that comes with a gateway update (v5 -> " -"v6)." -msgstr "" - -#: ../../whats_new.rst:894 -msgid "Breaking Changes" -msgstr "破壊的変更" - -#: ../../whats_new.rst:896 -msgid "" -"``Permissions.change_nicknames`` has been renamed to " -":attr:`Permissions.change_nickname` to match the UI." -msgstr "" - -#: ../../whats_new.rst:901 -msgid "Add the ability to prune members via :meth:`Client.prune_members`." -msgstr "" - -#: ../../whats_new.rst:902 -msgid "" -"Switch the websocket gateway version to v6 from v5. This allows the " -"library to work with group DMs and 1-on-1 calls." -msgstr "" - -#: ../../whats_new.rst:903 -msgid "Add :attr:`AppInfo.owner` attribute." -msgstr "" - -#: ../../whats_new.rst:904 -msgid "Add :class:`CallMessage` for group voice call messages." -msgstr "" - -#: ../../whats_new.rst:905 -msgid "Add :class:`GroupCall` for group voice call information." -msgstr "" - -#: ../../whats_new.rst:906 -msgid "Add :attr:`Message.system_content` to get the system message." -msgstr "" - -#: ../../whats_new.rst:907 -msgid "" -"Add the remaining VIP servers and the Brazil servers into " -":class:`ServerRegion` enum." -msgstr "" - -#: ../../whats_new.rst:908 -msgid "" -"Add ``stderr`` argument to :meth:`VoiceClient.create_ffmpeg_player` to " -"redirect stderr." -msgstr "" - -#: ../../whats_new.rst:909 -msgid "" -"The library now handles implicit permission resolution in " -":meth:`Channel.permissions_for`." -msgstr "" - -#: ../../whats_new.rst:910 -msgid "Add :attr:`Server.mfa_level` to query a server's 2FA requirement." -msgstr "" - -#: ../../whats_new.rst:911 -msgid "Add :attr:`Permissions.external_emojis` permission." -msgstr "" - -#: ../../whats_new.rst:912 -msgid "Add :attr:`Member.voice` attribute that refers to a :class:`VoiceState`." -msgstr "" - -#: ../../whats_new.rst:914 -msgid "" -"For backwards compatibility, the member object will have properties " -"mirroring the old behaviour." -msgstr "" - -#: ../../whats_new.rst:918 -msgid "Command cooldown system with the ``cooldown`` decorator." -msgstr "" - -#: ../../whats_new.rst:919 -msgid "" -"``UserInputError`` exception for the hierarchy for user input related " -"errors." -msgstr "" - -#: ../../whats_new.rst:924 -msgid ":attr:`Client.email` is now saved when using a token for user accounts." -msgstr "" - -#: ../../whats_new.rst:925 -msgid "Fix issue when removing roles out of order." -msgstr "" - -#: ../../whats_new.rst:926 -msgid "Fix bug where discriminators would not update." -msgstr "" - -#: ../../whats_new.rst:927 -msgid "" -"Handle cases where ``HEARTBEAT`` opcode is received. This caused bots to " -"disconnect seemingly randomly." -msgstr "" - -#: ../../whats_new.rst:929 -msgid "For the command extension, the following bug fixes apply:" -msgstr "" - -#: ../../whats_new.rst:931 -msgid "``Bot.check`` decorator is actually a decorator not requiring parentheses." -msgstr "" - -#: ../../whats_new.rst:932 -msgid "" -"``Bot.remove_command`` and ``Group.remove_command`` no longer throw if " -"the command doesn't exist." -msgstr "" - -#: ../../whats_new.rst:933 -msgid "Command names are no longer forced to be ``lower()``." -msgstr "" - -#: ../../whats_new.rst:934 -msgid "" -"Fix a bug where Member and User converters failed to work in private " -"message contexts." -msgstr "" - -#: ../../whats_new.rst:935 -msgid "" -"``HelpFormatter`` now ignores hidden commands when deciding the maximum " -"width." -msgstr "" - -#: ../../whats_new.rst:940 -msgid "v0.10.0" -msgstr "v0.10.0" - -#: ../../whats_new.rst:942 -msgid "" -"For breaking changes, see :ref:`migrating-to-async`. The breaking changes" -" listed there will not be enumerated below. Since this version is rather " -"a big departure from v0.9.2, this change log will be non-exhaustive." -msgstr "" - -#: ../../whats_new.rst:947 -msgid "" -"The library is now fully ``asyncio`` compatible, allowing you to write " -"non-blocking code a lot more easily." -msgstr "" - -#: ../../whats_new.rst:948 -msgid "The library now fully handles 429s and unconditionally retries on 502s." -msgstr "" - -#: ../../whats_new.rst:949 -msgid "" -"A new command extension module was added but is currently undocumented. " -"Figuring it out is left as an exercise to the reader." -msgstr "" - -#: ../../whats_new.rst:950 -msgid "" -"Two new exception types, :exc:`Forbidden` and :exc:`NotFound` to denote " -"permission errors or 404 errors." -msgstr "" - -#: ../../whats_new.rst:951 -msgid "Added :meth:`Client.delete_invite` to revoke invites." -msgstr "" - -#: ../../whats_new.rst:952 -msgid "" -"Added support for sending voice. Check :class:`VoiceClient` for more " -"details." -msgstr "" - -#: ../../whats_new.rst:953 -msgid "" -"Added :meth:`Client.wait_for_message` coroutine to aid with follow up " -"commands." -msgstr "" - -#: ../../whats_new.rst:954 -msgid "" -"Added :data:`version_info` named tuple to check version info of the " -"library." -msgstr "" - -#: ../../whats_new.rst:955 -msgid "" -"Login credentials are now cached to have a faster login experience. You " -"can disable this by passing in ``cache_auth=False`` when constructing a " -":class:`Client`." -msgstr "" - -#: ../../whats_new.rst:957 -msgid "" -"New utility function, :func:`discord.utils.get` to simplify retrieval of " -"items based on attributes." -msgstr "" - -#: ../../whats_new.rst:958 -msgid "" -"All data classes now support ``!=``, ``==``, ``hash(obj)`` and " -"``str(obj)``." -msgstr "" - -#: ../../whats_new.rst:959 -msgid "Added :meth:`Client.get_bans` to get banned members from a server." -msgstr "" - -#: ../../whats_new.rst:960 -msgid "" -"Added :meth:`Client.invites_from` to get currently active invites in a " -"server." -msgstr "" - -#: ../../whats_new.rst:961 -msgid "" -"Added :attr:`Server.me` attribute to get the :class:`Member` version of " -":attr:`Client.user`." -msgstr "" - -#: ../../whats_new.rst:962 -msgid "" -"Most data classes now support a ``hash(obj)`` function to allow you to " -"use them in ``set`` or ``dict`` classes or subclasses." -msgstr "" - -#: ../../whats_new.rst:963 -msgid "" -"Add :meth:`Message.clean_content` to get a text version of the content " -"with the user and channel mentioned changed into their names." -msgstr "" - -#: ../../whats_new.rst:964 -msgid "" -"Added a way to remove the messages of the user that just got banned in " -":meth:`Client.ban`." -msgstr "" - -#: ../../whats_new.rst:965 -msgid "" -"Added :meth:`Client.wait_until_ready` to facilitate easy creation of " -"tasks that require the client cache to be ready." -msgstr "" - -#: ../../whats_new.rst:966 -msgid "" -"Added :meth:`Client.wait_until_login` to facilitate easy creation of " -"tasks that require the client to be logged in." -msgstr "" - -#: ../../whats_new.rst:967 -msgid "" -"Add :class:`discord.Game` to represent any game with custom text to send " -"to :meth:`Client.change_status`." -msgstr "" - -#: ../../whats_new.rst:968 -msgid "Add :attr:`Message.nonce` attribute." -msgstr "" - -#: ../../whats_new.rst:969 -msgid "" -"Add :meth:`Member.permissions_in` as another way of doing " -":meth:`Channel.permissions_for`." -msgstr "" - -#: ../../whats_new.rst:970 -msgid "Add :meth:`Client.move_member` to move a member to another voice channel." -msgstr "" - -#: ../../whats_new.rst:971 -msgid "You can now create a server via :meth:`Client.create_server`." -msgstr "" - -#: ../../whats_new.rst:972 -msgid "Added :meth:`Client.edit_server` to edit existing servers." -msgstr "" - -#: ../../whats_new.rst:973 -msgid "" -"Added :meth:`Client.server_voice_state` to server mute or server deafen a" -" member." -msgstr "" - -#: ../../whats_new.rst:974 -msgid "If you are being rate limited, the library will now handle it for you." -msgstr "" - -#: ../../whats_new.rst:975 -msgid "" -"Add :func:`on_member_ban` and :func:`on_member_unban` events that trigger" -" when a member is banned/unbanned." -msgstr "" - -#: ../../whats_new.rst:978 -msgid "Performance Improvements" -msgstr "" - -#: ../../whats_new.rst:980 -msgid "" -"All data classes now use ``__slots__`` which greatly reduce the memory " -"usage of things kept in cache." -msgstr "" - -#: ../../whats_new.rst:981 -msgid "" -"Due to the usage of ``asyncio``, the CPU usage of the library has gone " -"down significantly." -msgstr "" - -#: ../../whats_new.rst:982 -msgid "" -"A lot of the internal cache lists were changed into dictionaries to " -"change the ``O(n)`` lookup into ``O(1)``." -msgstr "" - -#: ../../whats_new.rst:983 -msgid "" -"Compressed READY is now on by default. This means if you're on a lot of " -"servers (or maybe even a few) you would receive performance improvements " -"by having to download and process less data." -msgstr "" - -#: ../../whats_new.rst:985 -msgid "" -"While minor, change regex from ``\\d+`` to ``[0-9]+`` to avoid " -"unnecessary unicode character lookups." -msgstr "" - -#: ../../whats_new.rst:990 -msgid "Fix bug where guilds being updated did not edit the items in cache." -msgstr "" - -#: ../../whats_new.rst:991 -msgid "" -"Fix bug where ``member.roles`` were empty upon joining instead of having " -"the ``@everyone`` role." -msgstr "" - -#: ../../whats_new.rst:992 -msgid "" -"Fix bug where :meth:`Role.is_everyone` was not being set properly when " -"the role was being edited." -msgstr "" - -#: ../../whats_new.rst:993 -msgid "" -":meth:`Client.logs_from` now handles cases where limit > 100 to sidestep " -"the discord API limitation." -msgstr "" - -#: ../../whats_new.rst:994 -msgid "Fix bug where a role being deleted would trigger a ``ValueError``." -msgstr "" - -#: ../../whats_new.rst:995 -msgid "" -"Fix bug where :meth:`Permissions.kick_members` and " -":meth:`Permissions.ban_members` were flipped." -msgstr "" - -#: ../../whats_new.rst:996 -msgid "" -"Mentions are now triggered normally. This was changed due to the way " -"discord handles it internally." -msgstr "" - -#: ../../whats_new.rst:997 -msgid "" -"Fix issue when a :class:`Message` would attempt to upgrade a " -":attr:`Message.server` when the channel is a :class:`Object`." -msgstr "" - -#: ../../whats_new.rst:999 -msgid "" -"Unavailable servers were not being added into cache, this has been " -"corrected." -msgstr "" - diff --git a/docs/logging.rst b/docs/logging.rst index 7f1411ccba..596a845cad 100644 --- a/docs/logging.rst +++ b/docs/logging.rst @@ -4,7 +4,7 @@ .. _logging_setup: Setting Up Logging -=================== +================== *Pycord* logs errors and debug information via the :mod:`logging` python module. It is strongly recommended that the logging module is @@ -43,4 +43,4 @@ stdout of your program. For more information, check the documentation and tutorial of the -:mod:`logging` module. +:mod:`logging` module. \ No newline at end of file diff --git a/docs/migrating.rst b/docs/migrating.rst index baf97160f0..f45f63a120 100644 --- a/docs/migrating.rst +++ b/docs/migrating.rst @@ -3,7 +3,7 @@ .. _migrating_1_0: Migrating to v1.0 -====================== +================= v1.0 is one of the biggest breaking changes in the library due to a complete redesign. @@ -15,19 +15,19 @@ Part of the redesign involves making things more easy to use and natural. Things :ref:`models ` instead of requiring a :class:`Client` instance to do any work. Python Version Change ------------------------ +--------------------- 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**. Major Model Changes ---------------------- +------------------- Below are major model changes that have happened in v1.0 Snowflakes are int -~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~ Before v1.0, all snowflakes (the ``id`` attribute) were strings. This has been changed to :class:`int`. @@ -47,7 +47,7 @@ This change allows for fewer errors when using the Copy ID feature in the offici to wrap it in quotes and allows for optimisation opportunities by allowing ETF to be used instead of JSON internally. Server is now Guild -~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~ 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 @@ -84,7 +84,7 @@ A list of changes is as follows: .. _migrating_1_0_model_state: Models are Stateful -~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~ As mentioned earlier, a lot of functionality was moved out of :class:`Client` and put into their respective :ref:`model `. @@ -210,7 +210,7 @@ A list of these changes is enumerated below. +---------------------------------------+------------------------------------------------------------------------------+ Property Changes -~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~ In order to be a bit more consistent, certain things that were properties were changed to methods instead. @@ -221,7 +221,7 @@ The following are now methods instead of properties (requires parentheses): - :meth:`Client.is_closed` Dict Value Change -~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~ Prior to v1.0 some aggregating properties that retrieved models would return "dict view" objects. @@ -240,7 +240,7 @@ The following views were changed to a list: - :attr:`Guild.members` Voice State Changes -~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~ 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. @@ -264,7 +264,7 @@ Quick example: :: User and Member Type Split -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~ 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 @@ -277,7 +277,7 @@ of all :class:`User` your client can see with :attr:`Client.users`. .. _migrating_1_0_channel_split: Channel Type Split -~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~ Prior to v1.0, channels were two different types, ``Channel`` and ``PrivateChannel`` with a ``is_private`` property to help differentiate between them. @@ -312,7 +312,7 @@ With this type split also came event changes, which are enumerated in :ref:`migr Miscellaneous Model Changes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~ There were lots of other things added or removed in the models in general. @@ -415,7 +415,7 @@ They will be enumerated here. .. _migrating_1_0_sending_messages: Sending Messages ------------------- +---------------- 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`. @@ -454,7 +454,7 @@ This change was to facilitate multiple file uploads: :: .. _migrating_1_0_async_iter: Asynchronous Iterators ------------------------- +---------------------- Prior to v1.0, certain functions like ``Client.logs_from`` would return a different type if done in Python 3.4 or 3.5+. @@ -495,7 +495,7 @@ The following return :class:`AsyncIterator`: .. _migrating_1_0_event_changes: Event Changes --------------- +------------- A lot of events have gone through some changes. @@ -587,7 +587,7 @@ updated (i.e. :class:`DMChannel` and :class:`GroupChannel`). .. _migrating_1_0_voice: Voice Changes ---------------- +------------- Voice sending has gone through a complete redesign. @@ -654,7 +654,7 @@ An added benefit of the redesign is that it will be much more resilient towards .. _migrating_1_0_wait_for: Waiting For Events --------------------- +------------------ 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 @@ -699,7 +699,7 @@ when reached instead of setting the return to ``None``. For example: await channel.send('You said {0.content}, {0.author}.'.format(msg)) Upgraded Dependencies ------------------------ +--------------------- Following v1.0 of the library, we've updated our requirements to :doc:`aiohttp ` v2.0 or higher. @@ -728,7 +728,7 @@ Since it is better to not create a session for every request, you should store i ``session.close`` on it when it needs to be disposed. Sharding ----------- +-------- The library has received significant changes on how it handles sharding and now has sharding as a first-class citizen. @@ -759,7 +759,7 @@ If you want more control over the sharding you can specify ``shard_count`` and ` For users of the command extension, there is also :class:`~ext.commands.AutoShardedBot` which behaves similarly. Connection Improvements -------------------------- +----------------------- In v1.0, the auto reconnection logic has been powered up significantly. @@ -773,13 +773,13 @@ need to specify it unless turning it off. .. _migrating_1_0_commands: Command Extension Changes --------------------------- +------------------------- 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. Context Changes -~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~ In v1.0, the :class:`.Context` has received a lot of changes with how it's retrieved and used. @@ -824,7 +824,7 @@ Since the :class:`~ext.commands.Context` is now passed by default, several short - This is useful if you want to show the user help if they misused a command. Subclassing Context -++++++++++++++++++++ ++++++++++++++++++++ In v1.0, there is now the ability to subclass :class:`~ext.commands.Context` and use it instead of the default provided one. @@ -859,7 +859,7 @@ Now inside your commands you will have access to your custom context: .. _migrating_1_0_removed_helpers: Removed Helpers -+++++++++++++++++ ++++++++++++++++ With the new :class:`.Context` changes, a lot of message sending helpers have been removed. @@ -880,7 +880,7 @@ For a full list of changes, see below: +-----------------+------------------------------------------------------------+ Command Changes -~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~ 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. @@ -904,7 +904,7 @@ For :class:`~ext.commands.Group` and :class:`~ext.commands.Bot` the following ch - Use :attr:`~.GroupMixin.all_commands` to get the old :class:`dict` with all commands. Check Changes -~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ Prior to v1.0, :func:`~ext.commands.check`\s could only be synchronous. As of v1.0 checks can now be coroutines. @@ -921,7 +921,7 @@ Along with this change, a couple new checks were added. - This is powered by the new :meth:`TextChannel.is_nsfw` method. Event Changes -~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ All command extension events have changed. @@ -947,7 +947,7 @@ have been re-ordered to use the :class:`~ext.commands.Context` as its first para and commands. HelpFormatter and Help Command Changes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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. @@ -1005,7 +1005,7 @@ For example, to implement a :class:`~.commands.HelpCommand` in a cog, the follow For more information, check out the relevant :ref:`documentation `. Cog Changes -~~~~~~~~~~~~~ +~~~~~~~~~~~ Cogs have completely been revamped. They are documented in :ref:`ext_commands_cogs` as well. @@ -1065,7 +1065,7 @@ An example cog with every special method registered and a custom name is as foll .. _migrating_1_0_before_after_hook: Before and After Invocation Hooks -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Commands have gained new before and after invocation hooks that allow you to do an action before and after a command is run. @@ -1137,7 +1137,7 @@ The invocation order is as follows: 7. Global after invocation hook Converter Changes -~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~ 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. diff --git a/docs/migrating_to_async.rst b/docs/migrating_to_async.rst deleted file mode 100644 index a705f72395..0000000000 --- a/docs/migrating_to_async.rst +++ /dev/null @@ -1,322 +0,0 @@ -:orphan: - -.. currentmodule:: discord - -.. _migrating-to-async: - -Migrating to v0.10.0 -====================== - -v0.10.0 is one of the biggest breaking changes in the library due to massive -fundamental changes in how the library operates. - -The biggest major change is that the library has dropped support to all versions prior to -Python 3.4.2. This was made to support :mod:`asyncio`, in which more detail can be seen -:issue:`in the corresponding issue <50>`. To reiterate this, the implication is that -**python version 2.7 and 3.3 are no longer supported**. - -Below are all the other major changes from v0.9.0 to v0.10.0. - -Event Registration --------------------- - -All events before were registered using :meth:`Client.event`. While this is still -possible, the events must be decorated with ``@asyncio.coroutine``. - -Before: - -.. code-block:: python3 - - @client.event - def on_message(message): - pass - -After: - -.. code-block:: python3 - - @client.event - @asyncio.coroutine - def on_message(message): - pass - -Or in Python 3.5+: - -.. code-block:: python3 - - @client.event - async def on_message(message): - pass - -Because there is a lot of typing, a utility decorator (:meth:`Client.async_event`) is provided -for easier registration. For example: - -.. code-block:: python3 - - @client.async_event - def on_message(message): - pass - - -Be aware however, that this is still a coroutine and your other functions that are coroutines must -be decorated with ``@asyncio.coroutine`` or be ``async def``. - -Event Changes --------------- - -Some events in v0.9.0 were considered pretty useless due to having no separate states. The main -events that were changed were the ``_update`` events since previously they had no context on what -was changed. - -Before: - -.. code-block:: python3 - - def on_channel_update(channel): pass - def on_member_update(member): pass - def on_status(member): pass - def on_server_role_update(role): pass - def on_voice_state_update(member): pass - def on_socket_raw_send(payload, is_binary): pass - - -After: - -.. code-block:: python3 - - def on_channel_update(before, after): pass - def on_member_update(before, after): pass - def on_server_role_update(before, after): pass - def on_voice_state_update(before, after): pass - def on_socket_raw_send(payload): pass - -Note that ``on_status`` was removed. If you want its functionality, use :func:`on_member_update`. -See :ref:`discord-api-events` for more information. Other removed events include ``on_socket_closed``, ``on_socket_receive``, and ``on_socket_opened``. - - -Coroutines ------------ - -The biggest change that the library went through is that almost every function in :class:`Client` -was changed to be a `coroutine `_. Functions -that are marked as a coroutine in the documentation must be awaited from or yielded from in order -for the computation to be done. For example... - -Before: - -.. code-block:: python3 - - client.send_message(message.channel, 'Hello') - -After: - -.. code-block:: python3 - - yield from client.send_message(message.channel, 'Hello') - - # or in python 3.5+ - await client.send_message(message.channel, 'Hello') - -In order for you to ``yield from`` or ``await`` a coroutine then your function must be decorated -with ``@asyncio.coroutine`` or ``async def``. - -Iterables ----------- - -For performance reasons, many of the internal data structures were changed into a dictionary to support faster -lookup. As a consequence, this meant that some lists that were exposed via the API have changed into iterables -and not sequences. In short, this means that certain attributes now only support iteration and not any of the -sequence functions. - -The affected attributes are as follows: - -- :attr:`Client.servers` -- :attr:`Client.private_channels` -- :attr:`Server.channels` -- :attr:`Server.members` - -Some examples of previously valid behaviour that is now invalid - -.. code-block:: python3 - - if client.servers[0].name == "test": - # do something - -Since they are no longer :obj:`list`\s, they no longer support indexing or any operation other than iterating. -In order to get the old behaviour you should explicitly cast it to a list. - -.. code-block:: python3 - - servers = list(client.servers) - # work with servers - -.. warning:: - - Due to internal changes of the structure, the order you receive the data in - is not in a guaranteed order. - -Enumerations ------------- - -Due to dropping support for versions lower than Python 3.4.2, the library can now use -:doc:`py:library/enum` in places where it makes sense. - -The common places where this was changed was in the server region, member status, and channel type. - -Before: - -.. code-block:: python3 - - server.region == 'us-west' - member.status == 'online' - channel.type == 'text' - -After: - -.. code-block:: python3 - - server.region == discord.ServerRegion.us_west - member.status = discord.Status.online - channel.type == discord.ChannelType.text - -The main reason for this change was to reduce the use of finicky strings in the API as this -could give users a false sense of power. More information can be found in the :ref:`discord-api-enums` page. - -Properties ------------ - -A lot of function calls that returned constant values were changed into Python properties for ease of use -in format strings. - -The following functions were changed into properties: - -+----------------------------------------+--------------------------------------+ -| Before | After | -+----------------------------------------+--------------------------------------+ -| ``User.avatar_url()`` | :attr:`User.avatar_url` | -+----------------------------------------+--------------------------------------+ -| ``User.mention()`` | :attr:`User.mention` | -+----------------------------------------+--------------------------------------+ -| ``Channel.mention()`` | :attr:`Channel.mention` | -+----------------------------------------+--------------------------------------+ -| ``Channel.is_default_channel()`` | :attr:`Channel.is_default` | -+----------------------------------------+--------------------------------------+ -| ``Role.is_everyone()`` | :attr:`Role.is_everyone` | -+----------------------------------------+--------------------------------------+ -| ``Server.get_default_role()`` | :attr:`Server.default_role` | -+----------------------------------------+--------------------------------------+ -| ``Server.icon_url()`` | :attr:`Server.icon_url` | -+----------------------------------------+--------------------------------------+ -| ``Server.get_default_channel()`` | :attr:`Server.default_channel` | -+----------------------------------------+--------------------------------------+ -| ``Message.get_raw_mentions()`` | :attr:`Message.raw_mentions` | -+----------------------------------------+--------------------------------------+ -| ``Message.get_raw_channel_mentions()`` | :attr:`Message.raw_channel_mentions` | -+----------------------------------------+--------------------------------------+ - -Member Management -------------------- - -Functions that involved banning and kicking were changed. - -+--------------------------------+--------------------------+ -| Before | After | -+--------------------------------+--------------------------+ -| ``Client.ban(server, user)`` | ``Client.ban(member)`` | -+--------------------------------+--------------------------+ -| ``Client.kick(server, user)`` | ``Client.kick(member)`` | -+--------------------------------+--------------------------+ - -.. migrating-renames: - -Renamed Functions -------------------- - -Functions have been renamed. - -+------------------------------------+-------------------------------------------+ -| Before | After | -+------------------------------------+-------------------------------------------+ -| ``Client.set_channel_permissions`` | :meth:`Client.edit_channel_permissions` | -+------------------------------------+-------------------------------------------+ - -All the :class:`Permissions` related attributes have been renamed and the `can_` prefix has been -dropped. So for example, ``can_manage_messages`` has become ``manage_messages``. - -Forced Keyword Arguments -------------------------- - -Since 3.0+ of Python, we can now force questions to take in forced keyword arguments. A keyword argument is when you -explicitly specify the name of the variable and assign to it, for example: ``foo(name='test')``. Due to this support, -some functions in the library were changed to force things to take said keyword arguments. This is to reduce errors of -knowing the argument order and the issues that could arise from them. - -The following parameters are now exclusively keyword arguments: - -- :meth:`Client.send_message` - - ``tts`` -- :meth:`Client.logs_from` - - ``before`` - - ``after`` -- :meth:`Client.edit_channel_permissions` - - ``allow`` - - ``deny`` - -In the documentation you can tell if a function parameter is a forced keyword argument if it is after ``\*,`` -in the function signature. - -.. _migrating-running: - -Running the Client --------------------- - -In earlier versions of discord.py, ``client.run()`` was a blocking call to the main thread -that called it. In v0.10.0 it is still a blocking call but it handles the event loop for you. -However, in order to do that you must pass in your credentials to :meth:`Client.run`. - -Basically, before: - -.. code-block:: python3 - - client.login('token') - client.run() - -After: - -.. code-block:: python3 - - client.run('token') - -.. warning:: - - Like in the older ``Client.run`` function, the newer one must be the one of - the last functions to call. This is because the function is **blocking**. Registering - events or doing anything after :meth:`Client.run` will not execute until the function - returns. - -This is a utility function that abstracts the event loop for you. There's no need for -the run call to be blocking and out of your control. Indeed, if you want control of the -event loop then doing so is quite straightforward: - -.. code-block:: python3 - - import discord - import asyncio - - client = discord.Client() - - @asyncio.coroutine - def main_task(): - yield from client.login('token') - yield from client.connect() - - loop = asyncio.get_event_loop() - try: - loop.run_until_complete(main_task()) - except: - loop.run_until_complete(client.logout()) - finally: - loop.close() - - - diff --git a/docs/quickstart.rst b/docs/quickstart.rst index 86c55f2660..ca4edbae9e 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -111,7 +111,7 @@ Let's look at the differences compared to the previous example, step-by-step: If you omit it, the command will be globally available, and may take up to an hour to register. 4. Afterwards, we trigger a response to the slash command in the form of a text reply. Please note that all slash commands must have some form of response, otherwise they will fail. -6. Finally, we, once again, run the bot with our login token. +5. Finally, we, once again, run the bot with our login token. Congratulations! Now you have created your first slash command! diff --git a/docs/version_guarantees.rst b/docs/version_guarantees.rst index 7909bd6b5d..076d8f26eb 100644 --- a/docs/version_guarantees.rst +++ b/docs/version_guarantees.rst @@ -1,9 +1,9 @@ .. _version_guarantees: Version Guarantees -===================== +================== -The library follows a `semantic versioning principle `_ which means that the major version is updated every time there is an incompatible API change. However due to the lack of guarantees on the Discord side when it comes to breaking changes along with the fairly dynamic nature of Python it can be hard to discern what can be considered a breaking change and what isn't. +The library follows the `semantic versioning principle `_ which means that the major version is updated every time there is an incompatible API change. However due to the lack of guarantees on the Discord side when it comes to breaking changes along with the fairly dynamic nature of Python it can be hard to discern what can be considered a breaking change and what isn't. The first thing to keep in mind is that breaking changes only apply to **publicly documented functions and classes**. If it's not listed in the documentation here then it is not part of the public API and is thus bound to change. This includes attributes that start with an underscore or functions without an underscore that are not documented. @@ -12,19 +12,18 @@ The first thing to keep in mind is that breaking changes only apply to **publicl The examples below are non-exhaustive. Examples of Breaking Changes ------------------------------- +---------------------------- - Changing the default parameter value to something else. - Renaming a function without an alias to an old function. - Adding or removing parameters to an event. Examples of Non-Breaking Changes ----------------------------------- +-------------------------------- - Adding or removing private underscored attributes. - Adding an element into the ``__slots__`` of a data class. - Changing the behaviour of a function to fix a bug. - Changes in the documentation. - Modifying the internal HTTP handling. -- Upgrading the dependencies to a new version, major or otherwise. - +- Upgrading the dependencies to a new version, major or otherwise. \ No newline at end of file diff --git a/docs/whats_new.rst b/docs/whats_new.rst index d9b3e836fc..210cb535d2 100644 --- a/docs/whats_new.rst +++ b/docs/whats_new.rst @@ -6,7 +6,7 @@ .. _whats_new: Changelog -============ +========= This page keeps a detailed human friendly rendering of what's new and changed in specific versions. @@ -14,10 +14,10 @@ in specific versions. .. _vp1p7p3: v1.7.3 --------- +------ Bug Fixes -~~~~~~~~~~ +~~~~~~~~~ - Fix a crash involving guild uploaded stickers - Fix :meth:`DMChannel.permissions_for` not having :attr:`Permissions.read_messages` set. @@ -28,7 +28,7 @@ v1.7.2 ------- Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - Fix ``fail_if_not_exists`` causing certain message references to not be usable within :meth:`abc.Messageable.send` and :meth:`Message.reply` (:issue:`6726`) - Fix :meth:`Guild.chunk` hanging when the user left the guild. (:issue:`6730`) @@ -40,14 +40,14 @@ v1.7.1 ------- Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - |commands| Fix :meth:`Cog.has_error_handler ` not working as intended. .. _vp1p7p0: v1.7.0 --------- +------ This version is mainly for improvements and bug fixes. This is more than likely the last major version in the 1.x series. Work after this will be spent on v2.0. As a result, **this is the last version to support Python 3.5**. @@ -56,7 +56,7 @@ Likewise, **this is the last version to support user bots**. Development of v2.0 will have breaking changes and support for newer API features. New Features -~~~~~~~~~~~~~~ +~~~~~~~~~~~~ - Add support for stage channels via :class:`StageChannel` (:issue:`6602`, :issue:`6608`) - Add support for :attr:`MessageReference.fail_if_not_exists` (:issue:`6484`) @@ -99,7 +99,7 @@ New Features - |commands| Allow relative paths when loading extensions via a ``package`` keyword argument (:issue:`2465`, :issue:`6445`) Bug Fixes -~~~~~~~~~~ +~~~~~~~~~ - Fix mentions not working if ``mention_author`` is passed in :meth:`abc.Messageable.send` without :attr:`Client.allowed_mentions` set (:issue:`6192`, :issue:`6458`) - Fix user created instances of :class:`CustomActivity` triggering an error (:issue:`4049`) @@ -121,7 +121,7 @@ Bug Fixes - |commands| Group signatures now properly show up in :attr:`Command.signature ` (:issue:`6529`, :issue:`6530`) Miscellaneous -~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ - User endpoints and all userbot related functionality has been deprecated and will be removed in the next major version of the library. - :class:`Permission` class methods were updated to match the UI of the Discord client (:issue:`6476`) @@ -130,12 +130,12 @@ Miscellaneous .. _vp1p6p0: v1.6.0 --------- +------ This version comes with support for replies and stickers. New Features -~~~~~~~~~~~~~~ +~~~~~~~~~~~~ - An entirely redesigned documentation. This was the cumulation of multiple months of effort. - There's now a dark theme, feel free to navigate to the cog on the screen to change your setting, though this should be automatic. @@ -172,7 +172,7 @@ New Features Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - Raise :exc:`DiscordServerError` when reaching 503s repeatedly (:issue:`6044`) - Fix :exc:`AttributeError` when :meth:`Client.fetch_template` is called (:issue:`5986`) @@ -188,7 +188,7 @@ Bug Fixes - |commands| Properly cleanup lingering commands when a conflicting alias is found when adding commands (:issue:`6217`) Miscellaneous -~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ - ``ffmpeg`` spawned processes no longer open a window in Windows (:issue:`6038`) - Update dependencies to allow the library to work on Python 3.9+ without requiring build tools. (:issue:`5984`, :issue:`5970`) @@ -205,7 +205,7 @@ v1.5.1 ------- Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - Fix :func:`utils.escape_markdown` not escaping quotes properly (:issue:`5897`) - Fix :class:`Message` not being hashable (:issue:`5901`, :issue:`5866`) @@ -217,7 +217,7 @@ Bug Fixes - Ensure that the bot's own member is not evicted from the cache (:issue:`5949`) Miscellaneous -~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ - Members are now loaded during ``GUILD_MEMBER_UPDATE`` events if :attr:`MemberCacheFlags.joined` is set. (:issue:`5930`) - |commands| :class:`MemberConverter ` now properly lazily fetches members if not available from cache. @@ -227,18 +227,18 @@ Miscellaneous .. _vp1p5p0: v1.5.0 --------- +------ This version came with forced breaking changes that Discord is requiring all bots to go through on October 7th. It is highly recommended to read the documentation on intents, :ref:`intents_primer`. API Changes -~~~~~~~~~~~~~ +~~~~~~~~~~~ - Members and presences will no longer be retrieved due to an API change. See :ref:`privileged_intents` for more info. - As a consequence, fetching offline members is disabled if the members intent is not enabled. New Features -~~~~~~~~~~~~~~ +~~~~~~~~~~~~ - Support for gateway intents, passed via ``intents`` in :class:`Client` using :class:`Intents`. - Add :attr:`VoiceRegion.south_korea` (:issue:`5233`) @@ -258,7 +258,7 @@ New Features - |commands| Add support for ``require_var_positional`` for :class:`Command` (:issue:`5793`) Bug Fixes -~~~~~~~~~~ +~~~~~~~~~ - Fix issue with :meth:`Guild.by_category` not showing certain channels. - Fix :attr:`abc.GuildChannel.permissions_synced` always being ``False`` (:issue:`5772`) @@ -273,7 +273,7 @@ Bug Fixes - |tasks| Fix tasks extending the next iteration on handled exceptions (:issue:`5762`, :issue:`5763`) Miscellaneous -~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ - Webhook requests are now logged (:issue:`5798`) - Remove caching layer from :attr:`AutoShardedClient.shards`. This was causing issues if queried before launching shards. @@ -287,12 +287,12 @@ Miscellaneous .. _vp1p4p2: v1.4.2 --------- +------ This is a maintenance release with backports from :ref:`vp1p5p0`. Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - Fix issue with :meth:`Guild.by_category` not showing certain channels. - Fix :attr:`abc.GuildChannel.permissions_synced` always being ``False`` (:issue:`5772`) @@ -307,7 +307,7 @@ Bug Fixes - |tasks| Fix tasks extending the next iteration on handled exceptions (:issue:`5762`, :issue:`5763`) Miscellaneous -~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ - Remove caching layer from :attr:`AutoShardedClient.shards`. This was causing issues if queried before launching shards. - |tasks| Lazily fetch the event loop to prevent surprises when changing event loop policy (:issue:`5808`) @@ -315,10 +315,10 @@ Miscellaneous .. _vp1p4p1: v1.4.1 --------- +------ Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - Properly terminate the connection when :meth:`Client.close` is called (:issue:`5207`) - Fix error being raised when clearing embed author or image when it was already cleared (:issue:`5210`, :issue:`5212`) @@ -327,12 +327,12 @@ Bug Fixes .. _vp1p4p0: v1.4.0 --------- +------ Another version with a long development time. Features like Intents are slated to be released in a v1.5 release. Thank you for your patience! New Features -~~~~~~~~~~~~~~ +~~~~~~~~~~~~ - Add support for :class:`AllowedMentions` to have more control over what gets mentioned. - This can be set globally through :attr:`Client.allowed_mentions` @@ -389,7 +389,7 @@ New Features Bug Fixes -~~~~~~~~~~~~ +~~~~~~~~~ - Fix issue with :attr:`PartialEmoji.url` reads leading to a failure (:issue:`4015`, :issue:`4016`) - Allow :meth:`abc.Messageable.history` to take a limit of ``1`` even if ``around`` is passed (:issue:`4019`) @@ -417,7 +417,7 @@ Bug Fixes Miscellaneous -~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ - The :attr:`Member.roles` cache introduced in v1.3 was reverted due to issues caused (:issue:`4087`, :issue:`4157`) - :class:`Webhook` objects are now comparable and hashable (:issue:`4182`) @@ -437,20 +437,20 @@ Miscellaneous .. _vp1p3p4: v1.3.4 --------- +------ Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - Fix an issue with channel overwrites causing multiple issues including crashes (:issue:`5109`) .. _vp1p3p3: v1.3.3 --------- +------ Bug Fixes -~~~~~~~~~~~~ +~~~~~~~~~ - Change default WS close to 4000 instead of 1000. - The previous close code caused sessions to be invalidated at a higher frequency than desired. @@ -460,12 +460,12 @@ Bug Fixes .. _vp1p3p2: v1.3.2 ---------- +------ Another minor bug fix release. Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - Higher the wait time during the ``GUILD_CREATE`` stream before ``on_ready`` is fired for :class:`AutoShardedClient`. - :func:`on_voice_state_update` now uses the inner ``member`` payload which should make it more reliable. @@ -478,18 +478,18 @@ Bug Fixes .. _vp1p3p1: v1.3.1 --------- +------ Minor bug fix release. Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - Fix fetching invites in guilds that the user is not in. - Fix the channel returned from :meth:`Client.fetch_channel` raising when sending messages. (:issue:`2531`) Miscellaneous -~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ - Fix compatibility warnings when using the Python 3.9 alpha. - Change the unknown event logging from WARNING to DEBUG to reduce noise. @@ -497,12 +497,12 @@ Miscellaneous .. _vp1p3p0: v1.3.0 --------- +------ This version comes with a lot of bug fixes and new features. It's been in development for a lot longer than was anticipated! New Features -~~~~~~~~~~~~~~ +~~~~~~~~~~~~ - Add :meth:`Guild.fetch_members` to fetch members from the HTTP API. (:issue:`2204`) - Add :meth:`Guild.fetch_roles` to fetch roles from the HTTP API. (:issue:`2208`) @@ -568,7 +568,7 @@ New Features - |tasks| Add :attr:`Loop.next_iteration <.ext.tasks.Loop.next_iteration>` property. (:issue:`2305`) Bug Fixes -~~~~~~~~~~ +~~~~~~~~~ - Fix issue with permission resolution sometimes failing for guilds with no owner. - Tokens are now stripped upon use. (:issue:`2135`) @@ -592,7 +592,7 @@ Bug Fixes - |commands| :meth:`Context.send_help <.ext.commands.Context.send_help>` now properly propagates to the :meth:`HelpCommand.on_help_command_error <.ext.commands.HelpCommand.on_help_command_error>` handler. Miscellaneous -~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ - The library now fully supports Python 3.8 without warnings. - Bump the dependency of ``websockets`` to 8.0 for those who can use it. (:issue:`2453`) @@ -616,20 +616,20 @@ Miscellaneous .. _vp1p2p5: v1.2.5 --------- +------ Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - Fix a bug that caused crashes due to missing ``animated`` field in Emoji structures in reactions. .. _vp1p2p4: v1.2.4 --------- +------ Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - Fix a regression when :attr:`Message.channel` would be ``None``. - Fix a regression where :attr:`Message.edited_at` would not update during edits. @@ -641,10 +641,10 @@ Bug Fixes .. _vp1p2p3: v1.2.3 --------- +------ Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - Fix an AttributeError when accessing :attr:`Member.premium_since` in :func:`on_member_update`. (:issue:`2213`) - Handle :exc:`asyncio.CancelledError` in :meth:`abc.Messageable.typing` context manager. (:issue:`2218`) @@ -655,20 +655,20 @@ Bug Fixes .. _vp1p2p2: v1.2.2 --------- +------ Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - Audit log related attribute access have been fixed to not error out when they shouldn't have. .. _vp1p2p1: v1.2.1 --------- +------ Bug Fixes -~~~~~~~~~~~ +~~~~~~~~~ - :attr:`User.avatar_url` and related attributes no longer raise an error. - More compatibility shims with the ``enum.Enum`` code. @@ -676,12 +676,12 @@ Bug Fixes .. _vp1p2p0: v1.2.0 --------- +------ This update mainly brings performance improvements and various nitro boosting attributes (referred to in the API as "premium guilds"). New Features -~~~~~~~~~~~~~~ +~~~~~~~~~~~~ - Add :attr:`Guild.premium_tier` to query the guild's current nitro boost level. - Add :attr:`Guild.emoji_limit`, :attr:`Guild.bitrate_limit`, :attr:`Guild.filesize_limit` to query the new limits of a guild when taking into consideration boosting. @@ -822,13 +822,11 @@ Bug Fixes - Fix some issues with loop cleanup that some users experienced on Linux machines. - Fix voice handshake race condition (:issue:`2056`, :issue:`2063`) -.. _vp1p0p0: - v1.0.0 -------- The changeset for this version are too big to be listed here, for more information please -see :ref:`the migrating page `. +see :ref:`the migrating page `. .. _vp0p16p6: @@ -1127,7 +1125,7 @@ For the command extension, the following bug fixes apply: v0.10.0 ------- -For breaking changes, see :ref:`migrating-to-async`. The breaking changes listed there will not be enumerated below. Since this version is rather a big departure from v0.9.2, this change log will be non-exhaustive. +For breaking changes, see `0.10.0 migration `_. The breaking changes listed there will not be enumerated below. Since this version is rather a big departure from v0.9.2, this change log will be non-exhaustive. New Features ~~~~~~~~~~~~~ diff --git a/examples/app_commands/info.py b/examples/app_commands/info.py new file mode 100644 index 0000000000..36b543f885 --- /dev/null +++ b/examples/app_commands/info.py @@ -0,0 +1,47 @@ +import discord +from discord.ext import commands + +# imports + +intents = discord.Intents( + guilds=True, + members=True, + messages=True, +) + +bot = commands.Bot( + command_prefix="/", + description="An example to showcase how to extract info about users", + intents=intents, +) + + +@bot.slash_command(name="userinfo", description="gets the info of a user") +async def info(ctx, user: discord.Member = None): + user = ( + user or ctx.author + ) # if no user is provided it'll use the the author of the message + e = discord.Embed() + e.set_author(name=user.name) + e.add_field(name="ID", value=user.id, inline=False) # user ID + e.add_field( + name="Joined", + value=discord.utils.format_dt(round(user.joined_at.timestamp()), "F"), + inline=False, + ) # When the user joined the server + e.add_field( + name="Created", + value=discord.utils.format_dt(round(user.created_at.timestamp()), "F"), + inline=False, + ) # When the user's account was created + colour = user.colour + if colour.value: # if user has a role with a color + e.colour = colour + + if isinstance(user, discord.User): # checks if the user in the server + e.set_footer(text="This member is not in this server.") + + await ctx.respond(embed=e) # sends the embed + + +bot.run("your token") diff --git a/examples/app_commands/slash_cog.py b/examples/app_commands/slash_cog.py index b247ab723a..06c11a30ee 100644 --- a/examples/app_commands/slash_cog.py +++ b/examples/app_commands/slash_cog.py @@ -1,4 +1,5 @@ -from discord.commands import slash_command # Importing the decorator that makes slash commands. +from discord.commands import \ + slash_command # Importing the decorator that makes slash commands. from discord.ext import commands diff --git a/examples/app_commands/slash_cog_groups.py b/examples/app_commands/slash_cog_groups.py index 9f1f5ebc82..13b5eab018 100644 --- a/examples/app_commands/slash_cog_groups.py +++ b/examples/app_commands/slash_cog_groups.py @@ -1,5 +1,5 @@ import discord -from discord.commands import SlashCommandGroup, CommandPermission +from discord.commands import CommandPermission, SlashCommandGroup from discord.ext import commands bot = discord.Bot(debug_guild=..., owner_id=...) # main file diff --git a/examples/app_commands/slash_options.py b/examples/app_commands/slash_options.py index eb507b74ab..5e41f390c6 100644 --- a/examples/app_commands/slash_options.py +++ b/examples/app_commands/slash_options.py @@ -1,20 +1,33 @@ import discord from discord.commands import Option -bot = discord.Bot() +bot = discord.Bot() # If you use commands.Bot, @bot.slash_command should be used for # slash commands. You can use @bot.slash_command with discord.Bot as well @bot.slash_command(guild_ids=[...]) async def hello( - ctx, + ctx: discord.ApplicationContext, name: Option(str, "Enter your name"), gender: Option(str, "Choose your gender", choices=["Male", "Female", "Other"]), - age: Option(int, "Enter your age", required=False, default=18), + age: Option(int, "Enter your age", min_value=1, max_value=99, default=18) + # passing the default value makes an argument optional + # you also can create optional argument using: + # age: Option(int, "Enter your age") = 18 ): - await ctx.respond(f"Hello {name}") + await ctx.respond(f"Hello {name}! Your gender is {gender} and you are {age} years old.") + + +@bot.slash_command(guild_ids=[...]) +async def channel( + ctx: discord.ApplicationContext, + channel: Option([discord.TextChannel, discord.VoiceChannel], "Select a channel") + # you can specify allowed channel types by passing a list of them like: [discord.TextChannel, discord.VoiceChannel] +): + await ctx.respond(f"Hi! You selected {channel.mention} channel.") + bot.run("TOKEN") diff --git a/examples/audio_recording.py b/examples/audio_recording.py new file mode 100644 index 0000000000..29a5211192 --- /dev/null +++ b/examples/audio_recording.py @@ -0,0 +1,76 @@ +import os +import discord +from discord.commands import Option, ApplicationContext + +bot = discord.Bot(debug_guilds=[...]) +bot.connections = {} + + +@bot.command() +async def start(ctx: ApplicationContext, + encoding: Option(str, choices=["mp3", "wav", "pcm", "ogg", "mka", "mkv", "mp4", "m4a", ])): + """ + Record your voice! + """ + + voice = ctx.author.voice + + if not voice: + return await ctx.respond("You're not in a vc right now") + + vc = await voice.channel.connect() + bot.connections.update({ctx.guild.id: vc}) + + if encoding == "mp3": + sink = discord.sinks.MP3Sink() + elif encoding == "wav": + sink = discord.sinks.WaveSink() + elif encoding == "pcm": + sink = discord.sinks.PCMSink() + elif encoding == "ogg": + sink = discord.sinks.OGGSink() + elif encoding == "mka": + sink = discord.sinks.MKASink() + elif encoding == "mkv": + sink = discord.sinks.MKVSink() + elif encoding == "mp4": + sink = discord.sinks.MP4Sink() + elif encoding == "m4a": + sink = discord.sinks.M4ASink() + else: + return await ctx.respond("Invalid encoding.") + + vc.start_recording( + sink, + finished_callback, + ctx.channel, + ) + + await ctx.respond("The recording has started!") + + +async def finished_callback(sink, channel: discord.TextChannel, *args): + recorded_users = [ + f"<@{user_id}>" + for user_id, audio in sink.audio_data.items() + ] + await sink.vc.disconnect() + files = [discord.File(audio.file, f"{user_id}.{sink.encoding}") for user_id, audio in sink.audio_data.items()] + await channel.send(f"Finished! Recorded audio for {', '.join(recorded_users)}.", files=files) + + +@bot.command() +async def stop(ctx): + """ + Stop recording. + """ + if ctx.guild.id in bot.connections: + vc = bot.connections[ctx.guild.id] + vc.stop_recording() + del bot.connections[ctx.guild.id] + await ctx.delete() + else: + await ctx.respond("Not recording in this guild.") + + +bot.run("TOKEN") diff --git a/examples/background_task.py b/examples/background_task.py index 347687c543..3111ace736 100644 --- a/examples/background_task.py +++ b/examples/background_task.py @@ -6,25 +6,25 @@ class MyClient(discord.Client): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - # an attribute we can access from our task + # An attribute we can access from our task self.counter = 0 - # start the task to run in the background + # Start the task to run in the background self.my_background_task.start() async def on_ready(self): print(f"Logged in as {self.user} (ID: {self.user.id})") print("------") - @tasks.loop(seconds=60) # task runs every 60 seconds + @tasks.loop(seconds=60) # Task that runs every 60 seconds async def my_background_task(self): - channel = self.get_channel(1234567) # channel ID goes here + channel = self.get_channel(1234567) # your Channel ID goes here self.counter += 1 await channel.send(self.counter) @my_background_task.before_loop async def before_my_task(self): - await self.wait_until_ready() # wait until the bot logs in + await self.wait_until_ready() # Wait until the bot logs in client = MyClient() diff --git a/examples/background_task_asyncio.py b/examples/background_task_asyncio.py index d1c4c3666c..40bbc6feaf 100644 --- a/examples/background_task_asyncio.py +++ b/examples/background_task_asyncio.py @@ -7,7 +7,7 @@ class MyClient(discord.Client): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - # create the background task and run it in the background + # Create the background task and run it in the background self.bg_task = self.loop.create_task(self.my_background_task()) async def on_ready(self): @@ -17,11 +17,11 @@ async def on_ready(self): async def my_background_task(self): await self.wait_until_ready() counter = 0 - channel = self.get_channel(1234567) # channel ID goes here + channel = self.get_channel(1234567) # Your channel ID goes here while not self.is_closed(): counter += 1 await channel.send(counter) - await asyncio.sleep(60) # task runs every 60 seconds + await asyncio.sleep(60) # This asyncio task runs every 60 seconds client = MyClient() diff --git a/examples/basic_voice.py b/examples/basic_voice.py index 56b156a756..1cc5f9b863 100644 --- a/examples/basic_voice.py +++ b/examples/basic_voice.py @@ -20,7 +20,7 @@ "quiet": True, "no_warnings": True, "default_search": "auto", - "source_address": "0.0.0.0", # bind to ipv4 since ipv6 addresses cause issues sometimes + "source_address": "0.0.0.0", # Bind to ipv4 since ipv6 addresses cause issues at certain times } ffmpeg_options = {"options": "-vn"} @@ -45,7 +45,7 @@ async def from_url(cls, url, *, loop=None, stream=False): ) if "entries" in data: - # take first item from a playlist + # Takes the first item from a playlist data = data["entries"][0] filename = data["url"] if stream else ytdl.prepare_filename(data) diff --git a/examples/converters.py b/examples/converters.py index 902d4ebeb1..c121ef275c 100644 --- a/examples/converters.py +++ b/examples/converters.py @@ -14,18 +14,18 @@ @bot.command() async def userinfo(ctx: commands.Context, user: discord.User): # In the command signature above, you can see that the `user` - # parameter is typehinted to `discord.User`. This means that - # during command invocation we will attempt to convert - # the value passed as `user` to a `discord.User` instance. + # Parameter is typehinted to `discord.User`. This means that + # During command invocation we will attempt to convert + # The value passed as `user` to a `discord.User` instance. # The documentation notes what can be converted, in the case of `discord.User` - # you pass an ID, mention or username (discrim optional) + # You pass an ID, mention or username (discrim optional) # E.g. 80088516616269824, @Danny or Danny#0007 # NOTE: typehinting acts as a converter within the `commands` framework only. # In standard Python, it is use for documentation and IDE assistance purposes. # If the conversion is successful, we will have a `discord.User` instance - # and can do the following: + # And can do the following: user_id = user.id username = user.name avatar = user.avatar.url @@ -34,8 +34,8 @@ async def userinfo(ctx: commands.Context, user: discord.User): @userinfo.error async def userinfo_error(ctx: commands.Context, error: commands.CommandError): - # if the conversion above fails for any reason, it will raise `commands.BadArgument` - # so we handle this in this error handler: + # If the conversion above fails for any reason, it will raise `commands.BadArgument` + # So we handle this in this error handler: if isinstance(error, commands.BadArgument): return await ctx.send("Couldn't find that user.") @@ -46,8 +46,8 @@ async def convert(self, ctx: commands.Context, argument: str): # In this example we have made a custom converter. # This checks if an input is convertible to a # `discord.Member` or `discord.TextChannel` instance from the - # input the user has given us using the pre-existing converters - # that the library provides. + # Input the user has given us using the pre-existing converters + # That the library provides. member_converter = commands.MemberConverter() try: @@ -70,7 +70,7 @@ async def convert(self, ctx: commands.Context, argument: str): return channel # If the value could not be converted we can raise an error - # so our error handlers can deal with it in one place. + # So our error handlers can deal with it in one place. # The error has to be CommandError derived, so BadArgument works fine here. raise commands.BadArgument( f'No Member or TextChannel could be converted from "{argument}"' @@ -81,8 +81,8 @@ async def convert(self, ctx: commands.Context, argument: str): async def notify(ctx: commands.Context, target: ChannelOrMemberConverter): # This command signature utilises the custom converter written above # What will happen during command invocation is that the `target` above will be passed to - # the `argument` parameter of the `ChannelOrMemberConverter.convert` method and - # the conversion will go through the process defined there. + # The `argument` parameter of the `ChannelOrMemberConverter.convert` method and + # The conversion will go through the process defined there. await target.send(f"Hello, {target.name}!") @@ -95,9 +95,9 @@ async def ignore( # The `commands` framework attempts a conversion of each type in this Union *in order*. # So, it will attempt to convert whatever is passed to `target` to a `discord.Member` instance. # If that fails, it will attempt to convert it to a `discord.TextChannel` instance. - # See: https://pycord.readthedocs.io/en/latest/ext/commands/commands.html#typing-union + # See: https://docs.pycord.dev/en/latest/ext/commands/commands.html#typing-union # NOTE: If a Union typehint converter fails it will raise `commands.BadUnionArgument` - # instead of `commands.BadArgument`. + # Instead of `commands.BadArgument`. # To check the resulting type, `isinstance` is used if isinstance(target, discord.Member): @@ -106,7 +106,7 @@ async def ignore( ) elif isinstance( target, discord.TextChannel - ): # this could be an `else` but for completeness' sake. + ): # This could be an `else` but for completeness' sake. await ctx.send( f"Channel found: {target.mention}, adding it to the ignore list." ) @@ -117,7 +117,7 @@ async def ignore( async def multiply(ctx: commands.Context, number: int, maybe: bool): # We want an `int` and a `bool` parameter here. # `bool` is a slightly special case, as shown here: - # See: https://pycord.readthedocs.io/en/latest/ext/commands/commands.html#bool + # See: https://docs.pycord.dev/en/latest/ext/commands/commands.html#bool if maybe is True: return await ctx.send(number * 2) diff --git a/examples/cooldown.py b/examples/cooldown.py index 7193561727..6e94e903aa 100644 --- a/examples/cooldown.py +++ b/examples/cooldown.py @@ -1,13 +1,14 @@ import discord from discord.ext import commands - bot = commands.Bot() # an application command with cooldown @bot.slash_command() -@commands.cooldown(1, 5, commands.BucketType.user) # the command can only be used once in 5 seconds +@commands.cooldown( + 1, 5, commands.BucketType.user +) # the command can only be used once in 5 seconds async def slash(ctx): await ctx.respond("You can't use this command again in 5 seconds.") diff --git a/examples/custom_context.py b/examples/custom_context.py index 5fa270a109..3e0916c186 100644 --- a/examples/custom_context.py +++ b/examples/custom_context.py @@ -4,30 +4,47 @@ from discord.ext import commands -class MyContext(commands.Context): +class MyContext(commands.Context): # custom context async def tick(self, value): - # reacts to the message with an emoji - # depending on whether value is True or False - # if its True, it'll add a green check mark - # otherwise, it'll add a red cross mark + # Reacts to the message with an emoji + # Depending on whether value is True or False + # If its True, it'll add a green check mark + # Otherwise, it'll add a red cross mark emoji = "\N{WHITE HEAVY CHECK MARK}" if value else "\N{CROSS MARK}" try: - # this will react to the command author's message + # This will react to the command author's message await self.message.add_reaction(emoji) except discord.HTTPException: - # sometimes errors occur during this, for example - # maybe you don't have permission to do that - # we don't mind, so we can just ignore them + # Sometimes errors occur during this, for example + # Maybe you don't have permission to do that + # We don't mind, so we can just ignore them + pass + + +# you can subclass discord.ApplicationContext to create custom application context if needed +class MyApplicationContext(discord.ApplicationContext): # custom application context + async def success(self, message): + try: + await self.respond(embed=discord.Embed( # respond with a green embed with "Success" title + title="Success", + description=message, + colour=discord.Colour.green() + )) + except discord.HTTPException: # ignore exceptions pass class MyBot(commands.Bot): async def get_context(self, message, *, cls=MyContext): - # when you override this method, you pass your new Context - # subclass to the super() method, which tells the bot to - # use the new MyContext class + # When you override this method, you pass your new Context + # Subclass to the super() method, which tells the bot to + # Use the new MyContext class return await super().get_context(message, cls=cls) + async def get_application_context(self, interaction, cls=MyApplicationContext): + # the same stuff for custom application context + return await super().get_application_context(interaction, cls=cls) + bot = MyBot(command_prefix="!") @@ -38,16 +55,25 @@ async def guess(ctx, number: int): # explained in a previous example, this gives you # a random number from 1-6 value = random.randint(1, 6) - # with your new helper function, you can add a - # green check mark if the guess was correct, - # or a red cross mark if it wasn't + # With your new helper function, you can add a + # Green check mark if the guess was correct, + # Or a red cross mark if it wasn't await ctx.tick(number == value) +@bot.slash_command(guild_ids=[...]) +async def slash_guess(ctx, number: int): + """Guess a random number from 1 to 6.""" + value = random.randint(1, 6) + if number == value: + await ctx.success("Congratulations! You guessed the number.") # use the new helper function + else: + await ctx.respond("You are wrong! Try again.") + + # IMPORTANT: You shouldn't hard code your token -# these are very important, and leaking them can +# These are very important, and leaking them can # let people do very malicious things with your # bot. Try to use a file or something to keep # them private, and don't commit it to GitHub -token = "your token here" -bot.run(token) +bot.run("TOKEN") diff --git a/examples/interactionsBot/bot.py b/examples/interactionsBot/bot.py new file mode 100644 index 0000000000..3e7cf90525 --- /dev/null +++ b/examples/interactionsBot/bot.py @@ -0,0 +1,44 @@ +""" +with slash commands user permission it's better to check with property +""" + +import os + +import discord +from discord.ext import commands +from discord.ui.view import View + + +# inherits commands.Bot +class BotClass(discord.Bot): + def __init__(self): + super().__init__() + self.persistent_views_added = False + + # For making the intreaction Button works even after restart. + async def on_ready(self): + if not self.persistent_views_added: + + # You can add classes to the to make it work after restart + # self.add_view() + + print(f"Connected as {self.user} with ID {self.user.id}") + print("------") + self.persistent_views_added = True + + +bot = BotClass() + +for filename in os.listdir("./cogs"): + if filename.endswith(".py"): + bot.load_extension(f"cogs.{filename[:-3]}") + +# using SlashCommandGroup +import cog_group + +cog_group.addition() +# subtraction method is called last because of inside it. +# calling subtraction first then addition would most likely not work and won't register addition slash command. +cog_group.subtraction(bot) + +bot.run("token") diff --git a/examples/interactionsBot/cog_group/__init__.py b/examples/interactionsBot/cog_group/__init__.py new file mode 100644 index 0000000000..25531ed021 --- /dev/null +++ b/examples/interactionsBot/cog_group/__init__.py @@ -0,0 +1,37 @@ +""" +This init file will be called in bot.py before or after of cog import. +client: or should be present for the last method defined here +for method. + +do note that the client.add_application_command should only be called in only one method and that method +should be called in the very last in the bot.py +""" + +import discord +from discord.commands.commands import Option, SlashCommandGroup +from discord.ext.commands.context import Context + +MathGroup = SlashCommandGroup("math", "maths!.", guild_ids=[...]) + + +def addition(): # you can use whatever parameters needed for you command. + # the main decorator will be called inside the method. + @MathGroup.command(name="add", guild_ids=[...], description="addition!") + async def add( + ctx: Context, + number1: Option(int, "first integer"), # refer to slashOption.py + number2: Option(int, "second integer"), # refer to slashOption.py + ): + await ctx.respond(f"{number1}+{number2}={number1+number2}") + + +def subtraction(client): + @MathGroup.command(name="subtract", guild_ids=[...], description="subtraction!") + async def sub( + ctx: Context, + number1: Option(int, "first integer"), # refer to slashOption.py + number2: Option(int, "second integer"), # refer to slashOption.py + ): + await ctx.respond(f"{number1}-{number2}={number1-number2}") + + client.add_application_command(MathGroup) diff --git a/examples/interactionsBot/cogs/basicSlash_cog.py b/examples/interactionsBot/cogs/basicSlash_cog.py new file mode 100644 index 0000000000..6ca7df59bd --- /dev/null +++ b/examples/interactionsBot/cogs/basicSlash_cog.py @@ -0,0 +1,30 @@ +import discord +from discord.commands import Option, slash_command +from discord.ext import commands +from discord.ext.commands.context import Context + + +class SlashExample(commands.Cog): + def __init__(self, bot): + self.bot = bot + + @slash_command( + guild_ids=[...], name="ping", description="check the latency of the bot!" + ) + async def ping(self, ctx): + """ + ephemeral makes "Only you can see this" message + + `await ctx.respond(f"{round(self.client.latency * 1000)}ms",ephemeral=True)` + """ + return await ctx.respond(f"{round(self.client.latency * 1000)}ms") + + @ping.error + async def ping_error(self, ctx: Context, error): + return await ctx.respond( + error, ephemeral=True + ) # ephemeral makes "Only you can see this" message + + +def setup(bot): + bot.add_cog(SlashExample(bot)) diff --git a/examples/interactionsBot/cogs/button_cog.py b/examples/interactionsBot/cogs/button_cog.py new file mode 100644 index 0000000000..2d50b8b887 --- /dev/null +++ b/examples/interactionsBot/cogs/button_cog.py @@ -0,0 +1,42 @@ +import discord +from discord.commands import slash_command +from discord.ext import commands +from discord.ext.commands.context import Context + + +class ButtonView(discord.ui.View): + def __init__(self): + # making None is important if you want the button work after restart! + super().__init__(timeout=None) + + # custom_id is required and should be unique for + # attribute emoji can be used to include emojis which can be default str emoji or str(<:emojiName:int(ID)>) + # timeout can be used if there is a timeout on the button interaction. Default timeout is set to 180. + @discord.ui.button( + style=discord.ButtonStyle.blurple, custom_id="counter:firstButton" + ) + async def leftButton(self, button, interaction): + await interaction.response.edit_message("button was pressed!") + + +class ButtonExample(commands.Cog): + def __init__(self, bot): + self.bot = bot + + @slash_command( + guild_ids=[...], name="slash_command_name", description="command description!" + ) + async def CommandName(self, ctx): + navigator = ButtonView() # button View + await ctx.respond("press the button.", view=navigator) + + # for error handling + @CommandName.error + async def CommandName_error(self, ctx: Context, error): + return await ctx.respond( + error, ephemeral=True + ) # ephemeral makes "Only you can see this" message + + +def setup(bot): + bot.add_cog(ButtonExample(bot)) diff --git a/examples/interactionsBot/cogs/dropdown_cog.py b/examples/interactionsBot/cogs/dropdown_cog.py new file mode 100644 index 0000000000..3e74b9b1c1 --- /dev/null +++ b/examples/interactionsBot/cogs/dropdown_cog.py @@ -0,0 +1,77 @@ +import discord +from discord.commands import slash_command +from discord.ext import commands +from discord.ext.commands.context import Context + + +# Defines a custom Select containing colour options +# that the user can choose. The callback function +# of this class is called when the user changes their choice +class Dropdown(discord.ui.Select): + def __init__(self): + + # Set the options that will be presented inside the dropdown + options = [ + discord.SelectOption( + label="Red", description="Your favourite colour is red", emoji="🟥" + ), + discord.SelectOption( + label="Green", description="Your favourite colour is green", emoji="🟩" + ), + discord.SelectOption( + label="Blue", description="Your favourite colour is blue", emoji="🟦" + ), + ] + + # The placeholder is what will be shown when no option is chosen + # The min and max values indicate we can only pick one of the three options + # The options parameter defines the dropdown options. We defined this above + super().__init__( + placeholder="Choose your favourite colour...", + min_values=1, + max_values=1, + options=options, + ) + + async def callback(self, interaction: discord.Interaction): + # Use the interaction object to send a response message containing + # the user's favourite colour or choice. The self object refers to the + # Select object, and the values attribute gets a list of the user's + # selected options. We only want the first one. + await interaction.response.send_message( + f"Your favourite colour is {self.values[0]}" + ) + + +class DropdownView(discord.ui.View): + def __init__(self): + super().__init__() + + # Adds the dropdown to our view object. + self.add_item(Dropdown()) + + +class DropdownExample(commands.Cog): + def __init__(self, bot): + self.bot = bot + + @slash_command( + guild_ids=[...], name="color", description="tell me your favourite color!" + ) + async def whatcolor(self, ctx): + await ctx.respond("what is your favrouite color?", view=DropdownView()) + + # ephemeral makes "Only you can see this" message + """ + await ctx.respond("what is your favrouite color?",view=DropdownView(),ephemeral=True) + """ + + @whatcolor.error + async def color_error(self, ctx: Context, error): + return await ctx.respond( + error, ephemeral=True + ) # ephemeral makes "Only you can see this" message + + +def setup(bot): + bot.add_cog(DropdownExample(bot)) diff --git a/examples/interactionsBot/cogs/slashGroup_cog.py b/examples/interactionsBot/cogs/slashGroup_cog.py new file mode 100644 index 0000000000..b42076bb0c --- /dev/null +++ b/examples/interactionsBot/cogs/slashGroup_cog.py @@ -0,0 +1,56 @@ +import discord +from discord.commands.commands import Option, SlashCommandGroup +from discord.ext import commands +from discord.ext.commands.context import Context + + +class SlashGroupExample(commands.Cog): + def __init__(self, bot): + self.bot = bot + + # + moderation = SlashCommandGroup("moderation", "Commands related to moderation.") + + @moderation.command(guild_ids=[...], description="kick some people") + async def kick( + self, + ctx: Context, + member: Option(discord.Member), + reason: Option(str, description="reason"), + ): + + # check kick members permission for the author + if ctx.author.guild_permissions.kick_members == True: + # https://docs.pycord.dev/en/master/api.html#discord.Member.kick + await member.kick(reason=reason) + await ctx.respond("hello") + else: + + await ctx.respond( + "you dont have the permission to do so!", ephemeral=True + ) + + @moderation.command(guild_ids=[...], description="ban some people") + async def ban( + self, + ctx: Context, + member: Option(discord.Member), + reason: Option(str, description="reason"), + ): + + # check ban members permission for the author + if ctx.author.guild_permissions.ban_members == True: + # https://docs.pycord.dev/en/master/api.html#discord.Member.ban + await member.ban(reason=reason) + await ctx.respond("done") + else: + await ctx.respond( + "you dont have the permission to do so!", ephemeral=True + ) + + # Adds the application command + bot.add_application_command(moderation) + + +def setup(bot): + bot.add_cog(SlashGroupExample(bot)) diff --git a/examples/interactionsBot/cogs/slashOption_cog.py b/examples/interactionsBot/cogs/slashOption_cog.py new file mode 100644 index 0000000000..b793fc8229 --- /dev/null +++ b/examples/interactionsBot/cogs/slashOption_cog.py @@ -0,0 +1,39 @@ +import discord +from discord.commands import Option, slash_command +from discord.ext import commands +from discord.ext.commands.context import Context + + +class SlashOptionExample(commands.Cog): + def __init__(self, bot): + self.bot = bot + + # slash commands with options + @slash_command(guild_ids=[...], name="avatar", description="check someones avatar!") + async def av( + self, + ctx, + # + member: Option(discord.Member, description="the user you want the avatar of."), + ): + """ + ephemeral makes "Only you can see this" message + + `await ctx.respond(embed=discord.Embed().set_image(url=str(member.avatar.url)),ephemeral=True)` + + embed docs - https://docs.pycord.dev/en/master/api.html#embed + member docs - https://docs.pycord.dev/en/master/api.html#discord.Member + """ + return await ctx.respond( + embed=discord.Embed().set_image(url=str(member.avatar.url)) + ) + + @av.error + async def av_error(self, ctx: Context, error): + return await ctx.respond( + error, ephemeral=True + ) # ephemeral makes "Only you can see this" message + + +def setup(bot): + bot.add_cog(SlashOptionExample(bot)) diff --git a/examples/reply.py b/examples/reply.py index 614b8fa77e..113747959d 100644 --- a/examples/reply.py +++ b/examples/reply.py @@ -7,7 +7,7 @@ async def on_ready(self): print("------") async def on_message(self, message): - # we do not want the bot to reply to itself + # We do not want the bot to reply to itself if message.author.id == self.user.id: return diff --git a/examples/secret.py b/examples/secret.py index 7fe600e97d..48ba2c2392 100644 --- a/examples/secret.py +++ b/examples/secret.py @@ -23,30 +23,30 @@ def create_overwrites(ctx, *objects): of an object, whether it be a `discord.Role` or a `discord.Member`. In this case, the `view_channel` permission is being used to hide the channel - from being viewed by whoever does not meet the criteria, thus creating a + From being viewed by whoever does not meet the criteria, thus creating a secret channel. """ - # a dict comprehension is being utilised here to set the same permission overwrites - # for each `discord.Role` or `discord.Member`. + # A dict comprehension is being utilised here to set the same permission overwrites + # For each `discord.Role` or `discord.Member`. overwrites = { obj: discord.PermissionOverwrite(view_channel=True) for obj in objects } - # prevents the default role (@everyone) from viewing the channel + # Prevents the default role (@everyone) from viewing the channel # if it isn't already allowed to view the channel. overwrites.setdefault( ctx.guild.default_role, discord.PermissionOverwrite(view_channel=False) ) - # makes sure the client is always allowed to view the channel. + # Makes sure the client is always allowed to view the channel. overwrites[ctx.guild.me] = discord.PermissionOverwrite(view_channel=True) return overwrites -# since these commands rely on guild related features, -# it is best to lock it to be guild-only. +# Since these commands rely on guild related features, +# It is best to lock it to be guild-only. @secret.command() @commands.guild_only() async def text( @@ -95,11 +95,11 @@ async def emoji( are allowed to use. """ - # fetch the emoji asset and read it as bytes. + # Fetch the emoji asset and read it as bytes. emoji_bytes = await emoji.read() - # the key parameter here is `roles`, which controls - # what roles are able to use the emoji. + # The key parameter here is `roles`, which controls + # What roles are able to use the emoji. await ctx.guild.create_custom_emoji( name=emoji.name, image=emoji_bytes, roles=roles, reason="Very secret business." ) diff --git a/examples/views/button_roles.py b/examples/views/button_roles.py index 6104fbf82d..8591fd31e2 100644 --- a/examples/views/button_roles.py +++ b/examples/views/button_roles.py @@ -11,7 +11,7 @@ Make sure to load this cog when your bot starts! """ -# this is the list of role IDs that will be added as buttons. +# This is the list of role IDs that will be added as buttons. role_ids = [...] @@ -27,34 +27,32 @@ def __init__(self, role: discord.Role): ) async def callback(self, interaction: discord.Interaction): - """This function will be called any time a user clicks on this button + """This function will be called any time a user clicks on this button. Parameters ---------- interaction : discord.Interaction - The interaction object that was created when the user clicked on the button + The interaction object that was created when a user clicks on a button. """ - - # figure out who clicked the button + # Figure out who clicked the button. user = interaction.user - # get the role this button is for (stored in the custom ID) + # Get the role this button is for (stored in the custom ID). role = interaction.guild.get_role(int(self.custom_id)) if role is None: - # if this role doesn't exist, ignore - # you can do some error handling here + # If the specified role does not exist, return nothing. + # Error handling could be done here. return - # passed all checks - # add the role and send a response to the uesr ephemerally (hidden to other users) + # Add the role and send a response to the uesr ephemerally (hidden to other users). if role not in user.roles: - # give the user the role if they don't already have it + # Give the user the role if they don't already have it. await user.add_roles(role) await interaction.response.send_message( f"🎉 You have been given the role {role.mention}", ephemeral=True ) else: - # else, take the role from the user + # Else, Take the role from the user await user.remove_roles(role) await interaction.response.send_message( f"❌ The {role.mention} role has been taken from you", ephemeral=True @@ -63,23 +61,23 @@ async def callback(self, interaction: discord.Interaction): class ButtonRoleCog(commands.Cog): """A cog with a slash command for posting the message with buttons - and to initialize the view again when the bot is restarted + and to initialize the view again when the bot is restarted. """ def __init__(self, bot): self.bot = bot - # make sure to set the guild ID here to whatever server you want the buttons in + # Make sure to provide a list of guild ids in the guild_ids kwarg argument. @slash_command(guild_ids=[...], description="Post the button role message") async def post(self, ctx: commands.Context): - """A slash command to post a new view with a button for each role""" + """Slash command to post a new view with a button for each role.""" - # timeout is None because we want this view to be persistent + # timeout is None because we want this view to be persistent. view = discord.ui.View(timeout=None) - # loop through the list of roles and add a new button to the view for each role + # Loop through the list of roles and add a new button to the view for each role. for role_id in role_ids: - # get the role the guild by ID + # Get the role from the guild by ID. role = ctx.guild.get_role(role_id) view.add_item(RoleButton(role)) @@ -87,23 +85,21 @@ async def post(self, ctx: commands.Context): @commands.Cog.listener() async def on_ready(self): - """This function is called every time the bot restarts. + """This method is called every time the bot restarts. If a view was already created before (with the same custom IDs for buttons) it will be loaded and the bot will start watching for button clicks again. """ - - # we recreate the view as we did in the /post command + # We recreate the view as we did in the /post command. view = discord.ui.View(timeout=None) - # make sure to set the guild ID here to whatever server you want the buttons in + # Make sure to set the guild ID here to whatever server you want the buttons in! guild = self.bot.get_guild(...) for role_id in role_ids: role = guild.get_role(role_id) view.add_item(RoleButton(role)) - # add the view to the bot so it will watch for button interactions + # Add the view to the bot so it will watch for button interactions. self.bot.add_view(view) def setup(bot): - # load the cog bot.add_cog(ButtonRoleCog(bot)) diff --git a/examples/views/confirm.py b/examples/views/confirm.py index a95527f50a..ef996f0c0d 100644 --- a/examples/views/confirm.py +++ b/examples/views/confirm.py @@ -18,7 +18,7 @@ def __init__(self): self.value = None # When the confirm button is pressed, set the inner value to `True` and - # stop the View from listening to more input. + # Stop the View from listening to more input. # We also send the user an ephemeral message that we're confirming their choice. @discord.ui.button(label="Confirm", style=discord.ButtonStyle.green) async def confirm( diff --git a/examples/views/counter.py b/examples/views/counter.py index 2efc3fe975..74943df5e1 100644 --- a/examples/views/counter.py +++ b/examples/views/counter.py @@ -17,7 +17,7 @@ class Counter(discord.ui.View): # Define the actual button # When pressed, this increments the number displayed until it hits 5. # When it hits 5, the counter button is disabled and it turns green. - # note: The name of the function does not matter to the library + # NOTE: The name of the function does not matter to the library @discord.ui.button(label="0", style=discord.ButtonStyle.red) async def count(self, button: discord.ui.Button, interaction: discord.Interaction): number = int(button.label) if button.label else 0 diff --git a/examples/views/dropdown.py b/examples/views/dropdown.py index 66f4092ef0..7d43af76f1 100644 --- a/examples/views/dropdown.py +++ b/examples/views/dropdown.py @@ -5,8 +5,8 @@ # Defines a custom Select containing colour options -# that the user can choose. The callback function -# of this class is called when the user changes their choice +# That the user can choose. The callback function +# Of this class is called when the user changes their choice class Dropdown(discord.ui.Select): def __init__(self): @@ -35,7 +35,7 @@ def __init__(self): async def callback(self, interaction: discord.Interaction): # Use the interaction object to send a response message containing - # the user's favourite colour or choice. The self object refers to the + # The user's favourite colour or choice. The self object refers to the # Select object, and the values attribute gets a list of the user's # selected options. We only want the first one. await interaction.response.send_message( diff --git a/examples/views/ephemeral.py b/examples/views/ephemeral.py index 3bbddcf953..e0d5213eaa 100644 --- a/examples/views/ephemeral.py +++ b/examples/views/ephemeral.py @@ -17,7 +17,7 @@ class Counter(discord.ui.View): # Define the actual button # When pressed, this increments the number displayed until it hits 5. # When it hits 5, the counter button is disabled and it turns green. - # note: The name of the function does not matter to the library + # NOTE: The name of the function does not matter to the library @discord.ui.button(label="0", style=discord.ButtonStyle.red) async def count(self, button: discord.ui.Button, interaction: discord.Interaction): number = int(button.label) if button.label else 0 diff --git a/examples/views/paginator.py b/examples/views/paginator.py index 1ccd47deb6..ef76311291 100644 --- a/examples/views/paginator.py +++ b/examples/views/paginator.py @@ -140,6 +140,28 @@ async def pagetest_custom_buttons(self, ctx: discord.ApplicationContext): ) await paginator.respond(ctx.interaction, ephemeral=False) + @pagetest.command(name="emoji_buttons") + async def pagetest_emoji_buttons(self, ctx: discord.ApplicationContext): + """Demonstrates using emojis for the paginator buttons instead of labels.""" + page_buttons = [ + pages.PaginatorButton("first", emoji="⏪", style=discord.ButtonStyle.green), + pages.PaginatorButton("prev", emoji="⬅", style=discord.ButtonStyle.green), + pages.PaginatorButton( + "page_indicator", style=discord.ButtonStyle.gray, disabled=True + ), + pages.PaginatorButton("next", emoji="➡", style=discord.ButtonStyle.green), + pages.PaginatorButton("last", emoji="⏩", style=discord.ButtonStyle.green), + ] + paginator = pages.Paginator( + pages=self.get_pages(), + show_disabled=True, + show_indicator=True, + use_default_buttons=False, + custom_buttons=page_buttons, + loop_pages=True, + ) + await paginator.respond(ctx.interaction, ephemeral=False) + @pagetest.command(name="custom_view") async def pagetest_custom_view(self, ctx: discord.ApplicationContext): """Demonstrates passing a custom view to the paginator.""" @@ -160,6 +182,26 @@ async def pagetest_custom_view(self, ctx: discord.ApplicationContext): paginator = pages.Paginator(pages=self.get_pages(), custom_view=view) await paginator.respond(ctx.interaction, ephemeral=False) + @pagetest.command(name="disable") + async def pagetest_disable(self, ctx: discord.ApplicationContext): + """Demonstrates disabling the paginator buttons and showing a custom page when disabled.""" + paginator = pages.Paginator(pages=self.get_pages()) + await paginator.respond(ctx.interaction, ephemeral=False) + await ctx.respond("Disabling paginator in 5 seconds...") + await asyncio.sleep(5) + disable_page = discord.Embed(title="Paginator Disabled!", description="This page is only shown when the paginator is disabled.") + await paginator.disable(page=disable_page) + + @pagetest.command(name="cancel") + async def pagetest_cancel(self, ctx: discord.ApplicationContext): + """Demonstrates canceling (stopping) the paginator and showing a custom page when cancelled.""" + paginator = pages.Paginator(pages=self.get_pages()) + await paginator.respond(ctx.interaction, ephemeral=False) + await ctx.respond("Canceling paginator in 5 seconds...") + await asyncio.sleep(5) + cancel_page = discord.Embed(title="Paginator Cancelled!", description="This page is only shown when the paginator is cancelled.") + await paginator.cancel(page=cancel_page) + @pagetest.command(name="groups") async def pagetest_groups(self, ctx: discord.ApplicationContext): """Demonstrates using page groups to switch between different sets of pages.""" diff --git a/mypy.ini b/mypy.ini new file mode 100644 index 0000000000..fdd12d1492 --- /dev/null +++ b/mypy.ini @@ -0,0 +1,2 @@ +[mypy] +ignore_errors = True diff --git a/requirements.txt b/requirements.txt index 0b4731987f..9ad0580346 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -aiohttp>=3.6.0,<3.9.0 +aiohttp>=3.6.0,<3.9.0 \ No newline at end of file diff --git a/setup.py b/setup.py index 70e9fc74db..2abfd2fbd8 100644 --- a/setup.py +++ b/setup.py @@ -2,10 +2,12 @@ from setuptools import setup +# Requirements requirements = [] with open("requirements.txt") as f: requirements = f.read().splitlines() +# Version Info version = "" with open("discord/__init__.py") as f: @@ -36,16 +38,20 @@ except Exception: pass +# README readme = "" with open("README.rst") as f: readme = f.read() +# Extra Requirements +# Ex: pip install py-cord[voice] or [speed] extras_require = { "voice": ["PyNaCl>=1.3.0,<1.6"], "docs": [ - "sphinx==4.3.2", + "sphinx==4.4.0", "sphinxcontrib_trio==1.1.2", "sphinxcontrib-websupport", + "myst-parser", ], "speed": [ "orjson>=3.5.4", @@ -55,9 +61,11 @@ ], } +# Folders And Such Included packages = [ "discord", "discord.types", + "discord.sinks", "discord.ui", "discord.webhook", "discord.commands", @@ -70,9 +78,10 @@ setup( name="py-cord", author="Pycord Development", - url="https://github.com/Pycord-Development/pycord", + url="https://pycord.dev/github", project_urls={ - "Documentation": "https://pycord.readthedocs.io/en/latest/", + "Website": "https://pycord.dev", + "Documentation": "https://docs.pycord.dev/en/master/", "Issue tracker": "https://github.com/Pycord-Development/pycord/issues", }, version=version, @@ -86,7 +95,7 @@ extras_require=extras_require, python_requires=">=3.8.0", classifiers=[ - "Development Status :: 3 - Alpha", + "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Intended Audience :: Developers", "Natural Language :: English", @@ -100,5 +109,5 @@ "Topic :: Utilities", "Typing :: Typed", ], - test_suite="tests", + test_suite="tests", # Test Folder For Workflows )