Add stubs for Japanese translations.
This commit is contained in:
parent
0c446398d1
commit
18385dc49f
1
.gitignore
vendored
1
.gitignore
vendored
@ -9,3 +9,4 @@ docs/_build
|
||||
*.png
|
||||
*.jpg
|
||||
*.flac
|
||||
*.mo
|
||||
|
@ -97,6 +97,9 @@ release = version
|
||||
# Usually you set "language" from the command line for these cases.
|
||||
language = None
|
||||
|
||||
locale_dirs = ['locale/']
|
||||
gettext_compact = False
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#today = ''
|
||||
|
10157
docs/locale/ja/LC_MESSAGES/api.po
Normal file
10157
docs/locale/ja/LC_MESSAGES/api.po
Normal file
File diff suppressed because it is too large
Load Diff
196
docs/locale/ja/LC_MESSAGES/discord.po
Normal file
196
docs/locale/ja/LC_MESSAGES/discord.po
Normal file
@ -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 <LL@li.org>\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 ""
|
||||
|
3100
docs/locale/ja/LC_MESSAGES/ext/commands/api.po
Normal file
3100
docs/locale/ja/LC_MESSAGES/ext/commands/api.po
Normal file
File diff suppressed because it is too large
Load Diff
665
docs/locale/ja/LC_MESSAGES/ext/commands/commands.po
Normal file
665
docs/locale/ja/LC_MESSAGES/ext/commands/commands.po
Normal file
@ -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 <LL@li.org>\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 ""
|
||||
|
33
docs/locale/ja/LC_MESSAGES/ext/commands/index.po
Normal file
33
docs/locale/ja/LC_MESSAGES/ext/commands/index.po
Normal file
@ -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 <LL@li.org>\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 ""
|
||||
|
405
docs/locale/ja/LC_MESSAGES/faq.po
Normal file
405
docs/locale/ja/LC_MESSAGES/faq.po
Normal file
@ -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 <LL@li.org>\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 ""
|
||||
|
87
docs/locale/ja/LC_MESSAGES/index.po
Normal file
87
docs/locale/ja/LC_MESSAGES/index.po
Normal file
@ -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 <LL@li.org>\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 ""
|
||||
|
149
docs/locale/ja/LC_MESSAGES/intro.po
Normal file
149
docs/locale/ja/LC_MESSAGES/intro.po
Normal file
@ -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 <LL@li.org>\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 ""
|
||||
|
65
docs/locale/ja/LC_MESSAGES/logging.po
Normal file
65
docs/locale/ja/LC_MESSAGES/logging.po
Normal file
@ -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 <LL@li.org>\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 ""
|
||||
|
2100
docs/locale/ja/LC_MESSAGES/migrating.po
Normal file
2100
docs/locale/ja/LC_MESSAGES/migrating.po
Normal file
File diff suppressed because it is too large
Load Diff
431
docs/locale/ja/LC_MESSAGES/migrating_to_async.po
Normal file
431
docs/locale/ja/LC_MESSAGES/migrating_to_async.po
Normal file
@ -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 <LL@li.org>\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 ""
|
||||
|
120
docs/locale/ja/LC_MESSAGES/quickstart.po
Normal file
120
docs/locale/ja/LC_MESSAGES/quickstart.po
Normal file
@ -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 <LL@li.org>\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 ""
|
||||
|
26
docs/locale/ja/LC_MESSAGES/sphinx.po
Normal file
26
docs/locale/ja/LC_MESSAGES/sphinx.po
Normal file
@ -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 <LL@li.org>\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 ""
|
||||
|
939
docs/locale/ja/LC_MESSAGES/whats_new.po
Normal file
939
docs/locale/ja/LC_MESSAGES/whats_new.po
Normal file
@ -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 <LL@li.org>\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 ""
|
||||
|
Loading…
x
Reference in New Issue
Block a user