aboutsummaryrefslogtreecommitdiff
path: root/docs/locale
diff options
context:
space:
mode:
authorRapptz <[email protected]>2018-07-31 17:37:22 -0400
committerRapptz <[email protected]>2018-07-31 17:37:22 -0400
commit18385dc49f3679d5d79a36637bf3b020202e3e22 (patch)
treed9cc2e5ba30bee84dd8f39e8697ef965b3024ba0 /docs/locale
parentmessage: de-duplicate reaction type conversion (diff)
downloaddiscord.py-18385dc49f3679d5d79a36637bf3b020202e3e22.tar.xz
discord.py-18385dc49f3679d5d79a36637bf3b020202e3e22.zip
Add stubs for Japanese translations.
Diffstat (limited to 'docs/locale')
-rw-r--r--docs/locale/ja/LC_MESSAGES/api.po10157
-rw-r--r--docs/locale/ja/LC_MESSAGES/discord.po196
-rw-r--r--docs/locale/ja/LC_MESSAGES/ext/commands/api.po3100
-rw-r--r--docs/locale/ja/LC_MESSAGES/ext/commands/commands.po665
-rw-r--r--docs/locale/ja/LC_MESSAGES/ext/commands/index.po33
-rw-r--r--docs/locale/ja/LC_MESSAGES/faq.po405
-rw-r--r--docs/locale/ja/LC_MESSAGES/index.po87
-rw-r--r--docs/locale/ja/LC_MESSAGES/intro.po149
-rw-r--r--docs/locale/ja/LC_MESSAGES/logging.po65
-rw-r--r--docs/locale/ja/LC_MESSAGES/migrating.po2100
-rw-r--r--docs/locale/ja/LC_MESSAGES/migrating_to_async.po431
-rw-r--r--docs/locale/ja/LC_MESSAGES/quickstart.po120
-rw-r--r--docs/locale/ja/LC_MESSAGES/sphinx.po26
-rw-r--r--docs/locale/ja/LC_MESSAGES/whats_new.po939
14 files changed, 18473 insertions, 0 deletions
diff --git a/docs/locale/ja/LC_MESSAGES/api.po b/docs/locale/ja/LC_MESSAGES/api.po
new file mode 100644
index 00000000..2dc1de12
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/api.po
@@ -0,0 +1,10157 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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.rst:6
+msgid "The following section outlines the API of discord.py."
+msgstr ""
+
+#: ../../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 "
+"discord.py."
+msgstr ""
+
+#: ../../api.rst:17
+msgid "Version Related Info"
+msgstr ""
+
+#: ../../api.rst:19
+msgid "There are two main ways to query version information about the library."
+msgstr ""
+
+#: ../../api.rst:23
+msgid "A named tuple that is similar to `sys.version_info`_."
+msgstr ""
+
+#: ../../api.rst:25
+msgid ""
+"Just like `sys.version_info`_ the valid values for ``releaselevel`` are "
+"'alpha', 'beta', 'candidate' and 'final'."
+msgstr ""
+
+#: ../../api.rst:32
+msgid "A string representation of the version. e.g. ``'0.10.0-alpha0'``."
+msgstr ""
+
+#: ../../api.rst:35
+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.Client:4 of
+msgid "A number of options can be passed to the :class:`Client`."
+msgstr ""
+
+#: ../../api.rst discord.AsyncWebhookAdapter
+#: discord.AsyncWebhookAdapter.handle_execution_response
+#: discord.AsyncWebhookAdapter.request discord.Attachment.save
+#: discord.AutoShardedClient.change_presence
+#: discord.AutoShardedClient.request_offline_members
+#: 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.change_presence discord.Client.connect
+#: discord.Client.create_guild discord.Client.delete_invite
+#: discord.Client.get_invite discord.Client.get_user_info
+#: discord.Client.get_user_profile 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.get_relationship
+#: discord.ClientUser.mentioned_in discord.ClientUser.permissions_in
+#: discord.DMChannel.get_message discord.DMChannel.history
+#: discord.DMChannel.permissions_for discord.DMChannel.send
+#: discord.Embed.add_field 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.FFmpegPCMAudio discord.Game discord.GroupCall.voice_state_for
+#: discord.GroupChannel.add_recipients discord.GroupChannel.edit
+#: discord.GroupChannel.get_message discord.GroupChannel.history
+#: discord.GroupChannel.permissions_for discord.GroupChannel.remove_recipients
+#: discord.GroupChannel.send discord.Guild.audit_logs discord.Guild.ban
+#: discord.Guild.create_custom_emoji discord.Guild.create_role
+#: discord.Guild.create_text_channel discord.Guild.edit
+#: discord.Guild.estimate_pruned_members discord.Guild.get_ban
+#: discord.Guild.get_member_named discord.Guild.icon_url_as discord.Guild.kick
+#: discord.Guild.prune_members discord.Guild.unban discord.Invite.delete
+#: discord.Member.add_roles discord.Member.avatar_url_as discord.Member.edit
+#: discord.Member.get_message discord.Member.history
+#: discord.Member.mentioned_in discord.Member.move_to
+#: discord.Member.permissions_in discord.Member.remove_roles
+#: discord.Member.send discord.Message.add_reaction discord.Message.edit
+#: discord.Message.remove_reaction discord.PCMVolumeTransformer
+#: discord.PermissionOverwrite discord.PermissionOverwrite.update
+#: discord.Permissions.update discord.Reaction.users
+#: discord.RequestsWebhookAdapter
+#: discord.RequestsWebhookAdapter.handle_execution_response
+#: discord.RequestsWebhookAdapter.request discord.Role.delete discord.Role.edit
+#: discord.TextChannel.create_invite discord.TextChannel.create_webhook
+#: discord.TextChannel.delete discord.TextChannel.delete_messages
+#: discord.TextChannel.edit discord.TextChannel.get_message
+#: 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.get_message discord.User.history
+#: discord.User.mentioned_in discord.User.permissions_in discord.User.send
+#: 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.move_to
+#: discord.VoiceClient.play discord.VoiceClient.send_audio_packet
+#: discord.Webhook.avatar_url_as discord.Webhook.edit discord.Webhook.from_url
+#: discord.Webhook.partial discord.Webhook.send
+#: discord.WebhookAdapter.handle_execution_response
+#: discord.WebhookAdapter.request 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.get_message
+#: discord.abc.Messageable.history discord.abc.Messageable.send
+#: discord.opus.load_opus discord.utils.find discord.utils.get
+#: discord.utils.oauth_url of
+msgid "Parameters"
+msgstr ""
+
+#: discord.Client:10 of
+msgid ""
+"The maximum number of messages to store in the internal message cache. "
+"This defaults to 5000. Passing in `None` or a value less than 100 will "
+"use the default instead of the passed in value."
+msgstr ""
+
+#: discord.Client:14 of
+msgid ""
+"The `event loop`_ to use for asynchronous operations. Defaults to "
+"``None``, in which case the default event loop is used via "
+"``asyncio.get_event_loop()``."
+msgstr ""
+
+#: discord.Client:17 of
+msgid "The `connector`_ to use for connection pooling."
+msgstr ""
+
+#: discord.Client:19 of
+msgid "Proxy URL."
+msgstr ""
+
+#: discord.Client:21 of
+msgid "An object that represents proxy HTTP Basic Authorization."
+msgstr ""
+
+#: discord.Client:23 of
+msgid "Integer starting at 0 and less than shard_count."
+msgstr ""
+
+#: discord.Client:25 of
+msgid "The total number of shards."
+msgstr ""
+
+#: discord.Client:27 of
+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 ""
+
+#: discord.Client:32 of
+msgid "A status to start your presence with upon logging on to Discord."
+msgstr ""
+
+#: discord.Client:34 of
+msgid "An activity to start your presence with upon logging on to Discord."
+msgstr ""
+
+#: discord.Client:36 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 ""
+
+#: discord.Client:44 of
+msgid "The websocket gateway the client is currently connected to. Could be None."
+msgstr ""
+
+#: discord.Client:48 of
+msgid ""
+"The `event loop`_ that the client uses for HTTP requests and websocket "
+"operations."
+msgstr ""
+
+#: discord.Client.latency:1 of
+msgid ""
+":obj:`float` -- 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.Client.guilds:1 of
+msgid ""
+"List[:class:`Guild`] -- The guilds that the connected client is a member "
+"of."
+msgstr ""
+
+#: discord.Client.emojis:1 of
+msgid "List[:class:`Emoji`] -- The emojis that the connected client has."
+msgstr ""
+
+#: discord.Client.private_channels:1 of
+msgid ""
+"List[:class:`abc.PrivateChannel`] -- The private channels that the "
+"connected client is participating on."
+msgstr ""
+
+#: 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.Client.voice_clients:1 of
+msgid "List[:class:`VoiceClient`] -- Represents a list of voice connections."
+msgstr ""
+
+#: discord.Client.is_ready:1 of
+msgid ":obj:`bool`: Specifies if the client's internal cache is ready for use."
+msgstr ""
+
+#: discord.Client.clear:1 of
+msgid "Clears the internal state of the bot."
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: discord.Client.is_closed:1 of
+msgid ":obj:`bool`: Indicates if the websocket connection is closed."
+msgstr ""
+
+#: discord.Client.activity:1 of
+msgid ""
+"Optional[Union[:class:`Activity`, :class:`Game`, :class:`Streaming`]] -- "
+"The activity being used upon logging in."
+msgstr ""
+
+#: discord.Client.users:1 of
+msgid "Returns a :obj:`list` of all the :class:`User` the bot can see."
+msgstr ""
+
+#: discord.Client.get_channel:1 of
+msgid ""
+"Returns a :class:`abc.GuildChannel` or :class:`abc.PrivateChannel` with "
+"the following ID."
+msgstr ""
+
+#: discord.Client.get_channel:3 of
+msgid "If not found, returns None."
+msgstr ""
+
+#: discord.Client.get_guild:1 of
+msgid "Returns a :class:`Guild` with the given ID. If not found, returns None."
+msgstr ""
+
+#: discord.Client.get_user:1 of
+msgid "Returns a :class:`User` with the given ID. If not found, returns None."
+msgstr ""
+
+#: discord.Client.get_emoji:1 of
+msgid "Returns a :class:`Emoji` with the given ID. If not found, returns None."
+msgstr ""
+
+#: discord.Client.get_all_channels:1 of
+msgid ""
+"A generator that retrieves every :class:`abc.GuildChannel` the client can"
+" 'access'."
+msgstr ""
+
+#: 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 ""
+
+#: discord.Client.get_all_members:1 of
+msgid "Returns a generator with every :class:`Member` the client can see."
+msgstr ""
+
+#: ../../api.rst:1322 ../../api.rst:1329 ../../api.rst:1339 ../../api.rst:1358
+#: discord.Attachment.save:1 discord.AutoShardedClient.change_presence:1
+#: discord.AutoShardedClient.close:1
+#: discord.AutoShardedClient.request_offline_members:1
+#: discord.CategoryChannel.create_invite: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.change_presence:1 discord.Client.close:1
+#: discord.Client.connect:1 discord.Client.create_guild:1
+#: discord.Client.delete_invite:1 discord.Client.get_invite:1
+#: discord.Client.get_user_info:1 discord.Client.get_user_profile:1
+#: discord.Client.get_webhook_info: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.DMChannel.get_message:1 discord.DMChannel.pins:1
+#: discord.DMChannel.send:1 discord.DMChannel.trigger_typing:1
+#: discord.Emoji.delete:1 discord.Emoji.edit:1
+#: discord.GroupChannel.add_recipients:1 discord.GroupChannel.edit:1
+#: discord.GroupChannel.get_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.create_category:1 discord.Guild.create_category_channel:1
+#: discord.Guild.create_custom_emoji: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.estimate_pruned_members:1 discord.Guild.get_ban:1
+#: discord.Guild.invites:1 discord.Guild.kick:1 discord.Guild.leave:1
+#: discord.Guild.prune_members:1 discord.Guild.unban:1
+#: discord.Guild.vanity_invite:1 discord.Guild.webhooks:1
+#: discord.Invite.delete:1 discord.Member.add_roles:1 discord.Member.ban:1
+#: discord.Member.block:1 discord.Member.edit:1 discord.Member.get_message:1
+#: discord.Member.kick:1 discord.Member.move_to: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_reactions:1
+#: discord.Message.delete:1 discord.Message.edit:1 discord.Message.pin:1
+#: discord.Message.remove_reaction:1 discord.Message.unpin:1
+#: discord.Reaction.users:1 discord.Relationship.accept:1
+#: discord.Relationship.delete:1 discord.Role.delete:1 discord.Role.edit: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.get_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.get_message: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.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.disconnect:1
+#: discord.VoiceClient.move_to: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.get_message:1 discord.abc.Messageable.pins:1
+#: discord.abc.Messageable.send:1 discord.abc.Messageable.trigger_typing:1 of
+msgid "|coro|"
+msgstr ""
+
+#: discord.Client.wait_for:3 of
+msgid "Waits for a WebSocket event to be dispatched."
+msgstr ""
+
+#: 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 ""
+
+#: discord.Client.wait_for:14 of
+msgid ""
+"In case the event returns multiple arguments, a :obj:`tuple` containing "
+"those arguments is returned instead. Please check the :ref:`documentation"
+" <discord-api-events>` for a list of events and their parameters."
+msgstr ""
+
+#: 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.wait_for:22
+#: discord.DMChannel.history:34 discord.GroupChannel.history:34
+#: discord.Guild.audit_logs:29 discord.Guild.create_text_channel:14
+#: discord.Member.history:34 discord.Reaction.users:19
+#: discord.TextChannel.history:34 discord.TextChannel.purge:36
+#: discord.TextChannel.set_permissions:21 discord.User.history:34
+#: discord.VoiceChannel.set_permissions:21
+#: discord.abc.GuildChannel.set_permissions:21
+#: discord.abc.Messageable.history:34 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 <discord-api-"
+"events>`, but without the ``on_`` prefix, to wait for."
+msgstr ""
+
+#: 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 ""
+
+#: discord.Attachment.save discord.AutoShardedClient.change_presence
+#: discord.AutoShardedClient.request_offline_members
+#: 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.get_invite discord.Client.get_user_info
+#: discord.Client.get_user_profile discord.Client.get_webhook_info
+#: 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.DMChannel.get_message discord.DMChannel.history
+#: discord.DMChannel.pins discord.DMChannel.send discord.Embed.set_field_at
+#: discord.Emoji.delete discord.Emoji.edit discord.FFmpegPCMAudio
+#: discord.GroupChannel.add_recipients discord.GroupChannel.edit
+#: discord.GroupChannel.get_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.bans discord.Guild.create_custom_emoji
+#: discord.Guild.create_role discord.Guild.create_text_channel
+#: discord.Guild.delete discord.Guild.edit
+#: discord.Guild.estimate_pruned_members discord.Guild.get_ban
+#: discord.Guild.icon_url_as discord.Guild.invites discord.Guild.kick
+#: discord.Guild.leave discord.Guild.prune_members discord.Guild.unban
+#: discord.Guild.vanity_invite discord.Guild.webhooks discord.Invite.delete
+#: discord.Member.add_roles discord.Member.avatar_url_as discord.Member.block
+#: discord.Member.edit discord.Member.get_message discord.Member.history
+#: 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_reactions discord.Message.delete discord.Message.edit
+#: discord.Message.pin discord.Message.remove_reaction discord.Message.unpin
+#: discord.PCMVolumeTransformer discord.Reaction.users
+#: discord.Relationship.accept discord.Relationship.delete discord.Role.delete
+#: discord.Role.edit discord.TextChannel.create_invite
+#: discord.TextChannel.create_webhook discord.TextChannel.delete
+#: discord.TextChannel.delete_messages discord.TextChannel.edit
+#: discord.TextChannel.get_message 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.get_message
+#: discord.User.history discord.User.pins discord.User.profile
+#: discord.User.remove_friend discord.User.send
+#: discord.User.send_friend_request discord.User.unblock
+#: 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.abc.GuildChannel.create_invite discord.abc.GuildChannel.delete
+#: discord.abc.GuildChannel.invites discord.abc.GuildChannel.set_permissions
+#: discord.abc.Messageable.get_message discord.abc.Messageable.history
+#: discord.abc.Messageable.pins discord.abc.Messageable.send of
+msgid "raises"
+msgstr ""
+
+#: discord.Client.wait_for:65 of
+msgid ""
+":exc:`asyncio.TimeoutError` -- If a timeout is provided and it was "
+"reached."
+msgstr ""
+
+#: ../../api.rst discord.Attachment.save discord.AudioSource.read
+#: discord.CallMessage.duration discord.CategoryChannel.create_invite
+#: discord.CategoryChannel.invites discord.CategoryChannel.overwrites
+#: discord.CategoryChannel.overwrites_for
+#: discord.CategoryChannel.permissions_for discord.Client.application_info
+#: discord.Client.create_guild discord.Client.get_invite
+#: discord.Client.get_user_info discord.Client.get_user_profile
+#: discord.Client.get_webhook_info discord.Client.wait_for
+#: discord.ClientUser.avatar_url_as discord.ClientUser.create_group
+#: discord.ClientUser.get_relationship discord.DMChannel.get_message
+#: discord.DMChannel.permissions_for discord.DMChannel.send
+#: discord.FFmpegPCMAudio.read discord.GroupCall.voice_state_for
+#: discord.GroupChannel.get_message discord.GroupChannel.permissions_for
+#: discord.GroupChannel.send discord.Guild.bans discord.Guild.by_category
+#: discord.Guild.create_custom_emoji discord.Guild.create_role
+#: discord.Guild.create_text_channel discord.Guild.estimate_pruned_members
+#: discord.Guild.get_ban discord.Guild.get_member_named
+#: discord.Guild.icon_url_as discord.Guild.invites discord.Guild.prune_members
+#: discord.Guild.vanity_invite discord.Guild.webhooks
+#: discord.Member.avatar_url_as discord.Member.get_message
+#: discord.Member.profile discord.Member.send discord.PCMAudio.read
+#: discord.PCMVolumeTransformer.read discord.TextChannel.create_invite
+#: discord.TextChannel.create_webhook discord.TextChannel.get_message
+#: discord.TextChannel.invites discord.TextChannel.overwrites
+#: discord.TextChannel.overwrites_for discord.TextChannel.permissions_for
+#: discord.TextChannel.purge discord.TextChannel.send
+#: discord.TextChannel.webhooks discord.User.avatar_url_as
+#: discord.User.get_message discord.User.profile discord.User.send
+#: discord.VoiceChannel.connect discord.VoiceChannel.create_invite
+#: discord.VoiceChannel.invites discord.VoiceChannel.overwrites
+#: discord.VoiceChannel.overwrites_for discord.VoiceChannel.permissions_for
+#: discord.Webhook.avatar_url_as discord.Webhook.send
+#: 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.get_message
+#: discord.abc.Messageable.send discord.opus.is_loaded of
+msgid "Returns"
+msgstr ""
+
+#: discord.Client.wait_for:67 of
+msgid ""
+"Returns no arguments, a single argument, or a :obj:`tuple` of multiple "
+"arguments that mirrors the parameters passed in the :ref:`event reference"
+" <discord-api-events>`."
+msgstr ""
+
+#: ../../api.rst discord.Attachment.save discord.AudioSource.read
+#: discord.CallMessage.duration discord.CategoryChannel.create_invite
+#: discord.CategoryChannel.invites discord.CategoryChannel.overwrites
+#: discord.CategoryChannel.overwrites_for
+#: discord.CategoryChannel.permissions_for discord.Client.application_info
+#: discord.Client.create_guild discord.Client.get_invite
+#: discord.Client.get_user_info discord.Client.get_user_profile
+#: discord.Client.get_webhook_info discord.Client.wait_for
+#: discord.ClientUser.avatar_url_as discord.ClientUser.create_group
+#: discord.ClientUser.get_relationship discord.DMChannel.get_message
+#: discord.DMChannel.permissions_for discord.DMChannel.send
+#: discord.FFmpegPCMAudio.read discord.GroupCall.voice_state_for
+#: discord.GroupChannel.get_message discord.GroupChannel.permissions_for
+#: discord.GroupChannel.send discord.Guild.bans discord.Guild.by_category
+#: discord.Guild.create_custom_emoji discord.Guild.create_role
+#: discord.Guild.create_text_channel discord.Guild.estimate_pruned_members
+#: discord.Guild.get_ban discord.Guild.get_member_named
+#: discord.Guild.icon_url_as discord.Guild.invites discord.Guild.prune_members
+#: discord.Guild.vanity_invite discord.Guild.webhooks
+#: discord.Member.avatar_url_as discord.Member.get_message
+#: discord.Member.profile discord.Member.send discord.PCMAudio.read
+#: discord.PCMVolumeTransformer.read discord.TextChannel.create_invite
+#: discord.TextChannel.create_webhook discord.TextChannel.get_message
+#: discord.TextChannel.invites discord.TextChannel.overwrites
+#: discord.TextChannel.overwrites_for discord.TextChannel.permissions_for
+#: discord.TextChannel.purge discord.TextChannel.send
+#: discord.TextChannel.webhooks discord.User.avatar_url_as
+#: discord.User.get_message discord.User.profile discord.User.send
+#: discord.VoiceChannel.connect discord.VoiceChannel.create_invite
+#: discord.VoiceChannel.invites discord.VoiceChannel.overwrites
+#: discord.VoiceChannel.overwrites_for discord.VoiceChannel.permissions_for
+#: discord.Webhook.avatar_url_as discord.Webhook.send
+#: 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.get_message
+#: discord.abc.Messageable.send discord.opus.is_loaded of
+msgid "Return type"
+msgstr ""
+
+#: 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 "
+"<discord-api-events>`."
+msgstr ""
+
+#: discord.Client.event:5 of
+msgid "The events must be a |corourl|_, if not, :exc:`ClientException` is raised."
+msgstr ""
+
+#: discord.Client.event:8 of
+msgid "Example"
+msgstr ""
+
+#: discord.Client.application_info:3 of
+msgid "Retrieve's the bot's application information."
+msgstr ""
+
+#: discord.Client.application_info:5 of
+msgid "A namedtuple representing the application info."
+msgstr ""
+
+#: discord.Client.application_info:6 of
+msgid ":class:`AppInfo`"
+msgstr ""
+
+#: discord.Client.application_info:8 of
+msgid ":exc:`HTTPException` -- Retrieving the information failed somehow."
+msgstr ""
+
+#: discord.AutoShardedClient.change_presence:3 discord.Client.change_presence:3
+#: of
+msgid "Changes the client's presence."
+msgstr ""
+
+#: discord.AutoShardedClient.change_presence:5 discord.Client.change_presence:5
+#: of
+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 ""
+
+#: discord.AutoShardedClient.change_presence:9 discord.Client.change_presence:9
+#: of
+msgid "Example: ::"
+msgstr ""
+
+#: discord.AutoShardedClient.change_presence:14
+#: discord.Client.change_presence:14 of
+msgid "The activity being done. ``None`` if no currently active activity is done."
+msgstr ""
+
+#: discord.AutoShardedClient.change_presence:16
+#: discord.Client.change_presence:16 of
+msgid ""
+"Indicates what status to change to. If None, then :attr:`Status.online` "
+"is used."
+msgstr ""
+
+#: discord.AutoShardedClient.change_presence:19
+#: discord.Client.change_presence:19 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.Client.change_presence:24 of
+msgid ""
+":exc:`InvalidArgument` -- If the ``activity`` parameter is not the proper"
+" type."
+msgstr ""
+
+#: discord.AutoShardedClient.close:3 discord.Client.close:3 of
+msgid "Closes the connection to discord."
+msgstr ""
+
+#: 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 ""
+
+#: 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.Client.connect:14 of
+msgid ""
+":exc:`GatewayNotFound` -- If the gateway to connect to discord is not "
+"found. Usually if this is thrown then there is a discord API outage."
+msgstr ""
+
+#: discord.Client.connect:16 of
+msgid ":exc:`ConnectionClosed` -- The websocket connection has been terminated."
+msgstr ""
+
+#: discord.Client.create_guild:3 of
+msgid "Creates a :class:`Guild`."
+msgstr ""
+
+#: discord.Client.create_guild:5 of
+msgid "Bot accounts in more than 10 guilds are not allowed to create guilds."
+msgstr ""
+
+#: discord.Client.create_guild:7 of
+msgid "The name of the guild."
+msgstr ""
+
+#: discord.Client.create_guild:9 of
+msgid ""
+"The region for the voice communication server. Defaults to "
+":attr:`VoiceRegion.us_west`."
+msgstr ""
+
+#: discord.Client.create_guild:12 of
+msgid ""
+"The *bytes-like* object representing the icon. See "
+":meth:`~ClientUser.edit` for more details on what is expected."
+msgstr ""
+
+#: discord.Client.create_guild:16 of
+msgid ":exc:`HTTPException` -- Guild creation failed."
+msgstr ""
+
+#: discord.Client.create_guild:17 of
+msgid ""
+":exc:`InvalidArgument` -- Invalid icon image format given. Must be PNG or"
+" JPG."
+msgstr ""
+
+#: discord.Client.create_guild:19 of
+msgid "The guild created. This is not the same guild that is added to cache."
+msgstr ""
+
+#: discord.Client.create_guild:21 of
+msgid ":class:`Guild`"
+msgstr ""
+
+#: discord.Client.delete_invite:3 of
+msgid "Revokes an :class:`Invite`, URL, or ID to an invite."
+msgstr ""
+
+#: discord.Client.delete_invite:5 of
+msgid ""
+"You must have the :attr:`~Permissions.manage_channels` permission in the "
+"associated guild to do this."
+msgstr ""
+
+#: discord.Client.delete_invite:8 of
+msgid "The invite to revoke."
+msgstr ""
+
+#: discord.Client.delete_invite:10 discord.Invite.delete:10 of
+msgid ":exc:`Forbidden` -- You do not have permissions to revoke invites."
+msgstr ""
+
+#: discord.Client.delete_invite:11 discord.Invite.delete:11 of
+msgid ":exc:`NotFound` -- The invite is invalid or expired."
+msgstr ""
+
+#: discord.Client.delete_invite:12 discord.Invite.delete:12 of
+msgid ":exc:`HTTPException` -- Revoking the invite failed."
+msgstr ""
+
+#: discord.Client.get_invite:3 of
+msgid "Gets an :class:`Invite` from a discord.gg URL or ID."
+msgstr ""
+
+#: discord.Client.get_invite:7 of
+msgid ""
+"If the invite is for a guild you have not joined, the guild and channel "
+"attributes of the returned invite will be :class:`Object` with the names "
+"patched in."
+msgstr ""
+
+#: discord.Client.get_invite:11 of
+msgid "The discord invite ID or URL (must be a discord.gg URL)."
+msgstr ""
+
+#: discord.Client.get_invite:14 of
+msgid ":exc:`NotFound` -- The invite has expired or is invalid."
+msgstr ""
+
+#: discord.Client.get_invite:15 of
+msgid ":exc:`HTTPException` -- Getting the invite failed."
+msgstr ""
+
+#: discord.Client.get_invite:17 of
+msgid "The invite from the URL/ID."
+msgstr ""
+
+#: discord.CategoryChannel.create_invite:27 discord.Client.get_invite:18
+#: discord.Guild.vanity_invite:12 discord.TextChannel.create_invite:27
+#: discord.VoiceChannel.create_invite:27
+#: discord.abc.GuildChannel.create_invite:27 of
+msgid ":class:`Invite`"
+msgstr ""
+
+#: discord.Client.get_user_info:3 of
+msgid ""
+"Retrieves a :class:`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.Client.get_user_info:8 of
+msgid "The user's ID to fetch from."
+msgstr ""
+
+#: discord.Client.get_user_info:11 of
+msgid "The user you requested."
+msgstr ""
+
+#: discord.Client.get_user_info:12 discord.abc.Messageable:8 discord.abc.User:5
+#: of
+msgid ":class:`User`"
+msgstr ""
+
+#: discord.Client.get_user_info:14 of
+msgid ":exc:`NotFound` -- A user with this ID does not exist."
+msgstr ""
+
+#: discord.Client.get_user_info:15 of
+msgid ":exc:`HTTPException` -- Fetching the user failed."
+msgstr ""
+
+#: discord.Client.get_user_profile:3 of
+msgid ""
+"Gets an arbitrary user's profile. This can only be used by non-bot "
+"accounts."
+msgstr ""
+
+#: discord.Client.get_user_profile:5 of
+msgid "The ID of the user to fetch their profile for."
+msgstr ""
+
+#: discord.Client.get_user_profile:8 discord.Member.profile:5
+#: discord.User.profile:5 of
+msgid ":exc:`Forbidden` -- Not allowed to fetch profiles."
+msgstr ""
+
+#: discord.Client.get_user_profile:9 discord.Member.profile:6
+#: discord.User.profile:6 of
+msgid ":exc:`HTTPException` -- Fetching the profile failed."
+msgstr ""
+
+#: discord.Client.get_user_profile:11 discord.Member.profile:8
+#: discord.User.profile:8 of
+msgid "The profile of the user."
+msgstr ""
+
+#: discord.Client.get_user_profile:12 discord.Member.profile:9
+#: discord.User.profile:9 of
+msgid ":class:`Profile`"
+msgstr ""
+
+#: discord.Client.get_webhook_info:3 of
+msgid "Retrieves a :class:`Webhook` with the specified ID."
+msgstr ""
+
+#: discord.Client.get_webhook_info:5 of
+msgid ":exc:`HTTPException` -- Retrieving the webhook failed."
+msgstr ""
+
+#: discord.Client.get_webhook_info:6 of
+msgid ":exc:`NotFound` -- Invalid webhook ID."
+msgstr ""
+
+#: discord.Client.get_webhook_info:7 of
+msgid ":exc:`Forbidden` -- You do not have permission to fetch this webhook."
+msgstr ""
+
+#: discord.Client.get_webhook_info:9 of
+msgid "The webhook you requested."
+msgstr ""
+
+#: discord.Client.get_webhook_info:10 discord.TextChannel.create_webhook:17 of
+msgid ":class:`Webhook`"
+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
+msgid ""
+"Logging on with a user token is against the Discord `Terms of Service "
+"<https://support.discordapp.com/hc/en-us/articles/115002192352>`_ and "
+"doing so might potentially get your account banned. Use this at your own "
+"risk."
+msgstr ""
+
+#: 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 ""
+
+#: discord.Client.login:21 of
+msgid ":exc:`LoginFailure` -- The wrong credentials are passed."
+msgstr ""
+
+#: discord.Client.login:22 of
+msgid ""
+":exc:`HTTPException` -- An unknown HTTP related error occurred, usually "
+"when it isn't 200 or the known incorrect credentials passing status code."
+msgstr ""
+
+#: discord.Client.logout:3 of
+msgid "Logs out of Discord and closes all connections."
+msgstr ""
+
+#: 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 ``sys.stderr`` however it could be overridden "
+"to have a different implementation. Check :func:`discord.on_error` for "
+"more details."
+msgstr ""
+
+#: discord.AutoShardedClient.request_offline_members:3
+#: 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 ""
+
+#: discord.AutoShardedClient.request_offline_members:8
+#: 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 ""
+
+#: discord.AutoShardedClient.request_offline_members:13
+#: discord.Client.request_offline_members:13 of
+msgid "An argument list of guilds to request offline members for."
+msgstr ""
+
+#: discord.AutoShardedClient.request_offline_members:15
+#: discord.Client.request_offline_members:15 of
+msgid ""
+":exc:`InvalidArgument` -- If any guild is unavailable or not large in the"
+" collection."
+msgstr ""
+
+#: discord.Client.start:3 of
+msgid "A shorthand coroutine for :meth:`login` + :meth:`connect`."
+msgstr ""
+
+#: discord.Client.wait_until_ready:3 of
+msgid "Waits until the client's internal cache is all ready."
+msgstr ""
+
+#: discord.Client.user:1 of
+msgid ""
+"Optional[:class:`ClientUser`] -- Represents the connected client. None if"
+" not logged in."
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: discord.AutoShardedClient:10 of
+msgid ""
+"It is recommended to use this client only if you have surpassed at least "
+"1000 guilds."
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: discord.AutoShardedClient:23 of
+msgid ""
+"Optional[List[:class:`int`]] -- An optional list of shard_ids to launch "
+"the shards with."
+msgstr ""
+
+#: discord.AutoShardedClient.latency:1 of
+msgid ""
+":class:`float` -- Measures latency between a HEARTBEAT and a "
+"HEARTBEAT_ACK in seconds."
+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 ""
+
+#: discord.AutoShardedClient.latencies:1 of
+msgid ""
+"List[Tuple[:class:`int`, :class:`float`]] -- 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 ""
+
+#: discord.AutoShardedClient.change_presence:23 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 ""
+
+#: discord.AutoShardedClient.change_presence:28 of
+msgid ""
+":exc:`InvalidArgument` -- If the ``activity`` parameter is not of proper "
+"type."
+msgstr ""
+
+#: ../../api.rst:44
+msgid "Voice"
+msgstr ""
+
+#: discord.VoiceClient:1 of
+msgid "Represents a Discord voice connection."
+msgstr ""
+
+#: discord.VoiceClient:3 of
+msgid ""
+"You do not create these, you typically get them from e.g. "
+":meth:`VoiceChannel.connect`."
+msgstr ""
+
+#: discord.VoiceClient:8 of
+msgid ""
+"In order to play audio, you must have loaded the opus library through "
+":func:`opus.load_opus`."
+msgstr ""
+
+#: discord.VoiceClient:11 of
+msgid "If you don't do this then the library will not be able to transmit audio."
+msgstr ""
+
+#: discord.VoiceClient:16 of
+msgid ":class:`str` -- The voice connection session ID."
+msgstr ""
+
+#: discord.VoiceClient:20 of
+msgid ":class:`str` -- The voice connection token."
+msgstr ""
+
+#: discord.VoiceClient:24 of
+msgid ":class:`str` -- The endpoint we are connecting to."
+msgstr ""
+
+#: discord.VoiceClient:28 of
+msgid ":class:`abc.Connectable` -- The voice channel connected to."
+msgstr ""
+
+#: discord.VoiceClient:32 of
+msgid "The event loop that the voice client is running on."
+msgstr ""
+
+#: discord.VoiceClient.guild:1 of
+msgid "Optional[:class:`Guild`] -- The guild we're connected to, if applicable."
+msgstr ""
+
+#: discord.VoiceClient.user:1 of
+msgid ":class:`ClientUser` -- The user connected to voice (i.e. ourselves)."
+msgstr ""
+
+#: discord.VoiceClient.is_connected:1 of
+msgid ":class:`bool`: Indicates if the voice client is connected to voice."
+msgstr ""
+
+#: discord.VoiceClient.play:1 of
+msgid "Plays an :class:`AudioSource`."
+msgstr ""
+
+#: discord.VoiceClient.play:3 of
+msgid ""
+"The finalizer, ``after`` is called after the source has been exhausted or"
+" an error occurred."
+msgstr ""
+
+#: discord.VoiceClient.play:6 of
+msgid ""
+"If an error happens while the audio player is running, the exception is "
+"caught and the audio player is then stopped."
+msgstr ""
+
+#: discord.VoiceClient.play:9 of
+msgid "The audio source we're reading from."
+msgstr ""
+
+#: discord.VoiceClient.play:11 of
+msgid ""
+"The finalizer that is called after the stream is exhausted. All "
+"exceptions it throws are silently discarded. This function must have a "
+"single parameter, ``error``, that denotes an optional exception that was "
+"raised during playing."
+msgstr ""
+
+#: discord.VoiceClient.play:16 of
+msgid ":exc:`ClientException` -- Already playing audio or not connected."
+msgstr ""
+
+#: discord.VoiceClient.play:17 of
+msgid ""
+":exc:`TypeError` -- source is not a :class:`AudioSource` or after is not "
+"a callable."
+msgstr ""
+
+#: discord.VoiceClient.is_playing:1 of
+msgid "Indicates if we're currently playing audio."
+msgstr ""
+
+#: discord.VoiceClient.disconnect:3 of
+msgid "Disconnects this voice client from voice."
+msgstr ""
+
+#: discord.VoiceClient.is_paused:1 of
+msgid "Indicates if we're playing audio, but if we're paused."
+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.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
+msgid ""
+"Optional[:class:`AudioSource`] -- The audio source being played, if "
+"playing."
+msgstr ""
+
+#: discord.VoiceClient.source:3 of
+msgid ""
+"This property can also be used to change the audio source currently being"
+" played."
+msgstr ""
+
+#: 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 *bytes-like object* denoting PCM or Opus voice data."
+msgstr ""
+
+#: discord.VoiceClient.send_audio_packet:7 of
+msgid "Indicates if ``data`` should be encoded into Opus."
+msgstr ""
+
+#: discord.VoiceClient.send_audio_packet:10 of
+msgid ":exc:`ClientException` -- You are not connected."
+msgstr ""
+
+#: discord.VoiceClient.send_audio_packet:11 of
+msgid ":exc:`OpusError` -- Encoding the data failed."
+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 ""
+
+#: discord.AudioSource:8 of
+msgid "The audio source reads are done in a separate thread."
+msgstr ""
+
+#: discord.AudioSource.read:1 discord.FFmpegPCMAudio.read:1
+#: discord.PCMAudio.read:1 discord.PCMVolumeTransformer.read:1 of
+msgid "Reads 20ms worth of audio."
+msgstr ""
+
+#: discord.AsyncWebhookAdapter.handle_execution_response:7
+#: discord.AsyncWebhookAdapter.request:3 discord.AudioSource.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.FFmpegPCMAudio.read:5
+#: discord.PCMAudio.read:5 discord.PCMVolumeTransformer.read:5 of
+msgid ""
+"If the audio is complete, then returning an empty *bytes-like* object to "
+"signal this is the way to do so."
+msgstr ""
+
+#: discord.AudioSource.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 ""
+
+#: discord.AudioSource.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 ""
+
+#: discord.AudioSource.is_opus:1 of
+msgid "Checks if the audio source is already encoded in Opus."
+msgstr ""
+
+#: discord.AudioSource.is_opus:3 of
+msgid "Defaults to ``False``."
+msgstr ""
+
+#: discord.AudioSource.cleanup:1 discord.FFmpegPCMAudio.cleanup:1
+#: discord.PCMVolumeTransformer.cleanup:1 of
+msgid "Called when clean-up is needed to be done."
+msgstr ""
+
+#: discord.AudioSource.cleanup:3 discord.FFmpegPCMAudio.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 ""
+
+#: discord.PCMAudio:5 of
+msgid ""
+"*file-like object* -- A file-like object that reads byte data "
+"representing raw PCM."
+msgstr ""
+
+#: discord.FFmpegPCMAudio:1 of
+msgid "An audio source from FFmpeg (or AVConv)."
+msgstr ""
+
+#: discord.FFmpegPCMAudio:3 of
+msgid "This launches a sub-process to a specific input file given."
+msgstr ""
+
+#: 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 ""
+
+#: discord.FFmpegPCMAudio:10 of
+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 ""
+
+#: discord.FFmpegPCMAudio:14 of
+msgid "The executable name (and path) to use. Defaults to ``ffmpeg``."
+msgstr ""
+
+#: discord.FFmpegPCMAudio:16 of
+msgid ""
+"If true, denotes that ``source`` parameter will be passed to the stdin of"
+" ffmpeg. Defaults to ``False``."
+msgstr ""
+
+#: discord.FFmpegPCMAudio:19 of
+msgid ""
+"A file-like object to pass to the Popen constructor. Could also be an "
+"instance of ``subprocess.PIPE``."
+msgstr ""
+
+#: discord.FFmpegPCMAudio:22 of
+msgid "Extra command line arguments to pass to ffmpeg after the ``-i`` flag."
+msgstr ""
+
+#: discord.FFmpegPCMAudio:24 of
+msgid "Extra command line arguments to pass to ffmpeg before the ``-i`` flag."
+msgstr ""
+
+#: discord.FFmpegPCMAudio:27 of
+msgid ":exc:`ClientException` -- The subprocess failed to be created."
+msgstr ""
+
+#: discord.PCMVolumeTransformer:1 of
+msgid "Transforms a previous :class:`AudioSource` to have volume controls."
+msgstr ""
+
+#: discord.PCMVolumeTransformer:3 of
+msgid ""
+"This does not work on audio sources that have :meth:`AudioSource.is_opus`"
+" set to ``True``."
+msgstr ""
+
+#: discord.PCMVolumeTransformer:6 of
+msgid "The original AudioSource to transform."
+msgstr ""
+
+#: discord.PCMVolumeTransformer:8 of
+msgid "The initial volume to set it to. See :attr:`volume` for more info."
+msgstr ""
+
+#: discord.PCMVolumeTransformer:12 of
+msgid ":exc:`TypeError` -- Not an audio source."
+msgstr ""
+
+#: discord.PCMVolumeTransformer:13 of
+msgid ":exc:`ClientException` -- The audio source is opus encoded."
+msgstr ""
+
+#: discord.PCMVolumeTransformer.volume:1 of
+msgid ""
+"Retrieves or sets the volume as a floating point percentage (e.g. 1.0 for"
+" 100%)."
+msgstr ""
+
+#: ../../api.rst:62
+msgid "Opus Library"
+msgstr ""
+
+#: discord.opus.load_opus:1 of
+msgid "Loads the libopus shared library for use with voice."
+msgstr ""
+
+#: discord.opus.load_opus:3 of
+msgid ""
+"If this function is not called then the library uses the function "
+"`ctypes.util.find_library`__ and then loads that one if available."
+msgstr ""
+
+#: discord.opus.load_opus:10 of
+msgid "Not loading a library leads to voice not working."
+msgstr ""
+
+#: discord.opus.load_opus:12 of
+msgid "This function propagates the exceptions thrown."
+msgstr ""
+
+#: discord.opus.load_opus:16 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 ""
+
+#: discord.opus.load_opus:23 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, `find library`_ will usually find the library "
+"automatically without you having to call this."
+msgstr ""
+
+#: discord.opus.load_opus:28 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 "
+"``ctypes.util.find_library`` call of :func:`load_opus`."
+msgstr ""
+
+#: discord.opus.is_loaded:4 of
+msgid "This must return ``True`` for voice to work."
+msgstr ""
+
+#: discord.opus.is_loaded:6 of
+msgid "Indicates if the opus library has been loaded."
+msgstr ""
+
+#: ../../api.rst:71
+msgid "Event Reference"
+msgstr ""
+
+#: ../../api.rst:73
+msgid ""
+"This page outlines the different types of events listened by "
+":class:`Client`."
+msgstr ""
+
+#: ../../api.rst:75
+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 ""
+
+#: ../../api.rst:90
+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 ""
+
+#: ../../api.rst:95
+msgid ""
+"All the events must be a |corourl|_. 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 ""
+
+#: ../../api.rst:101
+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 ""
+
+#: ../../api.rst:104
+msgid "The warnings on :func:`on_ready` also apply."
+msgstr ""
+
+#: ../../api.rst:108
+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 ""
+
+#: ../../api.rst:113
+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:120
+msgid ""
+"Similar to :func:`on_ready` except used by :class:`AutoShardedClient` to "
+"denote when a particular shard ID has become ready."
+msgstr ""
+
+#: ../../api.rst:123
+msgid "The shard ID that is ready."
+msgstr ""
+
+#: ../../api.rst:127
+msgid "Called when the client has resumed a session."
+msgstr ""
+
+#: ../../api.rst:131
+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 supress the default "
+"action of printing the traceback."
+msgstr ""
+
+#: ../../api.rst:137
+msgid ""
+"The information of the exception rasied and the exception itself can be "
+"retreived with a standard call to ``sys.exc_info()``."
+msgstr ""
+
+#: ../../api.rst:140
+msgid ""
+"If you want exception to propogate out of the :class:`Client` class you "
+"can define an ``on_error`` handler consisting of a single empty ``raise``"
+" statement. Exceptions raised by ``on_error`` will not be handled in any"
+" way by :class:`Client`."
+msgstr ""
+
+#: ../../api.rst:145
+msgid "The name of the event that raised the exception."
+msgstr ""
+
+#: ../../api.rst:146
+msgid "The positional arguments for the event that raised the exception."
+msgstr ""
+
+#: ../../api.rst:148
+msgid "The keyword arguments for the event that raised the execption."
+msgstr ""
+
+#: ../../api.rst:153
+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 ""
+
+#: ../../api.rst:157 ../../api.rst:175
+msgid ""
+"This is only really useful for grabbing the WebSocket stream and "
+"debugging purposes."
+msgstr ""
+
+#: ../../api.rst:162 ../../api.rst:180
+msgid ""
+"This is only for the messages received from the client WebSocket. The "
+"voice WebSocket will not trigger this event."
+msgstr ""
+
+#: ../../api.rst:165
+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 ""
+
+#: ../../api.rst:171
+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 ""
+
+#: ../../api.rst:183
+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 ""
+
+#: ../../api.rst:189
+msgid "Called when someone begins typing a message."
+msgstr ""
+
+#: ../../api.rst:191
+msgid ""
+"The ``channel`` parameter can be a :class:`abc.Messageable` instance. "
+"Which could either be :class:`TextChannel`, :class:`GroupChannel`, or "
+":class:`DMChannel`."
+msgstr ""
+
+#: ../../api.rst:195
+msgid ""
+"If the ``channel`` is a :class:`TextChannel` then the ``user`` parameter "
+"is a :class:`Member`, otherwise it is a :class:`User`."
+msgstr ""
+
+#: ../../api.rst:198
+msgid "The location where the typing originated from."
+msgstr ""
+
+#: ../../api.rst:199
+msgid "The user that started typing."
+msgstr ""
+
+#: ../../api.rst:200
+msgid "A ``datetime.datetime`` object representing when typing started."
+msgstr ""
+
+#: ../../api.rst:204
+msgid "Called when a :class:`Message` is created and sent."
+msgstr ""
+
+#: ../../api.rst:208
+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 ""
+
+#: ../../api.rst:214
+msgid "A :class:`Message` of the current message."
+msgstr ""
+
+#: ../../api.rst:218
+msgid ""
+"Called when a message is deleted. If the message is not found in the "
+":attr:`Client.messages` cache, then these events will not be called. This"
+" happens if the message is too old or the client is participating in high"
+" traffic guilds. To fix this, increase the ``max_messages`` option of "
+":class:`Client`."
+msgstr ""
+
+#: ../../api.rst:224
+msgid "A :class:`Message` of the deleted message."
+msgstr ""
+
+#: ../../api.rst:228
+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 ""
+
+#: ../../api.rst:231 ../../api.rst:239 ../../api.rst:275 ../../api.rst:296
+#: ../../api.rst:317 ../../api.rst:334
+msgid "The raw event payload data."
+msgstr ""
+
+#: ../../api.rst:236
+msgid ""
+"Called when a bulk delete is triggered. This event is called regardless "
+"of the message IDs being in the internal message cache or not."
+msgstr ""
+
+#: ../../api.rst:244
+msgid ""
+"Called when a :class:`Message` receives an update event. If the message "
+"is not found in the :attr:`Client.messages` cache, then these events will"
+" not be called. This happens if the message is too old or the client is "
+"participating in high traffic guilds. To fix this, increase the "
+"``max_messages`` option of :class:`Client`."
+msgstr ""
+
+#: ../../api.rst:249
+msgid "The following non-exhaustive cases trigger this event:"
+msgstr ""
+
+#: ../../api.rst:251
+msgid "A message has been pinned or unpinned."
+msgstr ""
+
+#: ../../api.rst:252
+msgid "The message content has been changed."
+msgstr ""
+
+#: ../../api.rst:253
+msgid "The message has received an embed."
+msgstr ""
+
+#: ../../api.rst:255
+msgid ""
+"For performance reasons, the embed server does not do this in a "
+"\"consistent\" manner."
+msgstr ""
+
+#: ../../api.rst:257
+msgid "A call message has received an update to its participants or ending time."
+msgstr ""
+
+#: ../../api.rst:259
+msgid "A :class:`Message` of the previous version of the message."
+msgstr ""
+
+#: ../../api.rst:260
+msgid "A :class:`Message` of the current version of the message."
+msgstr ""
+
+#: ../../api.rst:264
+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 ""
+
+#: ../../api.rst:267
+msgid ""
+"Due to the inherently raw nature of this event, the data parameter "
+"coincides with the raw data given by the `gateway "
+"<https://discordapp.com/developers/docs/topics/gateway#message-update>`_"
+msgstr ""
+
+#: ../../api.rst:270
+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 ""
+
+#: ../../api.rst:280
+msgid ""
+"Called when a message has a reaction added to it. Similar to "
+"on_message_edit, if the message is not found in the "
+":attr:`Client.messages` cache, then this event will not be called."
+msgstr ""
+
+#: ../../api.rst:286
+msgid ""
+"To get the :class:`Message` being reacted, access it via "
+":attr:`Reaction.message`."
+msgstr ""
+
+#: ../../api.rst:288 ../../api.rst:309
+msgid "A :class:`Reaction` showing the current state of the reaction."
+msgstr ""
+
+#: ../../api.rst:289
+msgid "A :class:`User` or :class:`Member` of the user who added the reaction."
+msgstr ""
+
+#: ../../api.rst:293
+msgid ""
+"Called when a reaction has a reaction added. Unlike "
+":func:`on_reaction_add`, this is called regardless of the state of the "
+"internal message cache."
+msgstr ""
+
+#: ../../api.rst:301
+msgid ""
+"Called when a message has a reaction removed from it. Similar to "
+"on_message_edit, if the message is not found in the "
+":attr:`Client.messages` cache, then this event will not be called."
+msgstr ""
+
+#: ../../api.rst:307
+msgid "To get the message being reacted, access it via :attr:`Reaction.message`."
+msgstr ""
+
+#: ../../api.rst:310
+msgid "A :class:`User` or :class:`Member` of the user who removed the reaction."
+msgstr ""
+
+#: ../../api.rst:314
+msgid ""
+"Called when a reaction has a reaction removed. Unlike "
+":func:`on_reaction_remove`, this is called regardless of the state of the"
+" internal message cache."
+msgstr ""
+
+#: ../../api.rst:322
+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 "
+":attr:`Client.messages` cache, then this event will not be called."
+msgstr ""
+
+#: ../../api.rst:326
+msgid "The :class:`Message` that had its reactions cleared."
+msgstr ""
+
+#: ../../api.rst:327
+msgid "A list of :class:`Reaction`\\s that were removed."
+msgstr ""
+
+#: ../../api.rst:331
+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 ""
+
+#: ../../api.rst:340
+msgid "Called whenever a private channel is deleted or created."
+msgstr ""
+
+#: ../../api.rst:342
+msgid "The :class:`abc.PrivateChannel` that got created or deleted."
+msgstr ""
+
+#: ../../api.rst:346
+msgid "Called whenever a private group DM is updated. e.g. changed name or topic."
+msgstr ""
+
+#: ../../api.rst:348
+msgid "The :class:`GroupChannel` that got updated with the old info."
+msgstr ""
+
+#: ../../api.rst:349
+msgid "The :class:`GroupChannel` that got updated with the updated info."
+msgstr ""
+
+#: ../../api.rst:353
+msgid "Called whenever a message is pinned or unpinned from a private channel."
+msgstr ""
+
+#: ../../api.rst:355
+msgid "The :class:`abc.PrivateChannel` that had it's pins updated."
+msgstr ""
+
+#: ../../api.rst:356 ../../api.rst:380
+msgid ""
+"A ``datetime.datetime`` object representing when the latest message was "
+"pinned or ``None`` if there are no pins."
+msgstr ""
+
+#: ../../api.rst:362
+msgid "Called whenever a guild channel is deleted or created."
+msgstr ""
+
+#: ../../api.rst:364
+msgid "Note that you can get the guild from :attr:`~abc.GuildChannel.guild`."
+msgstr ""
+
+#: ../../api.rst:366
+msgid "The :class:`abc.GuildChannel` that got created or deleted."
+msgstr ""
+
+#: ../../api.rst:370
+msgid ""
+"Called whenever a guild channel is updated. e.g. changed name, topic, "
+"permissions."
+msgstr ""
+
+#: ../../api.rst:372
+msgid "The :class:`abc.GuildChannel` that got updated with the old info."
+msgstr ""
+
+#: ../../api.rst:373
+msgid "The :class:`abc.GuildChannel` that got updated with the updated info."
+msgstr ""
+
+#: ../../api.rst:377
+msgid "Called whenever a message is pinned or unpinned from a guild channel."
+msgstr ""
+
+#: ../../api.rst:379
+msgid "The :class:`abc.GuildChannel` that had it's pins updated."
+msgstr ""
+
+#: ../../api.rst:386
+msgid "Called when a :class:`Member` leaves or joins a :class:`Guild`."
+msgstr ""
+
+#: ../../api.rst:388
+msgid "The :class:`Member` that joined or left."
+msgstr ""
+
+#: ../../api.rst:392
+msgid "Called when a :class:`Member` updates their profile."
+msgstr ""
+
+#: ../../api.rst:394
+msgid "This is called when one or more of the following things change:"
+msgstr ""
+
+#: ../../api.rst:396
+msgid "status"
+msgstr ""
+
+#: ../../api.rst:397
+msgid "game playing"
+msgstr ""
+
+#: ../../api.rst:398
+msgid "avatar"
+msgstr ""
+
+#: ../../api.rst:399
+msgid "nickname"
+msgstr ""
+
+#: ../../api.rst:400 discord.Member.edit:16 of
+msgid "roles"
+msgstr ""
+
+#: ../../api.rst:402
+msgid "The :class:`Member` that updated their profile with the old info."
+msgstr ""
+
+#: ../../api.rst:403
+msgid "The :class:`Member` that updated their profile with the updated info."
+msgstr ""
+
+#: ../../api.rst:407
+msgid ""
+"Called when a :class:`Guild` is either created by the :class:`Client` or "
+"when the :class:`Client` joins a guild."
+msgstr ""
+
+#: ../../api.rst:410
+msgid "The :class:`Guild` that was joined."
+msgstr ""
+
+#: ../../api.rst:414
+msgid "Called when a :class:`Guild` is removed from the :class:`Client`."
+msgstr ""
+
+#: ../../api.rst:416
+msgid "This happens through, but not limited to, these circumstances:"
+msgstr ""
+
+#: ../../api.rst:418
+msgid "The client got banned."
+msgstr ""
+
+#: ../../api.rst:419
+msgid "The client got kicked."
+msgstr ""
+
+#: ../../api.rst:420
+msgid "The client left the guild."
+msgstr ""
+
+#: ../../api.rst:421
+msgid "The client or the guild owner deleted the guild."
+msgstr ""
+
+#: ../../api.rst:423
+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 ""
+
+#: ../../api.rst:426
+msgid "The :class:`Guild` that got removed."
+msgstr ""
+
+#: ../../api.rst:430
+msgid "Called when a :class:`Guild` updates, for example:"
+msgstr ""
+
+#: ../../api.rst:432
+msgid "Changed name"
+msgstr ""
+
+#: ../../api.rst:433
+msgid "Changed AFK channel"
+msgstr ""
+
+#: ../../api.rst:434
+msgid "Changed AFK timeout"
+msgstr ""
+
+#: ../../api.rst:435
+msgid "etc"
+msgstr ""
+
+#: ../../api.rst:437
+msgid "The :class:`Guild` prior to being updated."
+msgstr ""
+
+#: ../../api.rst:438
+msgid "The :class:`Guild` after being updated."
+msgstr ""
+
+#: ../../api.rst:443
+msgid "Called when a :class:`Guild` creates or deletes a new :class:`Role`."
+msgstr ""
+
+#: ../../api.rst:445
+msgid "To get the guild it belongs to, use :attr:`Role.guild`."
+msgstr ""
+
+#: ../../api.rst:447
+msgid "The :class:`Role` that was created or deleted."
+msgstr ""
+
+#: ../../api.rst:451
+msgid "Called when a :class:`Role` is changed guild-wide."
+msgstr ""
+
+#: ../../api.rst:453
+msgid "The :class:`Role` that updated with the old info."
+msgstr ""
+
+#: ../../api.rst:454
+msgid "The :class:`Role` that updated with the updated info."
+msgstr ""
+
+#: ../../api.rst:458
+msgid "Called when a :class:`Guild` adds or removes :class:`Emoji`."
+msgstr ""
+
+#: ../../api.rst:460
+msgid "The :class:`Guild` who got their emojis updated."
+msgstr ""
+
+#: ../../api.rst:461
+msgid "A list of :class:`Emoji` before the update."
+msgstr ""
+
+#: ../../api.rst:462
+msgid "A list of :class:`Emoji` after the update."
+msgstr ""
+
+#: ../../api.rst:467
+msgid ""
+"Called when a guild becomes available or unavailable. The guild must have"
+" existed in the :attr:`Client.guilds` cache."
+msgstr ""
+
+#: ../../api.rst:470
+msgid "The :class:`Guild` that has changed availability."
+msgstr ""
+
+#: ../../api.rst:474
+msgid "Called when a :class:`Member` changes their :class:`VoiceState`."
+msgstr ""
+
+#: ../../api.rst:476
+msgid ""
+"The following, but not limited to, examples illustrate when this event is"
+" called:"
+msgstr ""
+
+#: ../../api.rst:478
+msgid "A member joins a voice room."
+msgstr ""
+
+#: ../../api.rst:479
+msgid "A member leaves a voice room."
+msgstr ""
+
+#: ../../api.rst:480
+msgid "A member is muted or deafened by their own accord."
+msgstr ""
+
+#: ../../api.rst:481
+msgid "A member is muted or deafened by a guild administrator."
+msgstr ""
+
+#: ../../api.rst:483
+msgid "The :class:`Member` whose voice states changed."
+msgstr ""
+
+#: ../../api.rst:484
+msgid "The :class:`VoiceState` prior to the changes."
+msgstr ""
+
+#: ../../api.rst:485
+msgid "The :class:`VoiceState` after to the changes."
+msgstr ""
+
+#: ../../api.rst:489
+msgid "Called when user gets banned from a :class:`Guild`."
+msgstr ""
+
+#: ../../api.rst:491
+msgid "The :class:`Guild` the user got banned from."
+msgstr ""
+
+#: ../../api.rst:492
+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 ""
+
+#: ../../api.rst:498
+msgid "Called when a :class:`User` gets unbanned from a :class:`Guild`."
+msgstr ""
+
+#: ../../api.rst:500
+msgid "The :class:`Guild` the user got unbanned from."
+msgstr ""
+
+#: ../../api.rst:501
+msgid "The :class:`User` that got unbanned."
+msgstr ""
+
+#: ../../api.rst:506
+msgid ""
+"Called when someone joins or leaves a group, i.e. a "
+":class:`PrivateChannel` with a :attr:`PrivateChannel.type` of "
+":attr:`ChannelType.group`."
+msgstr ""
+
+#: ../../api.rst:509
+msgid "The group that the user joined or left."
+msgstr ""
+
+#: ../../api.rst:510
+msgid "The user that joined or left."
+msgstr ""
+
+#: ../../api.rst:515
+msgid ""
+"Called when a :class:`Relationship` is added or removed from the "
+":class:`ClientUser`."
+msgstr ""
+
+#: ../../api.rst:518
+msgid "The relationship that was added or removed."
+msgstr ""
+
+#: ../../api.rst:522
+msgid ""
+"Called when a :class:`Relationship` is updated, e.g. when you block a "
+"friend or a friendship is accepted."
+msgstr ""
+
+#: ../../api.rst:525
+msgid "The previous relationship status."
+msgstr ""
+
+#: ../../api.rst:526
+msgid "The updated relationship status."
+msgstr ""
+
+#: ../../api.rst:531
+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:`Member` whose name is 'Mighty' and return "
+"it. If an entry is not found, then ``None`` is returned."
+msgstr ""
+
+#: discord.utils.find:9 of
+msgid ""
+"This is different from `filter`_ due to the fact it stops the moment it "
+"finds a valid entry."
+msgstr ""
+
+#: discord.utils.find:15 of
+msgid "A function that returns a boolean-like result."
+msgstr ""
+
+#: discord.utils.find:16 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 ""
+
+#: 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 ""
+
+#: discord.utils.get:12 of
+msgid ""
+"If nothing is found that matches the attributes passed, then ``None`` is "
+"returned."
+msgstr ""
+
+#: 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 "Returns the creation date in UTC of a discord id."
+msgstr ""
+
+#: discord.utils.oauth_url:1 of
+msgid ""
+"A helper function that returns the OAuth2 URL for inviting the bot into "
+"guilds."
+msgstr ""
+
+#: discord.utils.oauth_url:4 of
+msgid "The client ID for your bot."
+msgstr ""
+
+#: 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 ""
+
+#: ../../api.rst:542
+msgid "Application Info"
+msgstr ""
+
+#: ../../api.rst:546
+msgid "A namedtuple representing the bot's application info."
+msgstr ""
+
+#: ../../api.rst:550
+msgid "The application's ``client_id``."
+msgstr ""
+
+#: ../../api.rst:553
+msgid "The application's name."
+msgstr ""
+
+#: ../../api.rst:556
+msgid "The application's description"
+msgstr ""
+
+#: ../../api.rst:559
+msgid "The application's icon hash if it exists, ``None`` otherwise."
+msgstr ""
+
+#: ../../api.rst:562
+msgid "A property that retrieves the application's icon URL if it exists."
+msgstr ""
+
+#: ../../api.rst:564
+msgid "If it doesn't exist an empty string is returned."
+msgstr ""
+
+#: ../../api.rst:567
+msgid ""
+"The owner of the application. This is a :class:`User` instance with the "
+"owner's information at the time of the call."
+msgstr ""
+
+#: ../../api.rst:571
+msgid "Profile"
+msgstr ""
+
+#: ../../api.rst:575
+msgid "A namedtuple representing a user's Discord public profile."
+msgstr ""
+
+#: ../../api.rst:579
+msgid "The :class:`User` the profile belongs to."
+msgstr ""
+
+#: ../../api.rst:582
+msgid "A boolean indicating if the user has premium (i.e. Discord Nitro)."
+msgstr ""
+
+#: ../../api.rst:585
+msgid "An alias for :attr:`premium`."
+msgstr ""
+
+#: ../../api.rst:588
+msgid ""
+"A naive UTC datetime indicating how long the user has been premium since."
+" This could be ``None`` if not applicable."
+msgstr ""
+
+#: ../../api.rst:592
+msgid "A boolean indicating if the user is Discord Staff."
+msgstr ""
+
+#: ../../api.rst:595
+msgid "A boolean indicating if the user is a Discord Partner."
+msgstr ""
+
+#: ../../api.rst:598
+msgid "A boolean indicating if the user is in Discord HypeSquad."
+msgstr ""
+
+#: ../../api.rst:601
+msgid ""
+"A list of :class:`Guild` that the :class:`ClientUser` shares with this "
+"user."
+msgstr ""
+
+#: ../../api.rst:605
+msgid "A list of dict objects indicating the accounts the user has connected."
+msgstr ""
+
+#: ../../api.rst:607
+msgid "An example entry can be seen below: ::"
+msgstr ""
+
+#: ../../api.rst:614
+msgid "Enumerations"
+msgstr ""
+
+#: ../../api.rst:616
+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.rst:619
+msgid "All enumerations are subclasses of `enum`_."
+msgstr ""
+
+#: ../../api.rst:625
+msgid "Specifies the type of channel."
+msgstr ""
+
+#: ../../api.rst:629
+msgid "A text channel."
+msgstr ""
+
+#: ../../api.rst:632
+msgid "A voice channel."
+msgstr ""
+
+#: ../../api.rst:635
+msgid "A private text channel. Also called a direct message."
+msgstr ""
+
+#: ../../api.rst:638
+msgid "A private group text channel."
+msgstr ""
+
+#: ../../api.rst:642
+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 ""
+
+#: ../../api.rst:647
+msgid "The default message type. This is the same as regular messages."
+msgstr ""
+
+#: ../../api.rst:650
+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 ""
+
+#: ../../api.rst:654
+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 ""
+
+#: ../../api.rst:658
+msgid ""
+"The system message denoting call state, e.g. missed call, started call, "
+"etc."
+msgstr ""
+
+#: ../../api.rst:662
+msgid "The system message denoting that a channel's name has been changed."
+msgstr ""
+
+#: ../../api.rst:665
+msgid "The system message denoting that a channel's icon has been changed."
+msgstr ""
+
+#: ../../api.rst:668
+msgid ""
+"The system message denoting that a pinned message has been added to a "
+"channel."
+msgstr ""
+
+#: ../../api.rst:672
+msgid "The system message denoting that a new member has joined a Guild."
+msgstr ""
+
+#: ../../api.rst:676
+msgid ""
+"Specifies the type of :class:`Activity`. This is used to check how to "
+"interpret the activity itself."
+msgstr ""
+
+#: ../../api.rst:681
+msgid "An unknown activity type. This should generally not happen."
+msgstr ""
+
+#: ../../api.rst:684
+msgid "A \"Playing\" activity type."
+msgstr ""
+
+#: ../../api.rst:687
+msgid "A \"Streaming\" activity type."
+msgstr ""
+
+#: ../../api.rst:690
+msgid "A \"Listening\" activity type."
+msgstr ""
+
+#: ../../api.rst:693
+msgid "A \"Watching\" activity type."
+msgstr ""
+
+#: ../../api.rst:697
+msgid "Specifies the region a voice server belongs to."
+msgstr ""
+
+#: ../../api.rst:701
+msgid "The US West region."
+msgstr ""
+
+#: ../../api.rst:704
+msgid "The US East region."
+msgstr ""
+
+#: ../../api.rst:707
+msgid "The US South region."
+msgstr ""
+
+#: ../../api.rst:710
+msgid "The US Central region."
+msgstr ""
+
+#: ../../api.rst:713
+msgid "The EU West region."
+msgstr ""
+
+#: ../../api.rst:716
+msgid "The EU Central region."
+msgstr ""
+
+#: ../../api.rst:719
+msgid "The Singapore region."
+msgstr ""
+
+#: ../../api.rst:722
+msgid "The London region."
+msgstr ""
+
+#: ../../api.rst:725
+msgid "The Sydney region."
+msgstr ""
+
+#: ../../api.rst:728
+msgid "The Amsterdam region."
+msgstr ""
+
+#: ../../api.rst:731
+msgid "The Frankfurt region."
+msgstr ""
+
+#: ../../api.rst:735
+msgid "The Brazil region."
+msgstr ""
+
+#: ../../api.rst:738
+msgid "The Hong Kong region."
+msgstr ""
+
+#: ../../api.rst:741
+msgid "The Russia region."
+msgstr ""
+
+#: ../../api.rst:744
+msgid "The US East region for VIP guilds."
+msgstr ""
+
+#: ../../api.rst:747
+msgid "The US West region for VIP guilds."
+msgstr ""
+
+#: ../../api.rst:750
+msgid "The Amsterdam region for VIP guilds."
+msgstr ""
+
+#: ../../api.rst:754
+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 ""
+
+#: ../../api.rst:761
+msgid "Checks if two verification levels are equal."
+msgstr ""
+
+#: ../../api.rst:764
+msgid "Checks if two verification levels are not equal."
+msgstr ""
+
+#: ../../api.rst:767
+msgid "Checks if a verification level is higher than another."
+msgstr ""
+
+#: ../../api.rst:770
+msgid "Checks if a verification level is lower than another."
+msgstr ""
+
+#: ../../api.rst:773
+msgid "Checks if a verification level is higher or equal to another."
+msgstr ""
+
+#: ../../api.rst:776
+msgid "Checks if a verification level is lower or equal to another."
+msgstr ""
+
+#: ../../api.rst:780
+msgid "No criteria set."
+msgstr ""
+
+#: ../../api.rst:783
+msgid "Member must have a verified email on their Discord account."
+msgstr ""
+
+#: ../../api.rst:786
+msgid ""
+"Member must have a verified email and be registered on Discord for more "
+"than five minutes."
+msgstr ""
+
+#: ../../api.rst:790
+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 ""
+
+#: ../../api.rst:795
+msgid "An alias for :attr:`high`."
+msgstr ""
+
+#: ../../api.rst:798
+msgid "Member must have a verified phone on their Discord account."
+msgstr ""
+
+#: ../../api.rst:802
+msgid "An alias for :attr:`extreme`."
+msgstr ""
+
+#: ../../api.rst:806
+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 ""
+
+#: ../../api.rst:814
+msgid "Checks if two content filter levels are equal."
+msgstr ""
+
+#: ../../api.rst:817
+msgid "Checks if two content filter levels are not equal."
+msgstr ""
+
+#: ../../api.rst:820
+msgid "Checks if a content filter level is higher than another."
+msgstr ""
+
+#: ../../api.rst:823
+msgid "Checks if a content filter level is lower than another."
+msgstr ""
+
+#: ../../api.rst:826
+msgid "Checks if a content filter level is higher or equal to another."
+msgstr ""
+
+#: ../../api.rst:829
+msgid "Checks if a content filter level is lower or equal to another."
+msgstr ""
+
+#: ../../api.rst:833
+msgid "The guild does not have the content filter enabled."
+msgstr ""
+
+#: ../../api.rst:836
+msgid "The guild has the content filter enabled for members without a role."
+msgstr ""
+
+#: ../../api.rst:839
+msgid "The guild has the content filter enabled for every member."
+msgstr ""
+
+#: ../../api.rst:843
+msgid "Specifies a :class:`Member` 's status."
+msgstr ""
+
+#: ../../api.rst:847
+msgid "The member is online."
+msgstr ""
+
+#: ../../api.rst:850
+msgid "The member is offline."
+msgstr ""
+
+#: ../../api.rst:853
+msgid "The member is idle."
+msgstr ""
+
+#: ../../api.rst:856
+msgid "The member is \"Do Not Disturb\"."
+msgstr ""
+
+#: ../../api.rst:859
+msgid "An alias for :attr:`dnd`."
+msgstr ""
+
+#: ../../api.rst:862
+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 ""
+
+#: ../../api.rst:868
+msgid "Specifies the type of :class:`Relationship`"
+msgstr ""
+
+#: ../../api.rst:872
+msgid "You are friends with this user."
+msgstr ""
+
+#: ../../api.rst:875
+msgid "You have blocked this user."
+msgstr ""
+
+#: ../../api.rst:878
+msgid "The user has sent you a friend request."
+msgstr ""
+
+#: ../../api.rst:881
+msgid "You have sent a friend request to this user."
+msgstr ""
+
+#: ../../api.rst:886
+msgid ""
+"Represents the type of action being done for a :class:`AuditLogEntry`\\, "
+"which is retrievable via :meth:`Guild.audit_logs`."
+msgstr ""
+
+#: ../../api.rst:891
+msgid "The guild has updated. Things that trigger this include:"
+msgstr ""
+
+#: ../../api.rst:893
+msgid "Changing the guild vanity URL"
+msgstr ""
+
+#: ../../api.rst:894
+msgid "Changing the guild invite splash"
+msgstr ""
+
+#: ../../api.rst:895
+msgid "Changing the guild AFK channel or timeout"
+msgstr ""
+
+#: ../../api.rst:896
+msgid "Changing the guild voice server region"
+msgstr ""
+
+#: ../../api.rst:897
+msgid "Changing the guild icon"
+msgstr ""
+
+#: ../../api.rst:898
+msgid "Changing the guild moderation settings"
+msgstr ""
+
+#: ../../api.rst:899
+msgid "Changing things related to the guild widget"
+msgstr ""
+
+#: ../../api.rst:901
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is the"
+" :class:`Guild`."
+msgstr ""
+
+#: ../../api.rst:904 ../../api.rst:927 ../../api.rst:946 ../../api.rst:965
+#: ../../api.rst:984 ../../api.rst:1000 ../../api.rst:1015 ../../api.rst:1074
+#: ../../api.rst:1088 ../../api.rst:1099 ../../api.rst:1119 ../../api.rst:1134
+#: ../../api.rst:1149 ../../api.rst:1173 ../../api.rst:1190 ../../api.rst:1206
+#: ../../api.rst:1218 ../../api.rst:1231 ../../api.rst:1242 ../../api.rst:1253
+msgid "Possible attributes for :class:`AuditLogDiff`:"
+msgstr ""
+
+#: ../../api.rst:906
+msgid ":attr:`~AuditLogDiff.afk_channel`"
+msgstr ""
+
+#: ../../api.rst:907
+msgid ":attr:`~AuditLogDiff.system_channel`"
+msgstr ""
+
+#: ../../api.rst:908
+msgid ":attr:`~AuditLogDiff.afk_timeout`"
+msgstr ""
+
+#: ../../api.rst:909
+msgid ":attr:`~AuditLogDiff.default_message_notifications`"
+msgstr ""
+
+#: ../../api.rst:910
+msgid ":attr:`~AuditLogDiff.explicit_content_filter`"
+msgstr ""
+
+#: ../../api.rst:911
+msgid ":attr:`~AuditLogDiff.mfa_level`"
+msgstr ""
+
+#: ../../api.rst:912 ../../api.rst:929 ../../api.rst:948 ../../api.rst:967
+#: ../../api.rst:1104 ../../api.rst:1124 ../../api.rst:1139 ../../api.rst:1193
+#: ../../api.rst:1209 ../../api.rst:1221 ../../api.rst:1233 ../../api.rst:1244
+#: ../../api.rst:1255
+msgid ":attr:`~AuditLogDiff.name`"
+msgstr ""
+
+#: ../../api.rst:913
+msgid ":attr:`~AuditLogDiff.owner`"
+msgstr ""
+
+#: ../../api.rst:914
+msgid ":attr:`~AuditLogDiff.splash`"
+msgstr ""
+
+#: ../../api.rst:915
+msgid ":attr:`~AuditLogDiff.vanity_url_code`"
+msgstr ""
+
+#: ../../api.rst:919
+msgid "A new channel was created."
+msgstr ""
+
+#: ../../api.rst:921
+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 ""
+
+#: ../../api.rst:924
+msgid ""
+"A more filled out object in the :class:`Object` case can be found by "
+"using :attr:`~AuditLogEntry.after`."
+msgstr ""
+
+#: ../../api.rst:930 ../../api.rst:949 ../../api.rst:968 ../../api.rst:989
+#: ../../api.rst:1005 ../../api.rst:1020
+msgid ":attr:`~AuditLogDiff.type`"
+msgstr ""
+
+#: ../../api.rst:931 ../../api.rst:951 ../../api.rst:969
+msgid ":attr:`~AuditLogDiff.overwrites`"
+msgstr ""
+
+#: ../../api.rst:935
+msgid "A channel was updated. Things that trigger this include:"
+msgstr ""
+
+#: ../../api.rst:937
+msgid "The channel name or topic was changed"
+msgstr ""
+
+#: ../../api.rst:938
+msgid "The channel bitrate was changed"
+msgstr ""
+
+#: ../../api.rst:940 ../../api.rst:975
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is the"
+" :class:`abc.GuildChannel` or :class:`Object` with an ID."
+msgstr ""
+
+#: ../../api.rst:943
+msgid ""
+"A more filled out object in the :class:`Object` case can be found by "
+"using :attr:`~AuditLogEntry.after` or :attr:`~AuditLogEntry.before`."
+msgstr ""
+
+#: ../../api.rst:950
+msgid ":attr:`~AuditLogDiff.position`"
+msgstr ""
+
+#: ../../api.rst:952
+msgid ":attr:`~AuditLogDiff.topic`"
+msgstr ""
+
+#: ../../api.rst:953
+msgid ":attr:`~AuditLogDiff.bitrate`"
+msgstr ""
+
+#: ../../api.rst:957
+msgid "A channel was deleted."
+msgstr ""
+
+#: ../../api.rst:959
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is an "
+":class:`Object` with an ID."
+msgstr ""
+
+#: ../../api.rst:962
+msgid ""
+"A more filled out object can be found by using the "
+":attr:`~AuditLogEntry.before` object."
+msgstr ""
+
+#: ../../api.rst:973
+msgid "A channel permission overwrite was created."
+msgstr ""
+
+#: ../../api.rst:978
+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 ""
+
+#: ../../api.rst:986 ../../api.rst:1002 ../../api.rst:1017
+msgid ":attr:`~AuditLogDiff.deny`"
+msgstr ""
+
+#: ../../api.rst:987 ../../api.rst:1003 ../../api.rst:1018
+msgid ":attr:`~AuditLogDiff.allow`"
+msgstr ""
+
+#: ../../api.rst:988 ../../api.rst:1004 ../../api.rst:1019
+msgid ":attr:`~AuditLogDiff.id`"
+msgstr ""
+
+#: ../../api.rst:993
+msgid ""
+"A channel permission overwrite was changed, this is typically when the "
+"permission values change."
+msgstr ""
+
+#: ../../api.rst:996 ../../api.rst:1011
+msgid ""
+"See :attr:`overwrite_create` for more information on how the "
+":attr:`~AuditLogEntry.target` and :attr:`~AuditLogEntry.extra` fields are"
+" set."
+msgstr ""
+
+#: ../../api.rst:1009
+msgid "A channel permission overwrite was deleted."
+msgstr ""
+
+#: ../../api.rst:1024
+msgid "A member was kicked."
+msgstr ""
+
+#: ../../api.rst:1026
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is the"
+" :class:`User` who got kicked."
+msgstr ""
+
+#: ../../api.rst:1029 ../../api.rst:1044 ../../api.rst:1053 ../../api.rst:1062
+msgid "When this is the action, :attr:`~AuditLogEntry.changes` is empty."
+msgstr ""
+
+#: ../../api.rst:1033
+msgid "A member prune was triggered."
+msgstr ""
+
+#: ../../api.rst:1035
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is set"
+" to `None`."
+msgstr ""
+
+#: ../../api.rst:1038 ../../api.rst:1266
+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:1041
+msgid "``delete_members_days``: An integer specifying how far the prune was."
+msgstr ""
+
+#: ../../api.rst:1042
+msgid "``members_removed``: An integer specifying how many members were removed."
+msgstr ""
+
+#: ../../api.rst:1048
+msgid "A member was banned."
+msgstr ""
+
+#: ../../api.rst:1050
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is the"
+" :class:`User` who got banned."
+msgstr ""
+
+#: ../../api.rst:1057
+msgid "A member was unbanned."
+msgstr ""
+
+#: ../../api.rst:1059
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is the"
+" :class:`User` who got unbanned."
+msgstr ""
+
+#: ../../api.rst:1066
+msgid "A member has updated. This triggers in the following situations:"
+msgstr ""
+
+#: ../../api.rst:1068
+msgid "A nickname was changed"
+msgstr ""
+
+#: ../../api.rst:1069
+msgid "They were server muted or deafened (or it was undo'd)"
+msgstr ""
+
+#: ../../api.rst:1071
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is the"
+" :class:`Member` or :class:`User` who got updated."
+msgstr ""
+
+#: ../../api.rst:1076
+msgid ":attr:`~AuditLogDiff.nick`"
+msgstr ""
+
+#: ../../api.rst:1077
+msgid ":attr:`~AuditLogDiff.mute`"
+msgstr ""
+
+#: ../../api.rst:1078
+msgid ":attr:`~AuditLogDiff.deaf`"
+msgstr ""
+
+#: ../../api.rst:1082
+msgid ""
+"A member's role has been updated. This triggers when a member either "
+"gains a role or losses a role."
+msgstr ""
+
+#: ../../api.rst:1085
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is the"
+" :class:`Member` or :class:`User` who got the role."
+msgstr ""
+
+#: ../../api.rst:1090
+msgid ":attr:`~AuditLogDiff.roles`"
+msgstr ""
+
+#: ../../api.rst:1094
+msgid "A new role was created."
+msgstr ""
+
+#: ../../api.rst:1096 ../../api.rst:1116 ../../api.rst:1131
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is the"
+" :class:`Role` or a :class:`Object` with the ID."
+msgstr ""
+
+#: ../../api.rst:1101 ../../api.rst:1121 ../../api.rst:1136
+msgid ":attr:`~AuditLogDiff.colour`"
+msgstr ""
+
+#: ../../api.rst:1102 ../../api.rst:1122 ../../api.rst:1137
+msgid ":attr:`~AuditLogDiff.mentionable`"
+msgstr ""
+
+#: ../../api.rst:1103 ../../api.rst:1123 ../../api.rst:1138
+msgid ":attr:`~AuditLogDiff.hoist`"
+msgstr ""
+
+#: ../../api.rst:1105 ../../api.rst:1125 ../../api.rst:1140
+msgid ":attr:`~AuditLogDiff.permissions`"
+msgstr ""
+
+#: ../../api.rst:1109
+msgid "A role was updated. This triggers in the following situations:"
+msgstr ""
+
+#: ../../api.rst:1111
+msgid "The name has changed"
+msgstr ""
+
+#: ../../api.rst:1112
+msgid "The permissions have changed"
+msgstr ""
+
+#: ../../api.rst:1113
+msgid "The colour has changed"
+msgstr ""
+
+#: ../../api.rst:1114
+msgid "Its hoist/mentionable state has changed"
+msgstr ""
+
+#: ../../api.rst:1129
+msgid "A role was deleted."
+msgstr ""
+
+#: ../../api.rst:1144
+msgid "An invite was created."
+msgstr ""
+
+#: ../../api.rst:1146
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is the"
+" :class:`Invite` that was created."
+msgstr ""
+
+#: ../../api.rst:1151 ../../api.rst:1175
+msgid ":attr:`~AuditLogDiff.max_age`"
+msgstr ""
+
+#: ../../api.rst:1152 ../../api.rst:1176
+msgid ":attr:`~AuditLogDiff.code`"
+msgstr ""
+
+#: ../../api.rst:1153 ../../api.rst:1177
+msgid ":attr:`~AuditLogDiff.temporary`"
+msgstr ""
+
+#: ../../api.rst:1154 ../../api.rst:1178
+msgid ":attr:`~AuditLogDiff.inviter`"
+msgstr ""
+
+#: ../../api.rst:1155 ../../api.rst:1179 ../../api.rst:1192 ../../api.rst:1208
+#: ../../api.rst:1220
+msgid ":attr:`~AuditLogDiff.channel`"
+msgstr ""
+
+#: ../../api.rst:1156 ../../api.rst:1180
+msgid ":attr:`~AuditLogDiff.uses`"
+msgstr ""
+
+#: ../../api.rst:1157 ../../api.rst:1181
+msgid ":attr:`~AuditLogDiff.max_uses`"
+msgstr ""
+
+#: ../../api.rst:1161
+msgid "An invite was updated."
+msgstr ""
+
+#: ../../api.rst:1163
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is the"
+" :class:`Invite` that was updated."
+msgstr ""
+
+#: ../../api.rst:1168
+msgid "An invite was deleted."
+msgstr ""
+
+#: ../../api.rst:1170
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is the"
+" :class:`Invite` that was deleted."
+msgstr ""
+
+#: ../../api.rst:1185
+msgid "A webhook was created."
+msgstr ""
+
+#: ../../api.rst:1187 ../../api.rst:1203 ../../api.rst:1215
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is the"
+" :class:`Object` with the webhook ID."
+msgstr ""
+
+#: ../../api.rst:1194 ../../api.rst:1222
+msgid ":attr:`~AuditLogDiff.type` (always set to ``1`` if so)"
+msgstr ""
+
+#: ../../api.rst:1198
+msgid "A webhook was updated. This trigger in the following situations:"
+msgstr ""
+
+#: ../../api.rst:1200
+msgid "The webhook name changed"
+msgstr ""
+
+#: ../../api.rst:1201
+msgid "The webhook channel changed"
+msgstr ""
+
+#: ../../api.rst:1213
+msgid "A webhook was deleted."
+msgstr ""
+
+#: ../../api.rst:1226
+msgid "An emoji was created."
+msgstr ""
+
+#: ../../api.rst:1228 ../../api.rst:1239
+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:1237
+msgid "An emoji was updated. This triggers when the name has changed."
+msgstr ""
+
+#: ../../api.rst:1248
+msgid "An emoji was deleted."
+msgstr ""
+
+#: ../../api.rst:1250
+msgid ""
+"When this is the action, the type of :attr:`~AuditLogEntry.target` is the"
+" :class:`Object` with the emoji ID."
+msgstr ""
+
+#: ../../api.rst:1259
+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 ""
+
+#: ../../api.rst:1263
+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:1269
+msgid "``count``: An integer specifying how many messages were deleted."
+msgstr ""
+
+#: ../../api.rst:1270
+msgid ""
+"``channel``: A :class:`TextChannel` or :class:`Object` with the channel "
+"ID where the message got deleted."
+msgstr ""
+
+#: ../../api.rst:1275
+msgid "Represents the category that the :class:`AuditLogAction` belongs to."
+msgstr ""
+
+#: ../../api.rst:1277
+msgid "This can be retrieved via :attr:`AuditLogEntry.category`."
+msgstr ""
+
+#: ../../api.rst:1281
+msgid "The action is the creation of something."
+msgstr ""
+
+#: ../../api.rst:1285
+msgid "The action is the deletion of something."
+msgstr ""
+
+#: ../../api.rst:1289
+msgid "The action is the update of something."
+msgstr ""
+
+#: ../../api.rst:1294
+msgid "Async Iterator"
+msgstr ""
+
+#: ../../api.rst:1296
+msgid ""
+"Some API functions return an \"async iterator\". An async iterator is "
+"something that is capable of being used in an `async for "
+"<https://docs.python.org/3/reference/compound_stmts.html#the-async-for-"
+"statement>`_ statement."
+msgstr ""
+
+#: ../../api.rst:1300
+msgid "These async iterators can be used as follows: ::"
+msgstr ""
+
+#: ../../api.rst:1305
+msgid ""
+"Certain utilities make working with async iterators easier, detailed "
+"below."
+msgstr ""
+
+#: ../../api.rst:1309
+msgid ""
+"Represents the \"AsyncIterator\" concept. Note that no such class exists,"
+" it is purely abstract."
+msgstr ""
+
+#: ../../api.rst:1316
+msgid ""
+"Iterates over the contents of the async iterator. Note that this is only "
+"available in Python 3.5 or higher."
+msgstr ""
+
+#: ../../api.rst:1324
+msgid ""
+"Advances the iterator by one, if possible. If no more items are found "
+"then this raises :exc:`NoMoreItems`."
+msgstr ""
+
+#: ../../api.rst:1331
+msgid "Similar to :func:`utils.get` except run over the async iterator."
+msgstr ""
+
+#: ../../api.rst:1333
+msgid "Getting the last message by a user named 'Dave' or ``None``: ::"
+msgstr ""
+
+#: ../../api.rst:1341
+msgid "Similar to :func:`utils.find` except run over the async iterator."
+msgstr ""
+
+#: ../../api.rst:1343
+msgid "Unlike :func:`utils.find`\\, the predicate provided can be a coroutine."
+msgstr ""
+
+#: ../../api.rst:1346
+msgid "Getting the last audit log with a reason or ``None``: ::"
+msgstr ""
+
+#: ../../api.rst:1353
+msgid "The predicate to use. Can be a coroutine."
+msgstr ""
+
+#: ../../api.rst:1354
+msgid "The first element that returns ``True`` for the predicate or ``None``."
+msgstr ""
+
+#: ../../api.rst:1360
+msgid "Flattens the async iterator into a :class:`list` with all the elements."
+msgstr ""
+
+#: ../../api.rst:1362
+msgid "A list of every element in the async iterator."
+msgstr ""
+
+#: ../../api.rst:1367
+msgid ""
+"This is similar to the built-in :func:`map <python: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."
+msgstr ""
+
+#: ../../api.rst:1372
+msgid "Creating a content iterator: ::"
+msgstr ""
+
+#: ../../api.rst:1380
+msgid "The function to call on every element. Could be a coroutine."
+msgstr ""
+
+#: ../../api.rst:1381 ../../api.rst:1398
+msgid "An async iterator."
+msgstr ""
+
+#: ../../api.rst:1385
+msgid ""
+"This is similar to the built-in :func:`filter <python:filter>` function. "
+"Another :class:`AsyncIterator` is returned that filters over the original"
+" async iterator. This predicate can be a regular function or a coroutine."
+msgstr ""
+
+#: ../../api.rst:1389
+msgid "Getting messages by non-bot accounts: ::"
+msgstr ""
+
+#: ../../api.rst:1397
+msgid "The predicate to call on every element. Could be a coroutine."
+msgstr ""
+
+#: ../../api.rst:1402
+msgid "Audit Log Data"
+msgstr ""
+
+#: ../../api.rst:1404
+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
+msgid ":class:`AuditLogAction` -- The action that was done."
+msgstr ""
+
+#: discord.AuditLogEntry:11 of
+msgid ""
+":class:`abc.User` -- The user who initiated this action. Usually a "
+":class:`Member`\\, unless gone then it's a :class:`User`."
+msgstr ""
+
+#: discord.AuditLogEntry:16 of
+msgid ":class:`int` -- The entry ID."
+msgstr ""
+
+#: discord.AuditLogEntry:20 of
+msgid ""
+"*Any* -- The target that got changed. The exact type of this depends on "
+"the action being done."
+msgstr ""
+
+#: discord.AuditLogEntry:25 of
+msgid "Optional[:class:`str`] -- The reason this action was done."
+msgstr ""
+
+#: discord.AuditLogEntry:29 of
+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 ""
+
+#: discord.AuditLogEntry.created_at:1 of
+msgid "Returns the entry's creation time in UTC."
+msgstr ""
+
+#: discord.AuditLogEntry.category:1 of
+msgid ""
+"Optional[:class:`AuditLogActionCategory`] -- The category of the action, "
+"if applicable."
+msgstr ""
+
+#: discord.AuditLogEntry.changes:1 of
+msgid ":class:`AuditLogChanges` -- The list of changes this entry has."
+msgstr ""
+
+#: discord.AuditLogEntry.before:1 of
+msgid ":class:`AuditLogDiff` -- The target's prior state."
+msgstr ""
+
+#: discord.AuditLogEntry.after:1 of
+msgid ":class:`AuditLogDiff` -- The target's subsequent state."
+msgstr ""
+
+#: ../../api.rst:1413
+msgid "An audit log change set."
+msgstr ""
+
+#: ../../api.rst:1417
+msgid "The old value. The attribute has the type of :class:`AuditLogDiff`."
+msgstr ""
+
+#: ../../api.rst:1419 ../../api.rst:1439
+msgid ""
+"Depending on the :class:`AuditLogActionCategory` retrieved by "
+":attr:`~AuditLogEntry.category`\\, the data retrieved by this attribute "
+"differs:"
+msgstr ""
+
+#: ../../api.rst:1424 ../../api.rst:1444
+msgid "Category"
+msgstr ""
+
+#: ../../api.rst:1424 ../../api.rst:1444 discord.PermissionOverwrite:15 of
+msgid "Description"
+msgstr ""
+
+#: ../../api.rst:1426 ../../api.rst:1446
+msgid ":attr:`~AuditLogActionCategory.create`"
+msgstr ""
+
+#: ../../api.rst:1426
+msgid "All attributes are set to ``None``."
+msgstr ""
+
+#: ../../api.rst:1428 ../../api.rst:1448
+msgid ":attr:`~AuditLogActionCategory.delete`"
+msgstr ""
+
+#: ../../api.rst:1428
+msgid "All attributes are set the value before deletion."
+msgstr ""
+
+#: ../../api.rst:1430 ../../api.rst:1450
+msgid ":attr:`~AuditLogActionCategory.update`"
+msgstr ""
+
+#: ../../api.rst:1430
+msgid "All attributes are set the value before updating."
+msgstr ""
+
+#: ../../api.rst:1432 ../../api.rst:1452
+msgid "``None``"
+msgstr ""
+
+#: ../../api.rst:1432 ../../api.rst:1452
+msgid "No attributes are set."
+msgstr ""
+
+#: ../../api.rst:1437
+msgid "The new value. The attribute has the type of :class:`AuditLogDiff`."
+msgstr ""
+
+#: ../../api.rst:1446
+msgid "All attributes are set to the created value"
+msgstr ""
+
+#: ../../api.rst:1448
+msgid "All attributes are set to ``None``"
+msgstr ""
+
+#: ../../api.rst:1450
+msgid "All attributes are set the value after updating."
+msgstr ""
+
+#: ../../api.rst:1457
+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:1461
+msgid ""
+"Note that accessing an attribute that does not match the specified action"
+" will lead to an attribute error."
+msgstr ""
+
+#: ../../api.rst:1464
+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:1471
+msgid "Return an iterator over (attribute, value) tuple of this diff."
+msgstr ""
+
+#: ../../api.rst:1475
+msgid ":class:`str` – A name of something."
+msgstr ""
+
+#: ../../api.rst:1479
+msgid ":class:`str` – A guild's icon hash. See also :attr:`Guild.icon`."
+msgstr ""
+
+#: ../../api.rst:1483
+msgid ""
+":class:`str` – The guild's invite splash hash. See also "
+":attr:`Guild.splash`."
+msgstr ""
+
+#: ../../api.rst:1487
+msgid ""
+"Union[:class:`Member`, :class:`User`] – The guild's owner. See also "
+":attr:`Guild.owner`"
+msgstr ""
+
+#: ../../api.rst:1491
+msgid ""
+":class:`GuildRegion` – The guild's voice region. See also "
+":attr:`Guild.region`."
+msgstr ""
+
+#: ../../api.rst:1495
+msgid "Union[:class:`VoiceChannel`, :class:`Object`] – The guild's AFK channel."
+msgstr ""
+
+#: ../../api.rst:1497 ../../api.rst:1506
+msgid ""
+"If this could not be found, then it falls back to a :class:`Object` with "
+"the ID being set."
+msgstr ""
+
+#: ../../api.rst:1500
+msgid "See :attr:`Guild.afk_channel`."
+msgstr ""
+
+#: ../../api.rst:1504
+msgid "Union[:class:`TextChannel`, :class:`Object`] – The guild's system channel."
+msgstr ""
+
+#: ../../api.rst:1509
+msgid "See :attr:`Guild.system_channel`."
+msgstr ""
+
+#: ../../api.rst:1513
+msgid ":class:`int` – The guild's AFK timeout. See :attr:`Guild.afk_timeout`."
+msgstr ""
+
+#: ../../api.rst:1517
+msgid ":class:`int` - The guild's MFA level. See :attr:`Guild.mfa_level`."
+msgstr ""
+
+#: ../../api.rst:1521
+msgid ":class:`bool` – The guild's widget has been enabled or disabled."
+msgstr ""
+
+#: ../../api.rst:1525
+msgid "Union[:class:`TextChannel`, :class:`Object`] – The widget's channel."
+msgstr ""
+
+#: ../../api.rst:1527
+msgid ""
+"If this could not be found then it falls back to a :class:`Object` with "
+"the ID being set."
+msgstr ""
+
+#: ../../api.rst:1532
+msgid ":class:`VerificationLevel` – The guild's verification level."
+msgstr ""
+
+#: ../../api.rst:1534
+msgid "See also :attr:`Guild.verification_level`."
+msgstr ""
+
+#: ../../api.rst:1538
+msgid ":class:`ContentFilter` – The guild's content filter."
+msgstr ""
+
+#: ../../api.rst:1540
+msgid "See also :attr:`Guild.explicit_content_filter`."
+msgstr ""
+
+#: ../../api.rst:1544
+msgid ":class:`int` – The guild's default message notification setting."
+msgstr ""
+
+#: ../../api.rst:1548
+msgid ":class:`str` – The guild's vanity URL."
+msgstr ""
+
+#: ../../api.rst:1550
+msgid ""
+"See also :meth:`Guild.vanity_invite` and "
+":meth:`Guild.change_vanity_invite`."
+msgstr ""
+
+#: ../../api.rst:1554
+msgid ""
+":class:`int` – The position of a :class:`Role` or "
+":class:`abc.GuildChannel`."
+msgstr ""
+
+#: ../../api.rst:1558
+msgid "*Union[int, str]* – The type of channel or channel permission overwrite."
+msgstr ""
+
+#: ../../api.rst:1560
+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:1563
+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:1568
+msgid ":class:`str` – The topic of a :class:`TextChannel`."
+msgstr ""
+
+#: ../../api.rst:1570
+msgid "See also :attr:`TextChannel.topic`."
+msgstr ""
+
+#: ../../api.rst:1574
+msgid ":class:`int` – The bitrate of a :class:`VoiceChannel`."
+msgstr ""
+
+#: ../../api.rst:1576
+msgid "See also :attr:`VoiceChannel.bitrate`."
+msgstr ""
+
+#: ../../api.rst:1580
+msgid ""
+"List[Tuple[target, :class:`PermissionOverwrite`]] – A list of permission "
+"overwrite tuples that represents a target and a "
+":class:`PermissionOverwrite` for said target."
+msgstr ""
+
+#: ../../api.rst:1584
+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:1592
+msgid ""
+"List[Union[:class:`Role`, :class:`Object`]] – A list of roles being added"
+" or removed from a member."
+msgstr ""
+
+#: ../../api.rst:1595
+msgid ""
+"If a role is not found then it is a :class:`Object` with the ID and name "
+"being filled in."
+msgstr ""
+
+#: ../../api.rst:1600
+msgid "*Optional[str]* – The nickname of a member."
+msgstr ""
+
+#: ../../api.rst:1602
+msgid "See also :attr:`Member.nick`"
+msgstr ""
+
+#: ../../api.rst:1606
+msgid ":class:`bool` – Whether the member is being server deafened."
+msgstr ""
+
+#: ../../api.rst:1608
+msgid "See also :attr:`VoiceState.deaf`."
+msgstr ""
+
+#: ../../api.rst:1612
+msgid ":class:`bool` – Whether the member is being server muted."
+msgstr ""
+
+#: ../../api.rst:1614
+msgid "See also :attr:`VoiceState.mute`."
+msgstr ""
+
+#: ../../api.rst:1618
+msgid ":class:`Permissions` – The permissions of a role."
+msgstr ""
+
+#: ../../api.rst:1620
+msgid "See also :attr:`Role.permissions`."
+msgstr ""
+
+#: ../../api.rst:1625
+msgid ":class:`Colour` – The colour of a role."
+msgstr ""
+
+#: ../../api.rst:1627
+msgid "See also :attr:`Role.colour`"
+msgstr ""
+
+#: ../../api.rst:1631
+msgid ":class:`bool` – Whether the role is being hoisted or not."
+msgstr ""
+
+#: ../../api.rst:1633
+msgid "See also :attr:`Role.hoist`"
+msgstr ""
+
+#: ../../api.rst:1637
+msgid ":class:`bool` – Whether the role is mentionable or not."
+msgstr ""
+
+#: ../../api.rst:1639
+msgid "See also :attr:`Role.mentionable`"
+msgstr ""
+
+#: ../../api.rst:1643
+msgid ":class:`str` – The invite's code."
+msgstr ""
+
+#: ../../api.rst:1645
+msgid "See also :attr:`Invite.code`"
+msgstr ""
+
+#: ../../api.rst:1649
+msgid "Union[:class:`abc.GuildChannel`, :class:`Object`] – A guild channel."
+msgstr ""
+
+#: ../../api.rst:1651
+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:1656
+msgid ":class:`User` – The user who created the invite."
+msgstr ""
+
+#: ../../api.rst:1658
+msgid "See also :attr:`Invite.inviter`."
+msgstr ""
+
+#: ../../api.rst:1662
+msgid ":class:`int` – The invite's max uses."
+msgstr ""
+
+#: ../../api.rst:1664
+msgid "See also :attr:`Invite.max_uses`."
+msgstr ""
+
+#: ../../api.rst:1668
+msgid ":class:`int` – The invite's current uses."
+msgstr ""
+
+#: ../../api.rst:1670
+msgid "See also :attr:`Invite.uses`."
+msgstr ""
+
+#: ../../api.rst:1674
+msgid ":class:`int` – The invite's max age in seconds."
+msgstr ""
+
+#: ../../api.rst:1676
+msgid "See also :attr:`Invite.max_age`."
+msgstr ""
+
+#: ../../api.rst:1680
+msgid ":class:`bool` – If the invite is a temporary invite."
+msgstr ""
+
+#: ../../api.rst:1682
+msgid "See also :attr:`Invite.temporary`."
+msgstr ""
+
+#: ../../api.rst:1687
+msgid ":class:`Permissions` – The permissions being allowed or denied."
+msgstr ""
+
+#: ../../api.rst:1691
+msgid ":class:`int` – The ID of the object being changed."
+msgstr ""
+
+#: ../../api.rst:1695
+msgid ":class:`str` – The avatar hash of a member."
+msgstr ""
+
+#: ../../api.rst:1697
+msgid "See also :attr:`User.avatar`."
+msgstr ""
+
+#: ../../api.rst:1703
+msgid "Webhook Support"
+msgstr ""
+
+#: ../../api.rst:1705
+msgid ""
+"discord.py 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 ``aiohttp`` or "
+"``requests``."
+msgstr ""
+
+#: discord.Webhook:19 of
+msgid "For example, creating a webhook from a URL and using ``aiohttp``:"
+msgstr ""
+
+#: discord.Webhook:31 of
+msgid "Or creating a webhook from an ID and token and using ``requests``:"
+msgstr ""
+
+#: discord.Webhook:43 of
+msgid ":class:`int` -- The webhook's ID"
+msgstr ""
+
+#: discord.Webhook:47 of
+msgid ":class:`str` -- The authentication token of the webhook."
+msgstr ""
+
+#: discord.Webhook:51 of
+msgid "Optional[:class:`int`] -- The guild ID this webhook is for."
+msgstr ""
+
+#: discord.Webhook:55 of
+msgid "Optional[:class:`int`] -- The channel ID this webhook is for."
+msgstr ""
+
+#: discord.Webhook:59 of
+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 ""
+
+#: discord.Webhook:64 of
+msgid "Optional[:class:`str`] -- The default name of the webhook."
+msgstr ""
+
+#: discord.Webhook:68 of
+msgid "Optional[:class:`str`] -- 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 "A partial webhook is just a webhook object with an ID and a token."
+msgstr ""
+
+#: discord.Webhook.partial:5 of
+msgid "The ID of the webhook."
+msgstr ""
+
+#: discord.Webhook.partial:7 of
+msgid "The authentication token of the webhook."
+msgstr ""
+
+#: discord.Webhook.from_url:5 discord.Webhook.partial:9 of
+msgid ""
+"The webhook adapter to use when sending requests. This is typically "
+":class:`AsyncWebhookAdapter` for ``aiohttp`` or "
+":class:`RequestsWebhookAdapter` for ``requests``."
+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
+msgid ":exc:`InvalidArgument` -- The URL is invalid."
+msgstr ""
+
+#: discord.Webhook.guild:1 of
+msgid "Optional[:class:`Guild`] -- 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
+msgid ""
+"Optional[:class:`TextChannel`] -- The text channel this webhook belongs "
+"to."
+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 a friendly URL version of 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, their default avatar "
+"URL 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.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.icon_url_as:8
+#: discord.Member.avatar_url_as:18 discord.User.avatar_url_as:18
+#: discord.Webhook.avatar_url_as:12 of
+msgid "The size of the image to display."
+msgstr ""
+
+#: discord.ClientUser.avatar_url_as:21 discord.Guild.icon_url_as:11
+#: discord.Member.avatar_url_as:21 discord.User.avatar_url_as:21
+#: discord.Webhook.avatar_url_as:15 of
+msgid "The resulting CDN URL."
+msgstr ""
+
+#: discord.Guild.icon_url_as:14 discord.Webhook.avatar_url_as:18 of
+msgid ""
+":exc:`InvalidArgument` -- Bad image format passed to ``format`` or "
+"invalid ``size``."
+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 ":exc:`HTTPException` -- Deleting the webhook failed."
+msgstr ""
+
+#: discord.Webhook.delete:9 discord.Webhook.edit:14 of
+msgid ":exc:`NotFound` -- This webhook does not exist."
+msgstr ""
+
+#: discord.Webhook.delete:10 of
+msgid ":exc:`Forbidden` -- You do not have permissions to delete this webhook."
+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 *bytes-like* object representing the webhook's new default avatar."
+msgstr ""
+
+#: discord.Webhook.edit:13 of
+msgid ":exc:`HTTPException` -- Editing the webhook failed."
+msgstr ""
+
+#: discord.Webhook.edit:15 of
+msgid ":exc:`Forbidden` -- You do not have permissions to edit this webhook."
+msgstr ""
+
+#: 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:18 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:22 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:25 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:18 discord.GroupChannel.send:18
+#: discord.Member.send:18 discord.TextChannel.send:18 discord.User.send:18
+#: discord.Webhook.send:28 discord.abc.Messageable.send:18 of
+msgid "Indicates if the message should be sent using text-to-speech."
+msgstr ""
+
+#: discord.DMChannel.send:22 discord.GroupChannel.send:22
+#: discord.Member.send:22 discord.TextChannel.send:22 discord.User.send:22
+#: discord.Webhook.send:30 discord.abc.Messageable.send:22 of
+msgid "The file to upload."
+msgstr ""
+
+#: discord.Webhook.send:32 of
+msgid ""
+"The rich embed for the content to send. This cannot be mixed with "
+"``embeds`` parameter."
+msgstr ""
+
+#: discord.Webhook.send:35 of
+msgid ""
+"A list of embeds to send with the content. Maximum of 10. This cannot be "
+"mixed with the ``embed`` parameter."
+msgstr ""
+
+#: discord.DMChannel.send:34 discord.GroupChannel.send:34
+#: discord.Member.send:34 discord.TextChannel.send:34 discord.User.send:34
+#: discord.Webhook.send:39 discord.abc.Messageable.send:34 of
+msgid ":exc:`HTTPException` -- Sending the message failed."
+msgstr ""
+
+#: discord.Webhook.send:40 of
+msgid ":exc:`NotFound` -- This webhook was not found."
+msgstr ""
+
+#: discord.Webhook.send:41 of
+msgid ":exc:`Forbidden` -- The authorization token for the webhook is incorrect."
+msgstr ""
+
+#: discord.Webhook.send:42 of
+msgid ""
+":exc:`InvalidArgument` -- You specified both ``embed`` and ``embeds`` or "
+"the length of ``embeds`` was invalid."
+msgstr ""
+
+#: discord.DMChannel.send:39 discord.GroupChannel.send:39
+#: discord.Member.send:39 discord.TextChannel.send:39 discord.User.send:39
+#: discord.Webhook.send:45 discord.abc.Messageable.send:39 of
+msgid "The message that was sent."
+msgstr ""
+
+#: discord.Webhook.send:46 of
+msgid "Optional[:class:`Message`]"
+msgstr ""
+
+#: discord.Webhook.execute:1 of
+msgid "An alias for :meth:`~.Webhook.send`."
+msgstr ""
+
+#: ../../api.rst:1711
+msgid "Adapters"
+msgstr ""
+
+#: ../../api.rst:1713
+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 ":class:`Webhook` -- 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 requests 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:1728
+msgid "Abstract Base Classes"
+msgstr ""
+
+#: ../../api.rst:1730
+msgid ""
+"An abstract base class (also known as an ``abc``) is a class that models "
+"can inherit to get their behaviour. The Python implementation of an `abc "
+"<https://docs.python.org/3/library/abc.html>`_ 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 ``isinstance`` and "
+"``issubclass``\\."
+msgstr ""
+
+#: ../../api.rst:1735
+msgid ""
+"This library has a module related to abstract base classes, some of which"
+" are actually from the ``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 <discord_api_models>` meet this abstract "
+"base class."
+msgstr ""
+
+#: discord.abc.Snowflake:8 of
+msgid ":class:`int` -- The model's unique ID."
+msgstr ""
+
+#: discord.abc.Snowflake.created_at:1 of
+msgid "Returns the model's creation time in UTC."
+msgstr ""
+
+#: 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.User:6 of
+msgid ":class:`ClientUser`"
+msgstr ""
+
+#: discord.Guild.get_member_named:20 discord.abc.Messageable:9
+#: discord.abc.User:7 of
+msgid ":class:`Member`"
+msgstr ""
+
+#: discord.abc.GuildChannel:9 discord.abc.Messageable:12
+#: discord.abc.PrivateChannel:8 discord.abc.User:9 of
+msgid "This ABC must also implement :class:`abc.Snowflake`."
+msgstr ""
+
+#: discord.ClientUser:23 discord.User:23 discord.abc.User:13 of
+msgid ":class:`str` -- The user's username."
+msgstr ""
+
+#: discord.abc.User:17 of
+msgid ":class:`str` -- The user's discriminator."
+msgstr ""
+
+#: discord.abc.User:21 of
+msgid "Optional[:class:`str`] -- The avatar hash the user has."
+msgstr ""
+
+#: discord.abc.User:25 of
+msgid ":class:`bool` -- If the user is a bot account."
+msgstr ""
+
+#: discord.ClientUser.display_name:1 discord.Member.display_name:1
+#: discord.User.display_name:1 discord.abc.User.display_name:1 of
+msgid "Returns the user's display name."
+msgstr ""
+
+#: discord.ClientUser.mention:1 discord.User.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:`DMChannel`"
+msgstr ""
+
+#: discord.ClientUser.create_group:13 discord.abc.Messageable:7
+#: discord.abc.PrivateChannel:6 of
+msgid ":class:`GroupChannel`"
+msgstr ""
+
+#: discord.DMChannel:27 discord.GroupChannel:27 discord.abc.PrivateChannel:12
+#: of
+msgid ":class:`ClientUser` -- The user presenting yourself."
+msgstr ""
+
+#: discord.abc.GuildChannel:1 of
+msgid "An ABC that details the common operations on a Discord guild channel."
+msgstr ""
+
+#: discord.Guild.create_text_channel:49 discord.abc.GuildChannel:5
+#: discord.abc.Messageable:5 of
+msgid ":class:`TextChannel`"
+msgstr ""
+
+#: discord.abc.Connectable:6 discord.abc.GuildChannel:6 of
+msgid ":class:`VoiceChannel`"
+msgstr ""
+
+#: discord.abc.GuildChannel:7 of
+msgid ":class:`CategoryChannel`"
+msgstr ""
+
+#: discord.TextChannel:23 discord.VoiceChannel:23 discord.abc.GuildChannel:13
+#: of
+msgid ":class:`str` -- The channel name."
+msgstr ""
+
+#: discord.TextChannel:27 discord.VoiceChannel:27 discord.abc.GuildChannel:17
+#: of
+msgid ":class:`Guild` -- The guild the channel belongs to."
+msgstr ""
+
+#: discord.TextChannel:43 discord.VoiceChannel:39 discord.abc.GuildChannel:21
+#: of
+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 ""
+
+#: 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 :class:`list` of :class:`Roles` that have been overridden from "
+"their default values in the :attr:`Guild.roles` attribute."
+msgstr ""
+
+#: discord.CategoryChannel.mention:1 discord.TextChannel.mention:1
+#: discord.VoiceChannel.mention:1 discord.abc.GuildChannel.mention:1 of
+msgid ":class:`str` -- The string that allows you to mention the channel."
+msgstr ""
+
+#: discord.CategoryChannel.created_at:1 discord.GroupChannel.created_at:1
+#: discord.TextChannel.created_at:1 discord.VoiceChannel.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 :class:`Role` or :class:`abc.User` denoting whose overwrite to get."
+msgstr ""
+
+#: discord.CategoryChannel.overwrites_for:6
+#: discord.TextChannel.overwrites_for:6 discord.VoiceChannel.overwrites_for:6
+#: discord.abc.GuildChannel.overwrites_for:6 of
+msgid "The permission overwrites for this object."
+msgstr ""
+
+#: discord.CategoryChannel.overwrites_for:7
+#: discord.TextChannel.overwrites_for:7 discord.VoiceChannel.overwrites_for:7
+#: discord.abc.GuildChannel.overwrites_for:7 of
+msgid ":class:`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 list of two-element tuples containing the target, "
+"which can be either a :class:`Role` or a :class:`Member` and the "
+"overwrite as the second element as a :class:`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 ""
+"List[Tuple[Union[:class:`Role`, :class:`Member`], "
+":class:`PermissionOverwrite`]]"
+msgstr ""
+
+#: discord.CategoryChannel.category:1 discord.TextChannel.category:1
+#: discord.VoiceChannel.category:1 discord.abc.GuildChannel.category:1 of
+msgid ""
+"Optional[:class:`CategoryChannel`] -- 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.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:`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.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.DMChannel.permissions_for:17 discord.GroupChannel.permissions_for:18
+#: discord.TextChannel.permissions_for:14
+#: discord.VoiceChannel.permissions_for:14
+#: discord.abc.GuildChannel.permissions_for:14 of
+msgid ":class:`Permissions`"
+msgstr ""
+
+#: 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
+msgid ""
+"You must have :attr:`~.Permissions.create_instant_invite` permission to "
+"do this."
+msgstr ""
+
+#: 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. 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
+msgid ":exc:`HTTPException` -- Invite creation failed."
+msgstr ""
+
+#: 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 ""
+
+#: 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
+msgid ""
+"You must have :attr:`~.Permissions.manage_channels` permission to use "
+"this."
+msgstr ""
+
+#: 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
+msgid ""
+":exc:`Forbidden` -- You do not have proper permissions to delete the "
+"channel."
+msgstr ""
+
+#: discord.CategoryChannel.delete:12 discord.TextChannel.delete:12
+#: discord.VoiceChannel.delete:12 discord.abc.GuildChannel.delete:12 of
+msgid ":exc:`NotFound` -- 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
+msgid ":exc:`HTTPException` -- Deleting the channel failed."
+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
+msgid "You must have :attr:`~.Permissions.manage_guild` to get this information."
+msgstr ""
+
+#: discord.CategoryChannel.invites:7 discord.Guild.bans:13
+#: discord.Guild.get_ban:13 discord.Guild.invites:8
+#: discord.TextChannel.invites:7 discord.VoiceChannel.invites:7
+#: discord.abc.GuildChannel.invites:7 of
+msgid ""
+":exc:`Forbidden` -- You do not have proper permissions to get the "
+"information."
+msgstr ""
+
+#: discord.CategoryChannel.invites:8 discord.Guild.bans:14
+#: discord.Guild.get_ban:15 discord.Guild.invites:9
+#: discord.TextChannel.invites:8 discord.VoiceChannel.invites:8
+#: discord.abc.GuildChannel.invites:8 of
+msgid ":exc:`HTTPException` -- 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.Guild.invites:12
+#: discord.TextChannel.invites:11 discord.VoiceChannel.invites:11
+#: discord.abc.GuildChannel.invites:11 of
+msgid "List[:class:`Invite`]"
+msgstr ""
+
+#: 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:`Member` or a "
+":class:`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:`PermissionOverwrite`. For convenience, you can pass in keyword "
+"arguments denoting :class:`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:`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 :class:`Member` or :class:`Role` to overwrite permissions for."
+msgstr ""
+
+#: discord.CategoryChannel.set_permissions:39
+#: discord.TextChannel.set_permissions:39
+#: discord.VoiceChannel.set_permissions:39
+#: discord.abc.GuildChannel.set_permissions:39 of
+msgid "The permissions to allow and deny to the target."
+msgstr ""
+
+#: discord.CategoryChannel.set_permissions:41
+#: discord.TextChannel.set_permissions:41
+#: discord.VoiceChannel.set_permissions:41
+#: discord.abc.GuildChannel.set_permissions:41 of
+msgid ""
+"A keyword argument list of permissions to set for ease of use. Cannot be "
+"mixed with ``overwrite``."
+msgstr ""
+
+#: discord.CategoryChannel.set_permissions:43 discord.Guild.prune_members:16
+#: discord.Guild.unban:12 discord.Member.move_to:12
+#: discord.TextChannel.set_permissions:43
+#: discord.VoiceChannel.set_permissions:43
+#: discord.abc.GuildChannel.set_permissions:43 of
+msgid "The reason for doing this action. Shows up on the audit log."
+msgstr ""
+
+#: discord.CategoryChannel.set_permissions:46
+#: discord.TextChannel.set_permissions:46
+#: discord.VoiceChannel.set_permissions:46
+#: discord.abc.GuildChannel.set_permissions:46 of
+msgid ""
+":exc:`Forbidden` -- You do not have permissions to edit channel specific "
+"permissions."
+msgstr ""
+
+#: discord.CategoryChannel.set_permissions:47
+#: discord.TextChannel.set_permissions:47
+#: discord.VoiceChannel.set_permissions:47
+#: discord.abc.GuildChannel.set_permissions:47 of
+msgid ":exc:`HTTPException` -- Editing channel specific permissions failed."
+msgstr ""
+
+#: discord.CategoryChannel.set_permissions:48
+#: discord.TextChannel.set_permissions:48
+#: discord.VoiceChannel.set_permissions:48
+#: discord.abc.GuildChannel.set_permissions:48 of
+msgid ""
+":exc:`NotFound` -- The role or member being edited is not part of the "
+"guild."
+msgstr ""
+
+#: discord.CategoryChannel.set_permissions:49
+#: discord.TextChannel.set_permissions:49
+#: discord.VoiceChannel.set_permissions:49
+#: discord.abc.GuildChannel.set_permissions:49 of
+msgid ""
+":exc:`InvalidArgument` -- The overwrite parameter invalid or the target "
+"type was not :class:`Role` or :class:`Member`."
+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:`~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 ""
+"Return an :class:`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
+msgid ""
+"You must have :attr:`~.Permissions.read_message_history` permissions to "
+"use this."
+msgstr ""
+
+#: discord.DMChannel.history:5 discord.GroupChannel.history:5
+#: discord.Member.edit:21 discord.Member.history:5
+#: discord.TextChannel.history:5 discord.User.history:5
+#: discord.abc.Messageable.history:5 of
+msgid "All parameters are optional."
+msgstr ""
+
+#: discord.DMChannel.history:7 discord.GroupChannel.history:7
+#: discord.Member.history:7 discord.TextChannel.history:7
+#: discord.User.history:7 discord.abc.Messageable.history:7 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:11 discord.GroupChannel.history:11
+#: discord.Member.history:11 discord.TextChannel.history:11
+#: discord.User.history:11 discord.abc.Messageable.history:11 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:14 discord.GroupChannel.history:14
+#: discord.Member.history:14 discord.TextChannel.history:14
+#: discord.User.history:14 discord.abc.Messageable.history:14 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:17 discord.GroupChannel.history:17
+#: discord.Member.history:17 discord.TextChannel.history:17
+#: discord.User.history:17 discord.abc.Messageable.history:17 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:22 discord.GroupChannel.history:22
+#: discord.Member.history:22 discord.TextChannel.history:22
+#: discord.User.history:22 discord.abc.Messageable.history:22 of
+msgid ""
+"If set to true, return messages in oldest->newest order. If unspecified, "
+"this defaults to ``False`` for most cases. However if passing in a "
+"``after`` parameter then this is set to ``True``. This avoids getting "
+"messages out of order in the ``after`` case."
+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 ""
+":exc:`Forbidden` -- You do not have permissions to get channel message "
+"history."
+msgstr ""
+
+#: discord.DMChannel.history:29 discord.GroupChannel.history:29
+#: discord.Member.history:29 discord.TextChannel.history:29
+#: discord.User.history:29 discord.abc.Messageable.history:29 of
+msgid ":exc:`HTTPException` -- The request to get message history failed."
+msgstr ""
+
+#: discord.DMChannel.history discord.GroupChannel.history
+#: discord.Guild.audit_logs discord.Member.history discord.Reaction.users
+#: discord.TextChannel.history discord.User.history
+#: discord.abc.Messageable.history of
+msgid "Yields"
+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 ":class:`Message` -- The message with the message data parsed."
+msgstr ""
+
+#: discord.DMChannel.history:35 discord.GroupChannel.history:35
+#: discord.Member.history:35 discord.Reaction.users:20
+#: discord.TextChannel.history:35 discord.User.history:35
+#: discord.abc.Messageable.history:35 of
+msgid "Usage ::"
+msgstr ""
+
+#: discord.DMChannel.history:42 discord.GroupChannel.history:42
+#: discord.Member.history:42 discord.Reaction.users:26
+#: discord.TextChannel.history:42 discord.User.history:42
+#: discord.abc.Messageable.history:42 of
+msgid "Flattening into a list: ::"
+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.get_message:3 discord.GroupChannel.get_message:3
+#: discord.Member.get_message:3 discord.TextChannel.get_message:3
+#: discord.User.get_message:3 discord.abc.Messageable.get_message:3 of
+msgid "Retrieves a single :class:`Message` from the destination."
+msgstr ""
+
+#: discord.DMChannel.get_message:5 discord.GroupChannel.get_message:5
+#: discord.Member.get_message:5 discord.TextChannel.get_message:5
+#: discord.User.get_message:5 discord.abc.Messageable.get_message:5 of
+msgid "This can only be used by bot accounts."
+msgstr ""
+
+#: discord.DMChannel.get_message:7 discord.GroupChannel.get_message:7
+#: discord.Member.get_message:7 discord.TextChannel.get_message:7
+#: discord.User.get_message:7 discord.abc.Messageable.get_message:7 of
+msgid "The message ID to look for."
+msgstr ""
+
+#: discord.DMChannel.get_message:10 discord.GroupChannel.get_message:10
+#: discord.Member.get_message:10 discord.TextChannel.get_message:10
+#: discord.User.get_message:10 discord.abc.Messageable.get_message:10 of
+msgid "The message asked for."
+msgstr ""
+
+#: discord.DMChannel.get_message:11 discord.DMChannel.send:40
+#: discord.GroupChannel.get_message:11 discord.GroupChannel.send:40
+#: discord.Member.get_message:11 discord.Member.send:40
+#: discord.TextChannel.get_message:11 discord.TextChannel.send:40
+#: discord.User.get_message:11 discord.User.send:40
+#: discord.abc.Messageable.get_message:11 discord.abc.Messageable.send:40 of
+msgid ":class:`Message`"
+msgstr ""
+
+#: discord.DMChannel.get_message:13 discord.GroupChannel.get_message:13
+#: discord.Member.get_message:13 discord.TextChannel.get_message:13
+#: discord.User.get_message:13 discord.abc.Messageable.get_message:13 of
+msgid ":exc:`NotFound` -- The specified message was not found."
+msgstr ""
+
+#: discord.DMChannel.get_message:14 discord.GroupChannel.get_message:14
+#: discord.Member.get_message:14 discord.TextChannel.get_message:14
+#: discord.User.get_message:14 discord.abc.Messageable.get_message:14 of
+msgid ""
+":exc:`Forbidden` -- You do not have the permissions required to get a "
+"message."
+msgstr ""
+
+#: discord.DMChannel.get_message:15 discord.GroupChannel.get_message:15
+#: discord.Member.get_message:15 discord.TextChannel.get_message:15
+#: discord.User.get_message:15 discord.abc.Messageable.get_message:15 of
+msgid ":exc:`HTTPException` -- Retrieving the message failed."
+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 "Returns a :class:`list` of :class:`Message` that are currently pinned."
+msgstr ""
+
+#: discord.DMChannel.pins:5 discord.GroupChannel.pins:5 discord.Member.pins:5
+#: discord.TextChannel.pins:5 discord.User.pins:5
+#: discord.abc.Messageable.pins:5 of
+msgid ":exc:`HTTPException` -- Retrieving the pinned messages failed."
+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:`File` object. To upload multiple files, the ``files`` "
+"parameter should be used with a :class:`list` of :class:`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:`Embed`"
+" and it must be a rich embed type."
+msgstr ""
+
+#: discord.DMChannel.send:20 discord.GroupChannel.send:20
+#: discord.Member.send:20 discord.TextChannel.send:20 discord.User.send:20
+#: discord.abc.Messageable.send:20 of
+msgid "The rich embed for the content."
+msgstr ""
+
+#: discord.DMChannel.send:24 discord.GroupChannel.send:24
+#: discord.Member.send:24 discord.TextChannel.send:24 discord.User.send:24
+#: discord.abc.Messageable.send:24 of
+msgid "A list of files to upload. Must be a maximum of 10."
+msgstr ""
+
+#: discord.DMChannel.send:26 discord.GroupChannel.send:26
+#: discord.Member.send:26 discord.TextChannel.send:26 discord.User.send:26
+#: discord.abc.Messageable.send:26 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:29 discord.GroupChannel.send:29
+#: discord.Member.send:29 discord.TextChannel.send:29 discord.User.send:29
+#: discord.abc.Messageable.send:29 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:35 discord.GroupChannel.send:35
+#: discord.Member.send:35 discord.TextChannel.send:35 discord.User.send:35
+#: discord.abc.Messageable.send:35 of
+msgid ""
+":exc:`Forbidden` -- You do not have the proper permissions to send the "
+"message."
+msgstr ""
+
+#: discord.DMChannel.send:36 discord.GroupChannel.send:36
+#: discord.Member.send:36 discord.TextChannel.send:36 discord.User.send:36
+#: discord.abc.Messageable.send:36 of
+msgid ""
+":exc:`InvalidArgument` -- The ``files`` list is not of the appropriate "
+"size or you specified both ``file`` and ``files``."
+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.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:1765
+msgid "Discord Models"
+msgstr ""
+
+#: ../../api.rst:1767
+msgid ""
+"Models are classes that are received from Discord and are not meant to be"
+" created by the user of the library."
+msgstr ""
+
+#: ../../api.rst:1772
+msgid ""
+"The classes listed below are **not intended to be created by users** and "
+"are also **read-only**."
+msgstr ""
+
+#: ../../api.rst:1775
+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 ""
+
+#: ../../api.rst:1778
+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 ""
+
+#: ../../api.rst:1785 ../../api.rst:2011
+msgid ""
+"Nearly all classes here have ``__slots__`` defined which means that it is"
+" impossible to have dynamic attributes to the data classes."
+msgstr ""
+
+#: ../../api.rst:1788 ../../api.rst:2017
+msgid ""
+"More information about ``__slots__`` can be found `in the official python"
+" documentation "
+"<https://docs.python.org/3/reference/datamodel.html#slots>`_."
+msgstr ""
+
+#: ../../api.rst:1793
+msgid "ClientUser"
+msgstr ""
+
+#: discord.ClientUser:1 of
+msgid "Represents your Discord user."
+msgstr ""
+
+#: 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:27 discord.User:27 of
+msgid ":class:`int` -- The user's unique ID."
+msgstr ""
+
+#: discord.ClientUser:31 discord.User:31 of
+msgid ""
+":class:`str` -- The user's discriminator. This is given when the username"
+" has conflicts."
+msgstr ""
+
+#: discord.ClientUser:35 discord.User:35 of
+msgid "Optional[:class:`str`] -- The avatar hash the user has. Could be None."
+msgstr ""
+
+#: discord.ClientUser:39 discord.User:39 of
+msgid ":class:`bool` -- Specifies if the user is a bot account."
+msgstr ""
+
+#: discord.ClientUser:43 of
+msgid ":class:`bool` -- Specifies if the user is a verified account."
+msgstr ""
+
+#: discord.ClientUser:47 of
+msgid "Optional[:class:`str`] -- The email the user used when registering."
+msgstr ""
+
+#: discord.ClientUser:51 of
+msgid ":class:`bool` -- Specifies if the user has MFA turned on and working."
+msgstr ""
+
+#: discord.ClientUser:55 of
+msgid ""
+":class:`bool` -- Specifies if the user is a premium user (e.g. has "
+"Discord Nitro)."
+msgstr ""
+
+#: discord.ClientUser.get_relationship:1 of
+msgid "Retrieves the :class:`Relationship` if applicable."
+msgstr ""
+
+#: discord.ClientUser.get_relationship:3 of
+msgid "The user ID to check if we have a relationship with them."
+msgstr ""
+
+#: discord.ClientUser.get_relationship:6 of
+msgid "The relationship if available or ``None``"
+msgstr ""
+
+#: discord.ClientUser.get_relationship:7 of
+msgid "Optional[:class:`Relationship`]"
+msgstr ""
+
+#: discord.ClientUser.relationships:1 of
+msgid "Returns a :class:`list` of :class:`Relationship` that the user has."
+msgstr ""
+
+#: discord.ClientUser.friends:1 of
+msgid "Returns a :class:`list` of :class:`User`\\s that the user is friends with."
+msgstr ""
+
+#: discord.ClientUser.blocked:1 of
+msgid "Returns a :class:`list` of :class:`User`\\s that the user has blocked."
+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 of
+msgid "Returns a friendly URL version of 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 of
+msgid ""
+"If the user does not have a traditional avatar, their default avatar URL "
+"is returned instead."
+msgstr ""
+
+#: discord.ClientUser.avatar_url:6 discord.User.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 ""
+
+#: discord.ClientUser.avatar_url_as:6 discord.Member.avatar_url_as:6
+#: discord.User.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 1024."
+msgstr ""
+
+#: discord.ClientUser.avatar_url_as:10 discord.Member.avatar_url_as:10
+#: discord.User.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 ""
+
+#: discord.ClientUser.avatar_url_as:15 discord.Member.avatar_url_as:15
+#: discord.User.avatar_url_as:15 of
+msgid ""
+"Format to attempt to convert only non-animated avatars to. Defaults to "
+"'webp'"
+msgstr ""
+
+#: discord.ClientUser.avatar_url_as:24 discord.Member.avatar_url_as:24
+#: discord.User.avatar_url_as:24 of
+msgid ""
+":exc:`InvalidArgument` -- Bad image format passed to ``format`` or "
+"``static_format``, or invalid ``size``."
+msgstr ""
+
+#: 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 ""
+
+#: discord.ClientUser.create_group:7 of
+msgid "Bot accounts cannot create a group."
+msgstr ""
+
+#: discord.ClientUser.create_group:9 of
+msgid "An argument :class:`list` of :class:`User` to have in your group."
+msgstr ""
+
+#: discord.ClientUser.create_group:12 of
+msgid "The new group channel."
+msgstr ""
+
+#: discord.ClientUser.create_group:15 of
+msgid ":exc:`HTTPException` -- Failed to create the group direct message."
+msgstr ""
+
+#: discord.ClientUser.create_group:16 of
+msgid ""
+":exc:`ClientException` -- Attempted to create a group with only one "
+"recipient. This does not include yourself."
+msgstr ""
+
+#: discord.ClientUser.created_at:1 discord.User.created_at:1 of
+msgid "Returns the user's creation time in UTC."
+msgstr ""
+
+#: discord.ClientUser.created_at:3 discord.User.created_at:3 of
+msgid "This is when the user's discord account was created."
+msgstr ""
+
+#: discord.ClientUser.default_avatar:1 discord.User.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_url:1 discord.User.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.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 ""
+
+#: discord.ClientUser.edit:10 of
+msgid ""
+"To upload an avatar, a *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 "
+"*bytes-like object* is given through the use of ``fp.read()``."
+msgstr ""
+
+#: 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 ""
+
+#: discord.ClientUser.edit:26 of
+msgid "The new username you wish to change to."
+msgstr ""
+
+#: discord.ClientUser.edit:28 of
+msgid ""
+"A *bytes-like object* representing the image to upload. Could be ``None``"
+" to denote no avatar."
+msgstr ""
+
+#: discord.ClientUser.edit:32 of
+msgid ":exc:`HTTPException` -- Editing your profile failed."
+msgstr ""
+
+#: discord.ClientUser.edit:33 of
+msgid ":exc:`InvalidArgument` -- Wrong image format passed for ``avatar``."
+msgstr ""
+
+#: discord.ClientUser.edit:34 of
+msgid ":exc:`ClientException` -- Password is required for non-bot accounts."
+msgstr ""
+
+#: discord.ClientUser.is_avatar_animated:1 discord.Member.is_avatar_animated:1
+#: discord.User.is_avatar_animated:1 of
+msgid ":class:`bool`: Returns True if the user has an animated avatar."
+msgstr ""
+
+#: discord.ClientUser.mentioned_in:1 discord.User.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 of
+msgid "The message to check if you're mentioned in."
+msgstr ""
+
+#: discord.ClientUser.permissions_in:1 discord.Member.permissions_in:1
+#: discord.User.permissions_in:1 of
+msgid "An alias for :meth:`abc.GuildChannel.permissions_for`."
+msgstr ""
+
+#: discord.ClientUser.permissions_in:3 discord.Member.permissions_in:3
+#: discord.User.permissions_in:3 of
+msgid "Basically equivalent to:"
+msgstr ""
+
+#: discord.ClientUser.permissions_in:9 discord.Member.permissions_in:9
+#: discord.User.permissions_in:9 of
+msgid "The channel to check your permissions for."
+msgstr ""
+
+#: ../../api.rst:1800
+msgid "Relationship"
+msgstr ""
+
+#: discord.Relationship:1 of
+msgid "Represents a relationship in Discord."
+msgstr ""
+
+#: 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 ""
+
+#: discord.Relationship:8 of
+msgid ":class:`User` -- The user you have the relationship with."
+msgstr ""
+
+#: discord.Relationship:12 of
+msgid ":class:`RelationshipType` -- The type of relationship you have."
+msgstr ""
+
+#: discord.Relationship.accept:3 of
+msgid "Accepts the relationship request. e.g. accepting a friend request."
+msgstr ""
+
+#: discord.Relationship.accept:6 of
+msgid ":exc:`HTTPException` -- Accepting the relationship failed."
+msgstr ""
+
+#: discord.Relationship.delete:3 of
+msgid "Deletes the relationship."
+msgstr ""
+
+#: discord.Relationship.delete:5 of
+msgid ":exc:`HTTPException` -- Deleting the relationship failed."
+msgstr ""
+
+#: ../../api.rst:1806
+msgid "User"
+msgstr ""
+
+#: discord.User:1 of
+msgid "Represents a Discord user."
+msgstr ""
+
+#: discord.User.dm_channel:1 of
+msgid "Returns the :class:`DMChannel` 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 ""
+
+#: discord.User.relationship:1 of
+msgid ""
+"Returns the :class:`Relationship` with this user if applicable, ``None`` "
+"otherwise."
+msgstr ""
+
+#: discord.Member.is_friend:1 discord.User.is_friend:1 of
+msgid ":class:`bool`: Checks if the user is your friend."
+msgstr ""
+
+#: discord.Member.is_blocked:1 discord.User.is_blocked:1 of
+msgid ":class:`bool`: Checks if the user is blocked."
+msgstr ""
+
+#: discord.Member.block:3 discord.User.block:3 of
+msgid "Blocks the user."
+msgstr ""
+
+#: discord.Member.block:5 discord.User.block:5 of
+msgid ":exc:`Forbidden` -- Not allowed to block this user."
+msgstr ""
+
+#: discord.Member.block:6 discord.User.block:6 of
+msgid ":exc:`HTTPException` -- Blocking the user failed."
+msgstr ""
+
+#: discord.Member.create_dm:1 discord.User.create_dm:1 of
+msgid "Creates a :class:`DMChannel` with this user."
+msgstr ""
+
+#: 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.profile:3 discord.User.profile:3 of
+msgid "Gets the user's profile. This can only be used by non-bot accounts."
+msgstr ""
+
+#: discord.Member.remove_friend:3 discord.User.remove_friend:3 of
+msgid "Removes the user as a friend."
+msgstr ""
+
+#: discord.Member.remove_friend:5 discord.User.remove_friend:5 of
+msgid ":exc:`Forbidden` -- Not allowed to remove this user as a friend."
+msgstr ""
+
+#: discord.Member.remove_friend:6 discord.User.remove_friend:6 of
+msgid ":exc:`HTTPException` -- 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:5 discord.User.send_friend_request:5 of
+msgid ":exc:`Forbidden` -- Not allowed to send a friend request to the user."
+msgstr ""
+
+#: discord.Member.send_friend_request:6 discord.User.send_friend_request:6 of
+msgid ":exc:`HTTPException` -- Sending the friend request failed."
+msgstr ""
+
+#: discord.Member.unblock:3 discord.User.unblock:3 of
+msgid "Unblocks the user."
+msgstr ""
+
+#: discord.Member.unblock:5 discord.User.unblock:5 of
+msgid ":exc:`Forbidden` -- Not allowed to unblock this user."
+msgstr ""
+
+#: discord.Member.unblock:6 discord.User.unblock:6 of
+msgid ":exc:`HTTPException` -- Unblocking the user failed."
+msgstr ""
+
+#: ../../api.rst:1820
+msgid "Attachment"
+msgstr ""
+
+#: discord.Attachment:1 of
+msgid "Represents an attachment from Discord."
+msgstr ""
+
+#: discord.Attachment:5 of
+msgid ":class:`int` -- The attachment ID."
+msgstr ""
+
+#: discord.Attachment:9 of
+msgid ":class:`int` -- The attachment size in bytes."
+msgstr ""
+
+#: discord.Attachment:13 of
+msgid ""
+"Optional[:class:`int`] -- The attachment's height, in pixels. Only "
+"applicable to images."
+msgstr ""
+
+#: discord.Attachment:17 of
+msgid ""
+"Optional[:class:`int`] -- The attachment's width, in pixels. Only "
+"applicable to images."
+msgstr ""
+
+#: discord.Attachment:21 of
+msgid ":class:`str` -- The attachment's filename."
+msgstr ""
+
+#: discord.Attachment:25 of
+msgid ""
+":class:`str` -- The attachment URL. If the message this attachment was "
+"attached to is deleted, then this will 404."
+msgstr ""
+
+#: discord.Attachment:30 of
+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 ""
+
+#: 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.save:13 of
+msgid ":exc:`HTTPException` -- Saving the attachment failed."
+msgstr ""
+
+#: discord.Attachment.save:14 of
+msgid ":exc:`NotFound` -- The attachment was deleted."
+msgstr ""
+
+#: discord.Attachment.save:16 of
+msgid "The number of bytes written."
+msgstr ""
+
+#: ../../api.rst:1826
+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 ":class:`bool` -- Specifies if the message was done with text-to-speech."
+msgstr ""
+
+#: discord.Message:11 of
+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 ""
+
+#: discord.Message:16 of
+msgid ""
+"A :class:`Member` that sent the message. If :attr:`channel` is a private "
+"channel, then it is a :class:`User` instead."
+msgstr ""
+
+#: discord.Message:21 of
+msgid ":class:`str` -- The actual contents of the message."
+msgstr ""
+
+#: discord.Message:25 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:30 of
+msgid "List[:class:`Embed`] -- A list of embeds the message has."
+msgstr ""
+
+#: discord.Message:34 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:39 of
+msgid ""
+"Optional[:class:`CallMessage`] -- The call that the message refers to. "
+"This is only applicable to messages of type :attr:`MessageType.call`."
+msgstr ""
+
+#: discord.Message:44 of
+msgid ":class:`bool` -- Specifies if the message mentions everyone."
+msgstr ""
+
+#: discord.Message:48 of
+msgid ""
+"This does not check if the ``@everyone`` text is in the message itself. "
+"Rather this boolean indicates if the ``@everyone`` text is in the message"
+" **and** it did end up mentioning everyone."
+msgstr ""
+
+#: discord.Message:54 of
+msgid ""
+":class:`list` -- 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:61 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:66 of
+msgid ""
+":class:`list` -- 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.Message:71 of
+msgid ""
+":class:`list` -- A list of :class:`Role` that were mentioned. If the "
+"message is in a private message then the list is always empty."
+msgstr ""
+
+#: discord.Message:76 of
+msgid ":class:`int` -- The message ID."
+msgstr ""
+
+#: discord.Message:80 of
+msgid ""
+"Optional[:class:`int`] -- If this message was sent by a webhook, then "
+"this is the webhook ID's that sent this message."
+msgstr ""
+
+#: discord.Message:85 of
+msgid "List[:class:`Attachment`] -- A list of attachments given to a message."
+msgstr ""
+
+#: discord.Message:89 of
+msgid ":class:`bool` -- Specifies if the message is currently pinned."
+msgstr ""
+
+#: discord.Message:93 of
+msgid ""
+"List[:class:`Reaction`] -- Reactions to a message. Reactions can be "
+"either custom emoji or standard unicode emoji."
+msgstr ""
+
+#: discord.Message:97 of
+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 ""
+
+#: discord.Message:100 of
+msgid "It is a dictionary with the following optional keys:"
+msgstr ""
+
+#: discord.Message:102 of
+msgid ""
+"``type``: An integer denoting the type of message activity being "
+"requested."
+msgstr ""
+
+#: discord.Message:103 of
+msgid "``party_id``: The party ID associated with the party."
+msgstr ""
+
+#: discord.Message:107 of
+msgid ""
+"Optional[:class:`dict`] -- The rich presence enabled application "
+"associated with this message."
+msgstr ""
+
+#: discord.Message:109 of
+msgid "It is a dictionary with the following keys:"
+msgstr ""
+
+#: discord.Message:111 of
+msgid "``id``: A string representing the application's ID."
+msgstr ""
+
+#: discord.Message:112 of
+msgid "``name``: A string representing the application's name."
+msgstr ""
+
+#: discord.Message:113 of
+msgid "``description``: A string representing the application's description."
+msgstr ""
+
+#: discord.Message:114 of
+msgid "``icon``: A string representing the icon ID of the application."
+msgstr ""
+
+#: discord.Message:115 of
+msgid "``cover_image``: A string representing the embed's image asset ID."
+msgstr ""
+
+#: discord.Message.guild:1 of
+msgid ""
+"Optional[:class:`Guild`] -- 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: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.created_at:1 of
+msgid "*datetime.datetime* -- The message's creation time in UTC."
+msgstr ""
+
+#: discord.Message.edited_at:1 of
+msgid ""
+"*Optional[datetime.datetime]* -- A naive UTC datetime object containing "
+"the edited time of the message."
+msgstr ""
+
+#: discord.Message.jump_url:1 of
+msgid ""
+":class:`str` -- Returns a URL that allows the client to jump to this "
+"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.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 ":exc:`HTTPException` -- Acking failed."
+msgstr ""
+
+#: discord.Guild.ack:8 discord.Message.ack:8 of
+msgid ":exc:`ClientException` -- You must not be a bot user."
+msgstr ""
+
+#: discord.Message.add_reaction:3 of
+msgid "Add a reaction to the message."
+msgstr ""
+
+#: discord.Message.add_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 ":exc:`HTTPException` -- Adding the reaction failed."
+msgstr ""
+
+#: discord.Message.add_reaction:15 of
+msgid ""
+":exc:`Forbidden` -- You do not have the proper permissions to react to "
+"the message."
+msgstr ""
+
+#: discord.Message.add_reaction:16 of
+msgid ":exc:`NotFound` -- The emoji you specified was not found."
+msgstr ""
+
+#: discord.Message.add_reaction:17 discord.Message.remove_reaction:21 of
+msgid ":exc:`InvalidArgument` -- The emoji parameter is invalid."
+msgstr ""
+
+#: discord.Message.clear_reactions:3 of
+msgid "Removes all the reactions from the message."
+msgstr ""
+
+#: discord.Message.clear_reactions:5 of
+msgid "You need the :attr:`~Permissions.manage_messages` permission to use this."
+msgstr ""
+
+#: discord.Message.clear_reactions:7 of
+msgid ":exc:`HTTPException` -- Removing the reactions failed."
+msgstr ""
+
+#: discord.Message.clear_reactions:8 of
+msgid ""
+":exc:`Forbidden` -- You do not have the proper permissions to remove all "
+"the reactions."
+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 ""
+":exc:`Forbidden` -- You do not have proper permissions to delete the "
+"message."
+msgstr ""
+
+#: discord.Message.delete:10 of
+msgid ":exc:`HTTPException` -- 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 new content to replace the message with. Could be ``None`` to remove "
+"the content."
+msgstr ""
+
+#: discord.Message.edit:10 of
+msgid ""
+"The new embed to replace the original with. Could be ``None`` to remove "
+"the embed."
+msgstr ""
+
+#: discord.Message.edit:13 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:18 of
+msgid ":exc:`HTTPException` -- Editing 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 ":exc:`Forbidden` -- You do not have permissions to pin the message."
+msgstr ""
+
+#: discord.Message.pin:9 discord.Message.unpin:9 of
+msgid ":exc:`NotFound` -- The message or channel was not found or deleted."
+msgstr ""
+
+#: discord.Message.pin:10 of
+msgid ""
+":exc:`HTTPException` -- Pinning the message failed, probably due to the "
+"channel having more than 50 pinned messages."
+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 of
+msgid ":exc:`HTTPException` -- Removing the reaction failed."
+msgstr ""
+
+#: discord.Message.remove_reaction:19 of
+msgid ""
+":exc:`Forbidden` -- You do not have the proper permissions to remove the "
+"reaction."
+msgstr ""
+
+#: discord.Message.remove_reaction:20 of
+msgid ":exc:`NotFound` -- The member or emoji you specified was not found."
+msgstr ""
+
+#: discord.Message.unpin:3 of
+msgid "Unpins the message."
+msgstr ""
+
+#: discord.Message.unpin:8 of
+msgid ":exc:`Forbidden` -- You do not have permissions to unpin the message."
+msgstr ""
+
+#: discord.Message.unpin:10 of
+msgid ":exc:`HTTPException` -- Unpinning the message failed."
+msgstr ""
+
+#: ../../api.rst:1832
+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 ""
+":class:`Emoji` or :class:`str` -- The reaction emoji. May be a custom "
+"emoji, or a unicode emoji."
+msgstr ""
+
+#: discord.Reaction:32 of
+msgid ":class:`int` -- Number of times this reaction was made"
+msgstr ""
+
+#: discord.Reaction:36 of
+msgid ":class:`bool` -- If the user sent this reaction."
+msgstr ""
+
+#: discord.Reaction:40 of
+msgid ":class:`Message` -- Message this reaction is for."
+msgstr ""
+
+#: discord.Reaction.users:3 of
+msgid ""
+"Returns an :class:`AsyncIterator` representing the users that have "
+"reacted to the message."
+msgstr ""
+
+#: discord.Reaction.users:6 of
+msgid ""
+"The ``after`` parameter must represent a member and meet the "
+":class:`abc.Snowflake` abc."
+msgstr ""
+
+#: discord.Reaction.users:9 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:13 of
+msgid "For pagination, reactions are sorted by member."
+msgstr ""
+
+#: discord.Reaction.users:16 of
+msgid ":exc:`HTTPException` -- Getting the users for the reaction failed."
+msgstr ""
+
+#: discord.Reaction.users:33 of
+msgid "Python 3.4 Usage ::"
+msgstr ""
+
+#: discord.Reaction.users:44 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 ":class:`bool` -- If this is a custom emoji."
+msgstr ""
+
+#: ../../api.rst:1842
+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 ""
+"*Optional[datetime.datetime]* -- A naive UTC datetime object that "
+"represents the time that the call has ended."
+msgstr ""
+
+#: discord.CallMessage:12 of
+msgid ""
+"List[:class:`User`] -- The list of users that are participating in this "
+"call."
+msgstr ""
+
+#: discord.CallMessage:16 of
+msgid ":class:`Message` -- The message associated with this call message."
+msgstr ""
+
+#: discord.CallMessage.call_ended:1 of
+msgid ":obj:`bool` -- Indicates if the call has ended."
+msgstr ""
+
+#: discord.CallMessage.channel:1 of
+msgid ""
+":class:`GroupChannel`\\ -- The private channel associated with this "
+"message."
+msgstr ""
+
+#: 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 ""
+
+#: ../../api.rst:1848
+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 ":class:`CallMessage` -- The call message associated with this group call."
+msgstr ""
+
+#: discord.GroupCall:11 of
+msgid ":obj:`bool` -- Denotes if this group call is unavailable."
+msgstr ""
+
+#: discord.GroupCall:15 of
+msgid ""
+"List[:class:`User`] -- A list of users that are currently being rung to "
+"join the call."
+msgstr ""
+
+#: discord.GroupCall:19 of
+msgid ""
+":class:`VoiceRegion` -- The guild region the group call is being hosted "
+"on."
+msgstr ""
+
+#: discord.GroupCall.connected:1 of
+msgid ""
+"A property that returns the :obj:`list` of :class:`User` that are "
+"currently in this call."
+msgstr ""
+
+#: discord.GroupCall.channel:1 of
+msgid ":class:`GroupChannel`\\ -- 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 of
+msgid "Optional[:class:`VoiceState`]"
+msgstr ""
+
+#: ../../api.rst:1854
+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
+msgid ":class:`str` -- The guild name."
+msgstr ""
+
+#: discord.Guild:29 of
+msgid "A :class:`list` of :class:`Role` that the guild has available."
+msgstr ""
+
+#: discord.Guild:33 of
+msgid "A :class:`tuple` of :class:`Emoji` that the guild owns."
+msgstr ""
+
+#: discord.Guild:37 of
+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 ""
+
+#: discord.Guild:42 of
+msgid ":class:`int` -- The timeout to get sent to the AFK channel."
+msgstr ""
+
+#: discord.Guild:46 of
+msgid ""
+"Optional[:class:`VoiceChannel`] -- The channel that denotes the AFK "
+"channel. None if it doesn't exist."
+msgstr ""
+
+#: discord.Guild:50 of
+msgid ":class:`str` -- The guild's icon."
+msgstr ""
+
+#: discord.Guild:54 of
+msgid ":class:`int` -- The guild's ID."
+msgstr ""
+
+#: discord.Guild:58 of
+msgid ":class:`int` -- The guild owner's ID. Use :attr:`Guild.owner` instead."
+msgstr ""
+
+#: discord.Guild:62 of
+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 ""
+
+#: discord.Guild:66 of
+msgid ""
+"Check the :func:`on_guild_unavailable` and :func:`on_guild_available` "
+"events."
+msgstr ""
+
+#: discord.Guild:70 of
+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 ""
+
+#: discord.Guild:76 of
+msgid ":class:`VerificationLevel` -- The guild's verification level."
+msgstr ""
+
+#: discord.Guild:80 of
+msgid ":class:`ContentFilter` -- The guild's explicit content filter."
+msgstr ""
+
+#: discord.Guild:84 of
+msgid ""
+"List[:class:`str`] -- A list of features that the guild has. They are "
+"currently as follows:"
+msgstr ""
+
+#: discord.Guild:86 of
+msgid "``VIP_REGIONS``: Guild has VIP voice regions"
+msgstr ""
+
+#: discord.Guild:87 of
+msgid ""
+"``VANITY_URL``: Guild has a vanity invite URL (e.g. discord.gg/discord-"
+"api)"
+msgstr ""
+
+#: discord.Guild:88 of
+msgid "``INVITE_SPLASH``: Guild's invite page has a special splash."
+msgstr ""
+
+#: discord.Guild:89 of
+msgid "``VERIFIED``: Guild is a \"verified\" server."
+msgstr ""
+
+#: discord.Guild:90 of
+msgid "``MORE_EMOJI``: Guild is allowed to have more than 50 custom emoji."
+msgstr ""
+
+#: discord.Guild:94 of
+msgid ":class:`str` -- The guild's invite splash."
+msgstr ""
+
+#: discord.Guild.audit_logs:1 of
+msgid ""
+"Return 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:5 of
+msgid "The number of entries to retrieve. If ``None`` retrieve all entries."
+msgstr ""
+
+#: discord.Guild.audit_logs:7 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:10 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:13 of
+msgid ""
+"If set to true, return entries in oldest->newest order. If unspecified, "
+"this defaults to ``False`` for most cases. However if passing in a "
+"``after`` parameter then this is set to ``True``. This avoids getting "
+"entries out of order in the ``after`` case."
+msgstr ""
+
+#: discord.Guild.audit_logs:18 of
+msgid "The moderator to filter entries from."
+msgstr ""
+
+#: discord.Guild.audit_logs:20 of
+msgid "The action to filter with."
+msgstr ""
+
+#: discord.Guild.audit_logs:23 of
+msgid ":class:`AuditLogEntry` -- The audit log entry."
+msgstr ""
+
+#: discord.Guild.audit_logs:25 of
+msgid ":exc:`Forbidden` -- You are not allowed to fetch audit logs"
+msgstr ""
+
+#: discord.Guild.audit_logs:26 of
+msgid ":exc:`HTTPException` -- An error occurred while fetching the audit logs."
+msgstr ""
+
+#: discord.Guild.audit_logs:30 of
+msgid "Getting the first 100 entries: ::"
+msgstr ""
+
+#: discord.Guild.audit_logs:35 of
+msgid "Getting entries for a specific action: ::"
+msgstr ""
+
+#: discord.Guild.audit_logs:40 of
+msgid "Getting entries made by a specific user: ::"
+msgstr ""
+
+#: discord.Guild.channels:1 of
+msgid ""
+"List[:class:`abc.GuildChannel`] -- A list of channels that belongs to "
+"this guild."
+msgstr ""
+
+#: discord.Guild.large:1 of
+msgid ":class:`bool` -- 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 ""
+"List[:class:`VoiceChannel`] -- 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.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.voice_client:1 of
+msgid "Returns the :class:`VoiceClient` associated with this guild, if any."
+msgstr ""
+
+#: discord.Guild.text_channels:1 of
+msgid ""
+"List[:class:`TextChannel`] -- A list of text channels that belongs to "
+"this guild."
+msgstr ""
+
+#: discord.Guild.categories:1 of
+msgid ""
+"List[:class:`CategoryChannel`] -- A list of categories that belongs to "
+"this guild."
+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:1 of
+msgid ""
+"Returns a :class:`abc.GuildChannel` with the given ID. If not found, "
+"returns None."
+msgstr ""
+
+#: discord.Guild.members:1 of
+msgid "List[:class:`Member`] -- A list of members that belong to this guild."
+msgstr ""
+
+#: discord.Guild.get_member:1 of
+msgid "Returns a :class:`Member` with the given ID. If not found, returns None."
+msgstr ""
+
+#: discord.Guild.default_role:1 of
+msgid "Gets the @everyone role that all members have by default."
+msgstr ""
+
+#: discord.Guild.owner:1 of
+msgid ":class:`Member` -- The member that owns the guild."
+msgstr ""
+
+#: discord.Guild.icon_url:1 of
+msgid ""
+"Returns the URL version of the guild's icon. Returns an empty string if "
+"it has no icon."
+msgstr ""
+
+#: discord.Guild.icon_url_as:1 of
+msgid ""
+"Returns a friendly URL version of the guild's icon. Returns and empty "
+"string if it has no icon."
+msgstr ""
+
+#: discord.Guild.icon_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 1024."
+msgstr ""
+
+#: discord.Guild.icon_url_as:6 of
+msgid "The format to attempt to convert the icon to."
+msgstr ""
+
+#: discord.Guild.splash_url:1 of
+msgid ""
+"Returns the URL version of the guild's invite splash. Returns an empty "
+"string if it has no 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.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
+msgid "Returns the shard ID for this guild if applicable."
+msgstr ""
+
+#: discord.Guild.created_at:1 of
+msgid "Returns the guild's creation time in UTC."
+msgstr ""
+
+#: discord.Guild.role_hierarchy:1 of
+msgid "Returns the guild's roles in the order of the hierarchy."
+msgstr ""
+
+#: discord.Guild.role_hierarchy:3 of
+msgid "The first element of this list will be the highest role in the hierarchy."
+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_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.system_channel:1 of
+msgid ""
+"Optional[:class:`TextChannel`] -- Returns the guild's channel used for "
+"system messages."
+msgstr ""
+
+#: discord.Guild.system_channel:3 of
+msgid ""
+"Currently this is only for new member joins. If no channel is set, then "
+"this returns ``None``."
+msgstr ""
+
+#: discord.Guild.ban:3 of
+msgid "Bans 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.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 ":exc:`Forbidden` -- You do not have the proper permissions to ban."
+msgstr ""
+
+#: discord.Guild.ban:19 of
+msgid ":exc:`HTTPException` -- Banning failed."
+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:10 discord.Guild.get_ban:7 of
+msgid ""
+"You must have the :attr:`~Permissions.ban_members` permission to get this"
+" information."
+msgstr ""
+
+#: discord.Guild.bans:16 of
+msgid "A list of BanEntry objects."
+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 local emotes per guild."
+msgstr ""
+
+#: discord.Guild.create_custom_emoji:7 of
+msgid ""
+"You must have the :attr:`~Permissions.manage_emojis` permission to do "
+"this."
+msgstr ""
+
+#: discord.Guild.create_custom_emoji:10 of
+msgid "Note that bot accounts can only edit and delete emojis they have created."
+msgstr ""
+
+#: discord.Guild.create_custom_emoji:12 of
+msgid "The emoji name. Must be at least 2 characters."
+msgstr ""
+
+#: discord.Guild.create_custom_emoji:14 of
+msgid ""
+"The *bytes-like* object representing the image data to use. Only JPG and "
+"PNG images are supported."
+msgstr ""
+
+#: discord.Guild.create_custom_emoji:17 of
+msgid "The reason for creating this emoji. Shows up on the audit log."
+msgstr ""
+
+#: discord.Guild.create_custom_emoji:20 of
+msgid "The created emoji."
+msgstr ""
+
+#: discord.Guild.create_custom_emoji:21 of
+msgid ":class:`Emoji`"
+msgstr ""
+
+#: discord.Guild.create_custom_emoji:23 of
+msgid ":exc:`Forbidden` -- You are not allowed to create emojis."
+msgstr ""
+
+#: discord.Guild.create_custom_emoji:24 of
+msgid ":exc:`HTTPException` -- An error occurred creating an emoji."
+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 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
+msgid "The newly created role."
+msgstr ""
+
+#: discord.Guild.create_role:27 of
+msgid ":class:`Role`"
+msgstr ""
+
+#: discord.Guild.create_role:29 discord.Role.edit:26 of
+msgid ":exc:`Forbidden` -- You do not have permissions to change the role."
+msgstr ""
+
+#: discord.Guild.create_role:30 discord.Role.edit:27 of
+msgid ":exc:`HTTPException` -- Editing the role failed."
+msgstr ""
+
+#: discord.Guild.create_role:31 of
+msgid ":exc:`InvalidArgument` -- An invalid keyword argument was given."
+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 basic channel:"
+msgstr ""
+
+#: discord.Guild.create_text_channel:21 of
+msgid "Creating a \"secret\" channel:"
+msgstr ""
+
+#: discord.Guild.create_text_channel:32 of
+msgid "The channel's name."
+msgstr ""
+
+#: discord.Guild.create_text_channel:34 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:37 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:41 of
+msgid "The reason for creating this channel. Shows up on the audit log."
+msgstr ""
+
+#: discord.Guild.create_text_channel:44 of
+msgid ""
+":exc:`Forbidden` -- You do not have the proper permissions to create this"
+" channel."
+msgstr ""
+
+#: discord.Guild.create_text_channel:45 of
+msgid ":exc:`HTTPException` -- Creating the channel failed."
+msgstr ""
+
+#: discord.Guild.create_text_channel:46 of
+msgid ""
+":exc:`InvalidArgument` -- The permission overwrite information is not in "
+"proper form."
+msgstr ""
+
+#: discord.Guild.create_text_channel:48 of
+msgid "The channel that was just created."
+msgstr ""
+
+#: discord.Guild.create_voice_channel:3 of
+msgid ""
+"Same as :meth:`create_text_channel` except makes a :class:`VoiceChannel` "
+"instead."
+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
+msgid ":exc:`HTTPException` -- Deleting the guild failed."
+msgstr ""
+
+#: discord.Guild.delete:7 of
+msgid ":exc:`Forbidden` -- You do not have permissions to delete the guild."
+msgstr ""
+
+#: 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 new name of the guild."
+msgstr ""
+
+#: discord.Guild.edit:10 of
+msgid ""
+"A *bytes-like* object representing the icon. Only PNG/JPEG supported. "
+"Could be ``None`` to denote removal of the icon."
+msgstr ""
+
+#: discord.Guild.edit:13 of
+msgid ""
+"A *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 ""
+
+#: discord.Guild.edit:18 of
+msgid "The new region for the guild's voice communication."
+msgstr ""
+
+#: discord.Guild.edit:20 of
+msgid ""
+"The new channel that is the AFK channel. Could be ``None`` for no AFK "
+"channel."
+msgstr ""
+
+#: discord.Guild.edit:22 of
+msgid "The number of seconds until someone is moved to the AFK channel."
+msgstr ""
+
+#: discord.Guild.edit:24 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:27 of
+msgid "The new verification level for the guild."
+msgstr ""
+
+#: discord.Guild.edit:29 of
+msgid "The new vanity code for the guild."
+msgstr ""
+
+#: discord.Guild.edit:31 of
+msgid ""
+"The new channel that is used for the system channel. Could be ``None`` "
+"for no system channel."
+msgstr ""
+
+#: discord.Guild.edit:33 of
+msgid "The reason for editing this guild. Shows up on the audit log."
+msgstr ""
+
+#: discord.Guild.edit:36 of
+msgid ":exc:`Forbidden` -- You do not have permissions to edit the guild."
+msgstr ""
+
+#: discord.Guild.edit:37 of
+msgid ":exc:`HTTPException` -- Editing the guild failed."
+msgstr ""
+
+#: discord.Guild.edit:38 of
+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 ""
+
+#: 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:7 discord.Guild.prune_members:14 of
+msgid "The number of days before counting as inactive."
+msgstr ""
+
+#: discord.Guild.estimate_pruned_members:10 discord.Guild.prune_members:19 of
+msgid ":exc:`Forbidden` -- You do not have permissions to prune members."
+msgstr ""
+
+#: discord.Guild.estimate_pruned_members:11 of
+msgid ""
+":exc:`HTTPException` -- An error occurred while fetching the prune "
+"members estimate."
+msgstr ""
+
+#: discord.Guild.estimate_pruned_members:12 discord.Guild.prune_members:21 of
+msgid ":exc:`InvalidArgument` -- An integer was not passed for ``days``."
+msgstr ""
+
+#: discord.Guild.estimate_pruned_members:14 of
+msgid "The number of members estimated to be pruned."
+msgstr ""
+
+#: discord.Guild.get_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.get_ban:10 of
+msgid "The user to get ban information from."
+msgstr ""
+
+#: discord.Guild.get_ban:14 of
+msgid ":exc:`NotFound` -- This user is not banned."
+msgstr ""
+
+#: discord.Guild.get_ban:17 of
+msgid "The BanEntry object for the specified user."
+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.kick:3 of
+msgid "Kicks a user from the guild."
+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 ":exc:`Forbidden` -- You do not have the proper permissions to kick."
+msgstr ""
+
+#: discord.Guild.kick:16 of
+msgid ":exc:`HTTPException` -- Kicking failed."
+msgstr ""
+
+#: 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
+msgid ":exc:`HTTPException` -- Leaving the guild failed."
+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:20 of
+msgid ":exc:`HTTPException` -- An error occurred while pruning members."
+msgstr ""
+
+#: discord.Guild.prune_members:23 of
+msgid "The number of members pruned."
+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 ":exc:`Forbidden` -- You do not have the proper permissions to unban."
+msgstr ""
+
+#: discord.Guild.unban:16 of
+msgid ":exc:`HTTPException` -- 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 be partnered, i.e. have 'VANITY_URL' in "
+":attr:`~Guild.features`."
+msgstr ""
+
+#: discord.Guild.vanity_invite:8 of
+msgid ""
+"You must have the :attr:`~Permissions.manage_guild` permission to use "
+"this as well."
+msgstr ""
+
+#: discord.Guild.vanity_invite:11 of
+msgid "The special vanity invite."
+msgstr ""
+
+#: discord.Guild.vanity_invite:14 of
+msgid ":exc:`Forbidden` -- You do not have the proper permissions to get this."
+msgstr ""
+
+#: discord.Guild.vanity_invite:15 of
+msgid ":exc:`HTTPException` -- Retrieving the vanity invite failed."
+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
+msgid ":exc:`Forbidden` -- You don't have permissions to get the webhooks."
+msgstr ""
+
+#: 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.ack:3 of
+msgid "Marks every message in this guild as read."
+msgstr ""
+
+#: ../../api.rst:1864
+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 ""
+"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. These roles are sorted by their position in the"
+" role hierarchy."
+msgstr ""
+
+#: discord.Member:33 of
+msgid ""
+"`datetime.datetime` -- A datetime object that specifies the date and time"
+" in UTC that the member joined the guild for the first time."
+msgstr ""
+
+#: discord.Member:38 of
+msgid ""
+":class:`Status` -- The member's status. There is a chance that the status"
+" will be a :class:`str` if it is a value that is not recognised by the "
+"enumerator."
+msgstr ""
+
+#: discord.Member:43 of
+msgid ""
+"Union[:class:`Game`, :class:`Streaming`, :class:`Activity`] -- The "
+"activity that the user is currently doing. Could be None if no activity "
+"is being done."
+msgstr ""
+
+#: discord.Member:47 of
+msgid ":class:`Guild` -- The guild that the member belongs to."
+msgstr ""
+
+#: discord.Member:51 of
+msgid "Optional[:class:`str`] -- The guild specific nickname of the user."
+msgstr ""
+
+#: discord.Member.color:1 discord.Member.colour:1 of
+msgid ""
+"A property that returns a :class:`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:5 discord.Member.colour:5 of
+msgid "There is an alias for this under ``color``."
+msgstr ""
+
+#: discord.Member.mention:1 of
+msgid "Returns a string that mentions the member."
+msgstr ""
+
+#: discord.Member.mentioned_in:1 of
+msgid "Checks if the member is mentioned in the specified message."
+msgstr ""
+
+#: discord.Member.top_role:1 of
+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
+msgid "Optional[:class:`VoiceState`] -- Returns the member's current voice state."
+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:10 of
+msgid "The reason for adding these roles. Shows up on the audit log."
+msgstr ""
+
+#: discord.Member.add_roles:12 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:17 of
+msgid ":exc:`Forbidden` -- You do not have permissions to add these roles."
+msgstr ""
+
+#: discord.Member.add_roles:18 of
+msgid ":exc:`HTTPException` -- 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.ban:3 of
+msgid "Bans this member. Equivalent to :meth:`Guild.ban`"
+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.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 ""
+
+#: discord.Member.edit:12 of
+msgid "mute"
+msgstr ""
+
+#: discord.Member.edit:12 of
+msgid ":attr:`Permissions.mute_members`"
+msgstr ""
+
+#: discord.Member.edit:14 of
+msgid "deafen"
+msgstr ""
+
+#: discord.Member.edit:14 of
+msgid ":attr:`Permissions.deafen_members`"
+msgstr ""
+
+#: discord.Member.edit:16 of
+msgid ":attr:`Permissions.manage_roles`"
+msgstr ""
+
+#: discord.Member.edit:18 of
+msgid "voice_channel"
+msgstr ""
+
+#: discord.Member.edit:18 of
+msgid ":attr:`Permissions.move_members`"
+msgstr ""
+
+#: discord.Member.edit:23 of
+msgid "The member's new nickname. Use ``None`` to remove the nickname."
+msgstr ""
+
+#: discord.Member.edit:25 of
+msgid "Indicates if the member should be guild muted or un-muted."
+msgstr ""
+
+#: discord.Member.edit:27 of
+msgid "Indicates if the member should be guild deafened or un-deafened."
+msgstr ""
+
+#: discord.Member.edit:29 of
+msgid "The member's new list of roles. This *replaces* the roles."
+msgstr ""
+
+#: discord.Member.edit:31 of
+msgid "The voice channel to move the member to."
+msgstr ""
+
+#: discord.Member.edit:33 of
+msgid "The reason for editing this member. Shows up on the audit log."
+msgstr ""
+
+#: discord.Member.edit:36 of
+msgid ""
+":exc:`Forbidden` -- You do not have the proper permissions to the action "
+"requested."
+msgstr ""
+
+#: discord.Member.edit:37 of
+msgid ":exc:`HTTPException` -- The operation failed."
+msgstr ""
+
+#: discord.Member.id:1 of
+msgid "Equivalent to :attr:`User.id`"
+msgstr ""
+
+#: discord.Member.kick:3 of
+msgid "Kicks this member. Equivalent to :meth:`Guild.kick`"
+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 "The new voice channel to move the member to."
+msgstr ""
+
+#: discord.Member.name:1 of
+msgid "Equivalent to :attr:`User.name`"
+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:10 of
+msgid "The reason for removing these roles. Shows up on the audit log."
+msgstr ""
+
+#: discord.Member.remove_roles:12 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:17 of
+msgid ":exc:`Forbidden` -- You do not have permissions to remove these roles."
+msgstr ""
+
+#: discord.Member.remove_roles:18 of
+msgid ":exc:`HTTPException` -- Removing the roles failed."
+msgstr ""
+
+#: discord.Member.unban:3 of
+msgid "Unbans this member. Equivalent to :meth:`Guild.unban`"
+msgstr ""
+
+#: ../../api.rst:1878
+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.Spotify:8 of
+msgid "Checks if two activities are equal."
+msgstr ""
+
+#: discord.Spotify:12 of
+msgid "Checks if two activities are not equal."
+msgstr ""
+
+#: discord.Spotify:16 of
+msgid "Returns the activity's hash."
+msgstr ""
+
+#: discord.Spotify:20 of
+msgid "Returns the string 'Spotify'."
+msgstr ""
+
+#: 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.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 :meth:`color`"
+msgstr ""
+
+#: discord.Spotify.color:3 of
+msgid "There is an alias for this named :meth:`colour`"
+msgstr ""
+
+#: discord.Spotify.name:1 of
+msgid ":class:`str` -- The activity's name. This will always return \"Spotify\"."
+msgstr ""
+
+#: discord.Spotify.title:1 of
+msgid ":class:`str` -- The title of the song being played."
+msgstr ""
+
+#: discord.Spotify.artists:1 of
+msgid "List[:class:`str`] -- The artists of the song being played."
+msgstr ""
+
+#: discord.Spotify.artist:1 of
+msgid ":class:`str` -- 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 ":class:`str` -- The album that the song being played belongs to."
+msgstr ""
+
+#: discord.Spotify.album_cover_url:1 of
+msgid ":class:`str` -- The album cover image URL from Spotify's CDN."
+msgstr ""
+
+#: discord.Spotify.track_id:1 of
+msgid ":class:`str` -- The track ID used by Spotify to identify this song."
+msgstr ""
+
+#: discord.Spotify.start:1 of
+msgid ""
+":class:`datetime.datetime` -- When the user started playing this song in "
+"UTC."
+msgstr ""
+
+#: discord.Spotify.end:1 of
+msgid ""
+":class:`datetime.datetime` -- When the user will stop playing this song "
+"in UTC."
+msgstr ""
+
+#: discord.Spotify.duration:1 of
+msgid ":class:`datetime.timedelta` -- The duration of the song being played."
+msgstr ""
+
+#: discord.Spotify.party_id:1 of
+msgid ":class:`str` -- The party ID of the listening party."
+msgstr ""
+
+#: ../../api.rst:1884
+msgid "VoiceState"
+msgstr ""
+
+#: discord.VoiceState:1 of
+msgid "Represents a Discord user's voice state."
+msgstr ""
+
+#: discord.VoiceState:5 of
+msgid ":class:`bool` -- Indicates if the user is currently deafened by the guild."
+msgstr ""
+
+#: discord.VoiceState:9 of
+msgid ":class:`bool` -- Indicates if the user is currently muted by the guild."
+msgstr ""
+
+#: discord.VoiceState:13 of
+msgid ""
+":class:`bool` -- Indicates if the user is currently muted by their own "
+"accord."
+msgstr ""
+
+#: discord.VoiceState:17 of
+msgid ""
+":class:`bool` -- Indicates if the user is currently deafened by their own"
+" accord."
+msgstr ""
+
+#: discord.VoiceState:21 of
+msgid ""
+":class:`bool` -- Indicates if the user is currently in the AFK channel in"
+" the guild."
+msgstr ""
+
+#: discord.VoiceState:25 of
+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 ""
+
+#: ../../api.rst:1890
+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
+msgid ":class:`str` -- The name of the emoji."
+msgstr ""
+
+#: discord.Emoji:35 of
+msgid ":class:`int` -- The emoji's ID."
+msgstr ""
+
+#: discord.Emoji:39 of
+msgid ""
+":class:`bool` -- If colons are required to use this emoji in the client "
+"(:PJSalt: vs PJSalt)."
+msgstr ""
+
+#: discord.Emoji:43 of
+msgid ":class:`bool` -- Whether an emoji is animated or not."
+msgstr ""
+
+#: discord.Emoji:47 of
+msgid ":class:`bool` -- If this emoji is managed by a Twitch integration."
+msgstr ""
+
+#: discord.Emoji:51 of
+msgid ":class:`int` -- The guild ID the emoji belongs to."
+msgstr ""
+
+#: discord.Emoji.created_at:1 of
+msgid "Returns the emoji's creation time in UTC."
+msgstr ""
+
+#: discord.Emoji.url:1 of
+msgid "Returns a URL version of the emoji."
+msgstr ""
+
+#: discord.Emoji.roles:1 of
+msgid "List[:class:`Role`] -- A 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
+msgid ":class:`Guild` -- The guild this emoji belongs to."
+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 "Note that bot accounts can only delete custom emojis they own."
+msgstr ""
+
+#: discord.Emoji.delete:10 of
+msgid "The reason for deleting this emoji. Shows up on the audit log."
+msgstr ""
+
+#: discord.Emoji.delete:13 of
+msgid ":exc:`Forbidden` -- You are not allowed to delete emojis."
+msgstr ""
+
+#: discord.Emoji.delete:14 of
+msgid ":exc:`HTTPException` -- An error occurred deleting the emoji."
+msgstr ""
+
+#: discord.Emoji.edit:3 of
+msgid "Edits the custom emoji."
+msgstr ""
+
+#: discord.Emoji.edit:8 of
+msgid "Note that bot accounts can only edit custom emojis they own."
+msgstr ""
+
+#: discord.Emoji.edit:10 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 ":exc:`Forbidden` -- You are not allowed to edit emojis."
+msgstr ""
+
+#: discord.Emoji.edit:16 of
+msgid ":exc:`HTTPException` -- An error occurred editing the emoji."
+msgstr ""
+
+#: ../../api.rst:1896
+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 ""
+":class:`str` -- The custom emoji name, if applicable, or the unicode "
+"codepoint of the non-custom emoji."
+msgstr ""
+
+#: discord.PartialEmoji:33 of
+msgid ":class:`bool` -- Whether the emoji is animated or not."
+msgstr ""
+
+#: discord.PartialEmoji:37 of
+msgid "Optional[:class:`int`] -- The ID of the custom emoji, if applicable."
+msgstr ""
+
+#: discord.PartialEmoji.is_custom_emoji:1 of
+msgid "Checks if this is a custom non-Unicode emoji."
+msgstr ""
+
+#: discord.PartialEmoji.is_unicode_emoji:1 of
+msgid "Checks if this is a Unicode emoji."
+msgstr ""
+
+#: discord.PartialEmoji.url:1 of
+msgid "Returns a URL version of the emoji, if it is custom."
+msgstr ""
+
+#: ../../api.rst:1902
+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
+msgid ":class:`int` -- The ID for the role."
+msgstr ""
+
+#: discord.Role:43 of
+msgid ":class:`str` -- The name of the role."
+msgstr ""
+
+#: discord.Role:47 of
+msgid ":class:`Permissions` -- Represents the role's permissions."
+msgstr ""
+
+#: discord.Role:51 of
+msgid ":class:`Guild` -- The guild the role belongs to."
+msgstr ""
+
+#: discord.Role:55 of
+msgid ""
+":class:`Colour` -- Represents the role colour. An alias exists under "
+"``color``."
+msgstr ""
+
+#: discord.Role:59 of
+msgid ""
+":class:`bool` -- Indicates if the role will be displayed separately from "
+"other members."
+msgstr ""
+
+#: discord.Role:63 of
+msgid ""
+":class:`int` -- The position of the role. This number is usually "
+"positive. The bottom role has a position of 0."
+msgstr ""
+
+#: discord.Role:68 of
+msgid ""
+":class:`bool` -- Indicates if the role is managed by the guild through "
+"some form of integrations such as Twitch."
+msgstr ""
+
+#: discord.Role:73 of
+msgid ":class:`bool` -- Indicates if the role can be mentioned by users."
+msgstr ""
+
+#: discord.Role.is_default:1 of
+msgid "Checks if the role is the default role."
+msgstr ""
+
+#: discord.Role.created_at:1 of
+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
+msgid "Returns a :class:`list` of :class:`Member` with this role."
+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
+msgid ":exc:`Forbidden` -- You do not have permissions to delete the role."
+msgstr ""
+
+#: discord.Role.delete:12 of
+msgid ":exc:`HTTPException` -- Deleting the role failed."
+msgstr ""
+
+#: discord.Role.edit:3 of
+msgid "Edits the role."
+msgstr ""
+
+#: discord.Role.edit:10 of
+msgid "The new role name to change to."
+msgstr ""
+
+#: discord.Role.edit:12 of
+msgid "The new permissions to change to."
+msgstr ""
+
+#: discord.Role.edit:14 of
+msgid "The new colour to change to. (aliased to color as well)"
+msgstr ""
+
+#: discord.Role.edit:16 of
+msgid "Indicates if the role should be shown separately in the member list."
+msgstr ""
+
+#: discord.Role.edit:18 of
+msgid "Indicates if the role should be mentionable by others."
+msgstr ""
+
+#: discord.Role.edit:20 of
+msgid ""
+"The new role's position. This must be below your top role's position or "
+"it will fail."
+msgstr ""
+
+#: discord.Role.edit:23 of
+msgid "The reason for editing this role. Shows up on the audit log."
+msgstr ""
+
+#: discord.Role.edit:28 of
+msgid ""
+":exc:`InvalidArgument` -- An invalid position was given or the default "
+"role was asked to be moved."
+msgstr ""
+
+#: ../../api.rst:1908
+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:31 discord.VoiceChannel:31 of
+msgid ":class:`int` -- The channel ID."
+msgstr ""
+
+#: discord.TextChannel:35 discord.VoiceChannel:35 of
+msgid ":class:`int` -- The category channel ID this channel belongs to."
+msgstr ""
+
+#: discord.TextChannel:39 of
+msgid "Optional[:class:`str`] -- The channel's topic. None if it doesn't exist."
+msgstr ""
+
+#: discord.TextChannel.members:1 of
+msgid "Returns a :class:`list` of :class:`Member` that can see this channel."
+msgstr ""
+
+#: discord.TextChannel.is_nsfw:1 of
+msgid "Checks if the channel is NSFW."
+msgstr ""
+
+#: discord.TextChannel.create_webhook:3 of
+msgid "Creates a webhook for this channel."
+msgstr ""
+
+#: discord.TextChannel.create_webhook:7 of
+msgid "The webhook's name."
+msgstr ""
+
+#: discord.TextChannel.create_webhook:9 of
+msgid ""
+"A *bytes-like* object representing the webhook's default avatar. This "
+"operates similarly to :meth:`~ClientUser.edit`."
+msgstr ""
+
+#: discord.TextChannel.create_webhook:13 of
+msgid ":exc:`HTTPException` -- Creating the webhook failed."
+msgstr ""
+
+#: discord.TextChannel.create_webhook:14 of
+msgid ":exc:`Forbidden` -- You do not have permissions to create a webhook."
+msgstr ""
+
+#: discord.TextChannel.create_webhook:16 of
+msgid "The created webhook."
+msgstr ""
+
+#: 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 ""
+":exc:`ClientException` -- The number of messages to delete was more than "
+"100."
+msgstr ""
+
+#: discord.TextChannel.delete_messages:22 of
+msgid ""
+":exc:`Forbidden` -- You do not have proper permissions to delete the "
+"messages or you're not using a bot account."
+msgstr ""
+
+#: discord.TextChannel.delete_messages:24 of
+msgid ":exc:`HTTPException` -- Deleting the messages failed."
+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.TextChannel.edit:8 of
+msgid "The new channel name."
+msgstr ""
+
+#: discord.TextChannel.edit:10 of
+msgid "The new channel's topic."
+msgstr ""
+
+#: discord.TextChannel.edit:12 discord.VoiceChannel.edit:14 of
+msgid "The new channel's position."
+msgstr ""
+
+#: discord.TextChannel.edit:14 of
+msgid "To mark the channel as NSFW or not."
+msgstr ""
+
+#: discord.TextChannel.edit:16 discord.VoiceChannel.edit:16 of
+msgid ""
+"Whether to sync permissions with the channel's new or pre-existing "
+"category. Defaults to ``False``."
+msgstr ""
+
+#: discord.TextChannel.edit:19 discord.VoiceChannel.edit:19 of
+msgid "The new category for this channel. Can be ``None`` to remove the category."
+msgstr ""
+
+#: discord.TextChannel.edit:22 discord.VoiceChannel.edit:22 of
+msgid "The reason for editing this channel. Shows up on the audit log."
+msgstr ""
+
+#: discord.TextChannel.edit:25 of
+msgid ""
+":exc:`InvalidArgument` -- If position is less than 0 or greater than the "
+"number of channels."
+msgstr ""
+
+#: discord.TextChannel.edit:26 discord.VoiceChannel.edit:25 of
+msgid ":exc:`Forbidden` -- You do not have permissions to edit the channel."
+msgstr ""
+
+#: discord.TextChannel.edit:27 discord.VoiceChannel.edit:26 of
+msgid ":exc:`HTTPException` -- Editing the channel 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:16 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:19 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:22 of
+msgid "Same as ``before`` in :meth:`history`."
+msgstr ""
+
+#: discord.TextChannel.purge:23 of
+msgid "Same as ``after`` in :meth:`history`."
+msgstr ""
+
+#: discord.TextChannel.purge:24 of
+msgid "Same as ``around`` in :meth:`history`."
+msgstr ""
+
+#: discord.TextChannel.purge:25 of
+msgid "Same as ``reverse`` in :meth:`history`."
+msgstr ""
+
+#: discord.TextChannel.purge:26 of
+msgid ""
+"If True, use bulk delete. bulk=False is useful for mass-deleting a bot's "
+"own messages without 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:32 of
+msgid ""
+":exc:`Forbidden` -- You do not have proper permissions to do the actions "
+"required."
+msgstr ""
+
+#: discord.TextChannel.purge:33 of
+msgid ":exc:`HTTPException` -- Purging the messages failed."
+msgstr ""
+
+#: discord.TextChannel.purge:37 of
+msgid "Deleting bot's messages ::"
+msgstr ""
+
+#: discord.TextChannel.purge:45 of
+msgid "The list of messages that were deleted."
+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 ""
+
+#: ../../api.rst:1922
+msgid "VoiceChannel"
+msgstr ""
+
+#: discord.VoiceChannel:1 of
+msgid "Represents a Discord guild voice channel."
+msgstr ""
+
+#: discord.VoiceChannel:44 of
+msgid ":class:`int` -- The channel's preferred audio bitrate in bits per second."
+msgstr ""
+
+#: discord.VoiceChannel:48 of
+msgid ""
+":class:`int` -- The channel's limit for number of members that can be in "
+"a voice channel."
+msgstr ""
+
+#: discord.VoiceChannel.members:1 of
+msgid ""
+"Returns a list of :class:`Member` that are currently inside this voice "
+"channel."
+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:13 of
+msgid ""
+":exc:`asyncio.TimeoutError` -- Could not connect to the voice channel in "
+"time."
+msgstr ""
+
+#: discord.VoiceChannel.connect:14 of
+msgid ":exc:`ClientException` -- You are already connected to a voice channel."
+msgstr ""
+
+#: discord.VoiceChannel.connect:15 of
+msgid ":exc:`OpusNotLoaded` -- The opus library has not been loaded."
+msgstr ""
+
+#: discord.VoiceChannel.connect:17 of
+msgid "A voice client that is fully connected to the voice server."
+msgstr ""
+
+#: discord.VoiceChannel.connect:18 of
+msgid ":class:`VoiceClient`"
+msgstr ""
+
+#: discord.VoiceChannel.edit:8 of
+msgid "The new channel's name."
+msgstr ""
+
+#: discord.VoiceChannel.edit:10 of
+msgid "The new channel's bitrate."
+msgstr ""
+
+#: discord.VoiceChannel.edit:12 of
+msgid "The new channel's user limit."
+msgstr ""
+
+#: ../../api.rst:1929
+msgid "CategoryChannel"
+msgstr ""
+
+#: discord.CategoryChannel:1 of
+msgid "Represents a Discord channel category."
+msgstr ""
+
+#: 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
+msgid ":class:`str` -- The category name."
+msgstr ""
+
+#: discord.CategoryChannel:29 of
+msgid ":class:`Guild` -- The guild the category belongs to."
+msgstr ""
+
+#: discord.CategoryChannel:33 of
+msgid ":class:`int` -- The category channel ID."
+msgstr ""
+
+#: discord.CategoryChannel:37 of
+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 ""
+
+#: discord.CategoryChannel.is_nsfw:1 of
+msgid "Checks if the category is NSFW."
+msgstr ""
+
+#: discord.CategoryChannel.channels:1 of
+msgid ""
+"List[:class:`abc.GuildChannel`] -- 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.edit:8 of
+msgid "The new category's name."
+msgstr ""
+
+#: discord.CategoryChannel.edit:10 of
+msgid "The new category's position."
+msgstr ""
+
+#: discord.CategoryChannel.edit:12 of
+msgid "To mark the category as NSFW or not."
+msgstr ""
+
+#: discord.CategoryChannel.edit:14 of
+msgid "The reason for editing this category. Shows up on the audit log."
+msgstr ""
+
+#: discord.CategoryChannel.edit:17 of
+msgid ""
+":exc:`InvalidArgument` -- If position is less than 0 or greater than the "
+"number of categories."
+msgstr ""
+
+#: discord.CategoryChannel.edit:18 of
+msgid ":exc:`Forbidden` -- You do not have permissions to edit the category."
+msgstr ""
+
+#: discord.CategoryChannel.edit:19 of
+msgid ":exc:`HTTPException` -- Editing the category failed."
+msgstr ""
+
+#: ../../api.rst:1936
+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 ""
+":class:`User` -- The user you are participating with in the direct "
+"message channel."
+msgstr ""
+
+#: discord.DMChannel:31 of
+msgid ":class:`int` -- 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 discord.GroupChannel.permissions_for:9
+#: of
+msgid "send_tts_messages: You cannot send TTS messages in a DM."
+msgstr ""
+
+#: discord.DMChannel.permissions_for:10 discord.GroupChannel.permissions_for:10
+#: of
+msgid "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:1950
+msgid "GroupChannel"
+msgstr ""
+
+#: discord.GroupChannel:1 of
+msgid "Represents a Discord group channel."
+msgstr ""
+
+#: discord.GroupChannel:23 of
+msgid ""
+":class:`list` of :class:`User` -- The users you are participating with in"
+" the group channel."
+msgstr ""
+
+#: discord.GroupChannel:31 of
+msgid ":class:`int` -- The group channel ID."
+msgstr ""
+
+#: discord.GroupChannel:35 of
+msgid ":class:`User` -- The user that owns the group channel."
+msgstr ""
+
+#: discord.GroupChannel:39 of
+msgid "Optional[:class:`str`] -- The group channel's icon hash if provided."
+msgstr ""
+
+#: discord.GroupChannel:43 of
+msgid "Optional[:class:`str`] -- The group channel's name if provided."
+msgstr ""
+
+#: discord.GroupChannel.icon_url:1 of
+msgid "Returns the channel's icon URL if available or an empty string otherwise."
+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 ":exc:`HTTPException` -- Adding a recipient to 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 bytes-like object representing the new icon. Could be ``None`` to "
+"remove the icon."
+msgstr ""
+
+#: discord.GroupChannel.edit:12 of
+msgid ":exc:`HTTPException` -- 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 ":exc:`HTTPException` -- Leaving the 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 ":exc:`HTTPException` -- Removing a recipient from this group failed."
+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 ""
+
+#: ../../api.rst:1965
+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:26 of
+msgid ""
+":class:`int` -- How long the before the invite expires in seconds. A "
+"value of 0 indicates that it doesn't expire."
+msgstr ""
+
+#: discord.Invite:30 of
+msgid ":class:`str` -- The URL fragment used for the invite."
+msgstr ""
+
+#: discord.Invite:34 of
+msgid ":class:`Guild` -- The guild the invite is for."
+msgstr ""
+
+#: discord.Invite:38 of
+msgid ":class:`bool` -- Indicates if the invite has been revoked."
+msgstr ""
+
+#: discord.Invite:42 of
+msgid ""
+"`datetime.datetime` -- A datetime object denoting the time the invite was"
+" created."
+msgstr ""
+
+#: discord.Invite:46 of
+msgid ""
+":class:`bool` -- Indicates that the invite grants temporary membership. "
+"If True, members who joined via this invite will be kicked upon "
+"disconnect."
+msgstr ""
+
+#: discord.Invite:51 of
+msgid ":class:`int` -- How many times the invite has been used."
+msgstr ""
+
+#: discord.Invite:55 of
+msgid ":class:`int` -- How many times the invite can be used."
+msgstr ""
+
+#: discord.Invite:59 of
+msgid ":class:`User` -- The user who created the invite."
+msgstr ""
+
+#: discord.Invite:63 of
+msgid ":class:`abc.GuildChannel` -- The channel the invite is for."
+msgstr ""
+
+#: 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:1971
+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 ":class:`int` -- The channel ID where the deletion took place."
+msgstr ""
+
+#: discord.RawMessageDeleteEvent:9 of
+msgid ""
+"Optional[:class:`int`] -- The guild ID where the deletion took place, if "
+"applicable."
+msgstr ""
+
+#: discord.RawMessageDeleteEvent:13 of
+msgid ":class:`int` -- The message ID that got deleted."
+msgstr ""
+
+#: ../../api.rst:1977
+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
+msgid "Set[:class:`int`] -- A :class:`set` of the message IDs that were deleted."
+msgstr ""
+
+#: discord.RawBulkMessageDeleteEvent:9 of
+msgid ":class:`int` -- The channel ID where the message got deleted."
+msgstr ""
+
+#: discord.RawBulkMessageDeleteEvent:13 of
+msgid ""
+"Optional[:class:`int`] -- The guild ID where the message got deleted, if "
+"applicable."
+msgstr ""
+
+#: ../../api.rst:1983
+msgid "RawMessageUpdateEvent"
+msgstr ""
+
+#: discord.RawMessageUpdateEvent:1 of
+msgid "Represents the payload for a :func:`on_raw_message_edit` event."
+msgstr ""
+
+#: discord.RawMessageUpdateEvent:5 of
+msgid ":class:`int` -- The message ID that got updated."
+msgstr ""
+
+#: discord.RawMessageUpdateEvent:9 of
+msgid ""
+":class:`dict` -- The raw data given by the `gateway "
+"<https://discordapp.com/developers/docs/topics/gateway#message-update>`_"
+msgstr ""
+
+#: ../../api.rst:1989
+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
+msgid ":class:`int` -- The message ID that got or lost a reaction."
+msgstr ""
+
+#: discord.RawReactionActionEvent:10 of
+msgid ":class:`int` -- The user ID who added or removed the reaction."
+msgstr ""
+
+#: discord.RawReactionActionEvent:14 of
+msgid ":class:`int` -- The channel ID where the reaction got added or removed."
+msgstr ""
+
+#: discord.RawReactionActionEvent:18 of
+msgid ""
+"Optional[:class:`int`] -- The guild ID where the reaction got added or "
+"removed, if applicable."
+msgstr ""
+
+#: discord.RawReactionActionEvent:22 of
+msgid ":class:`PartialEmoji` -- The custom or unicode emoji being used."
+msgstr ""
+
+#: ../../api.rst:1995
+msgid "RawReactionClearEvent"
+msgstr ""
+
+#: discord.RawReactionClearEvent:1 of
+msgid "Represents the payload for a :func:`on_raw_reaction_clear` event."
+msgstr ""
+
+#: discord.RawReactionClearEvent:5 of
+msgid ":class:`int` -- The message ID that got its reactions cleared."
+msgstr ""
+
+#: discord.RawReactionClearEvent:9 of
+msgid ":class:`int` -- The channel ID where the reactions got cleared."
+msgstr ""
+
+#: discord.RawReactionClearEvent:13 of
+msgid "Optional[:class:`int`] -- The guild ID where the reactions got cleared."
+msgstr ""
+
+#: ../../api.rst:2004
+msgid "Data Classes"
+msgstr ""
+
+#: ../../api.rst:2006
+msgid "Some classes are just there to be data containers, this lists them."
+msgstr ""
+
+#: ../../api.rst:2008
+msgid ""
+"Unlike :ref:`models <discord_api_models>` you are allowed to create these"
+" yourself, even if they can also be used to hold attributes."
+msgstr ""
+
+#: ../../api.rst:2014
+msgid ""
+"The only exception to this rule is :class:`Object`, which is made with "
+"dynamic attributes in mind."
+msgstr ""
+
+#: ../../api.rst:2022
+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
+msgid ":class:`str` -- The ID of the object."
+msgstr ""
+
+#: discord.Object.created_at:1 of
+msgid "Returns the snowflake's creation time in UTC."
+msgstr ""
+
+#: ../../api.rst:2028
+msgid "Embed"
+msgstr ""
+
+#: discord.Embed:1 of
+msgid "Represents a Discord embed."
+msgstr ""
+
+#: discord.Embed:3 of
+msgid "The following attributes can be set during creation of the object:"
+msgstr ""
+
+#: discord.Embed:6 of
+msgid ""
+"Certain properties return an ``EmbedProxy``. Which is a type that acts "
+"similar to a regular :class:`dict` except access the attributes via "
+"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:12 of
+msgid ""
+"For ease of use, all parameters that expect a :class:`str` are implicitly"
+" casted to :class:`str` for you."
+msgstr ""
+
+#: discord.Embed:17 of
+msgid ":class:`str` -- The title of the embed."
+msgstr ""
+
+#: discord.Embed:21 of
+msgid ":class:`str` -- The type of embed. Usually \"rich\"."
+msgstr ""
+
+#: discord.Embed:25 of
+msgid ":class:`str` -- The description of the embed."
+msgstr ""
+
+#: discord.Embed:29 of
+msgid ":class:`str` -- The URL of the embed."
+msgstr ""
+
+#: discord.Embed:33 of
+msgid ""
+"`datetime.datetime` -- The timestamp of the embed content. This could be "
+"a naive or aware datetime."
+msgstr ""
+
+#: discord.Embed:37 of
+msgid ""
+":class:`Colour` or :class:`int` -- The colour code of the embed. Aliased "
+"to ``color`` as well."
+msgstr ""
+
+#: discord.Embed:41 of
+msgid ""
+"A special sentinel value used by ``EmbedProxy`` and this class to denote "
+"that the value or attribute is empty."
+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.set_footer:1 of
+msgid "Sets the footer for the embed content."
+msgstr ""
+
+#: discord.Embed.add_field: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 "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 "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.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.add_field:1 of
+msgid "Adds a field to the embed object."
+msgstr ""
+
+#: discord.Embed.add_field:6 discord.Embed.set_field_at:10 of
+msgid "The name of the field."
+msgstr ""
+
+#: discord.Embed.add_field:8 discord.Embed.set_field_at:12 of
+msgid "The value of the field."
+msgstr ""
+
+#: discord.Embed.add_field:10 discord.Embed.set_field_at:14 of
+msgid "Whether the field should be displayed inline."
+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
+msgid ":exc:`IndexError` -- An invalid index was provided."
+msgstr ""
+
+#: discord.Embed.to_dict:1 of
+msgid "Converts this embed object into a dict."
+msgstr ""
+
+#: ../../api.rst:2034
+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 ""
+"Union[:class:`str`, BinaryIO] -- 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:12 of
+msgid ""
+"If the file-like object passed is opened via ``open`` then the modes 'rb'"
+" should be used."
+msgstr ""
+
+#: discord.File:15 of
+msgid "To pass binary data, consider usage of ``io.BytesIO``."
+msgstr ""
+
+#: discord.File:19 of
+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 ""
+
+#: ../../api.rst:2040
+msgid "Colour"
+msgstr ""
+
+#: discord.Colour:1 of
+msgid ""
+"Represents a Discord role colour. This class is similar to an (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 ":class:`int` -- 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 "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.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_grey:1 of
+msgid ""
+"A factory method that returns a :class:`Colour` with a value of "
+"``0x95a5a6``."
+msgstr ""
+
+#: discord.Colour.dark_grey:1 of
+msgid ""
+"A factory method that returns a :class:`Colour` with a value of "
+"``0x607d8b``."
+msgstr ""
+
+#: discord.Colour.light_grey:1 of
+msgid ""
+"A factory method that returns a :class:`Colour` with a value of "
+"``0x979c9f``."
+msgstr ""
+
+#: 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 ""
+
+#: ../../api.rst:2046
+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:9 of
+msgid ":class:`Game`"
+msgstr ""
+
+#: discord.Activity:10 of
+msgid ":class:`Streaming`"
+msgstr ""
+
+#: discord.Activity:14 of
+msgid ":class:`str` -- The application ID of the game."
+msgstr ""
+
+#: discord.Activity:18 of
+msgid ":class:`str` -- The name of the activity."
+msgstr ""
+
+#: discord.Activity:22 of
+msgid ":class:`str` -- A stream URL that the activity could be doing."
+msgstr ""
+
+#: discord.Activity:26 of
+msgid ":class:`ActivityType` -- The type of activity currently being done."
+msgstr ""
+
+#: discord.Activity:30 of
+msgid ":class:`str` -- The user's current state. For example, \"In Game\"."
+msgstr ""
+
+#: discord.Activity:34 of
+msgid ":class:`str` -- The detail of the user's current activity."
+msgstr ""
+
+#: discord.Activity:38 of
+msgid ""
+":class:`dict` -- A dictionary of timestamps. It contains the following "
+"optional keys:"
+msgstr ""
+
+#: discord.Activity:40 of
+msgid ""
+"``start``: Corresponds to when the user started doing the activity in "
+"milliseconds since Unix epoch."
+msgstr ""
+
+#: discord.Activity:42 of
+msgid ""
+"``end``: Corresponds to when the user will finish doing the activity in "
+"milliseconds since Unix epoch."
+msgstr ""
+
+#: discord.Activity:47 of
+msgid ""
+":class:`dict` -- A dictionary representing the images and their hover "
+"text of an activity. It contains the following optional keys:"
+msgstr ""
+
+#: discord.Activity:50 of
+msgid "``large_image``: A string representing the ID for the large image asset."
+msgstr ""
+
+#: discord.Activity:51 of
+msgid ""
+"``large_text``: A string representing the text when hovering over the "
+"large image asset."
+msgstr ""
+
+#: discord.Activity:52 of
+msgid "``small_image``: A string representing the ID for the small image asset."
+msgstr ""
+
+#: discord.Activity:53 of
+msgid ""
+"``small_text``: A string representing the text when hovering over the "
+"small image asset."
+msgstr ""
+
+#: discord.Activity:57 of
+msgid ""
+":class:`dict` -- A dictionary representing the activity party. It "
+"contains the following optional keys:"
+msgstr ""
+
+#: discord.Activity:59 of
+msgid "``id``: A string representing the party ID."
+msgstr ""
+
+#: discord.Activity:60 of
+msgid ""
+"``size``: A list of up to two integer elements denoting (current_size, "
+"maximum_size)."
+msgstr ""
+
+#: discord.Activity.start:1 of
+msgid ""
+"Optional[:class:`datetime.datetime`] -- When the user started doing this "
+"activity in UTC, if applicable."
+msgstr ""
+
+#: discord.Activity.end:1 of
+msgid ""
+"Optional[:class:`datetime.datetime`] -- When the user will stop doing "
+"this activity in UTC, if applicable."
+msgstr ""
+
+#: discord.Activity.large_image_url:1 of
+msgid ""
+"Optional[:class:`str`] -- Returns a URL pointing to the large image asset"
+" of this activity if applicable."
+msgstr ""
+
+#: discord.Activity.small_image_url:1 of
+msgid ""
+"Optional[:class:`str`] -- Returns a URL pointing to the small image asset"
+" of this activity if applicable."
+msgstr ""
+
+#: discord.Activity.large_image_text:1 of
+msgid ""
+"Optional[:class:`str`] -- Returns the large image asset hover text of "
+"this activity if applicable."
+msgstr ""
+
+#: discord.Activity.small_image_text:1 of
+msgid ""
+"Optional[:class:`str`] -- Returns the small image asset hover text of "
+"this activity if applicable."
+msgstr ""
+
+#: ../../api.rst:2052
+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 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:32 of
+msgid ":class:`str` -- The game's name."
+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 ""
+"Optional[:class:`datetime.datetime`] -- When the user started playing "
+"this game in UTC, if applicable."
+msgstr ""
+
+#: discord.Game.end:1 of
+msgid ""
+"Optional[:class:`datetime.datetime`] -- When the user will stop playing "
+"this game in UTC, if applicable."
+msgstr ""
+
+#: ../../api.rst:2058
+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 ":class:`str` -- The stream's name."
+msgstr ""
+
+#: discord.Streaming:29 of
+msgid ""
+":class:`str` -- The stream's URL. Currently only twitch.tv URLs are "
+"supported. Anything else is silently discarded."
+msgstr ""
+
+#: discord.Streaming:34 of
+msgid ""
+"Optional[:class:`str`] -- If provided, typically the game the streamer is"
+" playing."
+msgstr ""
+
+#: discord.Streaming:38 of
+msgid ""
+":class:`dict` -- 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 ""
+"Optional[:class:`str`] -- 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:2064
+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:11 of
+msgid "Checks if two permissions are equal."
+msgstr ""
+
+#: discord.Permissions:14 of
+msgid "Checks if two permissions are not equal."
+msgstr ""
+
+#: discord.Permissions:17 of
+msgid "Checks if a permission is a subset of another permission."
+msgstr ""
+
+#: discord.Permissions:20 of
+msgid "Checks if a permission is a superset of another permission."
+msgstr ""
+
+#: discord.Permissions:23 of
+msgid "Checks if a permission is a strict subset of another permission."
+msgstr ""
+
+#: discord.Permissions:26 of
+msgid "Checks if a permission is a strict superset of another permission."
+msgstr ""
+
+#: discord.Permissions:29 of
+msgid "Return the permission's hash."
+msgstr ""
+
+#: discord.Permissions:32 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."
+msgstr ""
+
+#: discord.Permissions:37 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_nicknames"
+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.read_messages:1 of
+msgid ""
+"Returns True if a user can read messages from all or specific text "
+"channels."
+msgstr ""
+
+#: 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. 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 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.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_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:2070
+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:12 of
+msgid "Supported operations:"
+msgstr ""
+
+#: discord.PermissionOverwrite:15 of
+msgid "Operation"
+msgstr ""
+
+#: discord.PermissionOverwrite:17 of
+msgid "iter(x)"
+msgstr ""
+
+#: discord.PermissionOverwrite:17 of
+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 ""
+
+#: discord.PermissionOverwrite:23 of
+msgid "Set the value of permissions by their name."
+msgstr ""
+
+#: discord.PermissionOverwrite.pair:1 of
+msgid "Returns the (allow, deny) pair from this overwrite."
+msgstr ""
+
+#: discord.PermissionOverwrite.pair:3 of
+msgid "The value of these pairs is :class:`Permissions`."
+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.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:2076
+msgid "Exceptions"
+msgstr ""
+
+#: ../../api.rst:2078
+msgid "The following exceptions are thrown by the library."
+msgstr ""
+
+#: discord.DiscordException:1 of
+msgid "Base exception class for discord.py"
+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 ""
+"*aiohttp.ClientResponse* -- The response of the failed HTTP request. This"
+" is an instance of `aiohttp.ClientResponse`__. In some cases this could "
+"also be a ``requests.Response``."
+msgstr ""
+
+#: discord.HTTPException:13 of
+msgid ":class:`str` -- The text of the error. Could be an empty string."
+msgstr ""
+
+#: discord.HTTPException:17 of
+msgid ":class:`int` -- The status code of the HTTP request."
+msgstr ""
+
+#: discord.HTTPException:21 of
+msgid ":class:`int` -- 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 ""
+
+#: discord.NotFound:1 of
+msgid "Exception that's thrown for when status code 404 occurs."
+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 derived 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 ":class:`int` -- The close code of the websocket."
+msgstr ""
+
+#: discord.ConnectionClosed:10 of
+msgid ":class:`str` -- The reason provided for the closure."
+msgstr ""
+
+#: discord.ConnectionClosed:14 of
+msgid "Optional[:class:`int`] -- The shard ID that got closed if applicable."
+msgstr ""
+
+#: discord.opus.OpusError:1 of
+msgid "An exception that is thrown for libopus related errors."
+msgstr ""
+
+#: discord.opus.OpusError:5 of
+msgid ":class:`int` -- The error code returned."
+msgstr ""
+
+#: discord.opus.OpusNotLoaded:1 of
+msgid "An exception that is thrown for when libopus is not loaded."
+msgstr ""
+
diff --git a/docs/locale/ja/LC_MESSAGES/discord.po b/docs/locale/ja/LC_MESSAGES/discord.po
new file mode 100644
index 00000000..b6de2bfd
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/discord.po
@@ -0,0 +1,196 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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 ""
+
+#: ../../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.rst:8
+msgid "Creating a Bot account is a pretty straightforward process."
+msgstr ""
+
+#: ../../discord.rst:10
+msgid ""
+"Make sure you're logged on to the `Discord website "
+"<https://discordapp.com>`_."
+msgstr ""
+
+#: ../../discord.rst:11
+msgid ""
+"Navigate to the `application page "
+"<https://discordapp.com/developers/applications/me>`_"
+msgstr ""
+
+#: ../../discord.rst:12
+msgid "Click on the \"New App\" button."
+msgstr ""
+
+#: ../../discord.rst:17
+msgid ""
+"Give the application a name and a description if wanted and click "
+"\"Create App\"."
+msgstr ""
+
+#: ../../discord.rst:19
+msgid ""
+"You can also put an avatar you want your bot to use, don't worry you can "
+"change this later."
+msgstr ""
+
+#: ../../discord.rst:20
+msgid "**Leave the Redirect URI(s) blank** unless are creating a service."
+msgstr ""
+
+#: ../../discord.rst:24
+msgid ""
+"Create a Bot User by clicking on the accompanying button and confirming "
+"it."
+msgstr ""
+
+#: ../../discord.rst:28
+msgid ""
+"Make sure that **Public Bot** is ticked if you want others to invite your"
+" bot."
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../discord.rst:36
+msgid "Click to reveal the token."
+msgstr ""
+
+#: ../../discord.rst:38
+msgid "**This is not the Client Secret**"
+msgstr ""
+
+#: ../../discord.rst:39
+msgid "Look at the image above to see where the **Token** is."
+msgstr ""
+
+#: ../../discord.rst:43
+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 ""
+
+#: ../../discord.rst:48
+msgid "The possibilities are endless, so **do not share this token.**"
+msgstr ""
+
+#: ../../discord.rst:50
+msgid ""
+"And that's it. You now have a bot account and you can login with that "
+"token."
+msgstr ""
+
+#: ../../discord.rst:55
+msgid "Inviting Your Bot"
+msgstr ""
+
+#: ../../discord.rst:57
+msgid "So you've made a Bot User but it's not actually in any server."
+msgstr ""
+
+#: ../../discord.rst:59
+msgid "If you want to invite your bot you must create an invite URL for your bot."
+msgstr ""
+
+#: ../../discord.rst:61
+msgid ""
+"First, you must fetch the Client ID of the Bot. You can find this in the "
+"Bot's application page."
+msgstr ""
+
+#: ../../discord.rst:66
+msgid "Copy paste that into the pre-formatted URL:"
+msgstr ""
+
+#: ../../discord.rst:72
+msgid ""
+"Replace ``YOUR_CLIENT_ID`` with the Client ID we got in the previous "
+"step. For example, in the image above our client ID is 312777964700041216"
+" so the resulting URL would be "
+"https://discordapp.com/oauth2/authorize?client_id=312777964700041216&scope=bot&permissions=0"
+" (note that this bot has been deleted)."
+msgstr ""
+
+#: ../../discord.rst:77
+msgid ""
+"Now you can click the link and invite your bot to any server you have "
+"\"Manage Server\" permissions on."
+msgstr ""
+
+#: ../../discord.rst:80
+msgid "Adding Permissions"
+msgstr ""
+
+#: ../../discord.rst:82
+msgid ""
+"In the above URL, you might have noticed an interesting bit, the "
+"``permissions=0`` fragment."
+msgstr ""
+
+#: ../../discord.rst:84
+msgid ""
+"Bot accounts can request specific permissions to be granted upon joining."
+" When the bot joins the guild, they will be granted a managed role that "
+"contains the permissions you requested. If the permissions is 0, then no "
+"special role is created."
+msgstr ""
+
+#: ../../discord.rst:88
+msgid ""
+"This ``permissions`` value is calculated based on bit-wise arithmetic. "
+"Thankfully, people have created a calculator that makes it easy to "
+"calculate the permissions necessary visually."
+msgstr ""
+
+#: ../../discord.rst:91
+msgid "https://discordapi.com/permissions.html"
+msgstr ""
+
+#: ../../discord.rst:92
+msgid "https://finitereality.github.io/permissions/"
+msgstr ""
+
+#: ../../discord.rst:94
+msgid "Feel free to use whichever is easier for you to grasp."
+msgstr ""
+
+#: ../../discord.rst:96
+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 ""
+
diff --git a/docs/locale/ja/LC_MESSAGES/ext/commands/api.po b/docs/locale/ja/LC_MESSAGES/ext/commands/api.po
new file mode 100644
index 00000000..0702afb8
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/ext/commands/api.po
@@ -0,0 +1,3100 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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 ""
+
+#: ../../ext/commands/api.rst:6
+msgid ""
+"The following section outlines the API of discord.py's command extension "
+"module."
+msgstr ""
+
+#: ../../ext/commands/api.rst:11
+msgid "Bot"
+msgstr ""
+
+#: discord.ext.commands.Bot:1 of
+msgid "Represents a discord bot."
+msgstr ""
+
+#: 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 ""
+
+#: discord.ext.commands.Bot:10 of
+msgid ""
+"This class also subclasses :class:`.GroupMixin` to provide the "
+"functionality to manage commands."
+msgstr ""
+
+#: discord.ext.commands.Bot:15 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 ""
+
+#: discord.ext.commands.Bot:23 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 ""
+
+#: discord.ext.commands.Bot:28 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 ""
+
+#: discord.ext.commands.Bot:36 of
+msgid ""
+"When passing multiple prefixes be careful to not pass a prefix that "
+"matches a longer prefix occuring 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:46 of
+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 ""
+
+#: discord.ext.commands.Bot:52 of
+msgid ":class:`str` -- The content prefixed into the default help message."
+msgstr ""
+
+#: discord.ext.commands.Bot:56 of
+msgid ""
+":class:`bool` -- 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 ""
+
+#: discord.ext.commands.Bot:62 of
+msgid ""
+":class:`.HelpFormatter` -- The formatter used to format the help message."
+" By default, it uses the :class:`.HelpFormatter`. Check it for more info "
+"on how to override it. If you want to change the help command completely "
+"(add aliases, etc) then a call to :meth:`~.Bot.remove_command` with "
+"'help' as the argument would do the trick."
+msgstr ""
+
+#: discord.ext.commands.Bot:70 of
+msgid ""
+"Optional[:class:`bool`] -- A tribool that indicates if the help command "
+"should PM 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 PM'd. If"
+" ``False``, none of the help output is PM'd. If ``None``, then the bot "
+"will only PM when the help message becomes too long (dictated by more "
+"than 1000 characters). Defaults to ``False``."
+msgstr ""
+
+#: discord.ext.commands.Bot:79 of
+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. Note that ``pass_context`` will always be set to ``True`` "
+"regardless of what you pass in."
+msgstr ""
+
+#: discord.ext.commands.Bot:87 of
+msgid ""
+":class:`str` -- The format string used when the help command is invoked "
+"with a command that is not found. Useful for i18n. Defaults to ``\"No "
+"command called {} found.\"``. The only format argument is the name of the"
+" command passed."
+msgstr ""
+
+#: discord.ext.commands.Bot:93 of
+msgid ""
+":class:`str` -- The format string used when the help command is invoked "
+"with requests for a subcommand but the command does not have any "
+"subcommands. Defaults to ``\"Command {0.name} has no subcommands.\"``. "
+"The first format argument is the :class:`.Command` attempted to get a "
+"subcommand and the second is the name."
+msgstr ""
+
+#: discord.ext.commands.Bot:100 of
+msgid ""
+"Optional[:class:`int`] -- The 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 ""
+
+#: discord.ext.commands.Bot.activity:1 of
+msgid ""
+"Optional[Union[:class:`Activity`, :class:`Game`, :class:`Streaming`]] -- "
+"The activity being used upon logging in."
+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 ""
+
+#: ../../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_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.get_cog discord.ext.commands.Bot.get_cog_commands
+#: discord.ext.commands.Bot.get_command discord.ext.commands.Bot.get_context
+#: discord.ext.commands.Bot.get_invite discord.ext.commands.Bot.get_prefix
+#: discord.ext.commands.Bot.get_user_info
+#: discord.ext.commands.Bot.get_user_profile 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.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.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.Command.is_on_cooldown
+#: discord.ext.commands.Command.reset_cooldown
+#: discord.ext.commands.Context.get_message
+#: discord.ext.commands.Context.history discord.ext.commands.Context.invoke
+#: 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.Group.get_command
+#: discord.ext.commands.Group.is_on_cooldown
+#: 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.HelpFormatter.format_help_for
+#: discord.ext.commands.InviteConverter.convert
+#: discord.ext.commands.MemberConverter.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 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 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
+msgid ""
+"If the function should only be called once per :meth:`.Command.invoke` "
+"call."
+msgstr ""
+
+#: discord.ext.commands.Bot.add_cog:1 of
+msgid "Adds a \"cog\" to the bot."
+msgstr ""
+
+#: 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 ""
+"They are meant as a way to organize multiple relevant commands into a "
+"singular class that shares some state or no state at all."
+msgstr ""
+
+#: discord.ext.commands.Bot.add_cog:8 of
+msgid ""
+"The cog can also have a ``__global_check`` member function that allows "
+"you to define a global check. See :meth:`.check` for more info. If the "
+"name is ``__global_check_once`` then it's equivalent to the "
+":meth:`.check_once` decorator."
+msgstr ""
+
+#: discord.ext.commands.Bot.add_cog:13 of
+msgid "More information will be documented soon."
+msgstr ""
+
+#: discord.ext.commands.Bot.add_cog:15 of
+msgid "The cog to register to the bot."
+msgstr ""
+
+#: discord.ext.commands.Bot.add_command:1
+#: discord.ext.commands.Group.add_command:1
+#: discord.ext.commands.GroupMixin.add_command:1 of
+msgid ""
+"Adds a :class:`.Command` or its superclasses into the internal list of "
+"commands."
+msgstr ""
+
+#: discord.ext.commands.Bot.add_command:4
+#: discord.ext.commands.Group.add_command:4
+#: discord.ext.commands.GroupMixin.add_command:4 of
+msgid ""
+"This is usually not called, instead the :meth:`~.GroupMixin.command` or "
+":meth:`~.GroupMixin.group` shortcut decorators are used instead."
+msgstr ""
+
+#: discord.ext.commands.Bot.add_command:7
+#: discord.ext.commands.Group.add_command:7
+#: discord.ext.commands.GroupMixin.add_command:7 of
+msgid "The command to add."
+msgstr ""
+
+#: 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.get_invite discord.ext.commands.Bot.get_user_info
+#: discord.ext.commands.Bot.get_user_profile
+#: discord.ext.commands.Bot.get_webhook_info discord.ext.commands.Bot.listen
+#: discord.ext.commands.Bot.load_extension discord.ext.commands.Bot.login
+#: discord.ext.commands.Bot.request_offline_members
+#: discord.ext.commands.Bot.wait_for 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.get_message
+#: discord.ext.commands.Context.history discord.ext.commands.Context.pins
+#: discord.ext.commands.Context.send 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.Paginator.add_line discord.ext.commands.command of
+msgid "raises"
+msgstr ""
+
+#: discord.ext.commands.Bot.add_command:9
+#: discord.ext.commands.Group.add_command:9
+#: discord.ext.commands.GroupMixin.add_command:9 of
+msgid ":exc:`.ClientException` -- If the command is already registered."
+msgstr ""
+
+#: discord.ext.commands.Bot.add_command:10
+#: discord.ext.commands.Group.add_command:10
+#: discord.ext.commands.GroupMixin.add_command:10 of
+msgid ""
+":exc:`TypeError` -- If the command passed is not a subclass of "
+":class:`.Command`."
+msgstr ""
+
+#: discord.ext.commands.Bot.add_listener:1 of
+msgid "The non decorator alternative to :meth:`.listen`."
+msgstr ""
+
+#: discord.ext.commands.Bot.add_listener:3 of
+msgid "The extra event to listen to."
+msgstr ""
+
+#: discord.ext.commands.Bot.add_listener:5 of
+msgid "The name of the command to use. Defaults to ``func.__name__``."
+msgstr ""
+
+#: discord.ext.commands.Bot.add_listener:9 discord.ext.commands.Bot.check:16
+#: discord.ext.commands.Bot.check_once:20 discord.ext.commands.Bot.event:8
+#: discord.ext.commands.Bot.listen:8 discord.ext.commands.has_any_role:10
+#: discord.ext.commands.has_permissions:13
+#: 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 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:19
+#: discord.ext.commands.Bot.before_invoke:18
+#: discord.ext.commands.Command.after_invoke:13
+#: discord.ext.commands.Command.before_invoke:13
+#: discord.ext.commands.Group.after_invoke:13
+#: discord.ext.commands.Group.before_invoke:13 of
+msgid ":exc:`.ClientException` -- The coroutine is not actually a coroutine."
+msgstr ""
+
+#: discord.ext.commands.Bot.application_info: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.get_context:1 discord.ext.commands.Bot.get_invite:1
+#: discord.ext.commands.Bot.get_prefix:1
+#: discord.ext.commands.Bot.get_user_info:1
+#: discord.ext.commands.Bot.get_user_profile:1
+#: discord.ext.commands.Bot.get_webhook_info:1
+#: discord.ext.commands.Bot.invoke: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.can_run:1
+#: discord.ext.commands.Context.get_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.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.InviteConverter.convert:1
+#: discord.ext.commands.MemberConverter.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 ""
+
+#: discord.ext.commands.Bot.application_info:3 of
+msgid "Retrieve's the bot's application information."
+msgstr ""
+
+#: discord.ext.commands.Bot.application_info
+#: discord.ext.commands.Bot.create_guild
+#: discord.ext.commands.Bot.get_cog_commands
+#: discord.ext.commands.Bot.get_command discord.ext.commands.Bot.get_context
+#: discord.ext.commands.Bot.get_invite discord.ext.commands.Bot.get_prefix
+#: discord.ext.commands.Bot.get_user_info
+#: discord.ext.commands.Bot.get_user_profile
+#: discord.ext.commands.Bot.get_webhook_info
+#: discord.ext.commands.Bot.remove_command discord.ext.commands.Bot.wait_for
+#: discord.ext.commands.Command.can_run
+#: discord.ext.commands.Command.is_on_cooldown
+#: discord.ext.commands.Context.get_message discord.ext.commands.Context.send
+#: discord.ext.commands.Group.can_run discord.ext.commands.Group.get_command
+#: discord.ext.commands.Group.is_on_cooldown
+#: discord.ext.commands.Group.remove_command
+#: discord.ext.commands.GroupMixin.get_command
+#: discord.ext.commands.GroupMixin.remove_command
+#: discord.ext.commands.HelpFormatter.filter_command_list
+#: discord.ext.commands.HelpFormatter.format
+#: discord.ext.commands.HelpFormatter.format_help_for of
+msgid "Returns"
+msgstr ""
+
+#: discord.ext.commands.Bot.application_info:5 of
+msgid "A namedtuple representing the application info."
+msgstr ""
+
+#: discord.ext.commands.Bot.application_info
+#: discord.ext.commands.Bot.create_guild
+#: discord.ext.commands.Bot.get_cog_commands
+#: discord.ext.commands.Bot.get_command discord.ext.commands.Bot.get_context
+#: discord.ext.commands.Bot.get_invite discord.ext.commands.Bot.get_prefix
+#: discord.ext.commands.Bot.get_user_info
+#: discord.ext.commands.Bot.get_user_profile
+#: discord.ext.commands.Bot.get_webhook_info
+#: discord.ext.commands.Bot.remove_command discord.ext.commands.Bot.wait_for
+#: discord.ext.commands.Command.can_run
+#: discord.ext.commands.Command.is_on_cooldown
+#: discord.ext.commands.Context.get_message discord.ext.commands.Context.send
+#: discord.ext.commands.Group.can_run discord.ext.commands.Group.get_command
+#: discord.ext.commands.Group.is_on_cooldown
+#: discord.ext.commands.Group.remove_command
+#: discord.ext.commands.GroupMixin.get_command
+#: discord.ext.commands.GroupMixin.remove_command
+#: discord.ext.commands.HelpFormatter.filter_command_list
+#: discord.ext.commands.HelpFormatter.format
+#: discord.ext.commands.HelpFormatter.format_help_for of
+msgid "Return type"
+msgstr ""
+
+#: discord.ext.commands.Bot.application_info:6 of
+msgid ":class:`AppInfo`"
+msgstr ""
+
+#: discord.ext.commands.Bot.application_info:8 of
+msgid ":exc:`HTTPException` -- Retrieving the information failed somehow."
+msgstr ""
+
+#: discord.ext.commands.Bot.before_invoke:1
+#: discord.ext.commands.Command.before_invoke:1
+#: discord.ext.commands.Group.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.change_presence:3 of
+msgid "Changes the client's presence."
+msgstr ""
+
+#: discord.ext.commands.Bot.change_presence:5 of
+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 ""
+
+#: discord.ext.commands.Bot.change_presence:9 of
+msgid "Example: ::"
+msgstr ""
+
+#: discord.ext.commands.Bot.change_presence:14 of
+msgid "The activity being done. ``None`` if no currently active activity is done."
+msgstr ""
+
+#: discord.ext.commands.Bot.change_presence:16 of
+msgid ""
+"Indicates what status to change to. If None, then :attr:`Status.online` "
+"is used."
+msgstr ""
+
+#: discord.ext.commands.Bot.change_presence:19 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.ext.commands.Bot.change_presence:24 of
+msgid ""
+":exc:`InvalidArgument` -- If the ``activity`` parameter is not the proper"
+" type."
+msgstr ""
+
+#: discord.ext.commands.Bot.check:1 of
+msgid "A decorator that adds a global check to the bot."
+msgstr ""
+
+#: 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 ""
+
+#: discord.ext.commands.Bot.check:9 discord.ext.commands.Bot.check_once:13 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:15 of
+msgid ""
+"Similar to a command :func:`.check`\\, this takes a single parameter of "
+"type :class:`.Context` and can only raise exceptions derived from "
+":exc:`.CommandError`."
+msgstr ""
+
+#: discord.ext.commands.Bot.check_once:1 of
+msgid "A decorator that adds a \"call once\" global check to the bot."
+msgstr ""
+
+#: discord.ext.commands.Bot.check_once:3 of
+msgid ""
+"Unlike regular global checks, this one is called only once per "
+":meth:`.Command.invoke` call."
+msgstr ""
+
+#: 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 ""
+
+#: discord.ext.commands.Bot.clear:1 of
+msgid "Clears the internal state of the bot."
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: discord.ext.commands.Bot.commands:1 discord.ext.commands.Group.commands:1
+#: discord.ext.commands.GroupMixin.commands:1 of
+msgid ""
+"Set[:class:`.Command`] -- A unique set of commands without aliases that "
+"are registered."
+msgstr ""
+
+#: 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 ""
+
+#: 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.ext.commands.Bot.connect:14 of
+msgid ""
+":exc:`GatewayNotFound` -- If the gateway to connect to discord is not "
+"found. Usually if this is thrown then there is a discord API outage."
+msgstr ""
+
+#: discord.ext.commands.Bot.connect:16 of
+msgid ":exc:`ConnectionClosed` -- The websocket connection has been terminated."
+msgstr ""
+
+#: discord.ext.commands.Bot.create_guild:3 of
+msgid "Creates a :class:`Guild`."
+msgstr ""
+
+#: discord.ext.commands.Bot.create_guild:5 of
+msgid "Bot accounts in more than 10 guilds are not allowed to create guilds."
+msgstr ""
+
+#: 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 ""
+
+#: discord.ext.commands.Bot.create_guild:12 of
+msgid ""
+"The *bytes-like* object representing the icon. See "
+":meth:`~ClientUser.edit` for more details on what is expected."
+msgstr ""
+
+#: discord.ext.commands.Bot.create_guild:16 of
+msgid ":exc:`HTTPException` -- Guild creation failed."
+msgstr ""
+
+#: discord.ext.commands.Bot.create_guild:17 of
+msgid ""
+":exc:`InvalidArgument` -- Invalid icon image format given. Must be PNG or"
+" JPG."
+msgstr ""
+
+#: discord.ext.commands.Bot.create_guild:19 of
+msgid "The guild created. This is not the same guild that is added to cache."
+msgstr ""
+
+#: discord.ext.commands.Bot.create_guild:21 of
+msgid ":class:`Guild`"
+msgstr ""
+
+#: discord.ext.commands.Bot.delete_invite:3 of
+msgid "Revokes an :class:`Invite`, URL, or ID to an invite."
+msgstr ""
+
+#: 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 ""
+
+#: discord.ext.commands.Bot.delete_invite:8 of
+msgid "The invite to revoke."
+msgstr ""
+
+#: discord.ext.commands.Bot.delete_invite:10 of
+msgid ":exc:`Forbidden` -- You do not have permissions to revoke invites."
+msgstr ""
+
+#: discord.ext.commands.Bot.delete_invite:11 of
+msgid ":exc:`NotFound` -- The invite is invalid or expired."
+msgstr ""
+
+#: discord.ext.commands.Bot.delete_invite:12 of
+msgid ":exc:`HTTPException` -- Revoking the invite failed."
+msgstr ""
+
+#: discord.ext.commands.Bot.emojis:1 of
+msgid "List[:class:`Emoji`] -- The emojis that the connected client has."
+msgstr ""
+
+#: 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 "
+"<discord-api-events>`."
+msgstr ""
+
+#: discord.ext.commands.Bot.event:5 of
+msgid "The events must be a |corourl|_, if not, :exc:`ClientException` is raised."
+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_members:1 of
+msgid "Returns a generator with every :class:`Member` the client can see."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_channel:1 of
+msgid ""
+"Returns a :class:`abc.GuildChannel` or :class:`abc.PrivateChannel` with "
+"the following ID."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_channel:3 of
+msgid "If not found, returns None."
+msgstr ""
+
+#: 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."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_cog_commands:1 of
+msgid "Gets a unique set of the cog's registered commands without aliases."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_cog_commands:4 of
+msgid "If the cog is not found, an empty set is returned."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_cog_commands:6 of
+msgid "The name of the cog whose commands you are requesting."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_cog_commands:9 of
+msgid "A unique set of commands without aliases that belong to the cog."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_cog_commands:11 of
+msgid "Set[:class:`.Command`]"
+msgstr ""
+
+#: discord.ext.commands.Bot.get_command:1
+#: discord.ext.commands.Group.get_command:1
+#: discord.ext.commands.GroupMixin.get_command:1 of
+msgid "Get a :class:`.Command` or subclasses from the internal list of commands."
+msgstr ""
+
+#: 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_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 a :class:`Emoji` with the given ID. If not found, returns None."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_guild:1 of
+msgid "Returns a :class:`Guild` with the given ID. If not found, returns None."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_invite:3 of
+msgid "Gets an :class:`Invite` from a discord.gg URL or ID."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_invite:7 of
+msgid ""
+"If the invite is for a guild you have not joined, the guild and channel "
+"attributes of the returned invite will be :class:`Object` with the names "
+"patched in."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_invite:11 of
+msgid "The discord invite ID or URL (must be a discord.gg URL)."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_invite:14 of
+msgid ":exc:`NotFound` -- The invite has expired or is invalid."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_invite:15 of
+msgid ":exc:`HTTPException` -- Getting the invite failed."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_invite:17 of
+msgid "The invite from the URL/ID."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_invite:18 of
+msgid ":class:`Invite`"
+msgstr ""
+
+#: 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_user:1 of
+msgid "Returns a :class:`User` with the given ID. If not found, returns None."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_user_info:3 of
+msgid ""
+"Retrieves a :class:`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.get_user_info:8 of
+msgid "The user's ID to fetch from."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_user_info:11 of
+msgid "The user you requested."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_user_info:12 of
+msgid ":class:`User`"
+msgstr ""
+
+#: discord.ext.commands.Bot.get_user_info:14 of
+msgid ":exc:`NotFound` -- A user with this ID does not exist."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_user_info:15 of
+msgid ":exc:`HTTPException` -- Fetching the user failed."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_user_profile:3 of
+msgid ""
+"Gets an arbitrary user's profile. This can only be used by non-bot "
+"accounts."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_user_profile:5 of
+msgid "The ID of the user to fetch their profile for."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_user_profile:8 of
+msgid ":exc:`Forbidden` -- Not allowed to fetch profiles."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_user_profile:9 of
+msgid ":exc:`HTTPException` -- Fetching the profile failed."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_user_profile:11 of
+msgid "The profile of the user."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_user_profile:12 of
+msgid ":class:`Profile`"
+msgstr ""
+
+#: discord.ext.commands.Bot.get_webhook_info:3 of
+msgid "Retrieves a :class:`Webhook` with the specified ID."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_webhook_info:5 of
+msgid ":exc:`HTTPException` -- Retrieving the webhook failed."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_webhook_info:6 of
+msgid ":exc:`NotFound` -- Invalid webhook ID."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_webhook_info:7 of
+msgid ":exc:`Forbidden` -- You do not have permission to fetch this webhook."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_webhook_info:9 of
+msgid "The webhook you requested."
+msgstr ""
+
+#: discord.ext.commands.Bot.get_webhook_info:10 of
+msgid ":class:`Webhook`"
+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.guilds:1 of
+msgid ""
+"List[:class:`Guild`] -- The guilds that the connected client is a member "
+"of."
+msgstr ""
+
+#: 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 ":obj:`bool`: Indicates if the websocket connection is closed."
+msgstr ""
+
+#: discord.ext.commands.Bot.is_owner:1 of
+msgid "Checks if a :class:`.User` or :class:`.Member` is the owner of this bot."
+msgstr ""
+
+#: discord.ext.commands.Bot.is_owner:4 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:7 of
+msgid "The user to check for."
+msgstr ""
+
+#: discord.ext.commands.Bot.is_ready:1 of
+msgid ":obj:`bool`: Specifies if the client's internal cache is ready for use."
+msgstr ""
+
+#: discord.ext.commands.Bot.latency:1 of
+msgid ""
+":obj:`float` -- 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.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 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
+msgid ""
+":exc:`.ClientException` -- The function being listened to is not a "
+"coroutine."
+msgstr ""
+
+#: 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 of
+msgid ":exc:`ClientException` -- The extension does not have a setup function."
+msgstr ""
+
+#: discord.ext.commands.Bot.load_extension:16 of
+msgid ":exc:`ImportError` -- The extension could not be imported."
+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 "
+"<https://support.discordapp.com/hc/en-us/articles/115002192352>`_ 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 ":exc:`LoginFailure` -- The wrong credentials are passed."
+msgstr ""
+
+#: discord.ext.commands.Bot.login:22 of
+msgid ""
+":exc:`HTTPException` -- 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.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 ``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 ``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 ""
+"List[:class:`abc.PrivateChannel`] -- 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.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 "The message to process commands for."
+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_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 ""
+"If the cog defines a special member function named ``__unload`` then it "
+"is called when removal has completed. This function **cannot** be a "
+"coroutine. It must be a regular function."
+msgstr ""
+
+#: discord.ext.commands.Bot.remove_cog:12 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
+msgid ""
+"Remove a :class:`.Command` or subclasses from the internal list of "
+"commands."
+msgstr ""
+
+#: 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 ":class:`.Command` or subclass"
+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 ""
+
+#: 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:13 of
+msgid "An argument list of guilds to request offline members for."
+msgstr ""
+
+#: discord.ext.commands.Bot.request_offline_members:15 of
+msgid ""
+":exc:`InvalidArgument` -- If any guild is unavailable or not large 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.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 "
+":func:`~.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 ""
+"Optional[:class:`ClientUser`] -- Represents the connected client. None if"
+" not logged in."
+msgstr ""
+
+#: discord.ext.commands.Bot.users:1 of
+msgid "Returns a :obj:`list` of all the :class:`User` the bot can see."
+msgstr ""
+
+#: discord.ext.commands.Bot.voice_clients:1 of
+msgid "List[:class:`VoiceClient`] -- Represents a list of voice connections."
+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 :obj:`tuple` containing "
+"those arguments is returned instead. Please check the :ref:`documentation"
+" <discord-api-events>` 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:22 discord.ext.commands.Context.history:34
+#: discord.ext.commands.check:21 of
+msgid "Examples"
+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 <discord-api-"
+"events>`, 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 ""
+":exc:`asyncio.TimeoutError` -- 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 :obj:`tuple` of multiple "
+"arguments that mirrors the parameters passed in the :ref:`event reference"
+" <discord-api-events>`."
+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.AutoShardedBot:1 of
+msgid ""
+"This is similar to :class:`.Bot` except that it is derived 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 <discord-api-"
+"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
+msgid "The invocation context."
+msgstr ""
+
+#: ../../ext/commands/api.rst:42
+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 ""
+
+#: 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 ""
+":exc:`TypeError` -- 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 creates a "
+":class:`.Group` instead of a :class:`.Command`."
+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
+msgid ":class:`str` -- The name of the command."
+msgstr ""
+
+#: discord.ext.commands.Command:12 of
+msgid ""
+":ref:`coroutine <coroutine>` -- The coroutine that is executed when the "
+"command is called."
+msgstr ""
+
+#: discord.ext.commands.Command:16 of
+msgid ":class:`str` -- The long help text for the command."
+msgstr ""
+
+#: discord.ext.commands.Command:20 of
+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 ""
+
+#: discord.ext.commands.Command:25 of
+msgid ":class:`str` -- A replacement for arguments in the default help text."
+msgstr ""
+
+#: discord.ext.commands.Command:29 of
+msgid ":class:`list` -- The list of aliases the command can be invoked under."
+msgstr ""
+
+#: discord.ext.commands.Command:33 of
+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 ""
+
+#: discord.ext.commands.Command:40 of
+msgid ""
+"*Optional[command]* -- The parent command that this command belongs to. "
+"``None`` is there isn't one."
+msgstr ""
+
+#: discord.ext.commands.Command:45 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 derived 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:54 of
+msgid ":class:`str` -- The message prefixed into the default help command."
+msgstr ""
+
+#: discord.ext.commands.Command:58 of
+msgid ""
+":class:`bool` -- If ``True``\\, the default help command does not show "
+"this in the help output."
+msgstr ""
+
+#: discord.ext.commands.Command:63 of
+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 ""
+
+#: discord.ext.commands.Command:72 of
+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 ""
+
+#: discord.ext.commands.Command.clean_params:1
+#: discord.ext.commands.Group.clean_params:1 of
+msgid ""
+"Retrieves the parameter OrderedDict without the context or self "
+"parameters."
+msgstr ""
+
+#: discord.ext.commands.Command.clean_params:3
+#: discord.ext.commands.Group.clean_params:3 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.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.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.error:10 discord.ext.commands.Group.error:10 of
+msgid ""
+":exc:`discord.ClientException` -- The coroutine is not actually a "
+"coroutine."
+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. None otherwise."
+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."
+msgstr ""
+
+#: discord.ext.commands.Command.can_run:6 discord.ext.commands.Group.can_run:6
+#: of
+msgid "The ctx of the command currently being invoked."
+msgstr ""
+
+#: discord.ext.commands.Command.can_run:9 discord.ext.commands.Group.can_run:9
+#: of
+msgid ""
+":class:`CommandError` -- Any command error that was raised during a check"
+" call will be propagated by this function."
+msgstr ""
+
+#: discord.ext.commands.Command.can_run:12
+#: discord.ext.commands.Group.can_run:12 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 ""
+":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 ""
+
+#: discord.ext.commands.Group:20 of
+msgid ""
+":class:`bool` -- Indicates if the group's commands should be case "
+"insensitive. Defaults to ``False``."
+msgstr ""
+
+#: 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 ""
+":class:`dict` -- A mapping of command name to :class:`.Command` or "
+"superclass objects."
+msgstr ""
+
+#: discord.ext.commands.GroupMixin:11 of
+msgid ""
+":class:`bool` -- Whether the commands should be case insensitive. "
+"Defaults to ``False``."
+msgstr ""
+
+#: ../../ext/commands/api.rst:87
+msgid "Formatters"
+msgstr ""
+
+#: discord.ext.commands.Paginator:1 of
+msgid "A class that aids in paginating code blocks for Discord messages."
+msgstr ""
+
+#: discord.ext.commands.Paginator:5 of
+msgid ":class:`str` -- The prefix inserted to every page. e.g. three backticks."
+msgstr ""
+
+#: discord.ext.commands.Paginator:9 of
+msgid ""
+":class:`str` -- The suffix appended at the end of every page. e.g. three "
+"backticks."
+msgstr ""
+
+#: discord.ext.commands.Paginator:13 of
+msgid ":class:`int` -- The maximum amount of codepoints allowed in a page."
+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 ""
+":exc:`RuntimeError` -- 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.HelpFormatter:1 of
+msgid ""
+"The default base implementation that handles formatting of the help "
+"command."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter:4 of
+msgid ""
+"To override the behaviour of the formatter, "
+":meth:`~.HelpFormatter.format` should be overridden. A number of utility "
+"functions are provided for use inside that method."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter:10 of
+msgid ""
+":class:`bool` -- Dictates if hidden commands should be shown in the "
+"output. Defaults to ``False``."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter:15 of
+msgid ""
+":class:`bool` -- Dictates if commands that have their "
+":attr:`.Command.checks` failed shown. Defaults to ``False``."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter:20 of
+msgid ""
+":class:`int` -- The maximum number of characters that fit in a line. "
+"Defaults to 80."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.has_subcommands:1 of
+msgid ":class:`bool`: Specifies if the command has subcommands."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.is_bot:1 of
+msgid ":class:`bool`: Specifies if the command being formatted is the bot itself."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.is_cog:1 of
+msgid ":class:`bool`: Specifies if the command being formatted is actually a cog."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.shorten:1 of
+msgid "Shortens text to fit into the :attr:`width`."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.max_name_size:1 of
+msgid ""
+":class:`int` -- Returns the largest name length of a command or if it has"
+" subcommands the largest subcommand name."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.clean_prefix:1 of
+msgid ""
+"The cleaned up invoke prefix. i.e. mentions are ``@name`` instead of "
+"``<@id>``."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.get_command_signature:1 of
+msgid "Retrieves the signature portion of the help page."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.filter_command_list:1 of
+msgid ""
+"Returns a filtered list of commands based on the two attributes provided,"
+" :attr:`show_check_failure` and :attr:`show_hidden`. Also filters based "
+"on if :meth:`~.HelpFormatter.is_cog` is valid."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.filter_command_list:5 of
+msgid ""
+"An iterable with the filter being applied. The resulting value is a (key,"
+" value) :class:`tuple` of the command name and the command itself."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.format:1 of
+msgid "Handles the actual behaviour involved with formatting."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.format:3 of
+msgid "To change the behaviour, this method should be overridden."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.format:5
+#: discord.ext.commands.HelpFormatter.format_help_for:10 of
+msgid "A paginated output of the help command."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.format_help_for:1 of
+msgid ""
+"Formats the help page and handles the actual heavy lifting of how the "
+"help command looks like. To change the behaviour, override the "
+":meth:`~.HelpFormatter.format` method."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.format_help_for:5 of
+msgid "The context of the invoked help command."
+msgstr ""
+
+#: discord.ext.commands.HelpFormatter.format_help_for:7 of
+msgid "The bot or command that we are getting the help of."
+msgstr ""
+
+#: ../../ext/commands/api.rst:98
+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:16 of
+msgid "These functions can either be regular functions or coroutines."
+msgstr ""
+
+#: discord.ext.commands.check:18 of
+msgid "The predicate to check if the command should be invoked."
+msgstr ""
+
+#: discord.ext.commands.check:22 of
+msgid "Creating a basic check to see if the command invoker is you."
+msgstr ""
+
+#: discord.ext.commands.check:34 of
+msgid "Transforming common checks into its own decorator:"
+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 specified."
+msgstr ""
+
+#: discord.ext.commands.has_role:4 of
+msgid ""
+"The name is case sensitive and must be exact. No normalisation is done in"
+" the input."
+msgstr ""
+
+#: discord.ext.commands.has_role:7 of
+msgid ""
+"If the message is invoked in a private message context then the check "
+"will return ``False``."
+msgstr ""
+
+#: discord.ext.commands.has_role:10 of
+msgid "The name 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 any of the "
+"permissions necessary."
+msgstr ""
+
+#: discord.ext.commands.has_permissions:4 of
+msgid ""
+"The permissions passed in must be exactly like the properties shown under"
+" :class:`.discord.Permissions`."
+msgstr ""
+
+#: discord.ext.commands.has_permissions:7 of
+msgid ""
+"This check raises a special exception, :exc:`.MissingPermissions` that is"
+" derived from :exc:`.CheckFailure`."
+msgstr ""
+
+#: discord.ext.commands.has_permissions:10 of
+msgid "An argument list of permissions to check for."
+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 passed in must be exact."
+msgstr ""
+
+#: discord.ext.commands.has_any_role:7 of
+msgid "An argument list of names 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_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 derived from :exc:`.CheckFailure`."
+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.cooldown:1 of
+msgid "A decorator that adds a cooldown to a :class:`.Command` or its subclasses."
+msgstr ""
+
+#: discord.ext.commands.cooldown:4 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, or global basis. Denoted by the third "
+"argument of ``type`` which must be of enum type ``BucketType`` which "
+"could be either:"
+msgstr ""
+
+#: discord.ext.commands.cooldown:10 of
+msgid "``BucketType.default`` for a global basis."
+msgstr ""
+
+#: discord.ext.commands.cooldown:11 of
+msgid "``BucketType.user`` for a per-user basis."
+msgstr ""
+
+#: discord.ext.commands.cooldown:12 of
+msgid "``BucketType.guild`` for a per-guild basis."
+msgstr ""
+
+#: discord.ext.commands.cooldown:13 of
+msgid "``BucketType.channel`` for a per-channel basis."
+msgstr ""
+
+#: discord.ext.commands.cooldown:15 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:18 of
+msgid "A command can only have a single cooldown."
+msgstr ""
+
+#: discord.ext.commands.cooldown:20 of
+msgid "The number of times a command can be used before triggering a cooldown."
+msgstr ""
+
+#: discord.ext.commands.cooldown:22 of
+msgid "The amount of seconds to wait for a cooldown when it's been triggered."
+msgstr ""
+
+#: discord.ext.commands.cooldown:24 of
+msgid "The type of cooldown to have."
+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 "
+"derived 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 ""
+
+#: ../../ext/commands/api.rst:125
+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:`abc.Messageable` ABC."
+msgstr ""
+
+#: discord.ext.commands.Context:11 of
+msgid ""
+":class:`discord.Message` -- The message that triggered the command being "
+"executed."
+msgstr ""
+
+#: discord.ext.commands.Context:15 of
+msgid ":class:`.Bot` -- The bot that contains the command being executed."
+msgstr ""
+
+#: discord.ext.commands.Context:19 of
+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 ""
+
+#: discord.ext.commands.Context:25 of
+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 ""
+
+#: discord.ext.commands.Context:31 of
+msgid ":class:`str` -- The prefix that was used to invoke the command."
+msgstr ""
+
+#: discord.ext.commands.Context:35 of
+msgid ""
+"The command (i.e. :class:`.Command` or its superclasses) that is being "
+"invoked currently."
+msgstr ""
+
+#: discord.ext.commands.Context:40 of
+msgid ""
+":class:`str` -- The command name that triggered this invocation. Useful "
+"for finding out which alias called the command."
+msgstr ""
+
+#: discord.ext.commands.Context:45 of
+msgid ""
+"The subcommand (i.e. :class:`.Command` or its superclasses) that was "
+"invoked. If no valid subcommand was invoked then this is equal to `None`."
+msgstr ""
+
+#: discord.ext.commands.Context:51 of
+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 ""
+
+#: discord.ext.commands.Context:58 of
+msgid ""
+":class:`bool` -- A boolean that indicates if the command failed to be "
+"parsed, checked, or invoked."
+msgstr ""
+
+#: discord.ext.commands.Context.history:1 of
+msgid ""
+"Return an :class:`AsyncIterator` that enables receiving the destination's"
+" message history."
+msgstr ""
+
+#: discord.ext.commands.Context.history:3 of
+msgid ""
+"You must have :attr:`~.Permissions.read_message_history` permissions to "
+"use this."
+msgstr ""
+
+#: discord.ext.commands.Context.history:5 of
+msgid "All parameters are optional."
+msgstr ""
+
+#: discord.ext.commands.Context.history:7 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:11 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:14 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:17 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:22 of
+msgid ""
+"If set to true, return messages in oldest->newest order. If unspecified, "
+"this defaults to ``False`` for most cases. However if passing in a "
+"``after`` parameter then this is set to ``True``. This avoids getting "
+"messages out of order in the ``after`` case."
+msgstr ""
+
+#: discord.ext.commands.Context.history:28 of
+msgid ""
+":exc:`Forbidden` -- You do not have permissions to get channel message "
+"history."
+msgstr ""
+
+#: discord.ext.commands.Context.history:29 of
+msgid ":exc:`HTTPException` -- The request to get message history failed."
+msgstr ""
+
+#: discord.ext.commands.Context.history of
+msgid "Yields"
+msgstr ""
+
+#: discord.ext.commands.Context.history:31 of
+msgid ":class:`Message` -- The message with the message data parsed."
+msgstr ""
+
+#: discord.ext.commands.Context.history:35 of
+msgid "Usage ::"
+msgstr ""
+
+#: discord.ext.commands.Context.history:42 of
+msgid "Flattening into a list: ::"
+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.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.get_message:3 of
+msgid "Retrieves a single :class:`Message` from the destination."
+msgstr ""
+
+#: discord.ext.commands.Context.get_message:5 of
+msgid "This can only be used by bot accounts."
+msgstr ""
+
+#: discord.ext.commands.Context.get_message:7 of
+msgid "The message ID to look for."
+msgstr ""
+
+#: discord.ext.commands.Context.get_message:10 of
+msgid "The message asked for."
+msgstr ""
+
+#: discord.ext.commands.Context.get_message:11
+#: discord.ext.commands.Context.send:40 of
+msgid ":class:`Message`"
+msgstr ""
+
+#: discord.ext.commands.Context.get_message:13 of
+msgid ":exc:`NotFound` -- The specified message was not found."
+msgstr ""
+
+#: discord.ext.commands.Context.get_message:14 of
+msgid ""
+":exc:`Forbidden` -- You do not have the permissions required to get a "
+"message."
+msgstr ""
+
+#: discord.ext.commands.Context.get_message:15 of
+msgid ":exc:`HTTPException` -- Retrieving the message failed."
+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:8 of
+msgid "You do not pass in the context as it is done for you."
+msgstr ""
+
+#: discord.ext.commands.Context.invoke:10 of
+msgid "The first parameter passed **must** be the command being invoked."
+msgstr ""
+
+#: discord.ext.commands.Context.invoke:12 of
+msgid "A command or superclass of a command that is going to be called."
+msgstr ""
+
+#: discord.ext.commands.Context.invoke:14 of
+msgid "The arguments to to use."
+msgstr ""
+
+#: discord.ext.commands.Context.invoke:15 of
+msgid "The keyword arguments to use."
+msgstr ""
+
+#: discord.ext.commands.Context.pins:3 of
+msgid "Returns a :class:`list` of :class:`Message` that are currently pinned."
+msgstr ""
+
+#: discord.ext.commands.Context.pins:5 of
+msgid ":exc:`HTTPException` -- Retrieving the pinned messages failed."
+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.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:`File` object. To upload multiple files, the ``files`` "
+"parameter should be used with a :class:`list` of :class:`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:`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:18 of
+msgid "Indicates if the message should be sent using text-to-speech."
+msgstr ""
+
+#: discord.ext.commands.Context.send:20 of
+msgid "The rich embed for the content."
+msgstr ""
+
+#: discord.ext.commands.Context.send:22 of
+msgid "The file to upload."
+msgstr ""
+
+#: discord.ext.commands.Context.send:24 of
+msgid "A list of files to upload. Must be a maximum of 10."
+msgstr ""
+
+#: discord.ext.commands.Context.send:26 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:29 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 ":exc:`HTTPException` -- Sending the message failed."
+msgstr ""
+
+#: discord.ext.commands.Context.send:35 of
+msgid ""
+":exc:`Forbidden` -- You do not have the proper permissions to send the "
+"message."
+msgstr ""
+
+#: discord.ext.commands.Context.send:36 of
+msgid ""
+":exc:`InvalidArgument` -- The ``files`` list is not of the appropriate "
+"size or you specified both ``file`` and ``files``."
+msgstr ""
+
+#: discord.ext.commands.Context.send:39 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 ""
+
+#: 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 ""
+"Returns the channel associated with this context's command. Shorthand for"
+" :attr:`Message.channel`."
+msgstr ""
+
+#: discord.ext.commands.Context.author:1 of
+msgid ""
+"Returns the author associated with this context's command. Shorthand for "
+":attr:`Message.author`"
+msgstr ""
+
+#: discord.ext.commands.Context.me:1 of
+msgid ""
+"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 ""
+"Optional[:class:`VoiceClient`] -- A shortcut to "
+":attr:`Guild.voice_client`\\, if applicable."
+msgstr ""
+
+#: ../../ext/commands/api.rst:141
+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 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.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.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.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.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.MemberConverter:1 of
+msgid "Converts to a :class:`Member`."
+msgstr ""
+
+#: discord.ext.commands.CategoryChannelConverter:3
+#: discord.ext.commands.MemberConverter:3 discord.ext.commands.RoleConverter:4
+#: 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:7 discord.ext.commands.MemberConverter:6
+#: discord.ext.commands.RoleConverter:7
+#: 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:9 discord.ext.commands.MemberConverter:8
+#: discord.ext.commands.RoleConverter:9
+#: 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:10
+#: 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:11
+#: discord.ext.commands.MemberConverter:11
+#: discord.ext.commands.RoleConverter:11
+#: 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.UserConverter:1 of
+msgid "Converts to a :class:`User`."
+msgstr ""
+
+#: discord.ext.commands.UserConverter:3 of
+msgid "All lookups are via the global user cache."
+msgstr ""
+
+#: discord.ext.commands.TextChannelConverter:1 of
+msgid "Converts to a :class:`TextChannel`."
+msgstr ""
+
+#: discord.ext.commands.VoiceChannelConverter:1 of
+msgid "Converts to a :class:`VoiceChannel`."
+msgstr ""
+
+#: discord.ext.commands.CategoryChannelConverter:1 of
+msgid "Converts to a :class:`CategoryChannel`."
+msgstr ""
+
+#: discord.ext.commands.InviteConverter:1 of
+msgid "Converts to a :class:`Invite`."
+msgstr ""
+
+#: discord.ext.commands.InviteConverter:3 of
+msgid "This is done via an HTTP request using :meth:`.Bot.get_invite`."
+msgstr ""
+
+#: discord.ext.commands.RoleConverter:1 of
+msgid "Converts to a :class:`Role`."
+msgstr ""
+
+#: discord.ext.commands.GameConverter:1 of
+msgid "Converts to :class:`Game`."
+msgstr ""
+
+#: discord.ext.commands.ColourConverter:1 of
+msgid "Converts to a :class:`Colour`."
+msgstr ""
+
+#: discord.ext.commands.ColourConverter:3 of
+msgid "The following formats are accepted:"
+msgstr ""
+
+#: discord.ext.commands.ColourConverter:5 of
+msgid "``0x<hex>``"
+msgstr ""
+
+#: discord.ext.commands.ColourConverter:6 of
+msgid "``#<hex>``"
+msgstr ""
+
+#: discord.ext.commands.ColourConverter:7 of
+msgid "``0x#<hex>``"
+msgstr ""
+
+#: discord.ext.commands.ColourConverter:8 of
+msgid "Any of the ``classmethod`` in :class:`Colour`"
+msgstr ""
+
+#: discord.ext.commands.ColourConverter:10 of
+msgid "The ``_`` in the name can be optionally replaced with spaces."
+msgstr ""
+
+#: discord.ext.commands.EmojiConverter:1 of
+msgid "Converts to a :class:`Emoji`."
+msgstr ""
+
+#: discord.ext.commands.EmojiConverter:4 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:10 of
+msgid "Lookup by extracting ID from the emoji."
+msgstr ""
+
+#: discord.ext.commands.PartialEmojiConverter:1 of
+msgid "Converts to a :class:`PartialEmoji`."
+msgstr ""
+
+#: discord.ext.commands.PartialEmojiConverter:4 of
+msgid "This is done by extracting the animated flag, name and ID from the emoji."
+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:`.Message.clean_content`."
+msgstr ""
+
+#: discord.ext.commands.clean_content:8 of
+msgid ":obj:`bool` -- Whether to clean channel mentions."
+msgstr ""
+
+#: discord.ext.commands.clean_content:12 of
+msgid ":obj:`bool` -- Whether to use nicknames when transforming mentions."
+msgstr ""
+
+#: discord.ext.commands.clean_content:16 of
+msgid ":obj:`bool` -- Whether to also escape special markdown characters."
+msgstr ""
+
+#: ../../ext/commands/api.rst:185
+msgid "Errors"
+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 ""
+
+#: discord.ext.commands.CommandError:5 of
+msgid ""
+"This exception and exceptions derived 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 ""
+
+#: discord.ext.commands.ConversionError:5 of
+msgid ":class:`discord.ext.commands.Converter` -- The converter that failed."
+msgstr ""
+
+#: discord.ext.commands.CommandInvokeError:5
+#: discord.ext.commands.ConversionError:9 of
+msgid ""
+"The original exception that was raised. You can also get this via the "
+"``__cause__`` attribute."
+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.MissingRequiredArgument:6 of
+msgid ":class:`inspect.Parameter` -- The argument that is missing."
+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 :class:`typing.Union` converter fails for all its"
+" associated types."
+msgstr ""
+
+#: discord.ext.commands.BadUnionArgument:6 of
+msgid ":class:`inspect.Parameter` -- The parameter that failed being converted."
+msgstr ""
+
+#: discord.ext.commands.BadUnionArgument:10 of
+msgid ""
+"*Tuple[Type, ...]* -- A tuple of converters attempted in conversion, in "
+"order of failure."
+msgstr ""
+
+#: discord.ext.commands.BadUnionArgument:14 of
+msgid ""
+"List[:class:`CommandError`] -- A list of errors that were caught from "
+"failing the conversion."
+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.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.UserInputError:4 of
+msgid "This inherits from :exc:`.CommandError`."
+msgstr ""
+
+#: discord.ext.commands.CommandOnCooldown:1 of
+msgid "Exception raised when the command being invoked is on cooldown."
+msgstr ""
+
+#: discord.ext.commands.CommandOnCooldown:5 of
+msgid ""
+"*Cooldown* -- A class with attributes ``rate``, ``per``, and ``type`` "
+"similar to the :func:`.cooldown` decorator."
+msgstr ""
+
+#: discord.ext.commands.CommandOnCooldown:10 of
+msgid ""
+":class:`float` -- The amount of seconds to wait before you can retry "
+"again."
+msgstr ""
+
+#: discord.ext.commands.NotOwner:1 of
+msgid "Exception raised when the message author is not the owner of the bot."
+msgstr ""
+
+#: discord.ext.commands.MissingPermissions:1 of
+msgid ""
+"Exception raised when the command invoker lacks permissions to run "
+"command."
+msgstr ""
+
+#: discord.ext.commands.BotMissingPermissions:5
+#: discord.ext.commands.MissingPermissions:6 of
+msgid ":class:`list` -- The required permissions that are missing."
+msgstr ""
+
+#: discord.ext.commands.BotMissingPermissions:1 of
+msgid "Exception raised when the bot lacks permissions to run command."
+msgstr ""
+
diff --git a/docs/locale/ja/LC_MESSAGES/ext/commands/commands.po b/docs/locale/ja/LC_MESSAGES/ext/commands/commands.po
new file mode 100644
index 00000000..984e0ceb
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/ext/commands/commands.po
@@ -0,0 +1,665 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../ext/commands/commands.rst:34
+msgid "Essentially, these two are equivalent: ::"
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../ext/commands/commands.rst:132
+msgid ""
+"Since the ``args`` variable is a `tuple "
+"<https://docs.python.org/3/library/stdtypes.html#sequence-types-list-"
+"tuple-range>`_, 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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../ext/commands/commands.rst:174
+msgid ":attr:`.Context.message` to fetch the :class:`Message` of the command."
+msgstr ""
+
+#: ../../ext/commands/commands.rst:175
+msgid ""
+":attr:`.Context.author` to fetch the :class:`Member` or :class:`User` "
+"that called the command."
+msgstr ""
+
+#: ../../ext/commands/commands.rst:176
+msgid ""
+":meth:`.Context.send` to send a message to the channel the command was "
+"used in."
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../ext/commands/commands.rst:194
+msgid "A custom class that inherits from :class:`~ext.commands.Converter`."
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../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:227
+msgid "Advanced Converters"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:229
+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 ""
+
+#: ../../ext/commands/commands.rst:232
+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 ""
+
+#: ../../ext/commands/commands.rst:236
+msgid "An example converter:"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:251
+msgid ""
+"The converter provided can either be constructed or not. Essentially "
+"these two are equivalent:"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:265
+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 ""
+
+#: ../../ext/commands/commands.rst:281
+msgid ""
+"If a converter fails to convert an argument to its designated target "
+"type, the :exc:`.BadArgument` exception must be raised."
+msgstr ""
+
+#: ../../ext/commands/commands.rst:285
+msgid "Discord Converters"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:287
+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 ""
+
+#: ../../ext/commands/commands.rst:290
+msgid ""
+"For example, to receive a :class:`Member`, you can just pass it as a "
+"converter:"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:298
+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 ""
+
+#: ../../ext/commands/commands.rst:302
+msgid "A lot of discord models work out of the gate as a parameter:"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:304 ../../ext/commands/commands.rst:325
+msgid ":class:`Member`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:305 ../../ext/commands/commands.rst:327
+msgid ":class:`User`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:306 ../../ext/commands/commands.rst:329
+msgid ":class:`TextChannel`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:307 ../../ext/commands/commands.rst:331
+#: ../../ext/commands/commands.rst:333
+msgid ":class:`VoiceChannel`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:308
+msgid ":class:`CategoryChannel`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:309 ../../ext/commands/commands.rst:335
+msgid ":class:`Role`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:310 ../../ext/commands/commands.rst:337
+msgid ":class:`Invite`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:311 ../../ext/commands/commands.rst:339
+msgid ":class:`Game`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:312 ../../ext/commands/commands.rst:341
+msgid ":class:`Emoji`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:313 ../../ext/commands/commands.rst:343
+msgid ":class:`PartialEmoji`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:314 ../../ext/commands/commands.rst:345
+msgid ":class:`Colour`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:316
+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:319
+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 ""
+
+#: ../../ext/commands/commands.rst:323
+msgid "Discord Class"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:323
+msgid "Converter"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:325
+msgid ":class:`~ext.commands.MemberConverter`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:327
+msgid ":class:`~ext.commands.UserConverter`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:329
+msgid ":class:`~ext.commands.TextChannelConverter`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:331
+msgid ":class:`~ext.commands.VoiceChannelConverter`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:333
+msgid ":class:`~ext.commands.CategoryChannelConverter`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:335
+msgid ":class:`~ext.commands.RoleConverter`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:337
+msgid ":class:`~ext.commands.InviteConverter`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:339
+msgid ":class:`~ext.commands.GameConverter`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:341
+msgid ":class:`~ext.commands.EmojiConverter`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:343
+msgid ":class:`~ext.commands.PartialEmojiConverter`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:345
+msgid ":class:`~ext.commands.ColourConverter`"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:348
+msgid ""
+"By providing the converter it allows us to use them as building blocks "
+"for another converter:"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:363
+msgid "Inline Advanced Converters"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:365
+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 ""
+
+#: ../../ext/commands/commands.rst:368
+msgid ""
+"For example, a common idiom would be to have a class and a converter for "
+"that class:"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:394
+msgid ""
+"This can get tedious, so an inline advanced converter is possible through"
+" a ``classmethod`` inside the type:"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:423
+msgid "Error Handling"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:425
+msgid ""
+"When our commands fail to either 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 ""
+
+#: ../../ext/commands/commands.rst:428
+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:432
+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:448
+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:452
+msgid "Checks"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:454
+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 ""
+
+#: ../../ext/commands/commands.rst:458
+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:461
+msgid "Return ``True`` to signal that the person can run the command."
+msgstr ""
+
+#: ../../ext/commands/commands.rst:462
+msgid "Return ``False`` to signal that the person cannot run the command."
+msgstr ""
+
+#: ../../ext/commands/commands.rst:463
+msgid ""
+"Raise a :exc:`~ext.commands.CommandError` derived exception to signal the"
+" person cannot run the command."
+msgstr ""
+
+#: ../../ext/commands/commands.rst:465
+msgid ""
+"This allows you to have custom error messages for you to handle in the "
+":ref:`error handlers <ext_commands_error_handler>`."
+msgstr ""
+
+#: ../../ext/commands/commands.rst:468
+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:482
+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:499
+msgid ""
+"Since an owner check is so common, the library provides it for you "
+"(:func:`~ext.commands.is_owner`):"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:509
+msgid "When multiple checks are specified, **all** of them must be ``True``:"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:524
+msgid ""
+"If any of those checks fail in the example above, then the command will "
+"not be run."
+msgstr ""
+
+#: ../../ext/commands/commands.rst:526
+msgid ""
+"When an error happens, the error is propagated to the :ref:`error "
+"handlers <ext_commands_error_handler>`. 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:543
+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:568
+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:571
+msgid "Global Checks"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:573
+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:576
+msgid ""
+"Global checks work similarly to regular checks except they are registered"
+" with the :func:`.Bot.check` decorator."
+msgstr ""
+
+#: ../../ext/commands/commands.rst:578
+msgid "For example, to block all DMs we could do the following:"
+msgstr ""
+
+#: ../../ext/commands/commands.rst:588
+msgid ""
+"Be careful on how you write your global checks, as it could also lock you"
+" out of your own bot."
+msgstr ""
+
diff --git a/docs/locale/ja/LC_MESSAGES/ext/commands/index.po b/docs/locale/ja/LC_MESSAGES/ext/commands/index.po
new file mode 100644
index 00000000..2ef9bf08
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/ext/commands/index.po
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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/index.rst:2
+msgid "``discord.ext.commands`` -- Bot commands framework"
+msgstr ""
+
+#: ../../ext/commands/index.rst:4
+msgid ""
+"``discord.py`` 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, ``discord.py`` "
+"comes with an extension library that handles this for you."
+msgstr ""
+
diff --git a/docs/locale/ja/LC_MESSAGES/faq.po b/docs/locale/ja/LC_MESSAGES/faq.po
new file mode 100644
index 00000000..7ff45b11
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/faq.po
@@ -0,0 +1,405 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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 "
+"``discord.py`` and its extension modules. Feel free to suggest a new "
+"question or submit one via pull requests."
+msgstr ""
+
+#: ../../faq.rst:11
+msgid "Questions"
+msgstr ""
+
+#: ../../faq.rst:14
+msgid "Coroutines"
+msgstr ""
+
+#: ../../faq.rst:16
+msgid "Questions regarding coroutines and asyncio belong here."
+msgstr ""
+
+#: ../../faq.rst:19
+msgid "What is a coroutine?"
+msgstr ""
+
+#: ../../faq.rst:21
+msgid ""
+"A coroutine 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 ""
+
+#: ../../faq.rst:26
+msgid ""
+"**If you forget to await a coroutine then the coroutine will not run. "
+"Never forget to await a coroutine.**"
+msgstr ""
+
+#: ../../faq.rst:29
+msgid "Where can I use ``await``\\?"
+msgstr ""
+
+#: ../../faq.rst:31
+msgid ""
+"You can only use ``await`` inside ``async def`` functions and nowhere "
+"else."
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../faq.rst:41
+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 ""
+
+#: ../../faq.rst:50
+msgid ""
+"Another common source of blocking for too long is using HTTP requests "
+"with the famous module ``requests``. While ``requests`` 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 ``aiohttp`` library which is installed on the side"
+" with this library."
+msgstr ""
+
+#: ../../faq.rst:54
+msgid "Consider the following example: ::"
+msgstr ""
+
+#: ../../faq.rst:70
+msgid "General"
+msgstr ""
+
+#: ../../faq.rst:72
+msgid "General questions regarding library usage belong here."
+msgstr ""
+
+#: ../../faq.rst:75
+msgid "How do I set the \"Playing\" status?"
+msgstr ""
+
+#: ../../faq.rst:77
+msgid ""
+"There is a method for this under :class:`Client` called "
+":meth:`Client.change_presence`. The relevant aspect of this is its "
+"``game`` keyword argument which takes in a :class:`Game` object. Putting "
+"both of these pieces of info together, you get the following: ::"
+msgstr ""
+
+#: ../../faq.rst:84
+msgid "How do I send a message to a specific channel?"
+msgstr ""
+
+#: ../../faq.rst:86
+msgid ""
+"You must fetch the channel directly and then call the appropriate method."
+" Example: ::"
+msgstr ""
+
+#: ../../faq.rst:92
+msgid "How do I upload an image?"
+msgstr ""
+
+#: ../../faq.rst:94
+msgid "To upload something to Discord you have to use the :class:`File` object."
+msgstr ""
+
+#: ../../faq.rst:96
+msgid ""
+"A :class:`File` accepts two parameters, the file-like object (or file "
+"path) and the filename to pass to Discord when uploading."
+msgstr ""
+
+#: ../../faq.rst:99
+msgid "If you want to upload an image it's as simple as: ::"
+msgstr ""
+
+#: ../../faq.rst:103
+msgid "If you have a file-like object you can do as follows: ::"
+msgstr ""
+
+#: ../../faq.rst:108
+msgid ""
+"To upload multiple files, you can use the ``files`` keyword argument "
+"instead of ``file``\\: ::"
+msgstr ""
+
+#: ../../faq.rst:116
+msgid ""
+"If you want to upload something from a URL, you will have to use an HTTP "
+"request using ``aiohttp`` and then pass an :class:`io.BytesIO` instance "
+"to :class:`File` like so:"
+msgstr ""
+
+#: ../../faq.rst:133
+msgid "How can I add a reaction to a message?"
+msgstr ""
+
+#: ../../faq.rst:135
+msgid "You use the :meth:`Message.add_reaction` method."
+msgstr ""
+
+#: ../../faq.rst:137
+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 ""
+
+#: ../../faq.rst:139
+msgid "``'👍'``"
+msgstr ""
+
+#: ../../faq.rst:140
+msgid "``'\\U0001F44D'``"
+msgstr ""
+
+#: ../../faq.rst:141
+msgid "``'\\N{THUMBS UP SIGN}'``"
+msgstr ""
+
+#: ../../faq.rst:143 ../../faq.rst:154 ../../faq.rst:218
+msgid "Quick example: ::"
+msgstr ""
+
+#: ../../faq.rst:147
+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 ""
+
+#: ../../faq.rst:150
+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 ""
+
+#: ../../faq.rst:166
+msgid "How do I pass a coroutine to the player's \"after\" function?"
+msgstr ""
+
+#: ../../faq.rst:168
+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 ""
+
+#: ../../faq.rst:172
+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 ""
+
+#: ../../faq.rst:177
+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 ""
+
+#: ../../faq.rst:192
+msgid "How do I run something in the background?"
+msgstr ""
+
+#: ../../faq.rst:194
+msgid ""
+"`Check the background_task.py example. "
+"<https://github.com/Rapptz/discord.py/blob/rewrite/examples/background_task.py>`_"
+msgstr ""
+
+#: ../../faq.rst:197
+msgid "How do I get a specific model?"
+msgstr ""
+
+#: ../../faq.rst:199
+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 ""
+
+#: ../../faq.rst:202
+msgid ":meth:`Client.get_channel`"
+msgstr ""
+
+#: ../../faq.rst:203
+msgid ":meth:`Client.get_guild`"
+msgstr ""
+
+#: ../../faq.rst:204
+msgid ":meth:`Client.get_user`"
+msgstr ""
+
+#: ../../faq.rst:205
+msgid ":meth:`Client.get_emoji`"
+msgstr ""
+
+#: ../../faq.rst:206
+msgid ":meth:`Guild.get_member`"
+msgstr ""
+
+#: ../../faq.rst:207
+msgid ":meth:`Guild.get_channel`"
+msgstr ""
+
+#: ../../faq.rst:209
+msgid "The following use an HTTP request:"
+msgstr ""
+
+#: ../../faq.rst:211
+msgid ":meth:`abc.Messageable.get_message`"
+msgstr ""
+
+#: ../../faq.rst:212
+msgid ":meth:`Client.get_user_info`"
+msgstr ""
+
+#: ../../faq.rst:215
+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 ""
+
+#: ../../faq.rst:229
+msgid "Commands Extension"
+msgstr ""
+
+#: ../../faq.rst:231
+msgid "Questions regarding ``discord.ext.commands`` belong here."
+msgstr ""
+
+#: ../../faq.rst:234
+msgid "Is there any documentation for this?"
+msgstr ""
+
+#: ../../faq.rst:236
+msgid ""
+"Not at the moment. Writing documentation for stuff takes time. A lot of "
+"people get by reading the docstrings in the source code. Others get by "
+"via asking questions in the `Discord server <https://discord.gg/discord-"
+"api>`_. Others look at the source code of `other existing bots "
+"<https://github.com/Rapptz/RoboDanny>`_."
+msgstr ""
+
+#: ../../faq.rst:240
+msgid ""
+"There is a `basic example "
+"<https://github.com/Rapptz/discord.py/blob/rewrite/examples/basic_bot.py>`_"
+" showcasing some functionality."
+msgstr ""
+
+#: ../../faq.rst:243
+msgid ""
+"**Documentation is being worked on, it will just take some time to polish"
+" it**."
+msgstr ""
+
+#: ../../faq.rst:246
+msgid "Why does ``on_message`` make my commands stop working?"
+msgstr ""
+
+#: ../../faq.rst:248
+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 ""
+
+#: ../../faq.rst:258
+msgid "Why do my arguments require quotes?"
+msgstr ""
+
+#: ../../faq.rst:260
+msgid "In a simple command defined as: ::"
+msgstr ""
+
+#: ../../faq.rst:266
+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 ""
+
+#: ../../faq.rst:273
+msgid "This will allow you to use ``?echo a b c`` without needing the quotes."
+msgstr ""
+
+#: ../../faq.rst:276
+msgid "How do I get the original ``message``\\?"
+msgstr ""
+
+#: ../../faq.rst:278
+msgid ""
+"The :class:`~ext.commands.Context` contains an attribute, "
+":attr:`~.Context.message` to get the original message."
+msgstr ""
+
+#: ../../faq.rst:281 ../../faq.rst:294
+msgid "Example: ::"
+msgstr ""
+
+#: ../../faq.rst:289
+msgid "How do I make a subcommand?"
+msgstr ""
+
+#: ../../faq.rst:291
+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 ""
+
+#: ../../faq.rst:305
+msgid "This could then be used as ``?git push origin master``."
+msgstr ""
+
diff --git a/docs/locale/ja/LC_MESSAGES/index.po b/docs/locale/ja/LC_MESSAGES/index.po
new file mode 100644
index 00000000..3c3f9470
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/index.po
@@ -0,0 +1,87 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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 discord.py"
+msgstr ""
+
+#: ../../index.rst:11
+msgid ""
+"discord.py is a modern, easy to use, feature-rich, and async ready API "
+"wrapper for Discord."
+msgstr ""
+
+#: ../../index.rst:14
+msgid "**Features:**"
+msgstr ""
+
+#: ../../index.rst:16
+msgid "Modern Pythonic API using ``async``\\/``await`` syntax"
+msgstr ""
+
+#: ../../index.rst:17
+msgid "Sane rate limit handling that prevents 429s"
+msgstr ""
+
+#: ../../index.rst:18
+msgid "Implements the entire Discord API"
+msgstr ""
+
+#: ../../index.rst:19
+msgid "Command extension to aid with bot creation"
+msgstr ""
+
+#: ../../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:45
+msgid "Additional Information"
+msgstr ""
+
+#: ../../index.rst:54
+msgid ""
+"If you still can't find what you're looking for, try in one of the "
+"following pages:"
+msgstr ""
+
+#: ../../index.rst:56
+msgid ":ref:`genindex`"
+msgstr ""
+
+#: ../../index.rst:57
+msgid ":ref:`modindex`"
+msgstr ""
+
+#: ../../index.rst:58
+msgid ":ref:`search`"
+msgstr ""
+
diff --git a/docs/locale/ja/LC_MESSAGES/intro.po b/docs/locale/ja/LC_MESSAGES/intro.po
new file mode 100644
index 00000000..2c835780
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/intro.po
@@ -0,0 +1,149 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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"
+
+#: ../../intro.rst:6
+msgid "Introduction"
+msgstr ""
+
+#: ../../intro.rst:8
+msgid ""
+"This is the documentation for discord.py, a library for Python to aid in "
+"creating applications that utilise the Discord API."
+msgstr ""
+
+#: ../../intro.rst:12
+msgid "Prerequisites"
+msgstr ""
+
+#: ../../intro.rst:14
+msgid ""
+"discord.py 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 "
+"(``aiohttp``) not supporting Python 3.4."
+msgstr ""
+
+#: ../../intro.rst:22
+msgid "Installing"
+msgstr ""
+
+#: ../../intro.rst:24
+msgid "You can get the library directly from PyPI: ::"
+msgstr ""
+
+#: ../../intro.rst:28
+msgid "If you are using Windows, then the following should be used instead: ::"
+msgstr ""
+
+#: ../../intro.rst:33
+msgid ""
+"To get voice support, you should use ``discord.py[voice]`` instead of "
+"``discord.py``, e.g. ::"
+msgstr ""
+
+#: ../../intro.rst:37
+msgid ""
+"On Linux environments, installing voice requires getting the following "
+"dependencies:"
+msgstr ""
+
+#: ../../intro.rst:39
+msgid "libffi"
+msgstr ""
+
+#: ../../intro.rst:40
+msgid "libnacl"
+msgstr ""
+
+#: ../../intro.rst:41
+msgid "python3-dev"
+msgstr ""
+
+#: ../../intro.rst:43
+msgid ""
+"For a debian-based system, the following command will help get those "
+"dependencies:"
+msgstr ""
+
+#: ../../intro.rst:49
+msgid "Remember to check your permissions!"
+msgstr ""
+
+#: ../../intro.rst:52
+msgid "Virtual Environments"
+msgstr ""
+
+#: ../../intro.rst:54
+msgid ""
+"Sometimes we don't want to pollute our system installs with a library or "
+"we want to maintain different versions of a library than the currently "
+"system installed one. Or we don't have permissions to install a library "
+"along side with the system installed ones. For this purpose, the standard"
+" library as of 3.3 comes with a concept called \"Virtual Environment\" to"
+" help maintain these separate versions."
+msgstr ""
+
+#: ../../intro.rst:59
+msgid ""
+"A more in-depth tutorial is found on `the official documentation. "
+"<https://docs.python.org/3/tutorial/venv.html>`_"
+msgstr ""
+
+#: ../../intro.rst:61
+msgid "However, for the quick and dirty:"
+msgstr ""
+
+#: ../../intro.rst:63
+msgid "Go to your project's working directory:"
+msgstr ""
+
+#: ../../intro.rst:70
+msgid "Activate the virtual environment:"
+msgstr ""
+
+#: ../../intro.rst:76
+msgid "On Windows you activate it with:"
+msgstr ""
+
+#: ../../intro.rst:82
+msgid "Use pip like usual:"
+msgstr ""
+
+#: ../../intro.rst:88
+msgid ""
+"Congratulations. You now have a virtual environment all set up without "
+"messing with your system installation."
+msgstr ""
+
+#: ../../intro.rst:91
+msgid "Basic Concepts"
+msgstr ""
+
+#: ../../intro.rst:93
+msgid ""
+"discord.py revolves around the concept of :ref:`events <discord-api-"
+"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 and "
+"you can then respond to it."
+msgstr ""
+
+#: ../../intro.rst:97
+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
new file mode 100644
index 00000000..7cb88a02
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/logging.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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 ""
+"*discord.py* 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 ""
+
+#: ../../logging.rst:16
+msgid ""
+"Placed at the start of the application. This will output the logs from "
+"discord as well as other libraries that uses the ``logging`` module "
+"directly to the console."
+msgstr ""
+
+#: ../../logging.rst:20
+msgid ""
+"The optional ``level`` argument specifies what level of events to log out"
+" and can any of ``CRITICAL``, ``ERROR``, ``WARNING``, ``INFO``, and "
+"``DEBUG`` and if not specified defaults to ``WARNING``."
+msgstr ""
+
+#: ../../logging.rst:24
+msgid ""
+"More advance setups are possible with the :mod:`logging` module. To for "
+"example write the logs to a file called ``discord.log`` instead of "
+"outputting them to to the console the following snippet can be used::"
+msgstr ""
+
+#: ../../logging.rst:37
+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 ""
+
+#: ../../logging.rst:43
+msgid ""
+"For more information, check the documentation and tutorial of the "
+":mod:`logging` module."
+msgstr ""
+
diff --git a/docs/locale/ja/LC_MESSAGES/migrating.po b/docs/locale/ja/LC_MESSAGES/migrating.po
new file mode 100644
index 00000000..9162e242
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/migrating.po
@@ -0,0 +1,2100 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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 ""
+
+#: ../../migrating.rst:8
+msgid ""
+"v1.0 is one of the biggest breaking changes in the library due to a "
+"complete redesign."
+msgstr ""
+
+#: ../../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 <discord_api_models>` instead of "
+"requiring a :class:`Client` instance to do any work."
+msgstr ""
+
+#: ../../migrating.rst:18
+msgid "Python Version Change"
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../migrating.rst:25
+msgid "Major Model Changes"
+msgstr ""
+
+#: ../../migrating.rst:27
+msgid "Below are major model changes that have happened in v1.0"
+msgstr ""
+
+#: ../../migrating.rst:30
+msgid "Snowflakes are int"
+msgstr ""
+
+#: ../../migrating.rst:32
+msgid ""
+"Before v1.0, all snowflakes (the ``id`` attribute) were strings. This has"
+" been changed to :class:`int`."
+msgstr ""
+
+#: ../../migrating.rst:34 ../../migrating.rst:252
+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 ""
+
+#: ../../migrating.rst:50
+msgid "Server is now Guild"
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../migrating.rst:56
+msgid "A list of changes is as follows:"
+msgstr ""
+
+#: ../../migrating.rst:59 ../../migrating.rst:95 ../../migrating.rst:852
+msgid "Before"
+msgstr ""
+
+#: ../../migrating.rst:59 ../../migrating.rst:95 ../../migrating.rst:852
+msgid "After"
+msgstr ""
+
+#: ../../migrating.rst:61
+msgid "``Message.server``"
+msgstr ""
+
+#: ../../migrating.rst:61
+msgid ":attr:`Message.guild`"
+msgstr ""
+
+#: ../../migrating.rst:63
+msgid "``Channel.server``"
+msgstr ""
+
+#: ../../migrating.rst:63
+msgid ":attr:`.GuildChannel.guild`"
+msgstr ""
+
+#: ../../migrating.rst:65
+msgid "``Client.servers``"
+msgstr ""
+
+#: ../../migrating.rst:65 ../../migrating.rst:231
+msgid ":attr:`Client.guilds`"
+msgstr ""
+
+#: ../../migrating.rst:67
+msgid "``Client.get_server``"
+msgstr ""
+
+#: ../../migrating.rst:67
+msgid ":meth:`Client.get_guild`"
+msgstr ""
+
+#: ../../migrating.rst:69
+msgid "``Emoji.server``"
+msgstr ""
+
+#: ../../migrating.rst:69
+msgid ":attr:`Emoji.guild`"
+msgstr ""
+
+#: ../../migrating.rst:71
+msgid "``Role.server``"
+msgstr ""
+
+#: ../../migrating.rst:71
+msgid ":attr:`Role.guild`"
+msgstr ""
+
+#: ../../migrating.rst:73
+msgid "``Invite.server``"
+msgstr ""
+
+#: ../../migrating.rst:73
+msgid ":attr:`Invite.guild`"
+msgstr ""
+
+#: ../../migrating.rst:75
+msgid "``Member.server``"
+msgstr ""
+
+#: ../../migrating.rst:75
+msgid ":attr:`Member.guild`"
+msgstr ""
+
+#: ../../migrating.rst:77
+msgid "``Permissions.manage_server``"
+msgstr ""
+
+#: ../../migrating.rst:77
+msgid ":attr:`Permissions.manage_guild`"
+msgstr ""
+
+#: ../../migrating.rst:79
+msgid "``VoiceClient.server``"
+msgstr ""
+
+#: ../../migrating.rst:79
+msgid ":attr:`VoiceClient.guild`"
+msgstr ""
+
+#: ../../migrating.rst:81
+msgid "``Client.create_server``"
+msgstr ""
+
+#: ../../migrating.rst:81
+msgid ":meth:`Client.create_guild`"
+msgstr ""
+
+#: ../../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 "
+"<discord_api_models>`."
+msgstr ""
+
+#: ../../migrating.rst:92
+msgid "A list of these changes is enumerated below."
+msgstr ""
+
+#: ../../migrating.rst:97
+msgid "``Client.add_reaction``"
+msgstr ""
+
+#: ../../migrating.rst:97
+msgid ":meth:`Message.add_reaction`"
+msgstr ""
+
+#: ../../migrating.rst:99
+msgid "``Client.add_roles``"
+msgstr ""
+
+#: ../../migrating.rst:99
+msgid ":meth:`Member.add_roles`"
+msgstr ""
+
+#: ../../migrating.rst:101
+msgid "``Client.ban``"
+msgstr ""
+
+#: ../../migrating.rst:101
+msgid ":meth:`Member.ban` or :meth:`Guild.ban`"
+msgstr ""
+
+#: ../../migrating.rst:103
+msgid "``Client.change_nickname``"
+msgstr ""
+
+#: ../../migrating.rst:103 ../../migrating.rst:167 ../../migrating.rst:183
+#: ../../migrating.rst:191
+msgid ":meth:`Member.edit`"
+msgstr ""
+
+#: ../../migrating.rst:105
+msgid "``Client.clear_reactions``"
+msgstr ""
+
+#: ../../migrating.rst:105
+msgid ":meth:`Message.clear_reactions`"
+msgstr ""
+
+#: ../../migrating.rst:107
+msgid "``Client.create_channel``"
+msgstr ""
+
+#: ../../migrating.rst:107
+msgid ":meth:`Guild.create_text_channel` and :meth:`Guild.create_voice_channel`"
+msgstr ""
+
+#: ../../migrating.rst:109
+msgid "``Client.create_custom_emoji``"
+msgstr ""
+
+#: ../../migrating.rst:109
+msgid ":meth:`Guild.create_custom_emoji`"
+msgstr ""
+
+#: ../../migrating.rst:111
+msgid "``Client.create_invite``"
+msgstr ""
+
+#: ../../migrating.rst:111
+msgid ":meth:`abc.GuildChannel.create_invite`"
+msgstr ""
+
+#: ../../migrating.rst:113
+msgid "``Client.create_role``"
+msgstr ""
+
+#: ../../migrating.rst:113
+msgid ":meth:`Guild.create_role`"
+msgstr ""
+
+#: ../../migrating.rst:115
+msgid "``Client.delete_channel``"
+msgstr ""
+
+#: ../../migrating.rst:115
+msgid ":meth:`abc.GuildChannel.delete`"
+msgstr ""
+
+#: ../../migrating.rst:117
+msgid "``Client.delete_channel_permissions``"
+msgstr ""
+
+#: ../../migrating.rst:117
+msgid ""
+":meth:`abc.GuildChannel.set_permissions` with ``overwrite`` set to "
+"``None``"
+msgstr ""
+
+#: ../../migrating.rst:119
+msgid "``Client.delete_custom_emoji``"
+msgstr ""
+
+#: ../../migrating.rst:119
+msgid ":meth:`Emoji.delete`"
+msgstr ""
+
+#: ../../migrating.rst:121
+msgid "``Client.delete_invite``"
+msgstr ""
+
+#: ../../migrating.rst:121
+msgid ":meth:`Invite.delete` or :meth:`Client.delete_invite`"
+msgstr ""
+
+#: ../../migrating.rst:123
+msgid "``Client.delete_message``"
+msgstr ""
+
+#: ../../migrating.rst:123
+msgid ":meth:`Message.delete`"
+msgstr ""
+
+#: ../../migrating.rst:125
+msgid "``Client.delete_messages``"
+msgstr ""
+
+#: ../../migrating.rst:125
+msgid ":meth:`TextChannel.delete_messages`"
+msgstr ""
+
+#: ../../migrating.rst:127
+msgid "``Client.delete_role``"
+msgstr ""
+
+#: ../../migrating.rst:127
+msgid ":meth:`Role.delete`"
+msgstr ""
+
+#: ../../migrating.rst:129
+msgid "``Client.delete_server``"
+msgstr ""
+
+#: ../../migrating.rst:129
+msgid ":meth:`Guild.delete`"
+msgstr ""
+
+#: ../../migrating.rst:131
+msgid "``Client.edit_channel``"
+msgstr ""
+
+#: ../../migrating.rst:131 ../../migrating.rst:165
+msgid ":meth:`TextChannel.edit` or :meth:`VoiceChannel.edit`"
+msgstr ""
+
+#: ../../migrating.rst:133
+msgid "``Client.edit_channel_permissions``"
+msgstr ""
+
+#: ../../migrating.rst:133
+msgid ":meth:`abc.GuildChannel.set_permissions`"
+msgstr ""
+
+#: ../../migrating.rst:135
+msgid "``Client.edit_custom_emoji``"
+msgstr ""
+
+#: ../../migrating.rst:135
+msgid ":meth:`Emoji.edit`"
+msgstr ""
+
+#: ../../migrating.rst:137
+msgid "``Client.edit_message``"
+msgstr ""
+
+#: ../../migrating.rst:137
+msgid ":meth:`Message.edit`"
+msgstr ""
+
+#: ../../migrating.rst:139
+msgid "``Client.edit_profile``"
+msgstr ""
+
+#: ../../migrating.rst:139
+msgid ":meth:`ClientUser.edit` (you get this from :attr:`Client.user`)"
+msgstr ""
+
+#: ../../migrating.rst:141
+msgid "``Client.edit_role``"
+msgstr ""
+
+#: ../../migrating.rst:141 ../../migrating.rst:169
+msgid ":meth:`Role.edit`"
+msgstr ""
+
+#: ../../migrating.rst:143
+msgid "``Client.edit_server``"
+msgstr ""
+
+#: ../../migrating.rst:143
+msgid ":meth:`Guild.edit`"
+msgstr ""
+
+#: ../../migrating.rst:145
+msgid "``Client.estimate_pruned_members``"
+msgstr ""
+
+#: ../../migrating.rst:145
+msgid ":meth:`Guild.estimate_pruned_members`"
+msgstr ""
+
+#: ../../migrating.rst:147 ../../migrating.rst:325
+msgid "``Client.get_all_emojis``"
+msgstr ""
+
+#: ../../migrating.rst:147
+msgid ":attr:`Client.emojis`"
+msgstr ""
+
+#: ../../migrating.rst:149
+msgid "``Client.get_bans``"
+msgstr ""
+
+#: ../../migrating.rst:149
+msgid ":meth:`Guild.bans`"
+msgstr ""
+
+#: ../../migrating.rst:151
+msgid "``Client.get_message``"
+msgstr ""
+
+#: ../../migrating.rst:151
+msgid ":meth:`abc.Messageable.get_message`"
+msgstr ""
+
+#: ../../migrating.rst:153
+msgid "``Client.get_reaction_users``"
+msgstr ""
+
+#: ../../migrating.rst:153 ../../migrating.rst:480
+msgid ":meth:`Reaction.users`"
+msgstr ""
+
+#: ../../migrating.rst:155
+msgid "``Client.invites_from``"
+msgstr ""
+
+#: ../../migrating.rst:155
+msgid ":meth:`abc.GuildChannel.invites` or :meth:`Guild.invites`"
+msgstr ""
+
+#: ../../migrating.rst:157
+msgid "``Client.join_voice_channel``"
+msgstr ""
+
+#: ../../migrating.rst:157
+msgid ":meth:`VoiceChannel.connect` (see :ref:`migrating_1_0_voice`)"
+msgstr ""
+
+#: ../../migrating.rst:159
+msgid "``Client.kick``"
+msgstr ""
+
+#: ../../migrating.rst:159
+msgid ":meth:`Guild.kick` or :meth:`Member.kick`"
+msgstr ""
+
+#: ../../migrating.rst:161
+msgid "``Client.leave_server``"
+msgstr ""
+
+#: ../../migrating.rst:161
+msgid ":meth:`Guild.leave`"
+msgstr ""
+
+#: ../../migrating.rst:163
+msgid "``Client.logs_from``"
+msgstr ""
+
+#: ../../migrating.rst:163
+msgid ":meth:`abc.Messageable.history` (see :ref:`migrating_1_0_async_iter`)"
+msgstr ""
+
+#: ../../migrating.rst:165
+msgid "``Client.move_channel``"
+msgstr ""
+
+#: ../../migrating.rst:167
+msgid "``Client.move_member``"
+msgstr ""
+
+#: ../../migrating.rst:169
+msgid "``Client.move_role``"
+msgstr ""
+
+#: ../../migrating.rst:171
+msgid "``Client.pin_message``"
+msgstr ""
+
+#: ../../migrating.rst:171
+msgid ":meth:`Message.pin`"
+msgstr ""
+
+#: ../../migrating.rst:173
+msgid "``Client.pins_from``"
+msgstr ""
+
+#: ../../migrating.rst:173
+msgid ":meth:`abc.Messageable.pins`"
+msgstr ""
+
+#: ../../migrating.rst:175
+msgid "``Client.prune_members``"
+msgstr ""
+
+#: ../../migrating.rst:175
+msgid ":meth:`Guild.prune_members`"
+msgstr ""
+
+#: ../../migrating.rst:177
+msgid "``Client.purge_from``"
+msgstr ""
+
+#: ../../migrating.rst:177
+msgid ":meth:`TextChannel.purge`"
+msgstr ""
+
+#: ../../migrating.rst:179
+msgid "``Client.remove_reaction``"
+msgstr ""
+
+#: ../../migrating.rst:179
+msgid ":meth:`Message.remove_reaction`"
+msgstr ""
+
+#: ../../migrating.rst:181
+msgid "``Client.remove_roles``"
+msgstr ""
+
+#: ../../migrating.rst:181
+msgid ":meth:`Member.remove_roles`"
+msgstr ""
+
+#: ../../migrating.rst:183
+msgid "``Client.replace_roles``"
+msgstr ""
+
+#: ../../migrating.rst:185
+msgid "``Client.send_file``"
+msgstr ""
+
+#: ../../migrating.rst:185 ../../migrating.rst:187
+msgid ":meth:`abc.Messageable.send` (see :ref:`migrating_1_0_sending_messages`)"
+msgstr ""
+
+#: ../../migrating.rst:187
+msgid "``Client.send_message``"
+msgstr ""
+
+#: ../../migrating.rst:189
+msgid "``Client.send_typing``"
+msgstr ""
+
+#: ../../migrating.rst:189
+msgid ""
+":meth:`abc.Messageable.trigger_typing` (use "
+":meth:`abc.Messageable.typing`)"
+msgstr ""
+
+#: ../../migrating.rst:191
+msgid "``Client.server_voice_state``"
+msgstr ""
+
+#: ../../migrating.rst:193
+msgid "``Client.start_private_message``"
+msgstr ""
+
+#: ../../migrating.rst:193
+msgid ":meth:`User.create_dm`"
+msgstr ""
+
+#: ../../migrating.rst:195
+msgid "``Client.unban``"
+msgstr ""
+
+#: ../../migrating.rst:195
+msgid ":meth:`Guild.unban` or :meth:`Member.unban`"
+msgstr ""
+
+#: ../../migrating.rst:197
+msgid "``Client.unpin_message``"
+msgstr ""
+
+#: ../../migrating.rst:197
+msgid ":meth:`Message.unpin`"
+msgstr ""
+
+#: ../../migrating.rst:199
+msgid "``Client.wait_for_message``"
+msgstr ""
+
+#: ../../migrating.rst:199 ../../migrating.rst:201
+msgid ":meth:`Client.wait_for` (see :ref:`migrating_1_0_wait_for`)"
+msgstr ""
+
+#: ../../migrating.rst:201
+msgid "``Client.wait_for_reaction``"
+msgstr ""
+
+#: ../../migrating.rst:203
+msgid "``Client.wait_until_login``"
+msgstr ""
+
+#: ../../migrating.rst:203 ../../migrating.rst:205
+msgid "Removed"
+msgstr ""
+
+#: ../../migrating.rst:205
+msgid "``Client.messages``"
+msgstr ""
+
+#: ../../migrating.rst:207
+msgid "``Client.wait_until_ready``"
+msgstr ""
+
+#: ../../migrating.rst:207
+msgid "No change"
+msgstr ""
+
+#: ../../migrating.rst:211
+msgid "Property Changes"
+msgstr ""
+
+#: ../../migrating.rst:213
+msgid ""
+"In order to be a bit more consistent, certain things that were properties"
+" were changed to methods instead."
+msgstr ""
+
+#: ../../migrating.rst:215
+msgid ""
+"The following are now methods instead of properties (requires "
+"parentheses):"
+msgstr ""
+
+#: ../../migrating.rst:217
+msgid ":meth:`Role.is_default`"
+msgstr ""
+
+#: ../../migrating.rst:218
+msgid ":meth:`Client.is_ready`"
+msgstr ""
+
+#: ../../migrating.rst:219
+msgid ":meth:`Client.is_closed`"
+msgstr ""
+
+#: ../../migrating.rst:222
+msgid "Dict Value Change"
+msgstr ""
+
+#: ../../migrating.rst:224
+msgid ""
+"Prior to v1.0 some aggregating properties that retrieved models would "
+"return \"dict view\" objects."
+msgstr ""
+
+#: ../../migrating.rst:226
+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 ""
+
+#: ../../migrating.rst:229
+msgid "The following views were changed to a list:"
+msgstr ""
+
+#: ../../migrating.rst:232
+msgid ":attr:`Client.users` (new in v1.0)"
+msgstr ""
+
+#: ../../migrating.rst:233
+msgid ":attr:`Client.emojis` (new in v1.0)"
+msgstr ""
+
+#: ../../migrating.rst:234
+msgid ":attr:`Guild.channels`"
+msgstr ""
+
+#: ../../migrating.rst:235
+msgid ":attr:`Guild.text_channels` (new in v1.0)"
+msgstr ""
+
+#: ../../migrating.rst:236
+msgid ":attr:`Guild.voice_channels` (new in v1.0)"
+msgstr ""
+
+#: ../../migrating.rst:237
+msgid ":attr:`Guild.emojis`"
+msgstr ""
+
+#: ../../migrating.rst:238
+msgid ":attr:`Guild.members`"
+msgstr ""
+
+#: ../../migrating.rst:241
+msgid "Voice State Changes"
+msgstr ""
+
+#: ../../migrating.rst:243
+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 ""
+
+#: ../../migrating.rst:246
+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:249
+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 ""
+
+#: ../../migrating.rst:265
+msgid "User and Member Type Split"
+msgstr ""
+
+#: ../../migrating.rst:267
+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 "
+"``isinstance`` checks and thus is something to keep in mind."
+msgstr ""
+
+#: ../../migrating.rst:271
+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 ""
+
+#: ../../migrating.rst:278
+msgid "Channel Type Split"
+msgstr ""
+
+#: ../../migrating.rst:280
+msgid ""
+"Prior to v1.0, channels were two different types, ``Channel`` and "
+"``PrivateChannel`` with a ``is_private`` property to help differentiate "
+"between them."
+msgstr ""
+
+#: ../../migrating.rst:283
+msgid ""
+"In order to save memory the channels have been split into 4 different "
+"types:"
+msgstr ""
+
+#: ../../migrating.rst:285
+msgid ":class:`TextChannel` for guild text channels."
+msgstr ""
+
+#: ../../migrating.rst:286
+msgid ":class:`VoiceChannel` for guild voice channels."
+msgstr ""
+
+#: ../../migrating.rst:287
+msgid ":class:`DMChannel` for DM channels with members."
+msgstr ""
+
+#: ../../migrating.rst:288
+msgid ":class:`GroupChannel` for Group DM channels with members."
+msgstr ""
+
+#: ../../migrating.rst:290
+msgid ""
+"With this split came the removal of the ``is_private`` attribute. You "
+"should now use ``isinstance``."
+msgstr ""
+
+#: ../../migrating.rst:292
+msgid "The types are split into two different :ref:`discord_api_abcs`:"
+msgstr ""
+
+#: ../../migrating.rst:294
+msgid ":class:`abc.GuildChannel` for guild channels."
+msgstr ""
+
+#: ../../migrating.rst:295
+msgid ":class:`abc.PrivateChannel` for private channels (DMs and group DMs)."
+msgstr ""
+
+#: ../../migrating.rst:297
+msgid "So to check if something is a guild channel you would do: ::"
+msgstr ""
+
+#: ../../migrating.rst:301
+msgid "And to check if it's a private channel you would do: ::"
+msgstr ""
+
+#: ../../migrating.rst:305
+msgid ""
+"Of course, if you're looking for only a specific type you can pass that "
+"too, e.g. ::"
+msgstr ""
+
+#: ../../migrating.rst:309
+msgid ""
+"With this type split also came event changes, which are enumerated in "
+":ref:`migrating_1_0_event_changes`."
+msgstr ""
+
+#: ../../migrating.rst:313
+msgid "Miscellaneous Model Changes"
+msgstr ""
+
+#: ../../migrating.rst:315
+msgid "There were lots of other things added or removed in the models in general."
+msgstr ""
+
+#: ../../migrating.rst:317
+msgid "They will be enumerated here."
+msgstr ""
+
+#: ../../migrating.rst:319
+msgid "**Removed**"
+msgstr ""
+
+#: ../../migrating.rst:321
+msgid ":meth:`Client.login` no longer accepts email and password logins."
+msgstr ""
+
+#: ../../migrating.rst:323
+msgid "Use a token and ``bot=False``."
+msgstr ""
+
+#: ../../migrating.rst:327
+msgid "Use :attr:`Client.emojis` instead."
+msgstr ""
+
+#: ../../migrating.rst:329
+msgid "``Client.wait_for_message`` and ``Client.wait_for_reaction`` are gone."
+msgstr ""
+
+#: ../../migrating.rst:331
+msgid "Use :meth:`Client.wait_for` instead."
+msgstr ""
+
+#: ../../migrating.rst:333
+msgid "``Channel.voice_members``"
+msgstr ""
+
+#: ../../migrating.rst:335
+msgid "Use :attr:`VoiceChannel.members` instead."
+msgstr ""
+
+#: ../../migrating.rst:337
+msgid "``Channel.is_private``"
+msgstr ""
+
+#: ../../migrating.rst:339
+msgid ""
+"Use ``isinstance`` instead with one of the :ref:`discord_api_abcs` "
+"instead."
+msgstr ""
+
+#: ../../migrating.rst:340
+msgid ""
+"e.g. ``isinstance(channel, discord.abc.GuildChannel)`` will check if it "
+"isn't a private channel."
+msgstr ""
+
+#: ../../migrating.rst:342
+msgid "``Client.accept_invite``"
+msgstr ""
+
+#: ../../migrating.rst:344
+msgid ""
+"There is no replacement for this one. This functionality is deprecated "
+"API wise."
+msgstr ""
+
+#: ../../migrating.rst:346
+msgid ""
+"``Guild.default_channel`` / ``Server.default_channel`` and "
+"``Channel.is_default``"
+msgstr ""
+
+#: ../../migrating.rst:348
+msgid ""
+"The concept of a default channel was removed from Discord. See `#329 "
+"<https://github.com/hammerandchisel/discord-api-docs/pull/329>`_."
+msgstr ""
+
+#: ../../migrating.rst:351
+msgid "``Message.edited_timestamp``"
+msgstr ""
+
+#: ../../migrating.rst:353
+msgid "Use :attr:`Message.edited_at` instead."
+msgstr ""
+
+#: ../../migrating.rst:355
+msgid "``Message.timestamp``"
+msgstr ""
+
+#: ../../migrating.rst:357
+msgid "Use :attr:`Message.created_at` instead."
+msgstr ""
+
+#: ../../migrating.rst:359
+msgid "``Colour.to_tuple()``"
+msgstr ""
+
+#: ../../migrating.rst:361
+msgid "Use :meth:`Colour.to_rgb` instead."
+msgstr ""
+
+#: ../../migrating.rst:363
+msgid "``Permissions.view_audit_logs``"
+msgstr ""
+
+#: ../../migrating.rst:365
+msgid "Use :attr:`Permissions.view_audit_log` instead."
+msgstr ""
+
+#: ../../migrating.rst:367
+msgid "``Member.game``"
+msgstr ""
+
+#: ../../migrating.rst:369
+msgid "Use :attr:`Member.activity` instead."
+msgstr ""
+
+#: ../../migrating.rst:371
+msgid "**Changed**"
+msgstr ""
+
+#: ../../migrating.rst:373
+msgid ""
+":attr:`Member.avatar_url` and :attr:`User.avatar_url` now return the "
+"default avatar if a custom one is not set."
+msgstr ""
+
+#: ../../migrating.rst:374
+msgid ""
+":attr:`Message.embeds` is now a list of :class:`Embed` instead of "
+"``dict`` objects."
+msgstr ""
+
+#: ../../migrating.rst:375
+msgid ""
+":attr:`Message.attachments` is now a list of :class:`Attachment` instead "
+"of ``dict`` object."
+msgstr ""
+
+#: ../../migrating.rst:377
+msgid "**Added**"
+msgstr ""
+
+#: ../../migrating.rst:379
+msgid ":class:`Attachment` to represent a discord attachment."
+msgstr ""
+
+#: ../../migrating.rst:380
+msgid ":class:`CategoryChannel` to represent a channel category."
+msgstr ""
+
+#: ../../migrating.rst:381
+msgid ""
+":attr:`VoiceChannel.members` for fetching members connected to a voice "
+"channel."
+msgstr ""
+
+#: ../../migrating.rst:382
+msgid ":attr:`TextChannel.members` for fetching members that can see the channel."
+msgstr ""
+
+#: ../../migrating.rst:383
+msgid ":attr:`Role.members` for fetching members that have the role."
+msgstr ""
+
+#: ../../migrating.rst:384
+msgid ":attr:`Guild.text_channels` for fetching text channels only."
+msgstr ""
+
+#: ../../migrating.rst:385
+msgid ":attr:`Guild.voice_channels` for fetching voice channels only."
+msgstr ""
+
+#: ../../migrating.rst:386
+msgid ":attr:`Guild.categories` for fetching channel categories only."
+msgstr ""
+
+#: ../../migrating.rst:387
+msgid ""
+":attr:`TextChannel.category` and :attr:`VoiceChannel.category` to get the"
+" category a channel belongs to."
+msgstr ""
+
+#: ../../migrating.rst:388
+msgid ":meth:`Guild.by_category` to get channels grouped by their category."
+msgstr ""
+
+#: ../../migrating.rst:389
+msgid ":attr:`Guild.chunked` to check member chunking status."
+msgstr ""
+
+#: ../../migrating.rst:390
+msgid ":attr:`Guild.explicit_content_filter` to fetch the content filter."
+msgstr ""
+
+#: ../../migrating.rst:391
+msgid ":attr:`Guild.shard_id` to get a guild's Shard ID if you're sharding."
+msgstr ""
+
+#: ../../migrating.rst:392
+msgid ":attr:`Client.users` to get all visible :class:`User` instances."
+msgstr ""
+
+#: ../../migrating.rst:393
+msgid ":meth:`Client.get_user` to get a :class:`User` by ID."
+msgstr ""
+
+#: ../../migrating.rst:394
+msgid ":meth:`User.avatar_url_as` to get an avatar in a specific size or format."
+msgstr ""
+
+#: ../../migrating.rst:395
+msgid ":meth:`Guild.vanity_invite` to fetch the guild's vanity invite."
+msgstr ""
+
+#: ../../migrating.rst:396
+msgid ":meth:`Guild.audit_logs` to fetch the guild's audit logs."
+msgstr ""
+
+#: ../../migrating.rst:397
+msgid ":attr:`Message.webhook_id` to fetch the message's webhook ID."
+msgstr ""
+
+#: ../../migrating.rst:398
+msgid ""
+":attr:`Message.activity` and :attr:`Message.application` for Rich "
+"Presence related information."
+msgstr ""
+
+#: ../../migrating.rst:399
+msgid ":meth:`TextChannel.is_nsfw` to check if a text channel is NSFW."
+msgstr ""
+
+#: ../../migrating.rst:400
+msgid ":meth:`Colour.from_rgb` to construct a :class:`Colour` from RGB tuple."
+msgstr ""
+
+#: ../../migrating.rst:405
+msgid "Sending Messages"
+msgstr ""
+
+#: ../../migrating.rst:407
+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 ""
+
+#: ../../migrating.rst:410 ../../migrating.rst:990
+msgid "Basically: ::"
+msgstr ""
+
+#: ../../migrating.rst:418
+msgid ""
+"This supports everything that the old ``send_message`` supported such as "
+"embeds: ::"
+msgstr ""
+
+#: ../../migrating.rst:423
+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 ""
+
+#: ../../migrating.rst:432
+msgid "This change was to facilitate multiple file uploads: ::"
+msgstr ""
+
+#: ../../migrating.rst:444
+msgid "Asynchronous Iterators"
+msgstr ""
+
+#: ../../migrating.rst:446
+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 ""
+
+#: ../../migrating.rst:448
+msgid ""
+"In v1.0, this change has been reverted and will now return a singular "
+"type meeting an abstract concept called :class:`AsyncIterator`."
+msgstr ""
+
+#: ../../migrating.rst:451
+msgid "This allows you to iterate over it like normal: ::"
+msgstr ""
+
+#: ../../migrating.rst:456
+msgid "Or turn it into a list: ::"
+msgstr ""
+
+#: ../../migrating.rst:462
+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 ""
+
+#: ../../migrating.rst:468
+msgid ""
+"The functions passed to :meth:`AsyncIterator.map` or "
+":meth:`AsyncIterator.filter` can be either coroutines or regular "
+"functions."
+msgstr ""
+
+#: ../../migrating.rst:471
+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 ""
+
+#: ../../migrating.rst:476
+msgid "The following return :class:`AsyncIterator`:"
+msgstr ""
+
+#: ../../migrating.rst:478
+msgid ":meth:`abc.Messageable.history`"
+msgstr ""
+
+#: ../../migrating.rst:479
+msgid ":meth:`Guild.audit_logs`"
+msgstr ""
+
+#: ../../migrating.rst:485 ../../migrating.rst:907
+msgid "Event Changes"
+msgstr ""
+
+#: ../../migrating.rst:487
+msgid "A lot of events have gone through some changes."
+msgstr ""
+
+#: ../../migrating.rst:489
+msgid ""
+"Many events with ``server`` in the name were changed to use ``guild`` "
+"instead."
+msgstr ""
+
+#: ../../migrating.rst:491 ../../migrating.rst:555
+msgid "Before:"
+msgstr ""
+
+#: ../../migrating.rst:493
+msgid "``on_server_join``"
+msgstr ""
+
+#: ../../migrating.rst:494
+msgid "``on_server_remove``"
+msgstr ""
+
+#: ../../migrating.rst:495
+msgid "``on_server_update``"
+msgstr ""
+
+#: ../../migrating.rst:496
+msgid "``on_server_role_create``"
+msgstr ""
+
+#: ../../migrating.rst:497
+msgid "``on_server_role_delete``"
+msgstr ""
+
+#: ../../migrating.rst:498
+msgid "``on_server_role_update``"
+msgstr ""
+
+#: ../../migrating.rst:499
+msgid "``on_server_emojis_update``"
+msgstr ""
+
+#: ../../migrating.rst:500
+msgid "``on_server_available``"
+msgstr ""
+
+#: ../../migrating.rst:501
+msgid "``on_server_unavailable``"
+msgstr ""
+
+#: ../../migrating.rst:503 ../../migrating.rst:561
+msgid "After:"
+msgstr ""
+
+#: ../../migrating.rst:505
+msgid ":func:`on_guild_join`"
+msgstr ""
+
+#: ../../migrating.rst:506
+msgid ":func:`on_guild_remove`"
+msgstr ""
+
+#: ../../migrating.rst:507
+msgid ":func:`on_guild_update`"
+msgstr ""
+
+#: ../../migrating.rst:508
+msgid ":func:`on_guild_role_create`"
+msgstr ""
+
+#: ../../migrating.rst:509
+msgid ":func:`on_guild_role_delete`"
+msgstr ""
+
+#: ../../migrating.rst:510
+msgid ":func:`on_guild_role_update`"
+msgstr ""
+
+#: ../../migrating.rst:511
+msgid ":func:`on_guild_emojis_update`"
+msgstr ""
+
+#: ../../migrating.rst:512
+msgid ":func:`on_guild_available`"
+msgstr ""
+
+#: ../../migrating.rst:513
+msgid ":func:`on_guild_unavailable`"
+msgstr ""
+
+#: ../../migrating.rst:516
+msgid "The :func:`on_voice_state_update` event has received an argument change."
+msgstr ""
+
+#: ../../migrating.rst:518 ../../migrating.rst:530 ../../migrating.rst:542
+#: ../../migrating.rst:602 ../../migrating.rst:911
+msgid "Before: ::"
+msgstr ""
+
+#: ../../migrating.rst:522 ../../migrating.rst:534 ../../migrating.rst:546
+#: ../../migrating.rst:614 ../../migrating.rst:917 ../../migrating.rst:1070
+msgid "After: ::"
+msgstr ""
+
+#: ../../migrating.rst:526
+msgid ""
+"Instead of two :class:`Member` objects, the new event takes one "
+":class:`Member` object and two :class:`VoiceState` objects."
+msgstr ""
+
+#: ../../migrating.rst:528
+msgid "The :func:`on_guild_emojis_update` event has received an argument change."
+msgstr ""
+
+#: ../../migrating.rst:538
+msgid ""
+"The first argument is now the :class:`Guild` that the emojis were updated"
+" from."
+msgstr ""
+
+#: ../../migrating.rst:540
+msgid "The :func:`on_member_ban` event has received an argument change as well:"
+msgstr ""
+
+#: ../../migrating.rst:550
+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 ""
+
+#: ../../migrating.rst:553
+msgid ""
+"The ``on_channel_`` events have received a type level split (see "
+":ref:`migrating_1_0_channel_split`)."
+msgstr ""
+
+#: ../../migrating.rst:557
+msgid "``on_channel_delete``"
+msgstr ""
+
+#: ../../migrating.rst:558
+msgid "``on_channel_create``"
+msgstr ""
+
+#: ../../migrating.rst:559
+msgid "``on_channel_update``"
+msgstr ""
+
+#: ../../migrating.rst:563
+msgid ":func:`on_guild_channel_delete`"
+msgstr ""
+
+#: ../../migrating.rst:564
+msgid ":func:`on_guild_channel_create`"
+msgstr ""
+
+#: ../../migrating.rst:565
+msgid ":func:`on_guild_channel_update`"
+msgstr ""
+
+#: ../../migrating.rst:566
+msgid ":func:`on_private_channel_delete`"
+msgstr ""
+
+#: ../../migrating.rst:567
+msgid ":func:`on_private_channel_create`"
+msgstr ""
+
+#: ../../migrating.rst:568
+msgid ":func:`on_private_channel_update`"
+msgstr ""
+
+#: ../../migrating.rst:570
+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 ""
+
+#: ../../migrating.rst:577
+msgid "Voice Changes"
+msgstr ""
+
+#: ../../migrating.rst:579
+msgid "Voice sending has gone through a complete redesign."
+msgstr ""
+
+#: ../../migrating.rst:581
+msgid "In particular:"
+msgstr ""
+
+#: ../../migrating.rst:583
+msgid ""
+"Connection is done through :meth:`VoiceChannel.connect` instead of "
+"``Client.join_voice_channel``."
+msgstr ""
+
+#: ../../migrating.rst:584
+msgid ""
+"You no longer create players and operate on them (you no longer store "
+"them)."
+msgstr ""
+
+#: ../../migrating.rst:585
+msgid ""
+"You instead request :class:`VoiceClient` to play an :class:`AudioSource` "
+"via :meth:`VoiceClient.play`."
+msgstr ""
+
+#: ../../migrating.rst:586
+msgid "There are different built-in :class:`AudioSource`\\s."
+msgstr ""
+
+#: ../../migrating.rst:588
+msgid ":class:`FFmpegPCMAudio` is the equivalent of ``create_ffmpeg_player``"
+msgstr ""
+
+#: ../../migrating.rst:590
+msgid ""
+"create_ffmpeg_player/create_stream_player/create_ytdl_player have all "
+"been removed."
+msgstr ""
+
+#: ../../migrating.rst:592
+msgid "The goal is to create :class:`AudioSource` instead."
+msgstr ""
+
+#: ../../migrating.rst:594
+msgid "Using :meth:`VoiceClient.play` will not return an ``AudioPlayer``."
+msgstr ""
+
+#: ../../migrating.rst:596
+msgid "Instead, it's \"flattened\" like :class:`User` -> :class:`Member` is."
+msgstr ""
+
+#: ../../migrating.rst:598
+msgid "The ``after`` parameter now takes a single parameter (the error)."
+msgstr ""
+
+#: ../../migrating.rst:600
+msgid "Basically:"
+msgstr ""
+
+#: ../../migrating.rst:624
+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 ""
+
+#: ../../migrating.rst:627
+msgid ""
+"For example, you can add a :class:`PCMVolumeTransformer` to allow "
+"changing the volume: ::"
+msgstr ""
+
+#: ../../migrating.rst:632
+msgid ""
+"An added benefit of the redesign is that it will be much more resilient "
+"towards reconnections:"
+msgstr ""
+
+#: ../../migrating.rst:634
+msgid ""
+"The voice websocket will now automatically re-connect and re-do the "
+"handshake when disconnected."
+msgstr ""
+
+#: ../../migrating.rst:635
+msgid ""
+"The initial connect handshake will now retry up to 5 times so you no "
+"longer get as many ``asyncio.TimeoutError``."
+msgstr ""
+
+#: ../../migrating.rst:636
+msgid "Audio will now stop and resume when a disconnect is found."
+msgstr ""
+
+#: ../../migrating.rst:638
+msgid "This includes changing voice regions etc."
+msgstr ""
+
+#: ../../migrating.rst:644
+msgid "Waiting For Events"
+msgstr ""
+
+#: ../../migrating.rst:646
+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 ""
+
+#: ../../migrating.rst:650
+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 ""
+
+#: ../../migrating.rst:652
+msgid "For example, to wait for a message: ::"
+msgstr ""
+
+#: ../../migrating.rst:663
+msgid ""
+"To facilitate multiple returns, :meth:`Client.wait_for` returns either a "
+"single argument, no arguments, or a tuple of arguments."
+msgstr ""
+
+#: ../../migrating.rst:666
+msgid "For example, to wait for a reaction: ::"
+msgstr ""
+
+#: ../../migrating.rst:672
+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 ""
+
+#: ../../migrating.rst:689
+msgid "Upgraded Dependencies"
+msgstr ""
+
+#: ../../migrating.rst:691
+msgid ""
+"Following v1.0 of the library, we've updated our requirements to "
+"``aiohttp`` v2.0 or higher."
+msgstr ""
+
+#: ../../migrating.rst:693
+msgid ""
+"Since this is a backwards incompatible change, it is recommended that you"
+" see the `changes "
+"<http://aiohttp.readthedocs.io/en/stable/changes.html#rc1-2017-03-15>`_ "
+"and the `migrating "
+"<http://aiohttp.readthedocs.io/en/stable/migration.html>`_ pages for "
+"details on the breaking changes in ``aiohttp``."
+msgstr ""
+
+#: ../../migrating.rst:698
+msgid ""
+"Of the most significant for common users is the removal of helper "
+"functions such as:"
+msgstr ""
+
+#: ../../migrating.rst:700
+msgid "``aiohttp.get``"
+msgstr ""
+
+#: ../../migrating.rst:701
+msgid "``aiohttp.post``"
+msgstr ""
+
+#: ../../migrating.rst:702
+msgid "``aiohttp.delete``"
+msgstr ""
+
+#: ../../migrating.rst:703
+msgid "``aiohttp.patch``"
+msgstr ""
+
+#: ../../migrating.rst:704
+msgid "``aiohttp.head``"
+msgstr ""
+
+#: ../../migrating.rst:705
+msgid "``aiohttp.put``"
+msgstr ""
+
+#: ../../migrating.rst:706
+msgid "``aiohttp.request``"
+msgstr ""
+
+#: ../../migrating.rst:708
+msgid "It is recommended that you create a session instead: ::"
+msgstr ""
+
+#: ../../migrating.rst:714
+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 ""
+
+#: ../../migrating.rst:718
+msgid "Sharding"
+msgstr ""
+
+#: ../../migrating.rst:720
+msgid ""
+"The library has received significant changes on how it handles sharding "
+"and now has sharding as a first-class citizen."
+msgstr ""
+
+#: ../../migrating.rst:722
+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 ""
+
+#: ../../migrating.rst:724
+msgid ""
+"This class allows you to use sharding without having to launch multiple "
+"processes or deal with complicated IPC."
+msgstr ""
+
+#: ../../migrating.rst:726
+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:729
+msgid "Usage is as simple as doing: ::"
+msgstr ""
+
+#: ../../migrating.rst:733
+msgid "instead of using :class:`Client`."
+msgstr ""
+
+#: ../../migrating.rst:735
+msgid ""
+"This will launch as many shards as your bot needs using the "
+"``/gateway/bot`` endpoint, which allocates about 1000 guilds per shard."
+msgstr ""
+
+#: ../../migrating.rst:738
+msgid ""
+"If you want more control over the sharding you can specify "
+"``shard_count`` and ``shard_ids``. ::"
+msgstr ""
+
+#: ../../migrating.rst:746
+msgid ""
+"For users of the command extension, there is also "
+":class:`~ext.commands.AutoShardedBot` which behaves similarly."
+msgstr ""
+
+#: ../../migrating.rst:749
+msgid "Connection Improvements"
+msgstr ""
+
+#: ../../migrating.rst:751
+msgid "In v1.0, the auto reconnection logic has been powered up significantly."
+msgstr ""
+
+#: ../../migrating.rst:753
+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 ""
+
+#: ../../migrating.rst:757
+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 ""
+
+#: ../../migrating.rst:763
+msgid "Command Extension Changes"
+msgstr ""
+
+#: ../../migrating.rst:765
+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 ""
+
+#: ../../migrating.rst:769
+msgid "Context Changes"
+msgstr ""
+
+#: ../../migrating.rst:771
+msgid ""
+"In v1.0, the :class:`.Context` has received a lot of changes with how "
+"it's retrieved and used."
+msgstr ""
+
+#: ../../migrating.rst:773
+msgid ""
+"The biggest change is that ``pass_context=True`` no longer exists, "
+":class:`.Context` is always passed. Ergo:"
+msgstr ""
+
+#: ../../migrating.rst:787
+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 ""
+
+#: ../../migrating.rst:793
+msgid ""
+"Since the :class:`~ext.commands.Context` is now by default passed, "
+"several shortcuts have been added:"
+msgstr ""
+
+#: ../../migrating.rst:795
+msgid "**New Shortcuts**"
+msgstr ""
+
+#: ../../migrating.rst:797
+msgid ""
+":attr:`~ext.commands.Context.author` is a shortcut for "
+"``ctx.message.author``."
+msgstr ""
+
+#: ../../migrating.rst:798
+msgid ""
+":attr:`~ext.commands.Context.guild` is a shortcut for "
+"``ctx.message.guild``."
+msgstr ""
+
+#: ../../migrating.rst:799
+msgid ""
+":attr:`~ext.commands.Context.channel` is a shortcut for "
+"``ctx.message.channel``."
+msgstr ""
+
+#: ../../migrating.rst:800
+msgid ""
+":attr:`~ext.commands.Context.me` is a shortcut for "
+"``ctx.message.guild.me`` or ``ctx.bot.user``."
+msgstr ""
+
+#: ../../migrating.rst:801
+msgid ""
+":attr:`~ext.commands.Context.voice_client` is a shortcut for "
+"``ctx.message.guild.voice_client``."
+msgstr ""
+
+#: ../../migrating.rst:803
+msgid "**New Functionality**"
+msgstr ""
+
+#: ../../migrating.rst:805
+msgid ":meth:`~.Context.reinvoke` to invoke a command again."
+msgstr ""
+
+#: ../../migrating.rst:807
+msgid "This is useful for bypassing cooldowns."
+msgstr ""
+
+#: ../../migrating.rst:810
+msgid "Subclassing Context"
+msgstr ""
+
+#: ../../migrating.rst:812
+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 ""
+
+#: ../../migrating.rst:815
+msgid "For example, if you want to add some functionality to the context:"
+msgstr ""
+
+#: ../../migrating.rst:824
+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 ""
+
+#: ../../migrating.rst:834
+msgid "Now inside your commands you will have access to your custom context:"
+msgstr ""
+
+#: ../../migrating.rst:845
+msgid "Removed Helpers"
+msgstr ""
+
+#: ../../migrating.rst:847
+msgid ""
+"With the new :class:`.Context` changes, a lot of message sending helpers "
+"have been removed."
+msgstr ""
+
+#: ../../migrating.rst:849
+msgid "For a full list of changes, see below:"
+msgstr ""
+
+#: ../../migrating.rst:854
+msgid "``Bot.say``"
+msgstr ""
+
+#: ../../migrating.rst:854 ../../migrating.rst:856
+msgid ":meth:`.Context.send`"
+msgstr ""
+
+#: ../../migrating.rst:856
+msgid "``Bot.upload``"
+msgstr ""
+
+#: ../../migrating.rst:858
+msgid "``Bot.whisper``"
+msgstr ""
+
+#: ../../migrating.rst:858
+msgid "``ctx.author.send``"
+msgstr ""
+
+#: ../../migrating.rst:860
+msgid "``Bot.type``"
+msgstr ""
+
+#: ../../migrating.rst:860
+msgid ":meth:`.Context.typing` or :meth:`.Context.trigger_typing`"
+msgstr ""
+
+#: ../../migrating.rst:862
+msgid "``Bot.reply``"
+msgstr ""
+
+#: ../../migrating.rst:862
+msgid "No replacement."
+msgstr ""
+
+#: ../../migrating.rst:866
+msgid "Command Changes"
+msgstr ""
+
+#: ../../migrating.rst:868
+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 ""
+
+#: ../../migrating.rst:871
+msgid ""
+"Another change is the removal of ``no_pm=True``. Instead, use the new "
+":func:`~ext.commands.guild_only` built-in check."
+msgstr ""
+
+#: ../../migrating.rst:874
+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 ""
+
+#: ../../migrating.rst:877
+msgid "Command instances have gained new attributes and properties:"
+msgstr ""
+
+#: ../../migrating.rst:879
+msgid ""
+":attr:`~ext.commands.Command.signature` to get the signature of the "
+"command."
+msgstr ""
+
+#: ../../migrating.rst:880
+msgid ":attr:`~.Command.usage`, an attribute to override the default signature."
+msgstr ""
+
+#: ../../migrating.rst:881
+msgid ""
+":attr:`~.Command.root_parent` to get the root parent group of a "
+"subcommand."
+msgstr ""
+
+#: ../../migrating.rst:883
+msgid ""
+"For :class:`~ext.commands.Group` and :class:`~ext.commands.Bot` the "
+"following changed:"
+msgstr ""
+
+#: ../../migrating.rst:885
+msgid "Changed :attr:`~.GroupMixin.commands` to be a ``set`` without aliases."
+msgstr ""
+
+#: ../../migrating.rst:887
+msgid ""
+"Use :attr:`~.GroupMixin.all_commands` to get the old ``dict`` with all "
+"commands."
+msgstr ""
+
+#: ../../migrating.rst:890
+msgid "Check Changes"
+msgstr ""
+
+#: ../../migrating.rst:892
+msgid ""
+"Prior to v1.0, :func:`~ext.commands.check`\\s could only be synchronous. "
+"As of v1.0 checks can now be coroutines."
+msgstr ""
+
+#: ../../migrating.rst:894
+msgid "Along with this change, a couple new checks were added."
+msgstr ""
+
+#: ../../migrating.rst:896
+msgid ""
+":func:`~ext.commands.guild_only` replaces the old ``no_pm=True`` "
+"functionality."
+msgstr ""
+
+#: ../../migrating.rst:897
+msgid ""
+":func:`~ext.commands.is_owner` uses the :meth:`Client.application_info` "
+"endpoint by default to fetch owner ID."
+msgstr ""
+
+#: ../../migrating.rst:899
+msgid ""
+"This is actually powered by a different function, "
+":meth:`~ext.commands.Bot.is_owner`."
+msgstr ""
+
+#: ../../migrating.rst:900
+msgid "You can set the owner ID yourself by setting :attr:`.Bot.owner_id`."
+msgstr ""
+
+#: ../../migrating.rst:902
+msgid ""
+":func:`~ext.commands.is_nsfw` checks if the channel the command is in is "
+"a NSFW channel."
+msgstr ""
+
+#: ../../migrating.rst:904
+msgid "This is powered by the new :meth:`TextChannel.is_nsfw` method."
+msgstr ""
+
+#: ../../migrating.rst:909
+msgid "All command extension events have changed."
+msgstr ""
+
+#: ../../migrating.rst:923
+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 ""
+
+#: ../../migrating.rst:928
+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 ""
+
+#: ../../migrating.rst:933
+msgid "Cog Changes"
+msgstr ""
+
+#: ../../migrating.rst:935
+msgid "Cog special methods have changed slightly."
+msgstr ""
+
+#: ../../migrating.rst:937
+msgid ""
+"The previous ``__check`` special method has been renamed to "
+"``__global_check`` to make it more clear that it's a global check."
+msgstr ""
+
+#: ../../migrating.rst:940
+msgid ""
+"To complement the new ``__global_check`` there is now a new "
+"``__local_check`` to facilitate a check that will run on every command in"
+" the cog. There is also a ``__global_check_once``, which is similar to a "
+"global check instead it is only called once per :meth:`.Bot.invoke` call "
+"rather than every :meth:`.Command.invoke` call. Practically, the "
+"difference is only for black-listing users or channels without constantly"
+" opening a database connection."
+msgstr ""
+
+#: ../../migrating.rst:945
+msgid ""
+"Cogs have also gained a ``__before_invoke`` and ``__after_invoke`` cog "
+"local before and after invocation hook, which can be seen in "
+":ref:`migrating_1_0_before_after_hook`."
+msgstr ""
+
+#: ../../migrating.rst:948
+msgid ""
+"The final addition is cog-local error handler, ``__error``, that is run "
+"on every command in the cog."
+msgstr ""
+
+#: ../../migrating.rst:950
+msgid "An example cog with every special method registered is as follows: ::"
+msgstr ""
+
+#: ../../migrating.rst:981
+msgid "Before and After Invocation Hooks"
+msgstr ""
+
+#: ../../migrating.rst:983
+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:986
+msgid ""
+"They take a single parameter, :class:`~ext.commands.Context` and they "
+"must be a coroutine."
+msgstr ""
+
+#: ../../migrating.rst:988
+msgid "They are on a global, per-cog, or per-command basis."
+msgstr ""
+
+#: ../../migrating.rst:1005
+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:1008
+msgid "The per-command registration is as follows: ::"
+msgstr ""
+
+#: ../../migrating.rst:1024
+msgid ""
+"The special cog method for these is ``__before_invoke`` and "
+"``__after_invoke``, e.g.: ::"
+msgstr ""
+
+#: ../../migrating.rst:1037
+msgid ""
+"To check if a command failed in the after invocation hook, you can use "
+":attr:`.Context.command_failed`."
+msgstr ""
+
+#: ../../migrating.rst:1040
+msgid "The invocation order is as follows:"
+msgstr ""
+
+#: ../../migrating.rst:1042
+msgid "Command local before invocation hook"
+msgstr ""
+
+#: ../../migrating.rst:1043
+msgid "Cog local before invocation hook"
+msgstr ""
+
+#: ../../migrating.rst:1044
+msgid "Global before invocation hook"
+msgstr ""
+
+#: ../../migrating.rst:1045
+msgid "The actual command"
+msgstr ""
+
+#: ../../migrating.rst:1046
+msgid "Command local after invocation hook"
+msgstr ""
+
+#: ../../migrating.rst:1047
+msgid "Cog local after invocation hook"
+msgstr ""
+
+#: ../../migrating.rst:1048
+msgid "Global after invocation hook"
+msgstr ""
+
+#: ../../migrating.rst:1051
+msgid "Converter Changes"
+msgstr ""
+
+#: ../../migrating.rst:1053
+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 ""
+
+#: ../../migrating.rst:1056
+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:1060
+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 ""
+
+#: ../../migrating.rst:1064
+msgid "Essentially, before: ::"
+msgstr ""
+
+#: ../../migrating.rst:1076
+msgid "The command framework also got a couple new converters:"
+msgstr ""
+
+#: ../../migrating.rst:1078
+msgid ""
+":class:`~ext.commands.clean_content` this is akin to "
+":attr:`Message.clean_content` which scrubs mentions."
+msgstr ""
+
+#: ../../migrating.rst:1079
+msgid ""
+":class:`~ext.commands.UserConverter` will now appropriately convert "
+":class:`User` only."
+msgstr ""
+
+#: ../../migrating.rst:1080
+msgid "``ChannelConverter`` is now split into two different converters."
+msgstr ""
+
+#: ../../migrating.rst:1082
+msgid ":class:`~ext.commands.TextChannelConverter` for :class:`TextChannel`."
+msgstr ""
+
+#: ../../migrating.rst:1083
+msgid ":class:`~ext.commands.VoiceChannelConverter` for :class:`VoiceChannel`."
+msgstr ""
+
diff --git a/docs/locale/ja/LC_MESSAGES/migrating_to_async.po b/docs/locale/ja/LC_MESSAGES/migrating_to_async.po
new file mode 100644
index 00000000..6f1c42f2
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/migrating_to_async.po
@@ -0,0 +1,431 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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_to_async.rst:8
+msgid "Migrating to v0.10.0"
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../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 ``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 ""
+
+#: ../../migrating_to_async.rst:18
+msgid "Below are all the other major changes from v0.9.0 to v0.10.0."
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 "
+"<https://docs.python.org/3/library/asyncio-task.html>`_. 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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../migrating_to_async.rst:131
+msgid "The affected attributes are as follows:"
+msgstr ""
+
+#: ../../migrating_to_async.rst:133
+msgid ":attr:`Client.servers`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:134
+msgid ":attr:`Client.private_channels`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:135
+msgid ":attr:`Server.channels`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:136
+msgid ":attr:`Server.members`"
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../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 `enumerations "
+"<https://docs.python.org/3/library/enum.html>`_ in places where it makes "
+"sense."
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../migrating_to_async.rst:196
+msgid ":attr:`User.avatar_url`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:198
+msgid "``User.mention()``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:198
+msgid ":attr:`User.mention`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:200
+msgid "``Channel.mention()``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:200
+msgid ":attr:`Channel.mention`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:202
+msgid "``Channel.is_default_channel()``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:202
+msgid ":attr:`Channel.is_default`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:204
+msgid "``Role.is_everyone()``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:204
+msgid ":attr:`Role.is_everyone`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:206
+msgid "``Server.get_default_role()``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:206
+msgid ":attr:`Server.default_role`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:208
+msgid "``Server.icon_url()``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:208
+msgid ":attr:`Server.icon_url`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:210
+msgid "``Server.get_default_channel()``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:210
+msgid ":attr:`Server.default_channel`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:212
+msgid "``Message.get_raw_mentions()``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:212
+msgid ":attr:`Message.raw_mentions`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:214
+msgid "``Message.get_raw_channel_mentions()``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:214
+msgid ":attr:`Message.raw_channel_mentions`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:218
+msgid "Member Management"
+msgstr ""
+
+#: ../../migrating_to_async.rst:220
+msgid "Functions that involved banning and kicking were changed."
+msgstr ""
+
+#: ../../migrating_to_async.rst:225
+msgid "``Client.ban(server, user)``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:225
+msgid "``Client.ban(member)``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:227
+msgid "``Client.kick(server, user)``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:227
+msgid "``Client.kick(member)``"
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../migrating_to_async.rst:240 ../../migrating_to_async.rst:263
+msgid ":meth:`Client.edit_channel_permissions`"
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../migrating_to_async.rst:257
+msgid "``tts``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:259
+msgid ":meth:`Client.logs_from`"
+msgstr ""
+
+#: ../../migrating_to_async.rst:259
+msgid "``before``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:260
+msgid "``after``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:262
+msgid "``allow``"
+msgstr ""
+
+#: ../../migrating_to_async.rst:263
+msgid "``deny``"
+msgstr ""
+
+#: ../../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 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`."
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../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
new file mode 100644
index 00000000..f4ba1717
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/quickstart.po
@@ -0,0 +1,120 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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"
+
+#: ../../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 ""
+
+#: ../../quickstart.rst:12
+msgid "A Minimal Bot"
+msgstr ""
+
+#: ../../quickstart.rst:14
+msgid ""
+"Let's make a bot that replies to a specific message and walk you through "
+"it."
+msgstr ""
+
+#: ../../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 "
+"``discord.py`` as that'll conflict with the library."
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../quickstart.rst:45
+msgid ""
+"Next, we create an instance of a :class:`Client`. This client is our "
+"connection to Discord."
+msgstr ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../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 ""
+
+#: ../../quickstart.rst:64
+msgid "On Windows:"
+msgstr ""
+
+#: ../../quickstart.rst:70
+msgid "On other systems:"
+msgstr ""
+
+#: ../../quickstart.rst:76
+msgid "Now you can try playing around with your basic bot."
+msgstr ""
+
diff --git a/docs/locale/ja/LC_MESSAGES/sphinx.po b/docs/locale/ja/LC_MESSAGES/sphinx.po
new file mode 100644
index 00000000..86e37aa3
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/sphinx.po
@@ -0,0 +1,26 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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"
+
+#: ../../_templates/layout.html:24
+#, python-format
+msgid ""
+"Created using <a href=\"http://sphinx-doc.org/\">Sphinx</a> "
+"%(sphinx_version)s."
+msgstr ""
+
diff --git a/docs/locale/ja/LC_MESSAGES/whats_new.po b/docs/locale/ja/LC_MESSAGES/whats_new.po
new file mode 100644
index 00000000..b094a1f7
--- /dev/null
+++ b/docs/locale/ja/LC_MESSAGES/whats_new.po
@@ -0,0 +1,939 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2017, Rapptz
+# This file is distributed under the same license as the discord.py package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: discord.py 1.0.0a\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-31 14:21-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\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:6
+msgid "Changelog"
+msgstr ""
+
+#: ../../whats_new.rst:8
+msgid ""
+"This page keeps a detailed human friendly rendering of what's new and "
+"changed in specific versions."
+msgstr ""
+
+#: ../../whats_new.rst:14
+msgid "v0.16.6"
+msgstr ""
+
+#: ../../whats_new.rst:17 ../../whats_new.rst:33 ../../whats_new.rst:53
+#: ../../whats_new.rst:101 ../../whats_new.rst:118 ../../whats_new.rst:155
+#: ../../whats_new.rst:191 ../../whats_new.rst:243 ../../whats_new.rst:287
+#: ../../whats_new.rst:353
+msgid "Bug Fixes"
+msgstr ""
+
+#: ../../whats_new.rst:19
+msgid "Fix issue with :meth:`Client.create_server` that made it stop working."
+msgstr ""
+
+#: ../../whats_new.rst:20
+msgid "Fix main thread being blocked upon calling ``StreamPlayer.stop``."
+msgstr ""
+
+#: ../../whats_new.rst:21
+msgid "Handle HEARTBEAT_ACK and resume gracefully when it occurs."
+msgstr ""
+
+#: ../../whats_new.rst:22
+msgid ""
+"Fix race condition when pre-emptively rate limiting that caused releasing"
+" an already released lock."
+msgstr ""
+
+#: ../../whats_new.rst:23
+msgid "Fix invalid state errors when immediately cancelling a coroutine."
+msgstr ""
+
+#: ../../whats_new.rst:28
+msgid "v0.16.1"
+msgstr ""
+
+#: ../../whats_new.rst:30
+msgid ""
+"This release is just a bug fix release with some better rate limit "
+"implementation."
+msgstr ""
+
+#: ../../whats_new.rst:35
+msgid "Servers are now properly chunked for user bots."
+msgstr ""
+
+#: ../../whats_new.rst:36
+msgid "The CDN URL is now used instead of the API URL for assets."
+msgstr ""
+
+#: ../../whats_new.rst:37
+msgid "Rate limit implementation now tries to use header information if possible."
+msgstr ""
+
+#: ../../whats_new.rst:38
+msgid "Event loop is now properly propagated (:issue:`420`)"
+msgstr ""
+
+#: ../../whats_new.rst:39
+msgid ""
+"Allow falsey values in :meth:`Client.send_message` and "
+":meth:`Client.send_file`."
+msgstr ""
+
+#: ../../whats_new.rst:44
+msgid "v0.16.0"
+msgstr ""
+
+#: ../../whats_new.rst:47 ../../whats_new.rst:79 ../../whats_new.rst:112
+#: ../../whats_new.rst:141 ../../whats_new.rst:168 ../../whats_new.rst:204
+#: ../../whats_new.rst:264 ../../whats_new.rst:310
+msgid "New Features"
+msgstr ""
+
+#: ../../whats_new.rst:49
+msgid ""
+"Add :attr:`Channel.overwrites` to get all the permission overwrites of a "
+"channel."
+msgstr ""
+
+#: ../../whats_new.rst:50
+msgid "Add :attr:`Server.features` to get information about partnered servers."
+msgstr ""
+
+#: ../../whats_new.rst:55
+msgid ""
+"Timeout when waiting for offline members while triggering "
+":func:`on_ready`."
+msgstr ""
+
+#: ../../whats_new.rst:57
+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:60
+msgid "Discard null sequences in the gateway."
+msgstr ""
+
+#: ../../whats_new.rst:62
+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:69
+msgid "v0.15.1"
+msgstr ""
+
+#: ../../whats_new.rst:71
+msgid "Fix crash on duplicate or out of order reactions."
+msgstr ""
+
+#: ../../whats_new.rst:76
+msgid "v0.15.0"
+msgstr ""
+
+#: ../../whats_new.rst:81
+msgid "Rich Embeds for messages are now supported."
+msgstr ""
+
+#: ../../whats_new.rst:83
+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:84
+msgid "Add :meth:`Client.clear_reactions` to remove all reactions from a message."
+msgstr ""
+
+#: ../../whats_new.rst:85
+msgid ""
+"Add support for MESSAGE_REACTION_REMOVE_ALL event, under "
+":func:`on_reaction_clear`."
+msgstr ""
+
+#: ../../whats_new.rst:86
+msgid ""
+"Add :meth:`Permissions.update` and :meth:`PermissionOverwrite.update` for"
+" bulk permission updates."
+msgstr ""
+
+#: ../../whats_new.rst:88
+msgid ""
+"This allows you to use e.g. ``p.update(read_messages=True, "
+"send_messages=False)`` in a single line."
+msgstr ""
+
+#: ../../whats_new.rst:89
+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:91
+msgid "For the command extension, the following changed:"
+msgstr ""
+
+#: ../../whats_new.rst:93
+msgid "``Context`` is no longer slotted to facilitate setting dynamic attributes."
+msgstr ""
+
+#: ../../whats_new.rst:98
+msgid "v0.14.3"
+msgstr ""
+
+#: ../../whats_new.rst:103
+msgid "Fix crash when dealing with MESSAGE_REACTION_REMOVE"
+msgstr ""
+
+#: ../../whats_new.rst:104
+msgid "Fix incorrect buckets for reactions."
+msgstr ""
+
+#: ../../whats_new.rst:109
+msgid "v0.14.2"
+msgstr ""
+
+#: ../../whats_new.rst:115
+msgid ""
+":meth:`Client.wait_for_reaction` now returns a namedtuple with "
+"``reaction`` and ``user`` attributes."
+msgstr ""
+
+#: ../../whats_new.rst:115
+msgid ""
+"This is for better support in the case that ``None`` is returned since "
+"tuple unpacking can lead to issues."
+msgstr ""
+
+#: ../../whats_new.rst:120
+msgid ""
+"Fix bug that disallowed ``None`` to be passed for ``emoji`` parameter in "
+":meth:`Client.wait_for_reaction`."
+msgstr ""
+
+#: ../../whats_new.rst:125
+msgid "v0.14.1"
+msgstr ""
+
+#: ../../whats_new.rst:128
+msgid "Bug fixes"
+msgstr ""
+
+#: ../../whats_new.rst:131
+msgid "Fix bug with `Reaction` not being visible at import."
+msgstr ""
+
+#: ../../whats_new.rst:131
+msgid "This was also breaking the documentation."
+msgstr ""
+
+#: ../../whats_new.rst:136
+msgid "v0.14.0"
+msgstr ""
+
+#: ../../whats_new.rst:138
+msgid "This update adds new API features and a couple of bug fixes."
+msgstr ""
+
+#: ../../whats_new.rst:143
+msgid ""
+"Add support for Manage Webhooks permission under "
+":attr:`Permissions.manage_webhooks`"
+msgstr ""
+
+#: ../../whats_new.rst:144
+msgid "Add support for ``around`` argument in 3.5+ :meth:`Client.logs_from`."
+msgstr ""
+
+#: ../../whats_new.rst:152
+msgid "Add support for reactions."
+msgstr ""
+
+#: ../../whats_new.rst:146
+msgid ":meth:`Client.add_reaction` to add a reactions"
+msgstr ""
+
+#: ../../whats_new.rst:147
+msgid ":meth:`Client.remove_reaction` to remove a reaction."
+msgstr ""
+
+#: ../../whats_new.rst:148
+msgid ""
+":meth:`Client.get_reaction_users` to get the users that reacted to a "
+"message."
+msgstr ""
+
+#: ../../whats_new.rst:149
+msgid ":attr:`Permissions.add_reactions` permission bit support."
+msgstr ""
+
+#: ../../whats_new.rst:150
+msgid "Two new events, :func:`on_reaction_add` and :func:`on_reaction_remove`."
+msgstr ""
+
+#: ../../whats_new.rst:151
+msgid ":attr:`Message.reactions` to get reactions from a message."
+msgstr ""
+
+#: ../../whats_new.rst:152
+msgid ":meth:`Client.wait_for_reaction` to wait for a reaction from a user."
+msgstr ""
+
+#: ../../whats_new.rst:157
+msgid "Fix bug with Paginator still allowing lines that are too long."
+msgstr ""
+
+#: ../../whats_new.rst:158
+msgid "Fix the :attr:`Permissions.manage_emojis` bit being incorrect."
+msgstr ""
+
+#: ../../whats_new.rst:163
+msgid "v0.13.0"
+msgstr ""
+
+#: ../../whats_new.rst:165
+msgid "This is a backwards compatible update with new features."
+msgstr ""
+
+#: ../../whats_new.rst:170
+msgid "Add the ability to manage emojis."
+msgstr ""
+
+#: ../../whats_new.rst:172
+msgid ":meth:`Client.create_custom_emoji` to create new emoji."
+msgstr ""
+
+#: ../../whats_new.rst:173
+msgid ":meth:`Client.edit_custom_emoji` to edit an old emoji."
+msgstr ""
+
+#: ../../whats_new.rst:174
+msgid ":meth:`Client.delete_custom_emoji` to delete a custom emoji."
+msgstr ""
+
+#: ../../whats_new.rst:175
+msgid "Add new :attr:`Permissions.manage_emojis` toggle."
+msgstr ""
+
+#: ../../whats_new.rst:177
+msgid "This applies for :class:`PermissionOverwrite` as well."
+msgstr ""
+
+#: ../../whats_new.rst:178
+msgid "Add new statuses for :class:`Status`."
+msgstr ""
+
+#: ../../whats_new.rst:180
+msgid ""
+":attr:`Status.dnd` (aliased with :attr:`Status.do_not_disturb`\\) for Do "
+"Not Disturb."
+msgstr ""
+
+#: ../../whats_new.rst:181
+msgid ""
+":attr:`Status.invisible` for setting your status to invisible (please see"
+" the docs for a caveat)."
+msgstr ""
+
+#: ../../whats_new.rst:182
+msgid "Deprecate :meth:`Client.change_status`"
+msgstr ""
+
+#: ../../whats_new.rst:184
+msgid ""
+"Use :meth:`Client.change_presence` instead for better more up to date "
+"functionality."
+msgstr ""
+
+#: ../../whats_new.rst:185
+msgid "This method is subject for removal in a future API version."
+msgstr ""
+
+#: ../../whats_new.rst:186
+msgid ""
+"Add :meth:`Client.change_presence` for changing your status with the new "
+"Discord API change."
+msgstr ""
+
+#: ../../whats_new.rst:188
+msgid ""
+"This is the only method that allows changing your status to invisible or "
+"do not disturb."
+msgstr ""
+
+#: ../../whats_new.rst:193
+msgid "Paginator pages do not exceed their max_size anymore (:issue:`340`)"
+msgstr ""
+
+#: ../../whats_new.rst:194
+msgid ""
+"Do Not Disturb users no longer show up offline due to the new "
+":class:`Status` changes."
+msgstr ""
+
+#: ../../whats_new.rst:199
+msgid "v0.12.0"
+msgstr ""
+
+#: ../../whats_new.rst:201
+msgid "This is a bug fix update that also comes with new features."
+msgstr ""
+
+#: ../../whats_new.rst:206
+msgid "Add custom emoji support."
+msgstr ""
+
+#: ../../whats_new.rst:208
+msgid "Adds a new class to represent a custom Emoji named :class:`Emoji`"
+msgstr ""
+
+#: ../../whats_new.rst:209
+msgid "Adds a utility generator function, :meth:`Client.get_all_emojis`."
+msgstr ""
+
+#: ../../whats_new.rst:210
+msgid "Adds a list of emojis on a server, :attr:`Server.emojis`."
+msgstr ""
+
+#: ../../whats_new.rst:211
+msgid "Adds a new event, :func:`on_server_emojis_update`."
+msgstr ""
+
+#: ../../whats_new.rst:212
+msgid "Add new server regions to :class:`ServerRegion`"
+msgstr ""
+
+#: ../../whats_new.rst:214
+msgid ":attr:`ServerRegion.eu_central` and :attr:`ServerRegion.eu_west`."
+msgstr ""
+
+#: ../../whats_new.rst:215
+msgid ""
+"Add support for new pinned system message under "
+":attr:`MessageType.pins_add`."
+msgstr ""
+
+#: ../../whats_new.rst:216
+msgid ""
+"Add order comparisons for :class:`Role` to allow it to be compared with "
+"regards to hierarchy."
+msgstr ""
+
+#: ../../whats_new.rst:218
+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:220
+msgid "Add :attr:`Server.role_hierarchy` to get the server's role hierarchy."
+msgstr ""
+
+#: ../../whats_new.rst:221
+msgid ""
+"Add :attr:`Member.server_permissions` to get a member's server "
+"permissions without their channel specific overwrites."
+msgstr ""
+
+#: ../../whats_new.rst:222
+msgid "Add :meth:`Client.get_user_info` to retrieve a user's info from their ID."
+msgstr ""
+
+#: ../../whats_new.rst:223
+msgid ""
+"Add a new ``Player`` property, ``Player.error`` to fetch the error that "
+"stopped the player."
+msgstr ""
+
+#: ../../whats_new.rst:225
+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:226
+msgid "Add support for server verification levels."
+msgstr ""
+
+#: ../../whats_new.rst:228
+msgid "Adds a new enum called :class:`VerificationLevel`."
+msgstr ""
+
+#: ../../whats_new.rst:229
+msgid ""
+"This enum can be used in :meth:`Client.edit_server` under the "
+"``verification_level`` keyword argument."
+msgstr ""
+
+#: ../../whats_new.rst:230
+msgid "Adds a new attribute in the server, :attr:`Server.verification_level`."
+msgstr ""
+
+#: ../../whats_new.rst:231
+msgid ""
+"Add :attr:`Server.voice_client` shortcut property for "
+":meth:`Client.voice_client_in`."
+msgstr ""
+
+#: ../../whats_new.rst:233
+msgid ""
+"This is technically old (was added in v0.10.0) but was undocumented until"
+" v0.12.0."
+msgstr ""
+
+#: ../../whats_new.rst:235 ../../whats_new.rst:281
+msgid "For the command extension, the following are new:"
+msgstr ""
+
+#: ../../whats_new.rst:237
+msgid "Add custom emoji converter."
+msgstr ""
+
+#: ../../whats_new.rst:238
+msgid "All default converters that can take IDs can now convert via ID."
+msgstr ""
+
+#: ../../whats_new.rst:239
+msgid "Add coroutine support for ``Bot.command_prefix``."
+msgstr ""
+
+#: ../../whats_new.rst:240
+msgid "Add a method to reset command cooldown."
+msgstr ""
+
+#: ../../whats_new.rst:245
+msgid ""
+"Fix bug that caused the library to not work with the latest "
+"``websockets`` library."
+msgstr ""
+
+#: ../../whats_new.rst:246
+msgid "Fix bug that leaked keep alive threads (:issue:`309`)"
+msgstr ""
+
+#: ../../whats_new.rst:247
+msgid ""
+"Fix bug that disallowed :class:`ServerRegion` from being used in "
+":meth:`Client.edit_server`."
+msgstr ""
+
+#: ../../whats_new.rst:248
+msgid ""
+"Fix bug in :meth:`Channel.permissions_for` that caused permission "
+"resolution to happen out of order."
+msgstr ""
+
+#: ../../whats_new.rst:249
+msgid ""
+"Fix bug in :attr:`Member.top_role` that did not account for same-position"
+" roles."
+msgstr ""
+
+#: ../../whats_new.rst:254
+msgid "v0.11.0"
+msgstr ""
+
+#: ../../whats_new.rst:256
+msgid ""
+"This is a minor bug fix update that comes with a gateway update (v5 -> "
+"v6)."
+msgstr ""
+
+#: ../../whats_new.rst:259
+msgid "Breaking Changes"
+msgstr ""
+
+#: ../../whats_new.rst:261
+msgid ""
+"``Permissions.change_nicknames`` has been renamed to "
+":attr:`Permissions.change_nickname` to match the UI."
+msgstr ""
+
+#: ../../whats_new.rst:266
+msgid "Add the ability to prune members via :meth:`Client.prune_members`."
+msgstr ""
+
+#: ../../whats_new.rst:267
+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:268
+msgid "Add :attr:`AppInfo.owner` attribute."
+msgstr ""
+
+#: ../../whats_new.rst:269
+msgid "Add :class:`CallMessage` for group voice call messages."
+msgstr ""
+
+#: ../../whats_new.rst:270
+msgid "Add :class:`GroupCall` for group voice call information."
+msgstr ""
+
+#: ../../whats_new.rst:271
+msgid "Add :attr:`Message.system_content` to get the system message."
+msgstr ""
+
+#: ../../whats_new.rst:272
+msgid ""
+"Add the remaining VIP servers and the Brazil servers into "
+":class:`ServerRegion` enum."
+msgstr ""
+
+#: ../../whats_new.rst:273
+msgid ""
+"Add ``stderr`` argument to :meth:`VoiceClient.create_ffmpeg_player` to "
+"redirect stderr."
+msgstr ""
+
+#: ../../whats_new.rst:274
+msgid ""
+"The library now handles implicit permission resolution in "
+":meth:`Channel.permissions_for`."
+msgstr ""
+
+#: ../../whats_new.rst:275
+msgid "Add :attr:`Server.mfa_level` to query a server's 2FA requirement."
+msgstr ""
+
+#: ../../whats_new.rst:276
+msgid "Add :attr:`Permissions.external_emojis` permission."
+msgstr ""
+
+#: ../../whats_new.rst:277
+msgid "Add :attr:`Member.voice` attribute that refers to a :class:`VoiceState`."
+msgstr ""
+
+#: ../../whats_new.rst:279
+msgid ""
+"For backwards compatibility, the member object will have properties "
+"mirroring the old behaviour."
+msgstr ""
+
+#: ../../whats_new.rst:283
+msgid "Command cooldown system with the ``cooldown`` decorator."
+msgstr ""
+
+#: ../../whats_new.rst:284
+msgid ""
+"``UserInputError`` exception for the hierarchy for user input related "
+"errors."
+msgstr ""
+
+#: ../../whats_new.rst:289
+msgid ":attr:`Client.email` is now saved when using a token for user accounts."
+msgstr ""
+
+#: ../../whats_new.rst:290
+msgid "Fix issue when removing roles out of order."
+msgstr ""
+
+#: ../../whats_new.rst:291
+msgid "Fix bug where discriminators would not update."
+msgstr ""
+
+#: ../../whats_new.rst:292
+msgid ""
+"Handle cases where ``HEARTBEAT`` opcode is received. This caused bots to "
+"disconnect seemingly randomly."
+msgstr ""
+
+#: ../../whats_new.rst:294
+msgid "For the command extension, the following bug fixes apply:"
+msgstr ""
+
+#: ../../whats_new.rst:296
+msgid "``Bot.check`` decorator is actually a decorator not requiring parentheses."
+msgstr ""
+
+#: ../../whats_new.rst:297
+msgid ""
+"``Bot.remove_command`` and ``Group.remove_command`` no longer throw if "
+"the command doesn't exist."
+msgstr ""
+
+#: ../../whats_new.rst:298
+msgid "Command names are no longer forced to be ``lower()``."
+msgstr ""
+
+#: ../../whats_new.rst:299
+msgid ""
+"Fix a bug where Member and User converters failed to work in private "
+"message contexts."
+msgstr ""
+
+#: ../../whats_new.rst:300
+msgid ""
+"``HelpFormatter`` now ignores hidden commands when deciding the maximum "
+"width."
+msgstr ""
+
+#: ../../whats_new.rst:305
+msgid "v0.10.0"
+msgstr ""
+
+#: ../../whats_new.rst:307
+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:312
+msgid ""
+"The library is now fully ``asyncio`` compatible, allowing you to write "
+"non-blocking code a lot more easily."
+msgstr ""
+
+#: ../../whats_new.rst:313
+msgid "The library now fully handles 429s and unconditionally retries on 502s."
+msgstr ""
+
+#: ../../whats_new.rst:314
+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:315
+msgid ""
+"Two new exception types, :exc:`Forbidden` and :exc:`NotFound` to denote "
+"permission errors or 404 errors."
+msgstr ""
+
+#: ../../whats_new.rst:316
+msgid "Added :meth:`Client.delete_invite` to revoke invites."
+msgstr ""
+
+#: ../../whats_new.rst:317
+msgid ""
+"Added support for sending voice. Check :class:`VoiceClient` for more "
+"details."
+msgstr ""
+
+#: ../../whats_new.rst:318
+msgid ""
+"Added :meth:`Client.wait_for_message` coroutine to aid with follow up "
+"commands."
+msgstr ""
+
+#: ../../whats_new.rst:319
+msgid ""
+"Added :data:`version_info` named tuple to check version info of the "
+"library."
+msgstr ""
+
+#: ../../whats_new.rst:320
+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:322
+msgid ""
+"New utility function, :func:`discord.utils.get` to simplify retrieval of "
+"items based on attributes."
+msgstr ""
+
+#: ../../whats_new.rst:323
+msgid ""
+"All data classes now support ``!=``, ``==``, ``hash(obj)`` and "
+"``str(obj)``."
+msgstr ""
+
+#: ../../whats_new.rst:324
+msgid "Added :meth:`Client.get_bans` to get banned members from a server."
+msgstr ""
+
+#: ../../whats_new.rst:325
+msgid ""
+"Added :meth:`Client.invites_from` to get currently active invites in a "
+"server."
+msgstr ""
+
+#: ../../whats_new.rst:326
+msgid ""
+"Added :attr:`Server.me` attribute to get the :class:`Member` version of "
+":attr:`Client.user`."
+msgstr ""
+
+#: ../../whats_new.rst:327
+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:328
+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:329
+msgid ""
+"Added a way to remove the messages of the user that just got banned in "
+":meth:`Client.ban`."
+msgstr ""
+
+#: ../../whats_new.rst:330
+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:331
+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:332
+msgid ""
+"Add :class:`discord.Game` to represent any game with custom text to send "
+"to :meth:`Client.change_status`."
+msgstr ""
+
+#: ../../whats_new.rst:333
+msgid "Add :attr:`Message.nonce` attribute."
+msgstr ""
+
+#: ../../whats_new.rst:334
+msgid ""
+"Add :meth:`Member.permissions_in` as another way of doing "
+":meth:`Channel.permissions_for`."
+msgstr ""
+
+#: ../../whats_new.rst:335
+msgid "Add :meth:`Client.move_member` to move a member to another voice channel."
+msgstr ""
+
+#: ../../whats_new.rst:336
+msgid "You can now create a server via :meth:`Client.create_server`."
+msgstr ""
+
+#: ../../whats_new.rst:337
+msgid "Added :meth:`Client.edit_server` to edit existing servers."
+msgstr ""
+
+#: ../../whats_new.rst:338
+msgid ""
+"Added :meth:`Client.server_voice_state` to server mute or server deafen a"
+" member."
+msgstr ""
+
+#: ../../whats_new.rst:339
+msgid "If you are being rate limited, the library will now handle it for you."
+msgstr ""
+
+#: ../../whats_new.rst:340
+msgid ""
+"Add :func:`on_member_ban` and :func:`on_member_unban` events that trigger"
+" when a member is banned/unbanned."
+msgstr ""
+
+#: ../../whats_new.rst:343
+msgid "Performance Improvements"
+msgstr ""
+
+#: ../../whats_new.rst:345
+msgid ""
+"All data classes now use ``__slots__`` which greatly reduce the memory "
+"usage of things kept in cache."
+msgstr ""
+
+#: ../../whats_new.rst:346
+msgid ""
+"Due to the usage of ``asyncio``, the CPU usage of the library has gone "
+"down significantly."
+msgstr ""
+
+#: ../../whats_new.rst:347
+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:348
+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:350
+msgid ""
+"While minor, change regex from ``\\d+`` to ``[0-9]+`` to avoid "
+"unnecessary unicode character lookups."
+msgstr ""
+
+#: ../../whats_new.rst:355
+msgid "Fix bug where guilds being updated did not edit the items in cache."
+msgstr ""
+
+#: ../../whats_new.rst:356
+msgid ""
+"Fix bug where ``member.roles`` were empty upon joining instead of having "
+"the ``@everyone`` role."
+msgstr ""
+
+#: ../../whats_new.rst:357
+msgid ""
+"Fix bug where :meth:`Role.is_everyone` was not being set properly when "
+"the role was being edited."
+msgstr ""
+
+#: ../../whats_new.rst:358
+msgid ""
+":meth:`Client.logs_from` now handles cases where limit > 100 to sidestep "
+"the discord API limitation."
+msgstr ""
+
+#: ../../whats_new.rst:359
+msgid "Fix bug where a role being deleted would trigger a ``ValueError``."
+msgstr ""
+
+#: ../../whats_new.rst:360
+msgid ""
+"Fix bug where :meth:`Permissions.kick_members` and "
+":meth:`Permissions.ban_members` were flipped."
+msgstr ""
+
+#: ../../whats_new.rst:361
+msgid ""
+"Mentions are now triggered normally. This was changed due to the way "
+"discord handles it internally."
+msgstr ""
+
+#: ../../whats_new.rst:362
+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:364
+msgid ""
+"Unavailable servers were not being added into cache, this has been "
+"corrected."
+msgstr ""
+