Compare commits

..

397 Commits

Author SHA1 Message Date
jack1142
512ff7a4b5 Version bump to 3.4.6 (#4824) 2021-02-16 20:22:43 +01:00
jack1142
6881b20c20 Red 3.4.6 - Changelog (#4743)
* Fix some stuff from previous changelogs

* Add 3.4.6 section

* PR 4579

* PR 4710

* PR 4649 (issue 3931)

* PR 4714

* PR 4728

* PR 4740

* PR 4741

* PR 4738 (issue 4405)

* PR 4599

* PR 4733

* PR 4739 (issue 4676)

* PR 4742 (issue 4731)

* PR 3870

* PR 3833 (issue 3699)

* PR 4426

* PR 4715

* PR 4563 (issue 3752)

* PR 3040

* PR 4667

* PR 4726 (issue 4702)

* PR 4647

* PR 4709

* PR 4694 (issue 4693)

* PR 4745

* PR 4749

* PR 4768 (issue 4767)

* PR 4697

* PR 4770

* PR 4772 (issue 4771)

* PR 4758 (issue 4661)

* PR 4705, 4748, 4750, 4788, 4810

* PR 4572 (issue 3777)

* PR 4791

* PR 4754

* PR 4805

* PR 4778

* PR 4800

* PR 4801 (issue 4789)

* PR 4814

* PR 4815

* PR 4819 (issue 4818)

* PR 4822

* Revert entries for unmerged PRs (3833, 4742, 4801)

* PR 4785

* PR 4799

* Add list of contributors

* Add release date

* PR 4763, 4792

* Wew, I almost forgot!

* PR 4660

* Apply suggestions from code review

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/changelog_3_4_0.rst

* Update docs/changelog_3_4_0.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/changelog_3_4_0.rst

* Add Wyn

* What do you think of that, Flame?

* PR 4827

* Jack is dumb

* Jack is dumb 2

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2021-02-16 20:22:22 +01:00
github-actions[bot]
e80a00ec1b [i18n] Automated Crowdin downstream (#4829)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-02-16 19:22:05 +00:00
Flame442
7b04c04551 [Mod] Add two new settings to disable name/nickname tracking (#4799)
* Add default settings for name tracking

* Add configuration command for name tracking

* Check the track names settings before tracking

* *grumble*

* Fix permissions levels

* Update settings.py

* Use clean_prefix in inline, and don't use f-strings in `_()`

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-02-16 20:13:37 +01:00
PhenoM4n4n
62411bc2a5 Add a command for deleting usernames and nicknames to Mod cog (#4827)
* mod delete names

* sTyLe fOrMAttInG

* Remove `[p]deletemodkeys` and have `[p]deletenames` remove empty keys

* Rename `[p]deletenames` to `[p]modset deletenames`

* Fix wrong variable being used

* Add confirmation to avoid mistakes

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-02-16 19:58:00 +01:00
Wyn
bee022d1bb Make [p]selfrole without subcommand "toggle" the selfrole (#4826)
* Merge selfrole and remove into one command

replacement pr

* docs

add to the docs

* Update admin.py

remove register name

* Update admin.rst

* Fixes

* Fix the duplicated command decorators

* Minimize the diff

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-02-16 15:16:16 +01:00
Andy
1be7435fb5 fix grammar issues (#4763)
in line 28, it used to be "The message will be send to the user", I fixed it to "The message will be sent to the user".

Co-authored-by: Andy <76832778+AndyButAnnoying@users.noreply.github.com>
2021-02-15 23:32:44 +01:00
Andy
9b4363eff3 grammar fixes (#4792)
* grammar fixes

* author(s)
2021-02-15 23:31:01 +01:00
jack1142
dc68bc5d37 Fix error handling for API calls to videos endpoint in YouTube alerts (#4745) 2021-02-15 12:25:30 -09:00
Andy
5b670c074f Update [p]economyset slottime&paydaytime to use TimedeltaConverter and not accept negative integers (#4807)
* add a time converter, as well as not allowing negative integers

* timedeltaconverter

* styling and unused imports

* update docstrings

* update param name to "duration" instead of seconds

* make timedelta default_unit seconds

* better descriptions & docstrings

* docs for updated paydaytime & slottime

* Fix style

* Few minor fixes

* Cast `total_seconds()` return type to `int`

* Fix one of my own issues

* Make the duration argument catch-rest for convenience

* One more fix for the docs

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-02-15 22:25:03 +01:00
aikaterna
1a9ce2040a [Audio] Update manager.py for new Lavalink build (#4823) 2021-02-15 22:16:47 +01:00
Slave In Utero
4fa8a51ea1 gen-6-pokemon-trivia (#4785) 2021-02-14 23:23:37 -05:00
aleclol
acec5c6efe [Mod] Add default bot color to kick & ban DM (#4822) 2021-02-15 01:34:05 +01:00
aikaterna
d64944d5c3 Update Lavalink.jar build (#4819) 2021-02-15 00:50:58 +01:00
jack1142
6cfaffb8a8 Add i18n deco to Dev and Mutes cog (#4815)
* Add i18n deco to Dev cog

* Add i18n deco to Mutes cog
2021-02-15 00:19:34 +01:00
MAX
3122eb0447 Rename [p]cleanup spam to [p]cleanup duplicates (#4814)
* rename `spam` to `duplicates` and aliases it to `spam`

* style
2021-02-14 21:41:04 +01:00
github-actions[bot]
bf30f2078c [i18n] Automated Crowdin downstream (#4816)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-02-14 16:57:35 +01:00
jack1142
33850a2c35 Update Python version installed in instructions to 3.8.7 (#4770)
* Update Python version installed in instructions to 3.8.7

* Update the one in Windows instructions too
2021-02-13 17:31:14 -05:00
jack1142
40368cc379 Fix changing default state for a cog as enabled/disabled (#4768)
* Fix changing default state for a cog as enabled/disabled

* Add `, None`
2021-02-13 17:24:42 -05:00
kreusada
a9e572d55a [Reports] Use the bot's default colour for report output (#4800)
* [Reports] Use `ctx.embed_colour()` for report output

* Add context

Co-authored-by: kreusada <67752638+kreus7@users.noreply.github.com>
2021-02-13 17:07:48 -05:00
bobloy
4ca2fe0872 [Docs] Add information about the red index (#4778)
* Add information about the red index

* Update docs/guide_publish_cogs.rst

Co-authored-by: BreezeQS <70638053+BreezeQS@users.noreply.github.com>

Co-authored-by: BreezeQS <70638053+BreezeQS@users.noreply.github.com>
2021-02-13 13:08:33 -05:00
iStrqfing
dd9e60b15f [Trivia] [Overwatch] General + Hero Changes (#4805)
Current/up to date answers regarding some hero's health and abilities
Added more options for "What does Tracer say when using her ultimate?"
Competitive point changes for Season 6+ on August 29, 2017 patch
Mercy's major rework on September 19, 2017 patch
Hanzo's major rework on May 3, 2018 patch
Symmetra's major rework on June 6, 2018 patch
"Offense" and "Defense" categories have been merged into "Damage" on June 26, 2018 patch
McCree's roll cooldown decreased on October 9, 2018 patch
Torbjorn's health changed on March 19, 2019 patch
Sombra's translocator cooldown increased on October 15, 2019 patch
Orisa's fortify cooldown decreased on December 10, 2019 patch
Ana's sleep dart duration decreased on April 29, 2020 patch
Orisa's health changed on September 24, 2020 patch
McCree and Widowmaker's health changed on October 29, 2020 patch
Reinhardt's health changed on December 10, 2020 patch
Removed "What was the name of the Lunar New Year themed event in Overwatch?:" since this changes every year.
2021-02-13 12:02:56 -05:00
kreusada
ee33d46732 Grammar fixes (#4810) 2021-02-13 10:44:02 +01:00
MAX
4c58dcedfe Copy info about the bands from [p]eq set help to [p]eq help (#4794)
* Update equalizer.py

* style
2021-02-11 22:47:39 +01:00
kreusada
82595df730 [Utils] Spoiler Function for Chat Formatting (#4754)
* [Utils] Additional chat formatting functions

* [Utils] Updated docstrings to unify with other docstrings

* [Utils] Spoiler feature for chat_formatting

* Fixes for black style

Co-authored-by: kreusada <67752638+kreus7@users.noreply.github.com>
2021-02-11 22:31:47 +01:00
Neuro Assassin
1920212eda [Cleanup] Fix error when providing message snowflake above the maximum (9223372036854775807) (#4791)
* [Cleanup] Fix angry error

* haha just kidding, does not work

* change to be clearer

* update to module level

* cmon black

* added in wrong place
2021-02-11 22:30:16 +01:00
jack1142
7df1570d51 Various improvements in usage of Rich in Red (#4726)
* Use Rich's default console object instead of making one

* Bump Rich to version 9.8.2

* Disable indent guides in tracebacks

* Skip empty lines between stack levels in traceback rendering

* Use full width of the terminal when printing tracebacks

* Disabling syntax highlighting on the log messages

* Make logger name bold

* Make logger level bold

* Make URLs in console bold

* Change `bright_blue` and `blue` colors in syntax theme (NEEDS CHANGING)

* Show only one line per stack level in tracebacks

* Shuffle things in `redbot.logging` a bit

* Change logging handler while redirecting stdout in Dev cog

* Revert last two commits...

This reverts commit cf563bd06a6ae398da12713ceef3db9cc903d902.
This reverts commit 6dddf300726ddf89b8924441eed59b67b58faca0.

* Change Rich console to always print to sys.stdout (therefore ignoring stdout redirects)

* Pass cli_flags to init_logging()

* Add a flag to set the amount of extra lines in rich tracebacks

* First take on the syntax theme colors

* Use the Windows trick

* ARE YOU SERIOUS!?

* Remove dead code

* Use Monokai when Terminal application supports truecolor

* Syntax theme update

* Change logger name color

* This is not needed

* Adjust logging level colors

* Add a flag for showing local variables in Rich tracebacks

* change imports a bit

* Remove usage of blue color fully

* Stop highlighting in Red-DiscordBot splash

* Fix unreadable paths in tracebacks

* Make CRITICAL logging level more readable

* Make time in logs more readable

* Fix the first row being bolded in tables

* Update rich to 9.9.0
2021-02-11 14:20:10 -07:00
github-actions[bot]
663876fba3 Automated Crowdin downstream (#4804)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-02-11 13:20:38 +00:00
jack1142
ae87aa396a Bump Red's deps and all the pip deps used in our Actions (#4572)
* Bump Red's deps

* Bump deps in all our actions

* Don't bump flake8 in Lint Python action

* Bump apsw-wheels too
2021-02-11 02:40:36 +01:00
kreusada
bf624da51b Grammar fixes (#4788) 2021-02-05 09:48:34 -05:00
github-actions[bot]
0f8f33fed2 Automated Crowdin downstream (#4734)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-02-04 18:05:40 +00:00
jack1142
f9848a69b7 So close, and yet so far away - issue forms for the last time tonight (#4784) 2021-02-02 00:50:10 +01:00
Kowlin
082106eb21 Oh boy! more issue templates! (#4783)
* Oh boy! more issue templates!

* Add some descriptions to command_bug.yml

* Update enhancements.yml to refer to "components" since one might want to request API enhancement

* Update feature_request.yml

* Update command_bug.yml

* typo

* I don't think this would cause any issue but I would rather not need another PR

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-02-02 00:35:16 +01:00
jack1142
45f22404d4 Story likes to repeat itself - fix our issue template hopefully for good (#4782)
* Revert "Cut the list in half (#4781)"

This reverts commit 9737c1b5eb.

* Story likes to repeat itself

Yet again, Kowlin makes a small mistake that ends up with us making shitton of commits
2021-02-01 22:41:15 +01:00
jack1142
9737c1b5eb Cut the list in half (#4781) 2021-02-01 21:55:02 +01:00
Kowlin
7c86071a5d Lets "temporarily" remove these. (#4780) 2021-02-01 21:30:46 +01:00
Kowlin
86fbead609 First attempt at issue templates. (#4779)
* Lets try this new fancy thing

* Rename command_bug.md to command_bug.yml

* Update command_bug.yml

* Cog name before command name, thank you

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-02-01 21:21:12 +01:00
jack1142
8139587e5e Update d.py to 1.6.0, aiohttp to 3.7.3, Red-Lavalink to 0.7.2 (#4728)
* Bump d.py, aiohttp, Red-Lavalink

* Remove deprecation warnings that are no longer relevant

* Max concurrency things in `Command.prepare()`

* Two random things that date back to times older than d.py 1.1...
2021-02-01 14:49:50 +01:00
Danstr5544
d6de9c1b94 Add a way to reset rolepayday amounts (#4758)
* Add a way to reset rolepayday amounts

* Totally not fixing a typo...

* Jack found a Typo

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Max line length Compliancy

Thanks Jack (again lol)

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Including rolepaydayamount changes in docs

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-01-29 21:50:22 +01:00
bobloy
e24379973c Add guild_only check to [p]command listdisabled guild (#4772) 2021-01-29 21:27:01 +01:00
Predeactor
2bffbd9001 [Core] Fix commands using plural with the same user (#4750)
* [Core] Fix commands using plural with the same user

Some plural checking have also been added to the local blocklist/allowlist and the wording has been revised.

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* BLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACK

* the

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-01-29 19:03:24 +00:00
Dennis
51c17110ad Wrap Red-DiscordBot[postgres] in quotes in Unix install docs (#4697)
* Docs: added brackets escape note for Linux/macOS installation

* Corrected punctuation for bracket escaping note

* Use quotes - those work on cmd, bash, zsh, and probably other shells

* Minimize the diff

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-01-29 19:39:46 +01:00
Vexed
577dbfddb6 Add a note in systemd guide saying working instance is required (#4769)
* [Docs] Add note about pre-existing Red instance to systemd

* lets actually not just copy paste...
2021-01-28 17:18:02 +01:00
MAX
c11e9afec7 [mod] Improve help of ban/kick commands. (#4715)
* better explain on how to use.

* i.... dont know why i removed that dot.

* don't think that was meant to

* Update kickban.py

* smh

* style????

* hm?

* last try to fix style......

i dont even know how to do this :/

* failing style is fun, trynna learn.

* .....

* not the best way but lets try?

* yep, didnt work dropping softban.

* Update kickban.py

* grammar fix
2021-01-23 21:18:29 -05:00
jack1142
991cd46ea3 Add non-generic message when loading a cog with command name that is already registered (#3870)
* Add non-generic message when loading a cog with command name that is already registered

* Use regex instead and add i18n support

* This requires d.py 1.4
2021-01-23 13:49:03 -07:00
jack1142
ad48ef6efd Add filterhit case type to Filter (#4739)
* Add `filterhit` case type to Filter

* Wrong `__init__.py` :|
2021-01-23 13:36:53 -07:00
jack1142
69c8781cec Fix log rotation in Red (#4738)
* Fix log rotation in Red

* Update regexes to only work with single digit suffixes
2021-01-23 13:04:03 -07:00
jack1142
db20cad395 Strip the reason from whitespace in Mutes cog (#4749) 2021-01-23 12:52:50 -07:00
TrustyJAID
e106dfaece Add [p]listcases command and typing indicator to [p]casesfor (#4426)
* [ModLog] Add [p]listcases and typing indicator to casesfor

* weird

* Address review

* Update redbot/cogs/modlog/modlog.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-01-23 20:48:31 +01:00
Dav
aa0ee3385d [Mutes] Add ability to send DMs on mute/unmute (#4563)
* handle manual mutes/unmutes

Doing this in the Web-Editor is painful. Let's switch to VSC.

* embed version

* non embed

* config stuff

* testing done

* wow black

* Few things before I start local testing

* Fix new lines

* Make messages not depend on modlog

* Yay voicemutes

* black+import

* what is your ducking problem vscode

* adress review

* this is driving me mad

* Check the config in `_send_dm_notification` to avoid code repetition

* Fix incorrect type hints

* Remove no longer needed line changes

* Remove unused function

* Update the type hints from commit 946299 in the MixinMeta too

* Fixed wrong variable being passed to the method and ensure DMs aren't sent when we couldn't get the member object

* They call me dumb for a reason

* Stop overriding variable with duration + various formatting tweaks

* :(

* We need to differ between voice and text in two places, interesting...

* Show info about no reason provided in embed

* Apparently, the `reason` can also be an empty string :|

* Update redbot/cogs/mutes/mutes.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-01-23 11:29:18 +01:00
jack1142
2ce4a275fc Fix command usage of [p]choose command (#4733)
* Fix usage in more commands with variadic required arguments

* Restore filter.py
2021-01-22 19:24:27 -05:00
Fabian H
e23d21ec08 Fixed grammatical mistake in allowlist_add. (#4748)
Changed:

            await ctx.send(_("Users has been added to the allowlist."))

to:

            await ctx.send(_("Users have been added to the allowlist."))
2021-01-22 18:25:46 +01:00
El Laggron
cc885090e6 Docstring fixes for dev env values (#4747)
* Docstring change for add_dev_env_value

* Same for remove_dev_env_value
2021-01-22 18:24:19 +01:00
El Laggron
9b97244f9f [Dev] Customizable environment values (#4667)
* Make the dev env flexible

* Fix rst format in docstrings

* Reproduce current behaviour for _ in repl

* Prevent adding existing or reserved names

* Fix typo with environment

* Docstring changes

Apply suggestions from code review

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Get env before loop

* Hey I'm not the only one doing typos

* Keep new messages in env

* Clear exception of stack frames

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Include the `channel` variable in the reserved names

* And we're also missing `discord` :)

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-01-22 16:53:34 +01:00
Predeactor
7630e24822 [Core] Add plural forms in allowlist and blocklist commands (#4705)
* Plurial for blocklist/allowlist

* duh

* Apply suggestions from code review

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-01-22 02:56:07 +00:00
Lui
8dbabe24e0 [Streams] Use timezone-aware time (#4694)
* [Streams] Remove timezone replacement

* [Streams] Convert naive now time to UTC

* [Streams] Format with black
2021-01-21 16:29:54 +01:00
Lui
5b21d37571 [Streams] Change streamtypes log name (#4744) 2021-01-21 16:15:52 +01:00
bobloy
676f34185d [Core] Add sensible character lengths to activity statuses (#4663)
* Add sensible character lengths

* Add translation function

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-01-21 13:41:28 +00:00
Predeactor
edbbd76b3c Document that discord.DMChannel can be used in MessagePredicate (#4718)
* Allow "discord.DMChannel" for MessagePredicate

This closes #4707.

* Optional only takes a single type, use Union

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-01-21 11:42:10 +01:00
Fixator10
315b3e5c98 Add on_red_before_identify dispatch (#4647)
* add before_identify_hook with `on_identify` dispatch

* move before_identify_hook closer to other "hooks"

* add `red_` prefix to avoid potential conflict

* on_red_before_identify

Co-authored-by: Fixator10 <fixator10@users.noreply.github.com>
2021-01-21 10:20:20 +01:00
bobloy
41e980c517 Fix usage in [p]filter's commands, make commands consistent (#4599)
* Make *words a required argument.

* Also make delete consistant, and name not positional
2021-01-21 00:23:16 +01:00
Ryan
0358055cce [Docs] Document pyenv workaround for pm2 (#4709)
* add pyenv specific fixes to pm2

* switch note to code-block

* forgot a new line
2021-01-21 00:12:58 +01:00
PredaaA
dcf7368e54 Show command aliases in help with setting to disable (#3040)
* Update help.py

* Create 3040.enhance.rst

* remove towncrier entry

* Make it i18n friendly.

* That was uneeded to change this actually.

* ...

* ..

* .

* Add a setting for aliases.

* DOTS

* Update redbot/core/core_commands.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Address requested changes maybe

* New format + changes requested.

* okay we'll get there someday

* honk

* aaaaaaaaaaaaaaa

* Black

* Fix missing humanize_timedelta import.

* style

* Two things from my very old pending review, see commit desc

```py
            valid_alias_list = [
                af
                for a in aliases
                if (af := f"{a}")
                and len(af) < 500
                and ((a_counter + len(af)) < 500)
                and (a_counter := a_counter + len(af))
            ]
```
^ This can be simplified:
```suggestion
            valid_alias_list = [
                alias
                for alias in aliases
                if (a_counter := a_counter + len(alias)) < 500
            ]
```
Although I think it would be somewhat clearer to use a `for` loop rather than a list comprehension (+ we can just `break` when there's not gonna be another alias that could fit in the list since it's sorted):
```suggestion
            valid_alias_list = []

            for alias in aliases:
                if (a_counter := a_counter + len(alias)) < 500:
                    valid_alias_list.append(alias)
                else:
                    break
```

* style *again*

* use qualified name of the parent command

* meh

* another meh

* Revert the last commit...

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
2021-01-20 23:40:27 +01:00
jack1142
4138410d33 Ensure no role hierarchy bypassing in Mutes (#4741)
* Ensure no role hierarchy bypassing on bad role configuration

* Do the same for `[p]muteset role`
2021-01-20 13:32:59 -07:00
jack1142
537656c365 Fix role position checks (#4740) 2021-01-20 13:32:43 -07:00
Dav
d7a3da49f0 [Mod] Make tempban not fail if no vanity url is set up (#4714)
* catch if a vanity url is not set up

* black

Co-authored-by: David Bauch <david.bauch@capgemini.com>
2021-01-17 23:42:00 +01:00
Grant LeBlanc
2b5d72c7a4 [Trivia] Add support for payout to multiple trivia winners (#4649)
* Add payout splitting for trivia game tie instances

* Add check for non-human players

* Apply suggestions from code review

* `pay_winner()` -> `pay_winners()`

* style

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-01-17 23:32:04 +01:00
Ryan
e4d24578b5 [Bank API] Cache global bank settings (#4723)
* cache global bank settings

* Make the global variable name clearer

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-01-17 23:08:59 +01:00
BreezeQS
2b72f9bb99 [Docs] Restructure of the Host List (#4710)
* Update hostlist

My first pr??

* Rephrase of unsupported warning

Exact reason for lack of container support added. Information about docker support added in case someone finds that repo and tries it.

* Remove azure from free list

Later found unreasonable to include it due to the 750 hours being spread across the entire year, ends up less than 24 hours a week.

* Oops

Fixed something that caused docs build to error

* Removal of extra space

Fix of spelling error noticed during review

Co-authored-by: bobloy <alboblexloy@gmail.com>

* Fix capitalization error

Idk if this was really necessary, but oh well

* Rephrase free tier note

* Rephrase docker warning

* Small changes

Added galaxygate and ramnode, removed contabo, rephrased a few things, added voice region tip.

* Small fix

Just realized i accidentailly removed Contabo

* Update docs/host-list.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/host-list.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/host-list.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/host-list.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/host-list.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/host-list.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/host-list.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/host-list.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/host-list.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/host-list.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/host-list.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/host-list.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

Co-authored-by: bobloy <alboblexloy@gmail.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2021-01-16 18:36:22 -05:00
bobloy
8d512e206a [Docs] Filter Cog Guide (#4579)
* Add filter to index

* Initial generated docs

* Start on docstrings

* More docstrings

* Some more docstrings

* Rest of the doc strings

* Regenerate docs

* Remove unnecessary language. Move to one line.

* Regenerate docs

* Update redbot/cogs/filter/filter.py

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update redbot/cogs/filter/filter.py

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update redbot/cogs/filter/filter.py

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/cog_guides/filter.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/cog_guides/filter.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/cog_guides/filter.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-01-16 02:10:45 +00:00
jack1142
19711d35b2 Update actions/labeler to use v3 version (#4730) 2021-01-13 04:16:07 +01:00
jack1142
1e1fff0d49 Someone can yell at me later... (#4729) 2021-01-13 04:03:26 +01:00
jack1142
21f75c0711 Fix the negation rules in labeler configuration (#4727) 2021-01-12 14:29:19 +01:00
Flame442
a2d0a364fe Fix auto labeler error from invalid yaml -> json (#4719) 2021-01-10 00:31:07 +01:00
github-actions[bot]
b76b6305d1 Automated Crowdin downstream (#4703)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-01-07 17:26:35 +00:00
Kowlin
beedc6d2c7 [CI/meta] Add automatic labeling of changed files. (#4674)
* Theoretically this should work!

* Update .github/labeler.yml

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update .github/labeler.yml

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update .github/labeler.yml

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update .github/labeler.yml

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update .github/labeler.yml

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update .github/labeler.yml

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* *ughhh*

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-01-07 18:09:14 +01:00
Vexed
ecf912bc4b Update docs for 2021 (#4706) 2021-01-01 19:33:48 +01:00
aikaterna
d0a0b3fc53 Update LICENSE for 2021 (#4704)
Thank god this disaster of a year is over, onto the next disaster!
2021-01-01 00:05:44 +01:00
Kowlin
6133075fd6 Bump version to 3.4.6.dev1 (#4691) 2020-12-24 17:40:13 +01:00
Kowlin
e218e092b0 Bump to 3.4.5 (#4690) 2020-12-24 17:23:16 +01:00
Neuro Assassin
7208cdb804 Red 3.4.5 - Changelog (#4692)
* PR 4687

* i dont even know anymore

* fix
2020-12-24 17:21:41 +01:00
github-actions[bot]
13cd751932 Automated Crowdin downstream (#4689)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-12-24 15:45:31 +01:00
Lui
1bdaa9d95e [Streams] Initialize all variables (#4687) 2020-12-24 15:43:05 +01:00
jack1142
67e776a640 Version bump to 3.4.5.dev1 (#4686) 2020-12-24 01:14:16 +01:00
jack1142
dc5f025e02 Version bump to 3.4.4 (#4685) 2020-12-24 00:48:32 +01:00
jack1142
2add689729 Red 3.4.4 - Changelog (#4684)
* Red 3.4.4 - Changelog

* Fix my failures

* Flame is a person too

* Apply suggestions from code review

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update changelog_3_4_0.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2020-12-24 00:43:51 +01:00
Flame442
3716bf25a7 [Docs] Create CC requirements docs (#4637)
* Create guide_cog_creators.rst

* Update guide_cog_creation.rst

* FTFY <3

* Bullet other details

* req changes

* Update docs/guide_cog_creators.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Apply suggestions from code review

Oh boy I didn't know they added this neat batch commit feature!

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update guide_cog_creation.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-12-24 00:22:10 +01:00
aikaterna
2f18133a93 [Audio] Update Lavalink.jar build (#4683) 2020-12-23 21:59:20 +01:00
Slave In Utero
e8aef1e923 [General] Add new available guild features in [p]serverinfo (#4678)
* add new available guild features

* Remove `ENABLED_DISCOVERABLE_BEFORE`

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-12-23 21:20:12 +01:00
jack1142
30dc6fe171 [Trivia] Remove empty string from answers (again) (#4673) 2020-12-23 21:07:24 +01:00
Kowlin
8ae84b7c81 [Streams] Remove the blank suppression of errors (#4680)
* [Streams] Remove the blank suppression of errors

* Okay, maybe do gracefully handle it a little bit...

* Update redbot/cogs/streams/streams.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-12-23 21:00:55 +01:00
Jamie
d01bca2314 Owners can bypass cooldowns with non persistent toggle (#4440)
* dev bypas cooldowns

* Toggleable within dev, new attrib

* Reuqested changes

* Remake content

* Looks like `reset_cooldown()` is under Command object :)

* Remove `await`

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-12-23 20:25:32 +01:00
Vexed
300346dcd4 [Docs] Update console image in Getting Started guide for Rich logging (#3905)
* update image

* MAXIMISE THE QUALITY

* add storage driver as JSON (#3935)

* fk

* REEEE

how am i faling to use git so much

* rich!

* make image width 696 pixels so it doesn't scale
2020-12-23 15:27:28 +01:00
Kowlin
ab80f46d2e [Core] Rich logging for not so rich people (#4577)
* Pop stash

* add rich to setup

* Added forceful enabling of rich logging

* revert some unintended pushed

* Fix possible unbound var
Fix possible 0 members w/out members intent

* One day I won't forget to do style passes

* So this is a thing apperently...

* Bump rich to 9.5.1

* Lock secondary deps

* Different stuff, see the full commit description for more info

- Change few things from print to log.info
- put the log handlers on the root logger instead of individual loggers
- capture warnings to a logger

* Modify log handler to show logger name

* Add a Triboolian to force disable rich

* Style checks

* shortened time, added logger name... again.

* aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

* Style & linking

* Be or not to be? Whatever man, it's 4:30 in the morning, goto sleep >.<

* Reintroduce outdated message.

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-12-23 05:11:44 +01:00
Kowlin
afae84fa6b [CI] Update CodeQL to resolve warnings. (#4681)
* Update CodeQL to resolve warnings.

* Make CodeQL analyze our Python dependencies

* `fetch-depth` should be no longer needed

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-12-23 03:57:28 +01:00
Predeactor
d53ff57794 Shorten the audit log reason appropriately, remove unused vars (#4189)
* [Mod] Check for reason length & remove unused vars

This PR also remove unused variable.

* Blame me

* Apply Kowlin order.

Text will get truncate in audit logs in case we're going over 512 characters.

* This is already handled by ban_user()

* Use `get_audit_reason()` in `[p]tempban`

* Add a new kwarg to `get_audit_reason()` instead

* Include `[p]voiceban` and `[p]voiceunban`

* Include Mutes cog

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-12-23 03:22:59 +01:00
kreusada
d3ffb22e86 [Docs] Raspian Installation Directs to 404 (#4682)
I'd assume this would be an appropriate link to replace with.
2020-12-23 01:49:32 +01:00
jack1142
b36a702e62 Make command usage in help for required arguments consistent (#4589)
* Make command usage in help for required arguments consistent

* Bob 3

* Bob 1

* Docstring updates

* Address Flame's review

* Update cog guides in docs
2020-12-22 14:14:47 -05:00
bobloy
59e1e31634 Fix inviteset public link (#4641) 2020-12-19 21:06:38 +01:00
PhenoM4n4n
8280067b7e Improve grammar in max concurrency error (#4501)
* better concurrency grammar

* remove casing

* Apply Bread's suggestion per Draper's comment

Co-authored-by: Sean <29239704+Bakersbakebread@users.noreply.github.com>

* Thanks Pred

Co-authored-by: Predeactor <61093863+Predeactor@users.noreply.github.com>

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: Sean <29239704+Bakersbakebread@users.noreply.github.com>
Co-authored-by: Predeactor <61093863+Predeactor@users.noreply.github.com>
2020-12-19 00:31:16 +01:00
github-actions[bot]
7f587ea46b Automated Crowdin downstream (#4664)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-12-18 19:10:17 +01:00
Neuro Assassin
92788a90c1 [CogManagerUI] Fix error when removing path from other OS (#4466)
* Fix error when removing path from other OS

* Update to draper's comment
2020-12-18 04:15:59 +01:00
Ryan
3a12a9b47f [Cleanup] Delete command message when using [p]cleanup self (#4640)
* delete command message

* only delete command if can_mass_purge
2020-12-17 20:37:38 +01:00
bobloy
d22ea2dd11 Warn when new slotmin/slotmax value will cause slots to not work (#4583)
* Properly handle slotmin/slotmax rules

* Use a variable to reduce config calls. No reason to process differently half way through a command anyways.

* Update redbot/cogs/economy/economy.py

* Add positive int converter for slotmin/slotmax

* Option to allow bad mins and maxes.

* Update economy.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-12-17 20:32:57 +01:00
Kowlin
e519286f5c Catch OverflowErrors in the timedelta converter (#4630) 2020-12-16 18:56:42 +01:00
Samuel
06ba425159 bot.remove_command returns a dpy command object instead of None (#4636)
* remove_command returns a dpy command object

* removed typehint at remove_command

* typing

Co-authored-by: npc203 <npc203@users.noreply.github.com>
2020-12-16 18:31:26 +01:00
Slave In Utero
6038ef5550 gen-5-pokemon-trivia (#4646) 2020-12-08 09:53:53 -08:00
github-actions[bot]
b04610b457 Automated Crowdin downstream (#4653)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-12-08 18:39:00 +01:00
Vexed
140693b171 [Docs] Update GC free credit period (#4658)
* [Docs] Update GC free credit period

* i am soo dumb
2020-12-05 17:33:50 +01:00
Ryan
63cc83c81b [Docs] Remove Ubuntu 16.04 from Install Docs (#4650) 2020-12-02 21:07:35 +01:00
El Laggron
e2a6d451c3 [Streams] Handle streams with past schedules (#4631)
* Resolve bug with [p]streamalert youtube

The command didn't handle channels that were not provided as IDs

* Provide a different message if the scheduled date has passed

* Ignore streams scheduled for more than an hour
2020-11-30 18:10:44 +01:00
github-actions[bot]
e2adb29cf3 Automated Crowdin downstream (#4638)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-11-29 22:04:43 +01:00
kreusada
1ca422a636 General geography category :D (#4618)
* General geography category :D

* Fixes

* Fixed typo

* Added some more questions

* Made some changes, and accuracy fixes, corrections

* *state, not actual river
2020-11-28 18:01:45 -05:00
palmtree5
04cb1befe6 [Docs] Streams user guide (#4521)
* Start on streams user guide

* Finish up streams guide

* Fix a typo in the doc page

* Fix the SAME typo in the relevant command's docstring while we're here

Co-authored-by: palmtree5 <palmtree5+3577255@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-11-27 13:52:56 -05:00
Ryan
da8705fb8f force path to be string (#4624)
Welp forgot to merge
2020-11-26 20:12:23 +00:00
bobloy
395c184eef [Docs] Economy Cog Guide (#4519)
* Started docstrings

* Add to index

* First generated guide

* Indented examples, some more docstrings

* Aliases are now `in ticks and fully qualified`

* More economy docstrings

* Started docstrings

* Add to index

* First generated guide

* Indented examples, some more docstrings

* Aliases are now `in ticks and fully qualified`

* More economy docstrings

* Regenerate docs

* Much more docstrings and regenerate docs

* Better explaination of `bank set` and grammar changes

* Regenerate docs

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-11-22 17:57:11 -05:00
bobloy
c7fd561cd5 [Docs] Downloader cog guide (#4511)
* Downloader cog guide initial commit

* Updated cogguide to prepare description on cog as well.

* Lots of docstring updates

* Even more docstrings

* Fix docstring and generate docs

* Switch to alphabetical

* Aliases are `in ticks and fully qualified`

* Fix grammer, arguments, and explain revision.

* Regenerated docs

* Avoid ticks in links

* New URL logic

* Additional grammar fixes

* Regenerate docs
2020-11-20 20:18:04 -05:00
github-actions[bot]
bc8f2311d9 Automated Crowdin downstream (#4627)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-11-19 22:18:05 +01:00
El Laggron
f129dcd1a9 [Streams] Resolve bug with [p]streamalert youtube (#4629)
The command didn't handle channels that were not provided as IDs
2020-11-19 18:50:00 +01:00
jack1142
f1d2be58c1 Add python-dateutil to primary deps and lock six with it (#4622) 2020-11-18 22:12:29 +01:00
El Laggron
6060da0f87 [Streams] Support Youtube stream schedules (#4615)
* Catch scheduled livestreams

* Announce scheduled streams and starts

* Add setting, fix bugs

* Add new dependency

* Black reformat

* Fix the duplicated messages bug

* Do not send messages for schedules

* Format embed
2020-11-18 21:48:36 +01:00
jack1142
13ca9a6c2e Version bump to 3.4.4.dev1 (#4616)
Kowlin would want me to admin merge this, so let's just do it.
2020-11-17 00:11:43 +01:00
jack1142
f1c5f4a8e4 Version bump to 3.4.3 (#4614) 2020-11-16 20:10:33 +01:00
jack1142
b7b21a06c8 Red 3.4.3 - Changelog (#4613)
* Red 3.4.3 - Changelog

* Oh man, now that I know this is a thing... Let's use it everywhere

* I can't type

* Apply suggestions from code review

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2020-11-16 19:59:50 +01:00
aikaterna
dc82ef758f [Audio] Update Lavalink.jar build (#4608) 2020-11-16 19:02:04 +01:00
github-actions[bot]
e50b32cc27 [i18n] Automated Crowdin downstream (#4596)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-11-16 18:26:02 +01:00
bobloy
224d89c6ff [Docs] Fix CustomCommands URL mistake (#4591) 2020-11-16 18:13:52 +01:00
Kian Bral
866728371b Ensure filenames are lowercase when uploading with [p]triviaset custom (#4594)
* added .lower() to when user uploads trivia filename

* Update PR to use casefold() not lower()

Co-authored-by: zephyrkul <zephyrkul@users.noreply.github.com>

Co-authored-by: zephyrkul <zephyrkul@users.noreply.github.com>
2020-11-16 17:42:13 +01:00
MAX
1747d901d1 [Mod] Support competing status in [p]userinfo command (#4611)
* Competing in userinfo

* Update names.py

* Update names.py
2020-11-16 17:25:41 +01:00
MAX
e87896815c [Core] Add [p]set competing command (#4609)
* Update core_commands.py

* style

* Update core_commands.py

* Update core_commands.py

* does this fix tho?

* C
2020-11-16 15:18:44 +01:00
jack1142
0f7a3bf6f8 Improve Java version regexes in Audio (#4604)
* Improve Java version regexes in Audio

* Can I fix this very small thing too :P
2020-11-15 22:04:45 -08:00
Predeactor
0a040ad8e3 Fix wrong words in docstrings of reaction and message predicates (#4593)
* Fix a wrong usage of word in docs

* Let's fix this while we're at it

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-11-11 17:34:33 +01:00
Flame442
a97cd64f48 [Modlog] Fix error when the bot can't read message history in the modlog channel (#4588) 2020-11-11 17:14:36 +01:00
bobloy
a1a44bf1cc [Downloader] Hide [p]cog reinstallreqs (#4590) 2020-11-11 16:39:33 +01:00
jack1142
48ec2dfee0 Bump versions of actions used by our workflows (#4586) 2020-11-09 20:26:49 +01:00
El Laggron
91f7f9ebf4 [Docs] CogManagerUI user guide (#4152)
* Getting started guide

* Remove DigitalOcean referral link

* Fix typos and mispells, thanks to @Flame442

* Remove cogs.red hyperlink until it is finished

* Add towncrier entry

* Add prolog.txt

This is not necessary for this PR but all of the other cog guides rely on this file.
The cog guides are individual branches based on this one, which is why I'm adding this file right now.

* Add changelog entry

* Add CogManagerUI guide

* Remove towncrier

* CogManagerUI update

* Apply suggestions from code review

Co-authored-by: Vexed <sebdazeley@gmail.com>

* Apply suggestions from code review

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Add section for downloader

Co-authored-by: Toby Harradine <Tobotimus@users.noreply.github.com>
Co-authored-by: Vexed <sebdazeley@gmail.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2020-11-08 10:27:15 -05:00
jack1142
a7ec40664e Fix reason variable shadowing in [p]massban (#4575) 2020-11-07 03:44:59 +01:00
github-actions[bot]
0089380bfd Automated Crowdin downstream (#4578)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-11-05 16:53:43 +01:00
github-actions[bot]
ffcf104dfc Automated Crowdin downstream (#4567)
Red I18n: "Context comments are changed edition"

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-11-02 17:32:43 +01:00
PhenoM4n4n
08c29d780b Fix leaderboard error in DMs for global banks (#4569) 2020-10-31 18:36:14 +01:00
jack1142
7c36709f76 Handle None case for until in on_member_join (#4568)
* Handle `None` case for `until` in `on_member_join`

* They said it can't be too long!
2020-10-29 18:12:57 -06:00
bobloy
80f0a297a9 [Docs] CustomCommands Cog Guide (#4490)
* Add to index, url matching links, and add link to customcommands.rst

* Some docstring rewriting

* Adding arguments and more details.

* Handle aliases, rest of arguments and examples.

* Black formatting

* Switch to alphabetical

* Apparently forgot to regenerate this.

* Update redbot/cogs/customcom/customcom.py

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/cog_guides/customcommands.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2020-10-28 23:49:51 -04:00
jack1142
a94f0d03dd Version bump to 3.4.3.dev1 (#4564) 2020-10-28 19:55:18 +01:00
jack1142
ac9149870e Version bump to 3.4.2 (#4561) 2020-10-28 19:31:13 +01:00
jack1142
f850ded822 Red 3.4.2 - Changelog (#4560)
* Changelog

* Add 4559

* Fix release date

* This contributor is important too :)

* We need to hire automatic grammar checker

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* update

* ...

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2020-10-28 19:24:50 +01:00
Draper
06b87368f6 [Audio] Allow LLSET in DMs (#4562) 2020-10-28 10:55:00 -07:00
aikaterna
af65b73fb2 [Audio] Update Lavalink.jar version (#4559) 2020-10-28 17:20:23 +00:00
Draper
0feacee7f2 [Audio] Fix local search (#4553) 2020-10-28 09:07:50 -07:00
jack1142
4aa84a5d22 Add better error logging for unexpected errors, add error messages for exceeded YouTube quota (#4552) 2020-10-28 11:37:56 +00:00
Draper
c95d526bc6 Merge pull request #4558 from jack1142/V3/never_trust_slime
Never trust Slime
2020-10-28 11:25:26 +00:00
jack1142
b77afeed34 Never trust Slime 2020-10-28 12:17:37 +01:00
Stonedestroyer
7db2ba556d Fixes concurrency spelling with time(s) (#4450)
* Change spelling

* Change for translation
2020-10-28 11:56:27 +01:00
PredaaA
bd0955ac44 [Streams] Remove the __del__ (#4512)
* [Streams] Remove the `__del__`

* Add a teardown function to call Streams.cog_unload()

* Apparently I forgot cog_unload is called automatically (Thanks @rapptz
lol)

Co-authored-by: palmtree5 <3577255+palmtree5@users.noreply.github.com>
2020-10-28 11:55:05 +01:00
jack1142
0d650f6765 Remove multi-line commands from Unix install docs (#4550) 2020-10-28 11:54:43 +01:00
jack1142
8b2c6226f6 Add metadata file to redbot --debuginfo (#4557) 2020-10-28 11:54:16 +01:00
bobloy
252951c706 [Docs] Cleanup Cog Guide (#4488)
* Autogenerated doc and index spot

* Update command descriptions

* Use qualified name in titles and new command descriptions

* Add arguments to descriptions and cleanup self examples.

* Examples are bulleted and indented.

* Handle aliases (none), examples are bulleted and indented

* Switch to alphabetical

* Fix X typo
2020-10-28 00:51:19 -04:00
jack1142
532ac6cfa9 I mean... Technically we fixed the security issue, right? (#4556) 2020-10-28 02:34:11 +01:00
Kowlin
868059f062 3.4.2.dev bump (#4549)
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-10-27 21:24:19 +01:00
Kowlin
b496ebfba8 3.4.1 bump (#4548) 2020-10-27 20:47:45 +01:00
jack1142
726bfd38ad Merge pull request from GHSA-mp9m-g7qj-6vqr
* Query members for unchunked guilds in massban

* that thing that is a thing ;)
2020-10-27 20:46:49 +01:00
jack1142
21f9a6f0b6 3.4.1 you dummie!
The link will start working after the release.
2020-10-27 20:41:07 +01:00
Neuro Assassin
951a88f39f Red 3.4.1 - Changelog (#4193)
* Add 3.4.1 section

* PR 4184

* PR 4031

* PR 4364

* PR 4325

* PR 4328

* PR 4366

* PR 4024

* PR 4100

* PR 4360

* PR 4382

* PR 4418

* PR 4376

* PR 4389

* PR 4131

* PR 4326

* PR 4329

* PR 4359

* PR 4370

* PR 4375

* PR 4397

* PR 4404

* PR 4409

* PR 4415

* PR 4416

* PR 4424

* PR 4425

* PR 4435

* PR 4437

* PR 4439

* PR 4443

* PR 4451

* PR 4453

* PR 4455

* Address review

* PR 4058

* PR 4422

* PR 4434

* sigh

* PR 4446

* PR 4449

* PR 4463

* PR 4467

* Add aikaterna as contributor

* PR 4469

* PR 4470

* PR 4473

* PR 4474

* 4467 update

* PR 4481, and fix those doc fuckers.  also nuke something, blame jack for anything that goes wrong

* PR 4498

* PR 4499

* PR 4500

* PR 4502

* PR 4504

* PR 4507

* update PR 4504

* address review

* PR 3902

* PR 4492

* PR 4513

* PR 4515

* PR 3634

* PR 4527

* PR 4524

* PR 4523

* PR 4423

* wip

* Trusty

* Draper

* Draper 2

* Flame

* Flame 2

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Flame 3

* Trusty 2

* Flame 4

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2020-10-27 20:21:14 +01:00
Draper
a4a344d8eb Add bot.get_or_fetch_user/member methods (#4403)
* add 2 get_or_fetch methods

* style

* local tox didnt scream and blow up

* ewh extra space is ugly

* Jack meant this

* I think jack wanted this.

* Nope Jack desired this

* aaaaaaaaaaaaa Jack just say you are reviewing it come on

* add get_or_fetch_member

* Update redbot/core/bot.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Wubba Lubba Dub Dub

* woa!! this one was really HARD! (sweats)

* fiiiiire

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-10-27 18:21:20 +01:00
Draper
d421c1c240 [Audio] New stuff from RLL 0.7.0 (#4529)
* New stuff from RLL 0.7.0

* discard here

* formatting

* do this properly

* make it more unique

* bump RLL

* nuke `[p]llset restport`, only `[p]llset wsport` matters

* Update setup.cfg

* properly deprecate Rest port and Ensure Nodes are properly closed upon running LLSET commands

* restore player on a attempt reconnect

* restore player as a task

* ensure we send the signal only if not playing.

* register events a little earlier

* hmmm

* ffs

* update application.yml

* fix permissions edge case
2020-10-27 09:16:19 -07:00
Draper
af8af1934c Merge pull request #4546 from jack1142/V3/update_check_docs
Update check docs to use checks from commands package
2020-10-27 11:44:12 +00:00
jack1142
9a8f3480a1 Update check docs to use checks from commands package 2020-10-27 12:27:15 +01:00
TrustyJAID
085cd1bb49 Modlog account for very long case reasons (#4541)
* Modlog account for very long case reasons

* if
2020-10-27 02:12:06 +01:00
jack1142
b30a8b86a4 Plurality matters (use correct variable name) (#4542) 2020-10-26 19:02:39 -06:00
jack1142
0156ce132c Add Python <3.9 guard until we start supporting Python 3.9 (#4538) 2020-10-26 19:02:00 -06:00
TrustyJAID
b13dec10c5 Replace use of asyncio.gather with bounded_gather (#4537)
* Remove use of asyncio.gather

* black

* typo

* lol 1 character difference

* Let's try this instead

* another typo, it's too early to read

* Add max concurrency on makerole command and prevent multiple roles being added created
2020-10-27 01:20:43 +01:00
TrustyJAID
fd77e97712 [Mutes] Prevent modlog updates on unmute due to category channel sync (#4539)
* [Mutes] Prevent modlog updates on unmute due to category channel sync

* Try here

* would help to remember to change all the right things
2020-10-27 01:18:55 +01:00
jack1142
0b0ace10dd Fix unmute type for manually removed channel overwrites (#4540) 2020-10-26 18:16:11 -06:00
TrustyJAID
b6e96548d0 [Trivia] Add Hockey Trivia (#4384)
* Add Hockey Trivia

* Add more questions and address review

* cleanup authors for now

* Add missing authors

* address vexed's review

* new trivia

* Add New Jersey Devils Trivia

* Add Vancouver Canucks Trivia

* Address Flame's grammar review
do commit messages require proper grammar?
2020-10-26 19:26:58 -04:00
github-actions[bot]
b018c6a24d [i18n] Automated Crowdin downstream (#4476)
Kowlin told me I should just merge.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-10-26 21:26:02 +01:00
TrustyJAID
3ae5301a76 Fix auto channel unmute still applying after bot restart (#4536) 2020-10-26 19:22:33 +01:00
jack1142
bcc24d67d1 Properly iterate through dict's items in multi channel unmute (#4534) 2020-10-26 11:57:29 -06:00
jack1142
46c0f5e373 Fix TypeError in automatic multi channel unmutes (#4533) 2020-10-26 11:56:45 -06:00
jack1142
eeaac828d9 Fix KeyError in [p]muteset role (#4531) 2020-10-26 11:55:52 -06:00
Kowlin
2413c6abd3 [Core] Guild scoped I18n (#3896)
* Guild I18n

Never again!

* Finish off guild scoped i18n

* Black formatting

* Added guild only flags.

* Fix missing import.

* Added listing of guild i18n settings

* Added API support

* Added API support... properly!

* Added API support... for realsies!

* Auto-translate create_cases instances

You're welcome cog creators! Jack talked me into this!

* Fix get_regional_format to actually return properly

* Cleanup `set showsettings`

* Style pass

* Update redbot/core/core_commands.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update redbot/core/events.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update redbot/core/core_commands.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Fix missing import

* Improve caching

* Removal of unneeded function

* Fix some naming

* IDFK anymore...

* Reformat

* Update redbot/core/settings_caches.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update redbot/core/settings_caches.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update redbot/core/settings_caches.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Remove line number

* Fix global sets

* Set contextual locale manually where needed

* Reports cog is wonderful...

* Update redbot/core/core_commands.py

Co-authored-by: Draper <27962761+Drapersniper@users.noreply.github.com>

* Set contextual locale manually where needed in Mutes cog

* s

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: Draper <27962761+Drapersniper@users.noreply.github.com>
2020-10-26 17:59:11 +01:00
TrustyJAID
7bb6e60c52 Move mutes to new cog, add role-based and temporary mutes (#3634)
* revert the revert the revert git is hard...

* and remove old mutes

* make voicemutes less yelly

* fix error when no args present in mute commands

* update docstrings

* address review

* black

* oops

* fix voicemutes

* remove mutes.py file

* Remove _voice_perm_check from mod since it's now in mutes cog

* remove naive datetimes
prevent muting the bot
prevent muting yourself
fix error message when lots of channels are present

* change alias for channelunmute
Be more verbose for creating default mute role

* add `[p]activemutes` to show current mutes in the server and time remaining on the mutes

* improve resolution of unmute time

* black

* Show indefinite mutes in activemutes and only show the current servers mutes in activemutes

* replace message.created_at with timezone aware timezone

* remove "server" from activemutes to clean up look since channelmutes will show channel

* better cache management, add tracking for manual muted role removal in the cache and modlog cases

* Fix keyerror in mutes command when unsuccessful mutes

* add typing indicator and improve config settings

* flake8 issue

* add one time message when attempting to mute without a role set, consume rate limits across channels for overwrite mutes

* Don't clear the whole guilds settings when a mute is finished. Optimize server mutes to better handle migration to API method later. Fix typehints.

* Utilize usage to make converter make more sense

* remove decorator permission checks and fix doc strings

* handle role changes better

* More sanely handle channel mutes return and improve failed mutes dialogue. Re-enable task cleaner. Reduce wait time to improve resolution of mute time.

* Handle re-mute on leave properly

* fix unbound error in overwrites mute

* revert the revert the revert git is hard...

* and remove old mutes

* make voicemutes less yelly

* fix error when no args present in mute commands

* update docstrings

* address review

* black

* oops

* fix voicemutes

* Remove _voice_perm_check from mod since it's now in mutes cog

* remove naive datetimes
prevent muting the bot
prevent muting yourself
fix error message when lots of channels are present

* change alias for channelunmute
Be more verbose for creating default mute role

* add `[p]activemutes` to show current mutes in the server and time remaining on the mutes

* improve resolution of unmute time

* black

* Show indefinite mutes in activemutes and only show the current servers mutes in activemutes

* replace message.created_at with timezone aware timezone

* remove "server" from activemutes to clean up look since channelmutes will show channel

* better cache management, add tracking for manual muted role removal in the cache and modlog cases

* Fix keyerror in mutes command when unsuccessful mutes

* add typing indicator and improve config settings

* flake8 issue

* add one time message when attempting to mute without a role set, consume rate limits across channels for overwrite mutes

* Don't clear the whole guilds settings when a mute is finished. Optimize server mutes to better handle migration to API method later. Fix typehints.

* Utilize usage to make converter make more sense

* remove decorator permission checks and fix doc strings

* handle role changes better

* More sanely handle channel mutes return and improve failed mutes dialogue. Re-enable task cleaner. Reduce wait time to improve resolution of mute time.

* Handle re-mute on leave properly

* fix unbound error in overwrites mute

* remove mutes.pt

* remove reliance on mods is_allowed_by_hierarchy since we don't have a setting to control that anyways inside this.

* black

* fix hierarchy check

* wtf

* Cache mute roles for large bots

* fix lint

* fix this error

* Address review 1

* lint

* fix string i18n issue

* remove unused typing.Coroutine import and fix i18n again

* missed this docstring

* Put voiceban and voiceunban back in mod where it's more appropriate

* Address review 2 electric boogaloo

* Make voicemutes use same methods as channel mute

* black

* handle humanize_list doesn't accept generators

* update voicemutes docstrings

* make voiceperm check consistent with rest of error handling

* bleh

* fix modlog case spam when overrides are in place

* <a:pandaexplode:639975629793787922>

* bleck

* use total_seconds() instead of a dict, sorry everyone already using this lmao

* <:excited:474074780887285776> This should be everything

* black

* fix the things

* bleh

* more cleanup

* lmao hang on

* fix voice mutes thingy

* Title Case Permissions

* oh I see

* I'm running out of funny one-liners for commit messages

* oof

* ugh

* let's try this

* voicemutes manage_permissions

* Cleanup mutes if they expire when member is not present

* black

* linters go brr

Co-authored-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
2020-10-26 02:52:11 +01:00
Draper
38169a82df small PR adding [p]llset info and [p]audioset logs (#4527)
* small PR adding `[p]llset info` and `[p]audioset logs`

* fixed + improvements

* Zip file properly
2020-10-25 14:46:59 -07:00
aikaterna
18986bcc42 [Mod] Fix + more info for modset defaultduration (#4525)
* [Mod] Fix + more info for modset defaultduration

* Update settings.py

* Duration must be greater than zero

* Don't need the extra parens here
2020-10-25 20:43:44 +01:00
Draper
ce6c17debc Add data path and metadata file to [p]debuginfo, add missing info to non-embed version (#4524)
* Add data path to `[p]debuginfo`, add missing info in non-embed version

* More things

* cast to str

* another reorder
2020-10-23 18:39:24 +01:00
Chloe
e3359e9b3f Fixed possible exception thrown when balance field is missing during schema conversion (#4523)
Co-authored-by: Draper <27962761+Drapersniper@users.noreply.github.com>
2020-10-23 18:39:14 +01:00
jack1142
c1ab10e202 another reorder 2020-10-23 19:14:08 +02:00
jack1142
1d23c1f2bc cast to str 2020-10-23 19:11:57 +02:00
jack1142
ef1582832d More things 2020-10-23 19:09:08 +02:00
jack1142
95e342f4f4 Add data path to [p]debuginfo, add missing info in non-embed version 2020-10-23 18:28:44 +02:00
Draper
ca078e7cd9 Fix a crash when calling [p]modset showsettings (#4518)
* Fix a crash when calling `[p]modset showsettings`

* Update redbot/cogs/mod/settings.py

* be more explicit
2020-10-22 11:05:40 -07:00
PredaaA
b8a2cf3f91 Move bot_in_a_guild from redbot.core.checks to redbot.core.commands (#4515) 2020-10-22 09:58:18 +01:00
jack1142
e1226c6c88 Update to d.py 1.5.1, explicitly request privileged intents (#4423)
Co-authored-by: Draper <27962761+Drapersniper@users.noreply.github.com>
2020-10-21 19:55:25 +01:00
PredaaA
34fe88da29 [Menus] Handle ctx.me that can be None when clearing reactions (#3902) 2020-10-21 14:23:36 +02:00
Draper
454ff90d09 excluse streams from queue duration (#4513) 2020-10-20 10:34:32 -07:00
Draper
e31196d19f Audio Fixes (#4492)
* handles #4491

* add typing indicators to audio playlists commands like discussed with aika.

* recheck perms upon change of token to avoid needing a reload.

* Ensure the player lock is always released... on rewrite to this as a callback to the task.

* ffs

* resolves#4495

* missed one

* aaaaaaaaa

* fix https://canary.discord.com/channels/133049272517001216/387398816317440000/766711707921678396

* some tweaks

* Clear errors to users around YouTube Quota
2020-10-20 09:57:02 -07:00
Neuro Assassin
335e2a7c25 Bump aiohttp-json-rpc dependency (#4506)
* Bump aiohttp-json-rpc

* Well thats sad
2020-10-18 21:17:05 +02:00
Flame442
694d379aef [Core] Add default embed colour to [p]set showsettings (#4498)
* Add default color to [p]set showsettings

* I didn't want to since I thought it would be too long, but sure

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-10-18 21:11:38 +02:00
Jyu Viole Grace
f4ef3ea8eb Merge pull request #4507
* change `boosters` to `boosts`
2020-10-18 15:36:53 +01:00
palmtree5
ec90199950 Add a setting for adding a tick reaction when help is DMed (#4467)
* Tick response for help command

* Make this a setting instead

Co-authored-by: palmtree5 <palmtree5+3577255@users.noreply.github.com>
2020-10-18 16:10:00 +02:00
Stonedestroyer
08bd0567ad Grammar fixes (#4500)
* Grammar fixes

* More changes

* Grammar

* Error grammar

* Spelling

* Grammar

* REsolves grammar

* grammar

* grammar

* grammar

* grammar

* grammar

* grammar

* grammar

* grammar

* "commited" > "committed"

* apostrophe

* more grammar

* grammar

* `funtion` to `function`

* grammar in alias cog

* grammar in cleanup cog

* grammar in customcom cog

* grammar in mod cog

* grammar in reports cog

* fix grammar in streams cog

* missing apostrophe

* grammar fix in trivia cog

Co-authored-by: Jyu Viole Grace <24418520+thisisjvgrace@users.noreply.github.com>
Co-authored-by: Jyu Viole Grace <thisisjvgrace@users.noreply.github.com>
2020-10-18 08:52:56 +01:00
aikaterna
963b8b0d29 Update Lavalink.jar build (#4504) 2020-10-18 08:46:41 +01:00
Fixator10
009dc9ae4d fix exception for empty strings in [p]choice (#4499) 2020-10-18 08:46:11 +01:00
maxbooiii
33cf275862 [Core] added some missing dots. (#4493)
* core added missing dots

* lower-case
2020-10-18 08:45:32 +01:00
Vexed
4fdea931b9 [Docs] More detailed info about args in Getting Started (#4058)
* initial removal and partial re-adition

* lets not miss a line in removal

* dont merge yet

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* yep ready now i think

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-10-18 02:26:58 +02:00
Predeactor
4453b5653a Fix [p]cleanup self not working in DMs for non-owners (#4481)
* Fix cleanup self not working in private.

This fix #4408.

* Apply Jack's logic.

* Obviously Black fault.
AGAIN!

* Apply Jack's trick.

* This is not a converter so let's move this to a different file

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-10-18 02:07:08 +02:00
Stonedestroyer
152ca39719 Creating bot account and enabling intents guide (#4502)
* Test

* Docs

* Fixes

* Nesting

* grammar fixes

* Update docs/bot_application_guide.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update docs/bot_application_guide.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update docs/bot_application_guide.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update docs/bot_application_guide.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update redbot/core/cli.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* More clear

* remove double `and`

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-10-18 01:52:11 +02:00
Kowlin
9ae733181b Handle verified bots, improve errors in [p]set username (#4463)
* handle verified bots, and more specific errors

* stuff

* fuck, I forgot

* Improve errors by splitting into few different messages

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-10-17 02:45:52 +02:00
Dav
f5de382946 [Mod] Add default tempban duration setting (#4473)
* Add support for default duration in kickban.py

* add setting command and info to settings view

* add config key

* black

* Thx jack

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* adress review

* Address review

* typo

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-10-16 00:15:14 +02:00
PhenoM4n4n
dc817aeeac Allow [p]ban to hackban and rename [p]hackban to [p]massban (#4422)
* ban revamp

* black & converters fix

* discord.object

* Update redbot/cogs/admin/admin.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* remove discord.user converter

* black

* .

* Update redbot/cogs/mod/kickban.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update redbot/cogs/mod/kickban.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update redbot/cogs/mod/kickban.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update redbot/cogs/mod/kickban.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* incomplete

* massban support

* black

* Use 2-tuple to separate result and the message in `ban_user()`

This also fixes the issue with `True` being equal to `1` which caused a problem with previously returned types

* Whoops...

* trailing whitespace...

* I missed this one

* Update kickban.py

* Update kickban.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-10-15 23:20:20 +02:00
jack1142
47c4edf335 Update Windows instructions to not install Python 3.9 (#4480)
* Update install_windows.rst

* Add more info

* Add more info pt.2
2020-10-14 21:35:05 +01:00
Stonedestroyer
e1c745fe3c Remove ruledropper (#4449) 2020-10-14 21:34:45 +01:00
Vexed
c441857a4c [Core] Add two missing full stops to licenseinfo (#4020)
* full stops

* hereafter -> hereinafter

* Add the other stop that was here...

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-10-14 22:25:08 +02:00
Jyu Viole Grace
51bc5fed7d whosthatpokemon - Gen IV (#4434) 2020-10-14 08:16:59 -07:00
Draper
2da9b502d8 Audio Cog - v2.3.0 (#4446)
* First commit - Bring everything from dev cog minus NSFW support

* Add a toggle for auto deafen

* Add a one off Send to Owners

* aaaaaaa

* Update this to ensure `get_perms` is not called if the API is disabled

* Apply suggestions from code review

Co-authored-by: Vuks <51289041+Vuks69@users.noreply.github.com>

* silence any errors here (in case API is down so it doesnt affect audio)

* update the message to tell the mto join the Official Red server.

* remove useless sutff, and change dj check order to ensure bot doesnt join VC for non DJ's

* ffs

* Update redbot/cogs/audio/core/tasks/startup.py

Co-authored-by: Twentysix <Twentysix26@users.noreply.github.com>

* Aikas Review

* Add #3995 in here

* update

* *sigh*

* lock behind owner

* to help with debugging

* Revert "to help with debugging"

This reverts commit 8cbf17be

* resolve last review

Co-authored-by: Vuks <51289041+Vuks69@users.noreply.github.com>
Co-authored-by: Twentysix <Twentysix26@users.noreply.github.com>
2020-10-12 11:39:39 -07:00
aikaterna
29ebf0f060 [Core] Strip commas on cog command when pagified (#4468) 2020-10-11 17:44:47 +02:00
aikaterna
ec94327b15 [Core] Pagify cog unload output properly (#4469)
* [Core] Pagify cog unload output properly

When you unload a large amount of cogs (close to message limit on characters), the character count is easily pushed over 2k characters on the command response with the cog names each being wrapped in 2x backticks. The current implementation breaks in the middle of cog names or wherever else it feels like it. 1600 might have been a safe value for splitting but at 1500 I don't see how multiple short cog names could make it break at least.

* Address review
2020-10-11 17:43:12 +02:00
aikaterna
5c00810166 Use bot name instead of "Red" in [p]info and [p]restart (#4470) 2020-10-11 17:21:54 +02:00
PredaaA
804219df29 Use bot.get_user() instead of get_all_members() in [p]dm (#4472) 2020-10-11 17:19:49 +02:00
MeatyChunks
6ea2a403be [General] Fix error on long titles in [p]urban (#4474)
There's a few titles that are greater than 256 which causes a console error. The example I saw was scrolling through the pages of `[p]urban Jackin' Off` which leads to http://synonyms-chokin-the-chicken-spanking-the-monkey-flogging-the-do.urbanup.com/3169366
2020-10-11 17:14:21 +02:00
Stonedestroyer
4f2763c26c Add wheel to pre-requirements installed by make files (#4475) 2020-10-11 17:09:55 +02:00
Predeactor
8ff5a71a5d Update the link to 3rd-party cogs in README to use Red-Index (#4482) 2020-10-11 17:02:54 +02:00
Draper
d6c2e8c8c3 Add bundled install extras. (#4443)
* add an `[all]` extras_requires

* can go here

* add a [dev] which includes [all] + development extras (style, test, docs)

* special case all and dev in update message

* Optimize by changing the place of the check for "special" extras

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-10-10 01:32:29 +02:00
Vuks
b45e62f354 [Core] add [p]set api list and [p]set api remove (#4370)
* add get_shared_api_keys

* add set listapi command

* fix typo

* refactor `[p]set listapi` into `[p]set api list`

* remove unnecessary check

* fix decorators

* corrected wording

* add remove_shared_api_services

* add `set api remove`

* further typo sniping

* bugsniping

* minor typo

* aaaaaaaaa

* Apply suggestions from code review

Co-authored-by: Draper <27962761+Drapersniper@users.noreply.github.com>

* update api docstring to reflect new subcommands

* Apply suggestions from code review

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* update framework_apikeys.rst with new methods

* Update redbot/core/bot.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* rewrite get_shared_api_services into a special case of
get_shared_api_tokens

* rewrite api_list to include keys and tokens in response

* don't show secrets

* better api_remove response

* black

* remove nonexistent method

* remove unnecessary import

* fix wording

* Improve docstrings and type hints

- added overloads to help out developers a bit more
  * this wasn't necessary, but development tools work better
    with this information
- fixed type hint to use Union as now
  its return type depends on whether `service_name` is passed
- updated docstrings to contain information about the added behavior

* Use `humanize_list()` rather than `str.join()`

This is done for consistency within Red
and it makes the list have the last element joined
with `and` (or its equivalent in chosen locale)

* Use `.format()` after translation is applied

If `.format()` is used before `_()`, the search for translation is done
with the string that already has the dynamic text added,
which results in no matches.

* Add plural support

* Improve error message

Updated message to be more specific
(used phrases: "None of the services" and "had any keys set")
and a bit more nice to the user (judging word "anyway" removed)

* Improve readability of `[p]set api list`

It's a lot clearer when the sublists are indented,
especially on mobile where code blocks aren't colored at all.

New look:
https://user-images.githubusercontent.com/6032823/94614944-3bbd7c80-02a7-11eb-89e4-64bdf06c650b.png

Co-authored-by: Draper <27962761+Drapersniper@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-10-05 22:10:14 +02:00
jack1142
8b477db0a6 Update pyenv instructions to install Python 3.8.6 (#4457) 2020-10-03 09:02:34 -08:00
github-actions[bot]
80d99af5b0 Automated Crowdin downstream (#4462)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-10-03 00:30:26 +02:00
Kai K
d26335b01b [Trivia] MLB Trivia (#4455)
* Create mlb.yaml

* Update mlb.yaml

* Update mlb.yaml

* Update mlb.yaml

* Update mlb.yaml

* Update mlb.yaml

* Update redbot/cogs/trivia/data/lists/mlb.yaml

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update mlb.yaml

* Update mlb.yaml

* Update mlb.yaml

* Update mlb.yaml

* Update mlb.yaml

* Update redbot/cogs/trivia/data/lists/mlb.yaml

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update redbot/cogs/trivia/data/lists/mlb.yaml

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update redbot/cogs/trivia/data/lists/mlb.yaml

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update redbot/cogs/trivia/data/lists/mlb.yaml

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update redbot/cogs/trivia/data/lists/mlb.yaml

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update redbot/cogs/trivia/data/lists/mlb.yaml

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update mlb.yaml

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2020-10-01 19:09:45 -04:00
Draper
e79aa21b55 Add util functions extracting end_user_data_statement directly from cog's info.json (#4404)
* get_end_user_statement

* add get_end_user_statement

* I hate docs

* lets make Jack and Zeph happy as they want a version that raises.

* Apply suggestions from code review

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update redbot/core/utils/__init__.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* rename to `get_end_user_data_statement`

* aaaaaaaaaaaaaaa

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-09-29 20:58:30 +02:00
Draper
bf63da3655 Stop backing up lavalink logs (#4453) 2020-09-28 08:50:42 -07:00
Fixator10
d6791111f3 fix [p]set nickname when no nickname specified (#4451) 2020-09-28 13:14:49 +02:00
jack1142
23d454cbbe Fix deprecation mention for shared libs in docs (#4374)
* Fix deprecation mention for shared libs in docs

* Update docs/guide_publish_cogs.rst

Co-authored-by: Vexed <sebdazeley@gmail.com>

Co-authored-by: Vexed <sebdazeley@gmail.com>
2020-09-27 21:28:18 -04:00
absj30
f9741cdd27 Fix typo at function's "end_game" docstring (#4186)
Co-authored-by: Ailton Jr <ailton@edu.unipar.br>
2020-09-27 21:28:07 -04:00
Sharky
3699c246df [Mod] Account for duplicated mentions (#4359)
* Account for duplicated mentions

* Spelling fix + Wording change

* Requested changes *hopefully*

* forgot to formattttttttttttttttttttttt

* Improve the consistency with existing commands in inconsistent `[p]modset` group

* What was the point of defining `guild` if you didn't end up using it, Jack!?

* I hate you, web editor ಠ益ಠ

* You could have just copy-pasted this Jack, seriously...

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-09-27 21:27:53 -04:00
jack1142
284080ec83 Update events.py (#4431) 2020-09-27 21:27:29 -04:00
jack1142
a2ae485286 Deprecate is_allowed_by_hierarchy() core util (#4435) 2020-09-27 21:27:22 -04:00
jack1142
a74547bb4e Update Getting started guide with the link to Index (#4439)
* Update Getting started guide with the link to Index

* Update docs/getting_started.rst

Co-authored-by: Twentysix <Twentysix26@users.noreply.github.com>

Co-authored-by: Twentysix <Twentysix26@users.noreply.github.com>
2020-09-27 21:27:15 -04:00
github-actions[bot]
a6ff5b8e9c Automated Crowdin downstream (#4445)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-09-24 22:01:14 +02:00
github-actions[bot]
a09dddb2cf Automated Crowdin downstream (#4432)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-09-24 02:14:41 +02:00
Dav
d7da0b4081 [Mod] Pluralize properly in userinfo (#4397)
* Pluralize properly in userinfo

* black

* totally didn't forget roles

* Almost seems like you have a point there...

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Yes... right... this one too

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Yes, yes we do.

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-09-21 00:39:44 +02:00
Flame442
47d9069108 [Core] Catch errors about blocked DMs in [p]traceback (#4329) 2020-09-20 19:42:28 +02:00
bobloy
ddc5660f2c Add custom groups tutorial to Config's docs (#4416)
* Add `Config.custom` tutorial to docs

* Red V2 Data transfer example brought up-to-date as well

* Update docs/framework_config.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update docs/framework_config.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update docs/framework_config.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update docs/framework_config.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update docs/framework_config.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update framework_config.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-09-20 02:57:37 +02:00
Kowlin
88503bbf24 [Mod] Correctly log and store the previous (nick)name (#4131) 2020-09-20 02:42:12 +02:00
zephyrkul
8a75d75d83 Add quote() function to chat formatting utilities (#4425)
* add quote to chat_formatting

* ...

* jack's request
2020-09-20 02:12:11 +02:00
Dav
980b5fa1c2 [Warnings] Improve consistency in [p]warningset's commands (#4409)
* Be consistent with bool setters in warnings cog

* black
2020-09-20 00:16:42 +02:00
PredaaA
343efba4d5 Handle aiohttp errors in [p]set avatar (#4437)
* [Core comands] Handle aiohttp errors in set avatar

* Update redbot/core/core_commands.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-09-19 19:51:38 +02:00
Dav
4e1ce7524b [Modlog API] Handle deleted channels in Case.message_content() (#4415)
* Handle deleted channels in case.message_content()

* remove avatar_url + black
2020-09-19 19:39:59 +02:00
TrustyJAID
fec25fcaba Accept discord.Objects for cases, add last_known_username param in create_case() (#4326)
* [Modlog] Fix typehints for create_case

* Simplify Logic after review

* discord.abc.User to catch both member and user objects and other potential discord.Object's being sent

* fix typehints and Case.edit()

* fix docstrings in create_case

* Add note about last_known_username

* fix the weird thing that scared me
2020-09-19 19:05:00 +02:00
Jamie
6162b0f2bd [Trivia] Fix machamp/machoke (#4424)
* fix machamp/machoke

* swap order
2020-09-14 08:33:49 -07:00
jack1142
6f600b71d3 Exclude locales folders from code ownership (again) (#4418) 2020-09-10 20:33:11 +02:00
github-actions[bot]
f6fccfc949 Automated Crowdin downstream (#4417)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-09-10 20:32:04 +02:00
Kowlin
e1b02b2952 Escape regex on spotify URL (#4414) 2020-09-09 11:03:22 +01:00
Kowlin
a80a5ec96e Create codeql-analysis.yml (#4413)
* Create codeql-analysis.yml

* Remove the matrix support

* Remove autobuild and strategies
2020-09-09 01:12:27 +02:00
Kowlin
a9656dea38 Delete no-NO in favor of nb-NO (#4396) 2020-09-05 02:48:55 +02:00
github-actions[bot]
f8fcabfe10 Automated Crowdin downstream (#4395)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-09-03 17:26:47 +02:00
Kingsley Zhong
ea7e142494 Add hierarchy checks to [p]warn (#4100)
* Update warnings.py

* Cleanup the code and pass style check.

Co-authored-by: Kowlin <boxedpp@gmail.com>
2020-09-03 16:23:03 +02:00
github-actions[bot]
e1a9b31e9b Automated Crowdin downstream (#4394)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-09-03 15:48:34 +02:00
Nathaniel F
59f69c7727 [General] URL encode user input for [p]urban and [p]lmgtfy (#4024)
* URL encode user input in the general cog

Adds URL encoding to `[p]lmgtfy` via `urllib2.parse.quote_plus()`
and to `[p]urban` via `aiohttp.ClientSession.get`'s `params` argument

* Black reformatting
2020-09-03 00:35:27 +02:00
jack1142
0200c2cb3f Clarify documentation of modlog.create_case() (#4389) 2020-09-02 23:09:59 +02:00
jack1142
b11359eebb Add float -> int migration to Bank (float was a bug) (#4386)
* Add float -> int migration to Bank (float was a bug)

* wrong refs

* Cause ctx manager compares before and after values...
2020-09-01 02:04:19 +02:00
jack1142
4adf328fac Update .gitignore with .vscode folder (#4387) 2020-09-01 01:25:46 +02:00
Stonedestroyer
f81cf5960f Fix typos in doc string. (#4360) 2020-09-01 00:53:25 +02:00
jack1142
2bf9c1260c Update CODEOWNERS (#4367)
* Update CODEOWNERS

* Prepend with backslash, add downloader fixtures

* Update CODEOWNERS

* Schemas are closely related to Downloader...

...so I should know about the changes to those.

* Would be nice to add my name (thanks Draper)
2020-08-31 16:40:31 +01:00
Vexed
8956f63229 [Mod] Dots and properly capitalise Discord (#4377) 2020-08-31 14:25:43 +01:00
Ian Martin
7d24413846 Ensure Bank API only works with Integers. (#4376)
Co-authored-by: Draper <27962761+Drapersniper@users.noreply.github.com>
2020-08-31 14:24:44 +01:00
PythonTryHard
e1261b92d1 Typo fix on [p]invite command (#4382) 2020-08-31 14:21:15 +01:00
Fixator10
8c89993cd5 JSON schemas for cogs and repos (#4375)
* JSON schemas for cogs and repos

* newline at the end

* capitalization

* Remove *.json from .gitignore

* Remove empty line

* resolve requested changes

* resolve requested changes, again

Co-authored-by: Fixator10 <fixator10@users.noreply.github.com>
2020-08-30 20:20:48 +02:00
github-actions[bot]
ec7c2ca4b9 Automated Crowdin downstream (#4373)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-08-30 17:42:37 +02:00
jack1142
85afe19455 Bump black to 20.8b1 (and reformat) (#4371)
* Bump black version

* Reformat with black
2020-08-29 19:12:28 +02:00
Ryan
56b54d4d34 [Docs] Update shields in Readme (#4378)
* python shield option 1

* python shield option 2

* updates shields

* swap pypi and d.py

* new format

* no caps
2020-08-29 04:06:54 +02:00
Neuro Assassin
3534e59cb8 [Dev] Add repl pause (#4366)
* [Dev] Add repl pause

* Update redbot/core/dev_commands.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Address reviews

* Address reviews x2

* Small consistency fix

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-08-25 13:24:40 +02:00
Kowlin
eeb5f651b2 Stop the insanity that is this inconsistent command name! (#4328) 2020-08-25 05:18:50 -06:00
TrustyJAID
b0250b91cc Merge pull request #4325 from zephyrkul/patch-1
[customcom] Gracefully handle timeouts in cc edit
2020-08-25 05:16:37 -06:00
Theo Suricate
ef839722f4 Added length validation for [p]set name and [p]set nickname (#4364) 2020-08-24 14:59:09 +01:00
maxbooiii
5cd3a5b5af missing dots (#4031) 2020-08-23 03:13:09 +02:00
bobloy
d80d7c939c Fix typo in lint python workflow (#4201) 2020-08-20 21:26:33 +02:00
github-actions[bot]
8c7848f18b Automated Crowdin downstream (#4327)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-08-20 19:30:44 +02:00
zephyrkul
7d66263948 [cc] don't send success on failure 2020-08-18 18:40:32 -06:00
zephyrkul
7d6662e6b1 [customcom] properly catch TimeoutErrors 2020-08-18 18:32:06 -06:00
Jay Turner
3e6a73ae8c [Economy] Add embed to leaderboard (#4184) 2020-08-18 14:42:36 +01:00
jack1142
94784f366f Dev bump (3.4.1.dev1) (#4197) 2020-08-18 02:10:46 +02:00
Kowlin
bc04937a6a Actually change the version before release! (#4195) 2020-08-18 01:13:01 +02:00
jack1142
29f8cc79ba Red 3.3.12 - Changelog (#4194)
* Red 3.3.12 - Changelog

* Fix date (duh, we're too slow)
2020-08-18 01:00:44 +02:00
zephyrkul
089c253d1d [ctx] Suppress all mentions in maybe_send_embed (#4192)
* [ctx] Suppress all mentions in maybe_send_embed

Whether this method should mention shouldn't be tied to an unrelated setting.

* black

* Update changelog_3_4_0.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-08-18 00:20:03 +02:00
jack1142
d8e780b228 Red 3.4.0 - Changelog (#4059)
* Add 3.4.0 changelog

* Fix some stuff in previous changelog

- Remove empty section
- Fix alphabetical order in contributor list
- Add missing Flame to contributor list
- Fix the length of rst header underline

* PR 4050

* PR 3993

* PR 4064 (issue 4028)

* PR 4077

* PR 3956

* PR 4079

* PR 4089 (issue 4088)

Co-Authored-By: Dav <dav@mail.stopdavabuse.de>

* PR 4099

* PR 4097

* Add Trusty to contributor list

* PR 4116

* PR 4043 (issue 3945)

* PR 4072

* PR 4109

* PR 4110

* PR 4102

* PR 4112

* PR 4161

* PR 4121

* PR 4134, 4143

* PR 4085

* PR 2982 (issue 2906)

* PR 3679 (issue 3605)

* PR 4148 (issue 4147)

* PR 4011

* PR 4022 (issue 4013)

* PR 4135 (issue 4122)

* PR 4167

* PR 4141

* Add NeuroAssassin to contributor list

* PR 4129

* PR 4149

* PR 4105, 4127 (issue 4106)

* PR 3845

* PR 4142

* PR 4163

* PR 4176

* PR 4172 (issue 4066)

* PR 4038 (issue 3786)

* PR 3081

* PR 4137 (issue 4118)

* PR 4017

* PR 4182

Co-Authored-By: Dav <dav@mail.stopdavabuse.de>

* Add Kowlin to contributor list

* PR 4182

* PR 4169

* PR 3084

* Add `douglas-cpp`, `MeatyChunks`, `zephyrkul` to contributor list

* PR 4138

* Add some anchor

* Add release date

Co-authored-by: Dav <dav@mail.stopdavabuse.de>
Co-authored-by: palmtree5 <3577255+palmtree5@users.noreply.github.com>
2020-08-18 00:04:15 +02:00
El Laggron
a9fce2dcf2 [Docs] Fix the horizontal bars in alias user guide (#4191) 2020-08-17 16:08:12 +02:00
El Laggron
6067c8d55e [Docs] Alias user guide (#3084)
* Getting started guide

* Remove DigitalOcean referral link

* Fix typos and mispells, thanks to @Flame442

* Remove cogs.red hyperlink until it is finished

* Add towncrier entry

* Add prolog.txt

This is not necessary for this PR but all of the other cog guides rely on this file.
The cog guides are individual branches based on this one, which is why I'm adding this file right now.

* Add changelog entry

* Add alias cog guide

* QA changes

* More QA changes

considering -> assuming
red is a girl, not non-binary

* Fix some mistakes

* Fix references

* More and better examples, with arguments

* A first quick fix for review

* An attempt to fix the review by @Flame442

* Delete 1734.docs.3.rst

Co-authored-by: Toby Harradine <Tobotimus@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-08-17 15:35:44 +02:00
zephyrkul
0ab6abf462 [Filter] Add missing parentheses (#4185) 2020-08-17 15:25:15 +02:00
Douglas
306de3a64c Don't send message about DMing ACL when command's called from DM (#4188)
* Only send a message telling the user the file will be send via DM if the original message didn't come from a DM

* Remove unused import for AsyncIter

* Changed channel instance comparison to discord.DMChannel

Co-authored-by: douglas-cpp <douglasc.dev@gmail.com>
2020-08-17 15:22:38 +02:00
jack1142
929fd04613 EUD things for Downloader (#4169)
* Initial commit

* Send pagified as with other Downloader's things
2020-08-17 01:27:46 +02:00
Dav
581bdaa496 [Core] Make core_commands.py comply with #4048 (#4138)
Co-authored-by: Draper <27962761+Drapersniper@users.noreply.github.com>
2020-08-16 11:37:29 +01:00
Trent Kable
341fd254fb Add allowed_mentions and mention everyone check to stream alerts (#4182)
* [streams]allowed_mentions on stream announcement

Allows role mentions for discord.py 1.4+
# Type

[x] Bugfix
[ ] Enhancement
[ ] New feature

Description of the changes

Referencing line 747. Gives permissions to mention role on stream announcement.

* Update streams.py

* Add `mention_everyone` defaults

Lines for reference:
- [751-753]:
```py
if can_mention_everyone:
  await self.save_streams()
  return # if bot can mention everyone already, let's stop here```
- [722-774]: 
```py
if can_mention_everyone:
  mentions.append(role.mention)
  return # if bot can mention everyone already, let's stop here (part two)```

Hopefully, this is what you had in mind? Humbly admit I may not have a business in biting this piece but looking forward to feedback on the best methodology for the wanted outcome.
Thanks!

* *sweats*

* imagine variable naming

Should complete all passes.

* misplaced unindent on return

* Update redbot/cogs/streams/streams.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update redbot/cogs/streams/streams.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update redbot/cogs/streams/streams.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* You're a beast jack

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* this would cover all channels in guild (think)

* give this a reeeeee

* Update streams.py

* adds channel argument

https://github.com/Cog-Creators/Red-DiscordBot/pull/4182#pullrequestreview-468012281

* image style checking, self

* imagine

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-08-16 00:59:53 +02:00
Kowlin
bf581b9f97 [Streams] Allow for consume all on messages (#4183)
* Added consume all to streams.

* Updated help doc

* Styling checks, man...
2020-08-15 15:04:05 +02:00
jack1142
46eb9ce7a0 Remove things past deprecation time (2020-08-05) (#4163) 2020-08-15 13:47:28 +02:00
Dav
0adaebb290 [Docs] Clarify EUD statement (#4180)
* add a comma

* be a little more specific
2020-08-14 08:41:00 +02:00
github-actions[bot]
d1b7e0eafb Automated Crowdin downstream (#4181)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-08-14 08:40:04 +02:00
Dav
914f82f352 [Modlog] add timestamp to [p]casesfor and [p]case (#4137)
* add timestamp to casesfor and case

* [Casereader] add timestamp + i18nify

* of course it was needed...

* Update redbot/cogs/modlog/modlog.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update redbot/cogs/modlog/modlog.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* well that was easier than expected

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* thx for the help jack

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-08-13 23:17:02 +02:00
El Laggron
8e611b466e [Docs] Admin user guide (#3081)
* Getting started guide

* Remove DigitalOcean referral link

* Fix typos and mispells, thanks to @Flame442

* Remove cogs.red hyperlink until it is finished

* Add towncrier entry

* Admin guide

* Add prolog.txt

* Use substitutions for arguments

* Some grammar fixes

* Add prolog.txt

This is not necessary for this PR but all of the other cog guides rely on this file.
The cog guides are individual branches based on this one, which is why I'm adding this file right now.

* Add changelog entry

* Add serverlock

* Apply suggestions from code review

Co-Authored-By: Vexed <51716387+Vexed01@users.noreply.github.com>

* Suggestions from vexed

* Update to new admin commands

* Delete 1734.docs.2.rst

* Apply the changes requested by reviewers

Plus add a small tuto on how to make a bot private

* Fix arguments inconsistency

* Remove ctx from argments

* Update docs/cog_guides/admin.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Quotes aaaaaa

Co-authored-by: Toby Harradine <Tobotimus@users.noreply.github.com>
Co-authored-by: Vexed <51716387+Vexed01@users.noreply.github.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2020-08-13 05:12:58 -04:00
DevilXD
6e63ed4e60 Use aware objects when storing and reading UTC timestamps (#4017)
* Use aware objects instead of naive ones

* Use aware objects when storing and reading UTC timestamps

* Remove unneeded parentheses

* Fixed naive and aware objects unable to be compared here

* Address feedback

* Fix the newly added `modlog.create_case()` calls

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-08-12 10:46:32 +02:00
Sharky
73a34eacd6 [Mod] Add kick and warn to mention spam (#4038)
* Mention spam addition

Adjust code to allow for warning and kicking in mention spam automoderation.

Added new subcommand group, mentionspam. Which will display settings of warn, kick, ban, mentionspam when called.

Adjust config to account for this.

* Condense config + removal of comments

Condense config into one variable to make one call.

Removed unneeded comments I left.

* Add warning casetype

Copied over from warnings cog

* Update strings + change function names

* Changed prints and logs. Account for showsettings, removed blocking.

If this style breaks, blame draper...

* Black format...still blaming draper.

* Adding period at end of description

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* config migration

* Fix TypeError, add default information.

* Max_mention wording change

Thanks to @zephyrkul for suggesting the word changes.

* Require argument for max_mention

* Fix warn modlog case creation

* Fix casetype conflict

maaaaaaaaaagicccccccccc timeeeeeeeeeeeeeeeeeeeeeeeee

Co-authored-by: Draper <27962761+Drapersniper@users.noreply.github.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2020-08-11 23:24:22 -04:00
jack1142
9798538438 Remove provisional note from NoParseOptional, fix and start using UserInputOptional (#4142) 2020-08-10 20:20:02 +01:00
Dav
35b0224690 [Mute] Indicate that a guild mute/unmute is currently being processed. (#4172)
Co-authored-by: fixator10
2020-08-10 20:19:44 +01:00
jack1142
05ef5fa3a6 Preparations for d.py 1.4 (includes breaking changes related to mass mentions) (#3845)
Co-authored-by: PredaaA <46051820+PredaaA@users.noreply.github.com>
2020-08-10 20:19:00 +01:00
Tinonb
7707c862d1 Removed Also And Installation (#4176)
In line 60 I removed the word also as it implies that the bot can is already being hosted by someone but you can host it too. I also removed the word installation from line 65 and changed it to installing as that makes more sense or you would have to change the word updating.
2020-08-09 23:40:27 -04:00
jack1142
01a6ef3a8f Add variation selector-16 as appropriate to emojis across Red (#4127) 2020-08-10 03:05:57 +02:00
jack1142
4385aac90c 3.3.11 changelog (#4173)
* 3.3.11 changelog

* Update docs/changelog_3_3_0.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/changelog_3_3_0.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/changelog_3_3_0.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

* Update docs/changelog_3_3_0.rst

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2020-08-10 01:16:47 +02:00
Flame442
c9e4c18f17 [Trivia] Remove an unnecessary .format (#4175) 2020-08-10 01:16:26 +02:00
El Laggron
c8526d42b4 [Docs] Bank user guide (#4149)
* Getting started guide

* Remove DigitalOcean referral link

* Fix typos and mispells, thanks to @Flame442

* Remove cogs.red hyperlink until it is finished

* Add towncrier entry

* Add prolog.txt

This is not necessary for this PR but all of the other cog guides rely on this file.
The cog guides are individual branches based on this one, which is why I'm adding this file right now.

* Add Bank cog guide

* Add changelog entry

* Bank guide

* Nope get out from here potato

* Remove reference to the payday command

* reword + drop a character

Co-authored-by: Toby Harradine <Tobotimus@users.noreply.github.com>
Co-authored-by: palmtree5 <3577255+palmtree5@users.noreply.github.com>
2020-08-09 14:20:12 -08:00
Douglas
e9017e8fe2 [Trivia] Fix unresolved reference to bank.BalanceTooHigh (#4170)
Co-authored-by: douglas-cpp <douglasc.dev@gmail.com>
2020-08-08 17:01:45 +02:00
Vexed
61df4f88b3 [Core] A few data API grammar improvements (#4164)
* stuff

* .

* oops

* aaaaaaaaaa
2020-08-07 00:22:08 +02:00
Jyu Viole Grace
fcbb07a333 [Trivia] whosthatpokemon - Generation III (#4141)
* whosthatpokemon - Gen III

* link redirect to red cdn
2020-08-06 23:34:54 +02:00
Draper
989269c732 Lavalink.jar bump for internal manager (#4168) 2020-08-06 22:04:22 +02:00
Vexed
b363398b28 Docs improvements after watching two self-proclaimed incompetent people install it (#4119)
* the thing

* right

* hmm

* review
2020-08-06 21:51:59 +02:00
PredaaA
fc2277bc88 [Audio] Send an more user friendly message at "Track Stuck" errors (#4061)
Co-authored-by: Draper <27962761+Drapersniper@users.noreply.github.com>
2020-08-06 20:23:49 +01:00
Dav
a9bd1c60e6 [Reports] Give friendly error if no report channel set (#4136) 2020-08-06 21:12:05 +02:00
Dav
297ba8f2b7 [Core] Typo fix (#4035) 2020-08-06 18:54:44 +02:00
jack1142
09933e22f6 Update discord-ext-menus vendor to commit 84caae8038d0d3adc860957ccef05baeec2e2dd8 (#4167) 2020-08-06 17:44:40 +01:00
github-actions[bot]
5f52fb872a [i18n] Automated Crowdin downstream (#4166)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-08-06 17:19:59 +02:00
Dav
f65ff87b96 [Docs] Clarify documentation for Context.clean_prefix (#4135)
* change docstring for Context.clean_prefix

* "tyop"
2020-08-06 03:54:48 +02:00
Michael H
068ce24513 [Core Commands] Add Help settings view (#4022)
* add help settings view

* Update redbot/core/commands/help.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* natural language handling of time intervals is useful

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-08-06 03:38:34 +02:00
Michael H
29543ed118 avoid issue with not having before_invoke called (#4129) 2020-08-06 03:34:55 +02:00
maxbooiii
39ae4a3b58 [Streams] Change hitbox to smashcast. (#4161)
* [Streams] Change hitbox to smashcast.

as hitbox is now smashcast.

* Add files via upload

* reee

* :thonk:

* oof

* Add missing new lines at end of file

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-08-05 17:04:36 -08:00
Michael H
4f808306ba Add a provisional API for replacing the help formatter (#4011)
* Adds an API for replacing the help formatter

* Apply suggestions from code review

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* add note about provisionality

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-08-06 02:12:14 +02:00
jack1142
6cef336417 Remove unused try except blocks in modlog.create_case() usage (#4095) 2020-08-05 19:40:52 +01:00
Jamie
0cc04706f6 [Streams] Attempt to fix unclear error in youtubestream (#4148) 2020-08-05 19:39:28 +01:00
jack1142
c673bb0979 Fix the errors related to installed module having invalid commit data (#4086) 2020-08-05 19:35:57 +01:00
Neuro Assassin
5221b1e4a3 Fix missing self argument in [p]licenseinfo (#4154) 2020-08-04 14:13:23 +02:00
MeatyChunks
8e0dbb7185 Fix amount of messages in log message of [p]cleanup message (#4156)
Fixes #4155
2020-08-04 12:14:13 +02:00
jack1142
775528ce9b Reject package (extension) names that can't be valid Python identifiers (#3679)
* Reject package names that can't be valid Python identifiers

* Add info to `[p](re)load`

* Improve internal consistency of package vs cog
2020-08-03 15:17:27 +02:00
Draper
1a3e264b2a Make humanize_list() use babel. (#2982)
* Removes `MAX_BALANCE` from bank, user `bank.get_max_balance()` now
`[p]bankset maxbal` can be used to set the maximum bank balance

Signed-off-by: Guy <guyreis96@gmail.com>

* Migrates ``humanize_list`` over to babel, and uses the existing `get_babel_locale` function to get a valid locale based on bot locale.

Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com>

* Migrates ``humanize_list`` over to babel, and uses the existing `get_babel_locale` function to get a valid locale based on bot locale.

Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com>

* Fixes docs

Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com>

* Add reference to Babel's `format_list`

* Add Babel to intersphinx

* remove towncrier entry

* Migrates ``humanize_list`` over to babel, and uses the existing `get_babel_locale` function to get a valid locale based on bot locale.

Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com>

* Fixes docs

Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com>

* Add reference to Babel's `format_list`

* Fix order, make the parameters keyword-only

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-08-03 15:17:05 +02:00
Michael H
c5a553a600 Document prefix preservation (#4085)
* Document prefix preservation

* more docs

* ref fix

* update reservations to include dunders

* meh

* Add a broad exclusion in the guarantees section
2020-08-03 15:09:29 +02:00
Michael H
c0b1e50a5f Begin work on a data request API (#4045)
[Core] Data Deletion And Disclosure APIs

 - Adds a Data Deletion API
   - Deletion comes in a few forms based on who is requesting
   - Deletion must be handled by 3rd party
 - Adds a Data Collection Disclosure Command
   - Provides a dynamically generated statement from 3rd party
   extensions
 - Modifies the always available commands to be cog compatible
   - Also prevents them from being unloaded accidentally
2020-08-03 15:09:07 +02:00
jack1142
bb1a256295 Update __init__.py (#4153) 2020-08-03 14:07:04 +01:00
github-actions[bot]
7e7a3a6488 Automated Crowdin downstream (#4133)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-08-01 16:58:27 +02:00
jack1142
36f1fa15a5 Bump pytest to version 6.0.1 and yarl to 1.5.1 (#4126)
* Update pytest to version 6.0.1

* remove some awful monkeypatching

* use new import mode

* Update yarl to 1.5.1
2020-08-01 16:40:19 +02:00
Michael H
3b5183de43 [RPC] Fix for non-rpc users (#4143)
* [RPC] Fix for non-rpc users

  - RPC probably needs rewriting.
  - Also, I noticed some extremely sharp edges
  and a potential crash point (unrelated to the fixed issue)
  on windows that the side effects from have been mitigated here
  partially.

* sysexit on initialization failure
2020-08-01 02:45:51 +02:00
Michael H
bbd08eda3e [RPC] Shutdown properly (#4134)
* [RPC] Shutdown properly

* stop doesn't mean stop, somehow

* 1 more time

* so much salt
2020-07-30 16:11:37 +02:00
Predeactor
dce10d7282 Propose more info on simple serverinfo (#4121)
* Propose more info on simple serverinfo

* Fixed black + serverinfo

* Fix black (Sorry)

* Merge jack's suggestions

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Change separator

👍

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Black

* Update general.py

Co-authored-by: Ubuntu <ubuntu@vps-35e65bf5.vps.ovh.net>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-07-30 01:30:50 +02:00
jack1142
82d8af1fb1 Make docs tox workflow not stop after first warning (#4090) 2020-07-29 02:50:13 +02:00
Twentysix
6c68aa9dcd [CustomCom] [p]cc show - Handle missing cooldowns (#4112)
The old dataconverter didn't add cooldowns by default and `[p]cc show` expects them to be present
2020-07-29 02:48:50 +02:00
Jyu Viole Grace
7458eefa01 [Trivia] whosthatpokemon2 trivia - Generation 2 Pokémons (#4102)
* Generation 2 Pokemons for whosthatpokemon trivia

* replace "pokemon" with "Pokémon"
2020-07-29 02:46:03 +02:00
jack1142
8ada1ee152 Only accept positive integers in [p]cleanup commands (#4115) 2020-07-29 02:44:36 +02:00
Michael H
d73ad3115f Prevent LicenseInfo command from being a source of user command spam (#4110)
* Prevent LicenseInfo command from being a source of user command spam

* add dep-warn explaining whats needed for this

* name issues

* Tests...

* An empty commit unbroke some of it, but still style issues
2020-07-29 02:39:37 +02:00
MeatyChunks
832bdfde22 [Economy] Prevent forbidden error when blocked by user (#4120)
Stop `[p]payouts` throwing a console error if the user has blocked the bot. Probably too spammy to put the payout message in chat.
2020-07-29 01:46:20 +02:00
Jamie
260a2d5c78 Use mod/admin_or_permissions instead of just mod/admin. (#4109)
* Update modcheck.

* _or_permissions for set nickname & serverprefix
2020-07-29 01:38:19 +02:00
Jamie
57247c5d87 [Streams] Mixer removal (#4072)
* [streams] Mixer is dead soon

* remove Mixer from readme
2020-07-29 01:38:03 +02:00
jack1142
e0616c37a9 Fix the copyright in LICENSE file (#3985)
* Fix the copyright in LICENSE file

* Update LICENSE

Co-authored-by: Kowlin <Kowlin@users.noreply.github.com>

* Update LICENSE

Co-authored-by: Kowlin <Kowlin@users.noreply.github.com>

Co-authored-by: Kowlin <Kowlin@users.noreply.github.com>
2020-07-29 01:36:15 +02:00
jack1142
3aa6f51dfb Bump dependencies (this switches to HTML 5 writer in Sphinx & changes config.json dir on Mac) (#3982)
* Bump deps

* use html5 writer

* appdirs<1.4.4 compatibility fix

* more bumping

* Revert "appdirs<1.4.4 compatibility fix" (Jack did a dumb)

This reverts commit cc5299d987.

* And another ~~one~~ bump!

I'm gonna blame Neuro for being nice and contributing to aiohttp-json-rpc.

* just one more and pls merge this Kowlin

* Kowlin, pls merge
2020-07-29 01:16:12 +02:00
Michael H
1d80fe9aec Create cog disabling API (#4043)
* create cog disbale base

* Because defaults...

* lol

* announcer needs to respect this

* defaultdict mishap

* Allow None as guild

- Mostly for interop with with ctx.guild

* a whitespace issue

* Apparently, I broke this too

* Apply suggestions from code review

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* This can probably be more optimized later, but since this is a cached value, it's not a large issue

* Report tunnel closing

* mod too

* whitespace issue

* Fix Artifact of prior method naming

* these 3 places should have the check if i understood it correctly

* Announce the closed tunnels

* tunnel oversight

* Make the player stop at next track

* added where draper said to put it

* Apply suggestions from code review

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
2020-07-28 20:52:36 +02:00
jack1142
97379afe6d Fix the cog_before_invoke hook in Admin (#4124) 2020-07-28 15:29:20 +01:00
github-actions[bot]
fb96392e73 Automated Crowdin downstream (#4103)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-07-28 03:05:19 +02:00
jack1142
0293a108f0 Add workflow_dispatch trigger to Crowdin workflow (#4113) 2020-07-28 02:17:54 +02:00
PredaaA
28b5be21b3 [General] Change PUBLIC feature to COMMUNITY in serverinfo (#4116) 2020-07-25 22:05:11 +02:00
aikaterna
ae4be2c23c Merge pull request #4111 from thisisjvgrace/fix-gen1-trivia
[Trivia] whosthatpokemon - Gen 1 - replace "pokemon" with "Pokémon"
2020-07-24 10:57:41 -07:00
Jyu Viole Grace
5bca214863 use "Pokémon" instead of "pokemon" 2020-07-24 14:56:13 +05:30
Ryan
6ab007bc1d [CustomCom] Add missing await (#4108) 2020-07-23 23:37:31 +02:00
TrustyJAID
583f093eb0 [Admin] fix erroneous await in _ready.set() (#4107) 2020-07-23 23:19:18 +02:00
Michael H
0d8a899a65 [chat formatting] Add Variation Selector-16 as appropriate (#4105)
- Ensures consistent rendering across devices
  - See:
  https://unicode.org/Public/emoji/12.1/emoji-variation-sequences.txt
2020-07-23 19:40:25 +02:00
jack1142
676bf1bd60 Update chocolatey install commands per chocolatey.org (#4098) 2020-07-23 12:34:19 +01:00
jack1142
e88c67465c Update pyenv instructions to install Python 3.8.5 (#4094) 2020-07-23 12:32:53 +01:00
jack1142
8c484f86a9 Make bordered() use + for corners if ascii_border=True (#4097) 2020-07-23 12:32:41 +01:00
Draper
5fba9bc4ed [Audio] Ensure TrackEnqueueError is always handled (#3879)
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
2020-07-23 12:32:32 +01:00
jack1142
0635921d6b Remove operating systems that reached EOL (#4099) 2020-07-23 10:38:47 +01:00
Michael H
ec262d4c30 [Announcer] Don't die with a lack of channels (#4089) 2020-07-20 18:51:27 +01:00
jack1142
5507816c42 Give friendlier error when package can't be found during bot startup (#4079) 2020-07-20 10:53:54 +01:00
github-actions[bot]
dcc77cf24f Automated Crowdin downstream (#4078)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-07-20 03:30:58 +02:00
Michael H
a35bcecf94 Fix state transition for subcommands modified by permission hooks (#3956)
* [Permissions] Fix state transition for subcommands modified by
permission hooks

* docs
2020-07-18 21:40:23 +02:00
Michael H
1852420b98 [Core] Add Red.message_eligible_as_command (#4077)
* [Core] Add `Red.message_eligible_as_command`

  - This is a small utility function which makes it easy for cog
  creators to treat non-command messages as commands correctly.

  - This also modifies `Red.ignored_channel_or_guild`'s signature to
  explicitly add support for passing a message object (the only needed
  attributes are entirely shared with context)

* Update redbot/core/bot.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* address review

* Rename

* remove webhhok check, the issue wasn't possible under normal operation

* Ah yes, ctx.bot in a method of the bot...

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-07-18 15:38:57 +02:00
jack1142
c9ce4a78e6 Exclude locales folders from code ownership (#4071) 2020-07-14 13:35:44 +02:00
jack1142
500f91f0cd Fix no message when unregistered reason is used in [p]warn (#3840) 2020-07-14 10:43:51 +01:00
Vexed
1ee32b77dd [Mod] [p]mute|unmute voice now take action instantly (#4064)
* make mute and unmute have the same fail string

* now add the jucy bits

* hmm no

This reverts commit a445bd8415.

* Apply suggestions from code review

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-07-12 18:44:34 +02:00
jack1142
c4d295b25d Ignore that the rule for model doesn't exist when trying to remove it (#4036) 2020-07-10 21:42:31 +01:00
jack1142
fdf2ed6ecc Make [p]tempban respect default_days setting (#3993) 2020-07-10 21:40:04 +01:00
jack1142
326ae76fe0 Fix the error for empty author list in [p]findcog (#4042) 2020-07-10 21:37:41 +01:00
github-actions[bot]
a7a18ad956 Automated Crowdin downstream (#4060)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-07-09 18:53:49 +02:00
Vexed
cf3636df3c Change wording in VPS providers document (#4050)
* change wording

* hmm

* as discussed in ac

* Update docs/host-list.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update docs/host-list.rst

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* fix it

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-07-09 18:12:46 +02:00
Kowlin
a59ff57c27 Dev bump for 3.3.11 (#4056) 2020-07-09 08:55:40 +02:00
Kowlin
0cd3bede0d 3.3.10 release bump. (#4054) 2020-07-09 08:45:17 +02:00
Neuro Assassin
637fa37fad Red 3.3.10 - Changelog (#3967)
* Add 3.3.10 or 3.4.0 section

* PR 3981

* PR 3951

* PR 3975

* PR 3974

* PR 3964

* PR 3884

* Various things

* PR 3972

* PR 3970

* Add contributor

* PR 3980

* Add Draper as contributor

* PR 3973

* PR 3965

* PR 3987

* PR 3901

* PR 3906

* PR 3958

* PR 3895

* PR 3920

* PR 3915

* oops

* I don't like info

* PR 3969

* PR 3990

* PR 3911

* PR 3921

* PR 3938

* PR 3608

* Update entries about PR 3608

* PR 4012

* PR 4030

* PR 4026

* PR 4039

* PR 3994

* PR 3991

* PR 4023

* Actually fix conflicts

* A lot of PRs.

* And stamp a date on top of it.

* Fun fact, we format it with YYYY-MM-DD...

* Forgot Sinbad, 👀 Sorry

* Update changelog_3_3_0.rst

Co-authored-by: Neuro Assassin <wrbrown70@yahoo.com>
Co-authored-by: Kowlin <Kowlin@users.noreply.github.com>
2020-07-09 08:41:56 +02:00
aikaterna
07dcf38291 Update Lavalink.jar version (#4055) 2020-07-09 08:28:00 +02:00
Lui
ff1f7362ee Bump d.py dependency (#4053) 2020-07-09 07:38:49 +02:00
Draper
d30e83b5fc Reduce config calls when changing white/blacklist and use sets for their cache (#3910)
* optimise use of config ctx manager to reduce calls to config

* fine you potato

* since jack said yes i'll abuse it

* Apply suggestions from code review

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* difference_update and update

* Apply suggestions from code review

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Update redbot/core/settings_caches.py

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* one last tweak

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-07-08 19:25:14 +02:00
Dav
14349d0649 Make strings in help command *truly* translatable (#4044)
* make help.py translatable

* jack's not-review 1

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* pylint is going crazy her, not sure what I'm missing

* Jack's now-this-is-actually-a-review 1

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

* Jack's review 2

* Let's not bother Dav with one missing backtick

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-07-08 15:11:04 +02:00
Dav
49b19450fd [Mod] Make tempbans permanent when using [p]hackban (#4025)
* Remove users from tempban unban list when hackbanning them

* black and missing bracket

* make sure this actually gets processed

* let the user know when a tempban was upgraded

* say more things

* reduce config calls

* jack loves performance

* adress review

* review the 2nd
2020-07-08 01:15:42 +02:00
Dav
5b612b8ac7 [Docs] Update framework_i18n.rst (#4018)
* Update framework_i18n.rst

* Update framework_i18n.rst

* -h flag note

* Add hyphen

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-07-08 00:53:03 +02:00
Draper
e0b922c949 Make localwhitelist check if caller will still be able to use bot after changes (#3903)
* Check invokers theoretical perms in localwhitelist add before completing command

* remove unnecessary code

* add check to remove

* ignore bot owner and server owner

* Update core_commands.py

* lets not crash shit
2020-07-07 20:08:06 +02:00
Michael H
60df447550 Add settings view commands (#4041)
Any group which sent help + settings views has had the settings view
  split into a seperate command. This ensures that custom help behavior
  does not interfere with settings views.
2020-07-07 00:53:41 +02:00
Vexed
2cf7a1f80d [Core] Docstring full stops and a few other grammar fixes (#4023)
* core full stops/other grammar fixes

* need to read better (i'm keeping it on two lines)

* apply review

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-07-06 20:21:45 +02:00
jack1142
4dd0fb97fe Stop putting text about invite when invite isn't sent in tempban message (#3991) 2020-07-06 18:57:16 +01:00
Vexed
12bce6a560 [Image] Update instructions for setting the GIPHY API (#3994)
* update wording for giphy api

* of cource master draper
#3938 - make the command untranslateable

* i18n <your_api_key_here>

* commas to parens as discused in discord
2020-07-06 19:11:04 +02:00
Michael H
d869410d36 Add .gitattributes to ensure project consistent line endings (#4037)
- Renormalized as well
2020-07-06 18:53:10 +02:00
Draper
31bb43ca38 Vendor discord.ext.menus (#4039)
Vendor `discord.ext.menus` from commit `cc108bed812d0e481a628ca573c2eeeca9226b42` at https://github.com/Rapptz/discord-ext-menus

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2020-07-06 17:37:52 +02:00
jack1142
07e480ff7a Stop using git ls-files *.py for style check (#4040) 2020-07-06 14:45:46 +01:00
MiniJennJenn
c251804162 Trivia Update (#4026)
Co-authored-by: hatred2k <hatred2k@gmail.com>
2020-07-06 09:29:56 +01:00
github-actions[bot]
ff72e415aa Automated Crowdin downstream (#4033)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-07-02 19:04:35 +02:00
aikaterna
7d30e3de14 [Utils] Fix regex for role mentions in MessagePredicate (#4030) 2020-07-01 03:29:16 +02:00
bobloy
8b529f488b Add 'discord.com/invite' to docs of filter_invites() function (#4027) 2020-06-30 14:49:45 +02:00
github-actions[bot]
b5930155df Automated Crowdin downstream (#4016)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-06-25 17:20:12 +02:00
bobloy
632840384b Add discord.com to supported domains in INVITE_URL_RE (#4012)
* Support for discord.com

* Modified to support discord.com requiring `/invite`

* Non-capturing
2020-06-24 20:06:11 +02:00
jack1142
a96e814af4 Add project_urls and improve our use of classifiers (#4006) 2020-06-22 21:18:53 +02:00
1437 changed files with 399549 additions and 109314 deletions

4
.gitattributes vendored Normal file
View File

@@ -0,0 +1,4 @@
* text eol=lf
# binary file excludsions
*.png binary

74
.github/CODEOWNERS vendored
View File

@@ -1,63 +1,23 @@
# Core
redbot/core/apis/audio/** @aikaterna @Drapersniper
redbot/core/bank.py @palmtree5
redbot/core/checks.py @tekulvw
redbot/core/cli.py @tekulvw
redbot/core/config.py @tekulvw
redbot/core/cog_manager.py @tekulvw
redbot/core/core_commands.py @tekulvw
redbot/core/context.py @Tobotimus
redbot/core/commands/* @mikeshardmind
redbot/core/data_manager.py @tekulvw
redbot/core/dev_commands.py @tekulvw
redbot/core/drivers/* @tekulvw
redbot/core/events.py @tekulvw
redbot/core/global_checks.py @tekulvw
redbot/core/i18n.py @tekulvw
redbot/core/modlog.py @palmtree5
redbot/core/rpc.py @tekulvw
redbot/core/utils/chat_formatting.py @tekulvw
redbot/core/utils/mod.py @palmtree5
redbot/core/utils/data_converter.py @mikeshardmind
redbot/core/utils/antispam.py @mikeshardmind
redbot/core/utils/tunnel.py @mikeshardmind
redbot/core/utils/caching.py @mikeshardmind
redbot/core/utils/common_filters.py @mikeshardmind
redbot/core/utils/dbtools.py @mikeshardmind
# Cogs
redbot/cogs/admin/* @tekulvw
redbot/cogs/alias/* @tekulvw
redbot/cogs/audio/** @aikaterna @Drapersniper
redbot/cogs/bank/* @tekulvw
redbot/cogs/cleanup/* @palmtree5
redbot/cogs/customcom/* @palmtree5
redbot/cogs/downloader/* @tekulvw @jack1142
redbot/cogs/economy/* @palmtree5
redbot/cogs/filter/* @palmtree5
redbot/cogs/general/* @palmtree5
redbot/cogs/image/* @palmtree5
redbot/cogs/mod/* @palmtree5
redbot/cogs/modlog/* @palmtree5
redbot/cogs/streams/* @Twentysix26 @palmtree5
redbot/cogs/trivia/* @Tobotimus
redbot/cogs/reports/* @mikeshardmind
redbot/cogs/permissions/* @mikeshardmind
redbot/cogs/warnings/* @palmtree5
/redbot/cogs/audio/** @aikaterna @Drapersniper
/redbot/cogs/downloader/* @jack1142
/redbot/cogs/streams/* @palmtree5
/redbot/cogs/mutes/* @TrustyJAID
# Docs
docs/* @tekulvw @palmtree5
# Trivia Lists
/redbot/cogs/trivia/data/lists/whosthatpokemon*.yaml @aikaterna
# Tests
tests/cogs/downloader/* @jack1142
/redbot/pytest/downloader* @jack1142
/tests/cogs/downloader/* @jack1142
# Setup, instance setup, and running the bot
setup.py @tekulvw
redbot/__init__.py @tekulvw
redbot/__main__.py @tekulvw @mikeshardmind
redbot/setup.py @tekulvw
# Schemas
/schema/* @jack1142
# Others
.travis.yml @Kowlin
crowdin.yml @Kowlin
.github/workflows/* @Kowlin
# CI
/.travis.yml @Kowlin
/crowdin.yml @Kowlin
/.github/workflows/* @Kowlin
# Excludes
**/locales/* @ghost

View File

@@ -1,20 +0,0 @@
Please be sure to read through other issues as well to make sure what you are suggesting/reporting has not already
been suggested/reported
### Type:
- [ ] Suggestion
- [ ] Bug
### Brief description of the problem
### Expected behavior
### Actual behavior
### Steps to reproduce
1.
2.
3.
4.

View File

@@ -1,34 +0,0 @@
---
name: Bug reports for commands
about: For bugs that involve commands found within Red
title: ''
labels: 'Type: Bug'
assignees: ''
---
# Command bugs
<!--
Did you find a bug with a command? Fill out the following:
-->
#### Command name
<!-- Replace this line with the name of the command -->
#### What cog is this command from?
<!-- Replace this line with the name of the cog -->
#### What were you expecting to happen?
<!-- Replace this line with a description of what you were expecting to happen -->
#### What actually happened?
<!-- Replace this line with a description of what actually happened. Include any error messages -->
#### How can we reproduce this issue?
<!-- Replace with numbered steps to reproduce the issue -->

72
.github/ISSUE_TEMPLATE/command_bug.yml vendored Normal file
View File

@@ -0,0 +1,72 @@
name: Bug reports for commands
about: For bugs that involve commands found within Red.
title: ''
labels: 'Type: Bug'
assignees: ''
issue_body: true
inputs:
- type: description
attributes:
value: |
Thank you for taking the time to fill out an issue. This template is meant for any issues related to commands.
If you require help with installing Red we ask that you join our [Discord server](https://discord.gg/red)
- type: input
attributes:
label: "What Red version are you using?"
placeholder: 3.4.5
required: true
- type: dropdown
attributes:
label: "Cog name"
description: "From which cog does the command come from?"
required: true
choices:
- Admin
- Alias
- Audio
- Bank
- Cleanup
- CogManagerUI
- Core
- Customcom
- Dev
- Downloader
- Economy
- Filter
- General
- Image
- Mod
- Modlog
- Mutes
- Permissions
- Reports
- Streams
- Trivia
- Warnings
- type: input
attributes:
label: "Command name"
description: "What is the command that caused the error?"
placeholder: "play"
required: true
- type: textarea
attributes:
label: "What did you expect to happen?"
required: true
- type: textarea
attributes:
label: "What actually happened?"
description: |
A clear and concise description of what the bug is.
If the issue is visual in nature, consider posting a screenshot.
required: true
- type: textarea
attributes:
label: "How can we reproduce this error?"
description: "List of steps required to reproduce this error."
value: |
1.
2.
3.
...
required: true

23
.github/ISSUE_TEMPLATE/enhancements.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: Enhancement proposal
about: For feature requests and improvements related to already existing functionality.
title: ''
labels: 'Type: Enhancement'
assignees: ''
issue_body: true
inputs:
- type: description
attributes:
value: |
Thank you for taking the time to fill out an issue. This template is meant for feature requests and improvements to already existing functionality.
If you require help with installing Red we ask that you join our [Discord server](https://discord.gg/red)
- type: input
attributes:
label: "What component of Red (cog, command, API) would you like to see improvements on?"
placeholder: Audio
required: true
- type: textarea
attributes:
label: "Describe the enhancement you're suggesting."
required: true
description: |
Feel free to describe in as much detail as you wish.

View File

@@ -1,44 +0,0 @@
---
name: Feature request
about: For feature requests regarding Red itself.
title: ''
labels: 'Type: Feature'
assignees: ''
---
# Feature request
<!-- This template is for feature requests. Please fill out the following: -->
#### Select the type of feature you are requesting:
<!-- To check a box, replace the space between the [] with a x -->
- [ ] Cog
- [ ] Command
- [ ] API functionality
#### Describe your requested feature
<!--
Feel free to describe in as much detail as you wish.
If you are requesting a cog to be included in core:
- Describe the functionality in as much detail as possible
- Include the command structure, if possible
- Please note that unless it's something that should be core functionality,
we reserve the right to reject your suggestion and point you to our cog
board to request it for a third-party cog
If you are requesting a command:
- Include what cog it should be in and a name for the command
- Describe the intended functionality for the command
- Note any restrictions on who can use the command or where it can be used
If you are requesting API functionality:
- Describe what it should do
- Note whether it is to extend existing functionality or introduce new functionality
-->

View File

@@ -0,0 +1,45 @@
name: Feature request
about: For feature requests regarding Red itself.
title: ''
labels: 'Type: Feature'
assignees: ''
issue_body: true
inputs:
- type: description
attributes:
value: |
Thank you for taking the time to fill out an issue, this template is meant for any feature suggestions.
If you require help with installing Red we ask that you join our [Discord server](https://discord.gg/red)
- type: multi_select
attributes:
label: "Type of feature request"
description: "What type of feature would you like to request?"
required: true
choices:
- API functionality
- Cog
- Command
- Other
- type: textarea
attributes:
label: "Description of the feature you're suggesting"
description: |
Feel free to describe in as much detail as you wish.
If you are requesting API functionality:
- Describe what it should do
- Note whether it is to extend existing functionality or introduce new functionality
If you are requesting a cog to be included in core:
- Describe the functionality in as much detail as possible
- Include the command structure, if possible
- Please note that unless it's something that should be core functionality,
we reserve the right to reject your suggestion and point you to our cog
board to request it for a third-party cog
If you are requesting a command:
- Include what cog it should be in and a name for the command
- Describe the intended functionality for the command
- Note any restrictions on who can use the command or where it can be used
required: true

View File

@@ -1,30 +0,0 @@
---
name: Bug report
about: For bugs that don't involve a command.
title: ''
labels: 'Type: Bug'
assignees: ''
---
# Other bugs
<!--
Did you find a bug with something other than a command? Fill out the following:
-->
#### What were you trying to do?
<!-- Replace this line with a description of what you were trying to do -->
#### What were you expecting to happen?
<!-- Replace this line with a description of what you were expecting to happen -->
#### What actually happened?
<!-- Replace this line with a description of what actually happened. Include any error messages -->
#### How can we reproduce this issue?
<!-- Replace with numbered steps to reproduce the issue -->

42
.github/ISSUE_TEMPLATE/other_bugs.yml vendored Normal file
View File

@@ -0,0 +1,42 @@
name: Bug report
about: "For bugs that don't involve a command."
title: ''
labels: 'Type: Bug'
assignees: ''
issue_body: true
inputs:
- type: description
attributes:
value: |
Thank you for taking the time to fill out an issue. This template is meant for any issues not related to any existing command.
If you require help with installing Red we ask that you join our [Discord server](https://discord.gg/red)
- type: input
attributes:
label: "What Red version are you using?"
placeholder: 3.4.5
required: true
- type: textarea
attributes:
label: "What were you trying to do?"
required: true
- type: textarea
attributes:
label: "What did you expect to happen?"
required: true
- type: textarea
attributes:
label: "What actually happened?"
description: |
If the issue is visual in nature, consider posting a screenshot.
required: true
- type: textarea
attributes:
label: "How can we reproduce this error?"
description: |
List of steps required to reproduce the error. If the bug is code related, a minimal code example that reproduces the problem would be a big help.
value: |
1.
2.
3.
...
required: true

95
.github/labeler.yml vendored Normal file
View File

@@ -0,0 +1,95 @@
"Category: Admin":
- redbot/cogs/admin/*
"Category: Alias":
- redbot/cogs/alias/*
"Category: Audio Cog":
- any:
- redbot/cogs/audio/**/*
all:
- "!redbot/cogs/audio/**/locales/*"
"Category: Bank API":
- redbot/core/bank.py
"Category: Bank Cog":
- redbot/cogs/bank/*
"Category: Bot Core":
- redbot/*
- redbot/core/__init__.py
- redbot/core/_sharedlibdeprecation.py
- redbot/core/bot.py
- redbot/core/checks.py
- redbot/core/cli.py
- redbot/core/cog_manager.py
- redbot/core/core_commands.py
- redbot/core/data_manager.py
- redbot/core/errors.py
- redbot/core/events.py
- redbot/core/global_checks.py
- redbot/core/settings_caches.py
"Category: CI":
- .github/workflows/*
"Category: Cleanup Cog":
- redbot/cogs/cleanup/*
"Category: Command Module":
- any:
- redbot/core/commands/*
all:
- "!redbot/core/commands/help.py"
"Category: Config":
- redbot/core/drivers/*
- redbot/core/config.py
"Category: CustomCom":
- redbot/cogs/customcom/*
"Category: Dev Cog":
- redbot/core/dev_commands.py
"Category: Docs":
- docs/**/*
"Category: Downloader":
- redbot/cogs/downloader/*
"Category: Economy Cog":
- redbot/cogs/economy/*
"Category: Filter":
- redbot/cogs/filter/*
"Category: General Cog":
- redbot/cogs/general/*
"Category: Help":
- redbot/core/commands/help.py
"Category: i18n":
- redbot/core/i18n.py
- redbot/**/locales/*
"Category: Image":
- redbot/cogs/image/*
"Category: Meta":
- ./*
- .github/*
- .github/ISSUE_TEMPLATE/*
- .github/PULL_REQUEST_TEMPLATE/*
- schema/*
- tools/*
"Category: Mod Cog":
- redbot/cogs/mod/*
"Category: Modlog API":
- redbot/core/generic_casetypes.py
- redbot/core/modlog.py
"Category: Modlog Cog":
- redbot/cogs/modlog/*
"Category: Mutes Cog":
- redbot/cogs/mutes/*
"Category: Permissions":
- redbot/cogs/permissions/*
"Category: Reports Cog":
- redbot/cogs/reports/*
"Category: RPC/ZMQ API":
- redbot/core/rpc.py
"Category: Streams":
- redbot/cogs/streams/*
"Category: Tests":
- redbot/pytest/*
- tests/**/*
"Category: Trivia Cog":
- redbot/cogs/trivia/*
"Category: Trivia Lists":
- redbot/cogs/trivia/data/lists/*
"Category: Utility Functions":
- redbot/core/utils/*
"Category: Warnings":
- redbot/cogs/warnings/*

View File

@@ -1,4 +1,4 @@
name: Auto Labeler
name: Auto Labeler - Issues
on:
issues:
types: [opened]
@@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Apply Triage Label
uses: actions/github-script@0.4.0
uses: actions/github-script@v3
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |

12
.github/workflows/auto_labeler_pr.yml vendored Normal file
View File

@@ -0,0 +1,12 @@
name: Auto Labeler - PRs
on:
pull_request_target:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Apply Type Label
uses: actions/labeler@v3
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

55
.github/workflows/codeql-analysis.yml vendored Normal file
View File

@@ -0,0 +1,55 @@
name: "CodeQL"
on:
push:
pull_request:
schedule:
- cron: '0 14 * * 4'
workflow_dispatch:
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.8"
- name: Install dependencies
run: |
python -m pip install -U pip setuptools wheel
python -m pip install -r ./tools/dev-requirements.txt
# Set the `CODEQL-PYTHON` environment variable to the Python executable
# that includes the dependencies
echo "CODEQL_PYTHON=$(which python)" >> $GITHUB_ENV
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: 'python'
# Override the default behavior so that the action doesn't attempt
# to auto-install Python dependencies
# Learn more...
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#analyzing-python-dependencies
setup-python-dependencies: false
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -17,9 +17,9 @@ jobs:
- uses: actions/checkout@v2
with:
ref: ${{ env.ref }}
- uses: actions/setup-python@v1
- uses: actions/setup-python@v2
with:
python_version: "3.8"
python-version: "3.8"
- run: "python -m pip install git+https://github.com/pycqa/pyflakes@1911c20#egg=pyflakes git+https://github.com/pycqa/pycodestyle@d219c68#egg=pycodestyle git+https://gitlab.com/pycqa/flake8@3.7.9#egg=flake8"
name: Install Flake8
- run: "python -m flake8 . --count --select=E9,F7,F82 --show-source"

View File

@@ -2,6 +2,7 @@ name: Publish to Crowdin
on:
schedule:
- cron: '0 12 * * THU'
workflow_dispatch:
repository_dispatch:
types: crowdin
@@ -16,7 +17,7 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v2
with:
python-version: '3.8'
- name: Install dependencies
@@ -25,7 +26,7 @@ jobs:
echo "deb https://artifacts.crowdin.com/repo/deb/ /" | sudo tee -a /etc/apt/sources.list
sudo apt-get update -qq
sudo apt-get install -y crowdin
pip install redgettext==3.1
pip install redgettext==3.3
- name: Generate source files
run: |
make gettext
@@ -36,7 +37,7 @@ jobs:
run: |
make download_translations
- name: Create Pull Request
uses: peter-evans/create-pull-request@v2
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: Automated Crowdin downstream
@@ -46,3 +47,4 @@ jobs:
Please ensure that there are no errors or invalid files are in the PR.
labels: "Automated PR, Category: i18n, Changelog Entry: Skipped"
branch: "automated/i18n"
author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

View File

@@ -11,7 +11,7 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v2
with:
python-version: '3.8'
- name: Install dependencies

View File

@@ -34,7 +34,7 @@ jobs:
with:
ref: ${{ env.ref }}
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python_version }}
- name: Install tox
@@ -68,7 +68,7 @@ jobs:
with:
ref: ${{ env.ref }}
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python_version }}
- name: Install tox

2
.gitignore vendored
View File

@@ -1,4 +1,3 @@
*.json
*.exe
*.dll
*.pot
@@ -15,6 +14,7 @@ Pipfile.lock
# User-specific stuff:
.idea/
*.iws
.vscode/
## Plugin-specific files:

View File

@@ -632,7 +632,8 @@ state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Red - A fully customizable Discord bot
Copyright (C) 2015-2020 Twentysix
Copyright (C) 2017-2021 Cog Creators
Copyright (C) 2015-2017 Twentysix
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -652,7 +653,8 @@ Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
Red-DiscordBot Copyright (C) 2015-2020 Twentysix
Red-DiscordBot Copyright (C) 2017-2021 Cog Creators
Red-DiscordBot Copyright (C) 2015-2017 Twentysix
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
@@ -700,3 +702,6 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
This project vendors discord.ext.menus package (https://github.com/Rapptz/discord-ext-menus) made by Danny Y. (Rapptz) which is distributed under MIT License.
Copy of this license can be found in discord-ext-menus.LICENSE file in redbot/vendored folder of this repository.

View File

@@ -1,12 +1,14 @@
PYTHON ?= python3.8
ROOT_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
# Python Code Style
reformat:
$(PYTHON) -m black `git ls-files "*.py"`
$(PYTHON) -m black $(ROOT_DIR)
stylecheck:
$(PYTHON) -m black --check `git ls-files "*.py"`
$(PYTHON) -m black --check $(ROOT_DIR)
stylediff:
$(PYTHON) -m black --check --diff `git ls-files "*.py"`
$(PYTHON) -m black --check --diff $(ROOT_DIR)
# Translations
gettext:
@@ -23,7 +25,7 @@ bumpdeps:
# Development environment
newenv:
$(PYTHON) -m venv --clear .venv
.venv/bin/pip install -U pip setuptools
.venv/bin/pip install -U pip setuptools wheel
$(MAKE) syncenv
syncenv:
.venv/bin/pip install -Ur ./tools/dev-requirements.txt

View File

@@ -12,22 +12,22 @@
<a href="https://discord.gg/red">
<img src="https://discordapp.com/api/guilds/133049272517001216/widget.png?style=shield" alt="Discord Server">
</a>
<a href="https://www.patreon.com/Red_Devs">
<img src="https://img.shields.io/badge/Support-Red!-yellow.svg" alt="Support Red on Patreon!">
<a href="https://pypi.org/project/Red-DiscordBot/">
<img alt="PyPI" src="https://img.shields.io/pypi/v/Red-Discordbot">
</a>
<a href="https://www.python.org/downloads/">
<img src="https://img.shields.io/badge/Made%20With-Python%203.8-blue.svg?style=for-the-badge" alt="Made with Python 3.8">
</a>
<a href="https://crowdin.com/project/red-discordbot">
<img src="https://d322cqt584bo4o.cloudfront.net/red-discordbot/localized.svg" alt="Localized with Crowdin">
<img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/Red-Discordbot">
</a>
<a href="https://github.com/Rapptz/discord.py/">
<img src="https://img.shields.io/badge/discord-py-blue.svg" alt="discord.py">
<img src="https://img.shields.io/badge/discord-py-blue.svg" alt="discord.py">
</a>
<a href="https://www.patreon.com/Red_Devs">
<img src="https://img.shields.io/badge/Support-Red!-red.svg" alt="Support Red on Patreon!">
</a>
</p>
<p align="center">
<a href="https://github.com/Cog-Creators/Red-DiscordBot/actions">
<img src="https://github.com/Cog-Creators/Red-DiscordBot/workflows/Tests/badge.svg" alt="GitHub Actions">
<img src="https://img.shields.io/github/workflow/status/Cog-Creators/Red-Discordbot/Tests?label=tests" alt="GitHub Actions">
</a>
<a href="http://red-discordbot.readthedocs.io/en/stable/?badge=stable">
<img src="https://readthedocs.org/projects/red-discordbot/badge/?version=stable" alt="Red on readthedocs.org">
@@ -38,6 +38,9 @@
<a href="http://makeapullrequest.com">
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg">
</a>
<a href="https://crowdin.com/project/red-discordbot">
<img src="https://d322cqt584bo4o.cloudfront.net/red-discordbot/localized.svg" alt="Localized with Crowdin">
</a>
</p>
<p align="center">
@@ -57,19 +60,19 @@
# Overview
Red is a fully modular bot meaning all features and commands can be enabled/disabled to your
liking, making it completely customizable. This is also a *self-hosted bot* meaning you will need
liking, making it completely customizable. This is a *self-hosted bot* meaning you will need
to host and maintain your own instance. You can turn Red into an admin bot, music bot, trivia bot,
new best friend or all of these together!
[Installation](#installation) is easy, and you do **NOT** need to know anything about coding! Aside
from installation and updating, every part of the bot can be controlled from within Discord.
from installing and updating, every part of the bot can be controlled from within Discord.
**The default set of modules includes and is not limited to:**
- Moderation features (kick/ban/softban/hackban, mod-log, filter, chat cleanup)
- Trivia (lists are included and can be easily added)
- Music features (YouTube, SoundCloud, local files, playlists, queues)
- Stream alerts (Twitch, Youtube, Mixer, Hitbox, Picarto)
- Stream alerts (Twitch, Youtube, Hitbox, Picarto)
- Bank (slot machine, user credits)
- Custom commands
- Imgur/gif search
@@ -104,7 +107,7 @@ plugins directly from Discord! A few examples are:
- AniList
- And much, much more!
Feel free to take a [peek](https://cogboard.red/t/approved-repositories/210) at a list of
Feel free to take a [peek](https://index.discord.red) at a list of
available 3rd party cogs!
# Join the community!
@@ -126,3 +129,6 @@ Red is named after the main character of "Transistor", a video game by
Artwork created by [Sinlaire](https://sinlaire.deviantart.com/) on Deviant Art for the Red Discord
Bot Project.
This project vendors [discord.ext.menus](https://github.com/Rapptz/discord-ext-menus) package made by Danny Y. (Rapptz) which is distributed under MIT License.
Copy of this license can be found in [discord-ext-menus.LICENSE](redbot/vendored/discord-ext-menus.LICENSE) file in [redbot/vendored](redbot/vendored) folder of this repository.

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -35,6 +35,17 @@ You can add additional Red based arguments after the instance, such as :code:`--
<Red Instance>
The name of your Red instance.
If you used :code:`pyenv virtualenv` to create your virtual environment, please make the following changes to the above generated command
.. code-block:: none
<Location to your Python Interpreter>
Run the following instead to get your Python interpreter
pyenv which python
Replace the `redbot` part of `pm2 start redbot` with the output of the following (when ran inside your activated venv)
pyenv which redbot
------------------------------
Ensuring that PM2 stays online
------------------------------

View File

@@ -4,6 +4,8 @@
Setting up auto-restart using systemd on Linux
==============================================
.. note:: This guide is for setting up systemd on a Linux environment. This guide assumes that you already have a working Red instance.
-------------------------
Creating the service file
-------------------------

View File

@@ -0,0 +1,79 @@
===========================================
Creating a bot account
===========================================
To use Red you will require a bot account and to enable privileged intents. Both these steps will be covered below.
.. _creating-a-bot-account:
-------------------------------
Creating the bot application
-------------------------------
In order to use Red, we must first create a Discord Bot account.
Creating a Bot account is a pretty straightforward process.
1. Make sure you're logged on to the `Discord website <https://discord.com>`_.
2. Navigate to the `application page <https://discord.com/developers/applications>`_
3. Click on the "New Application" button.
.. image:: /.resources/bot-guide/discord_create_app_button.png
:alt: The new application button.
4. Give the application a name and click "Create".
.. image:: /.resources/bot-guide/discord_create_app_form.png
:alt: The new application form filled in.
5. Create a Bot User by navigating to the "Bot" tab and clicking "Add Bot".
- Click "Yes, do it!" to continue.
.. image:: /.resources/bot-guide/discord_create_bot_user.png
:alt: The Add Bot button.
6. If you want others to be able to invite your bot tick the **Public Bot**. Keeping it unticked will prevent others from inviting your bot to their servers and only you will be able to add the bot to servers (provided that you have needed permissions in the server you want to add the bot to).
- Make sure **Require OAuth2 Code Grant** is unchecked.
.. image:: /.resources/bot-guide/discord_bot_user_options.png
:alt: How the Bot User options should look like for most people.
7. Copy the token using the "Copy" button.
- **This is not the Client Secret at the General Information page**
.. warning::
Do not share your token as it is like your password.
If you shared your token you can regenerate it.
Continue to the next section to enable privileged intents.
.. _enabling-privileged-intents:
-------------------------------
Enabling Privileged Intents
-------------------------------
.. warning::
Due to Discord API changes, Red Bot requires all intents.
\This section is required.
1. Make sure you're logged on to the `Discord website <https://discord.com>`_.
2. Navigate to the `application page <https://discord.com/developers/applications>`_
3. Click on the bot you want to enable privileged intents for.
4. Navigate to the bot tab on the left side of the screen.
.. image:: /.resources/bot-guide/discord_bot_tab.png
:alt: The bot tab in the application page.
5. Scroll down to the "Privileged Gateway Intents" section, enable both privileged intents and save your changes.
.. image:: /.resources/bot-guide/discord_privileged_intents.png
:alt: The privileged gateway intents selector.
.. warning::
Red bots with over 100 servers require `bot verification <https://support.discord.com/hc/en-us/articles/360040720412>`_ which is not covered in this guide.
*Parts of this guide have been adapted from* `discord.py intro <https://discordpy.readthedocs.io/en/stable/discord.html#discord-intro>`_ *and* `discord.py privileged intents <https://discordpy.readthedocs.io/en/stable/intents.html#privileged-intents>`_.

View File

@@ -1,5 +1,185 @@
.. 3.3.x Changelogs
Redbot 3.3.12 (2020-08-18)
==========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`Dav-Git`, :ghuser:`douglas-cpp`, :ghuser:`flaree`, :ghuser:`jack1142`, :ghuser:`Kowlin`, :ghuser:`MeatyChunks`, :ghuser:`PredaaA`, :ghuser:`Predeactor`, :ghuser:`thisisjvgrace`, :ghuser:`Vexed01`, :ghuser:`zephyrkul`
End-user changelog
------------------
Core Bot
********
- Red now logs clearer error if it can't find package to load in any cog path during bot startup (:issue:`4079`)
Mod
***
- ``[p]mute voice`` and ``[p]unmute voice`` now take action instantly if bot has Move Members permission (:issue:`4064`)
- Added typing to ``[p](un)mute guild`` to indicate that mute is being processed (:issue:`4066`, :issue:`4172`)
Streams
*******
- Improve error messages for invalid channel names/IDs (:issue:`4147`, :issue:`4148`)
Trivia Lists
************
- Added ``whosthatpokemon2`` trivia containing Pokémons from 2nd generation (:issue:`4102`)
- Added ``whosthatpokemon3`` trivia containing Pokémons from 3rd generation (:issue:`4141`)
Miscellaneous
-------------
- Updated features list in ``[p]serverinfo`` with the latest changes from Discord (:issue:`4116`)
- Simple version of ``[p]serverinfo`` now shows info about more detailed ``[p]serverinfo 1`` (:issue:`4121`)
Redbot 3.3.11 (2020-08-10)
==========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`douglas-cpp`, :ghuser:`Drapersniper`, :ghuser:`Flame`, :ghuser:`jack1142`, :ghuser:`MeatyChunks`, :ghuser:`Vexed01`, :ghuser:`yamikaitou`
End-user changelog
------------------
Audio
*****
- Audio should now work again on all voice regions (:issue:`4162`, :issue:`4168`)
- Removed an edge case where an unfriendly error message was sent in Audio cog (:issue:`3879`)
Cleanup
*******
- Fixed a bug causing ``[p]cleanup`` commands to clear all messages within last 2 weeks when ``0`` is passed as the amount of messages to delete (:issue:`4114`, :issue:`4115`)
CustomCommands
**************
- ``[p]cc show`` now sends an error message when command with the provided name couldn't be found (:issue:`4108`)
Downloader
**********
- ``[p]findcog`` no longer fails for 3rd-party cogs without any author (:issue:`4032`, :issue:`4042`)
- Update commands no longer crash when a different repo is added under a repo name that was once used (:issue:`4086`)
Permissions
***********
- ``[p]permissions removeserverrule`` and ``[p]permissions removeglobalrule`` no longer error when trying to remove a rule that doesn't exist (:issue:`4028`, :issue:`4036`)
Warnings
********
- ``[p]warn`` now sends an error message (instead of no feedback) when an unregistered reason is used by someone who doesn't have Administrator permission (:issue:`3839`, :issue:`3840`)
Redbot 3.3.10 (2020-07-09)
==========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`aikaterna`, :ghuser:`bobloy`, :ghuser:`Dav-Git`, :ghuser:`Drapersniper`, :ghuser:`Flame442`, :ghuser:`flaree`, :ghuser:`Injabie3`, :ghuser:`jack1142`, :ghuser:`mikeshardmind`, :ghuser:`MiniJennJenn`, :ghuser:`NeuroAssassin`, :ghuser:`thisisjvgrace`, :ghuser:`Vexed01`
End-user changelog
------------------
Audio
*****
- Added information about internally managed jar to ``[p]audioset info`` (:issue:`3915`)
- Updated to Lavaplayer 1.3.50
- Twitch playback and YouTube searching should be functioning again.
Core Bot
********
- Fixed delayed help when ``[p]set deletedelay`` is enabled (:issue:`3884`, :issue:`3883`)
- Bumped the Discord.py requirement from 1.3.3 to 1.3.4 (:issue:`4053`)
- Added settings view commands for nearly all cogs. (:issue:`4041`)
- Added more strings to be fully translatable by i18n. (:issue:`4044`)
Downloader
**********
- Added ``[p]cog listpinned`` subcommand to see currently pinned cogs (:issue:`3974`)
- Fixed unnecessary typing when running downloader commands (:issue:`3964`, :issue:`3948`)
- Added embed version of ``[p]findcog`` (:issue:`3965`, :issue:`3944`)
- Fixed ``[p]findcog`` not differentiating between core cogs and local cogs(:issue:`3969`, :issue:`3966`)
Filter
******
- Added ``[p]filter list`` to show filtered words, and removed DMs when no subcommand was passed (:issue:`3973`)
Image
*****
- Updated instructions for obtaining and setting the GIPHY API key (:issue:`3994`)
Mod
***
- Added option to delete messages within the passed amount of days with ``[p]tempban`` (:issue:`3958`)
- Added the ability to permanently ban a temporary banned user with ``[p]hackban`` (:issue:`4025`)
- Fixed the passed reason not being used when using ``[p]tempban`` (:issue:`3958`)
- Fixed invite being sent with ``[p]tempban`` even when no invite was set (:issue:`3991`)
- Prevented an issue whereby the author may lock him self out of using the bot via whitelists (:issue:`3903`)
- Reduced the number of API calls made to the storage APIs (:issue:`3910`)
Permissions
***********
- Uploaded YAML files now accept integer commands without quotes (:issue:`3987`, :issue:`3185`)
- Uploaded YAML files now accept command rules with empty dictionaries (:issue:`3987`, :issue:`3961`)
Streams
*******
- Fixed streams cog sending multiple owner notifications about twitch secret not set (:issue:`3901`, :issue:`3587`)
- Fixed old bearer tokens not being invalidated when the API key is updated (:issue:`3990`, :issue:`3917`)
Trivia Lists
************
- Fixed URLs in ``whosthatpokemon`` (:issue:`3975`, :issue:`3023`)
- Fixed trivia files ``leagueults`` and ``sports`` (:issue:`4026`)
- Updated ``greekmyth`` to include more answer variations (:issue:`3970`)
- Added new ``lotr`` trivia list (:issue:`3980`)
- Added new ``r6seige`` trivia list (:issue:`4026`)
Developer changelog
-------------------
- Added the utility functions ``map``, ``find``, and ``next`` to ``AsyncIter`` (:issue:`3921`, :issue:`3887`)
- Updated deprecation times for ``APIToken``, and loops being passed to various functions to the first minor release (represented by ``X`` in ``3.X.0``) after 2020-08-05 (:issue:`3608`)
- Updated deprecation warnings for shared libs to reflect that they have been moved for an undefined time (:issue:`3608`)
- Added new ``discord.com`` domain to ``INVITE_URL_RE`` common filter (:issue:`4012`)
- Fixed incorrect role mention regex in ``MessagePredicate`` (:issue:`4030`)
- Vendor the ``discord.ext.menus`` module (:issue:`4039`)
Miscellaneous
-------------
- Improved error responses for when Modlog and Autoban on mention spam were already disabled (:issue:`3951`, :issue:`3949`)
- Clarified that ``[p]embedset user`` only affects commands executed in DMs (:issue:`3972`, :issue:`3953`)
- Added link to Getting Started guide if the bot was not in any guilds (:issue:`3906`)
- Fixed exceptions being ignored or not sent to log files in special cases (:issue:`3895`)
- Added the option of using dots in the instance name when creating your instances (:issue:`3920`)
- Added a confirmation when using hyphens in instance names to discourage the use of them (:issue:`3920`)
- Fixed migration owner notifications being sent even when migration was not necessary (:issue:`3911`. :issue:`3909`)
- Fixed commands being translated where they should not be (:issue:`3938`, :issue:`3919`)
- Fixed grammar errors and added full stopts in ``core_commands.py`` (:issue:`4023`)
Redbot 3.3.9 (2020-06-12)
=========================
@@ -373,7 +553,7 @@ Core Bot
- Fixed various bugs with blacklist and whitelist (:issue:`3643`, :issue:`3642`)
- Added ``[p]set regionalformat`` command that allows users to set regional formatting that is different from bot's locale (:issue:`3677`, :issue:`3588`)
- ``[p]set locale`` allows any valid locale now, not just locales for which Red has translations (:issue:`3676`, :issue:`3596`)
- Permissions for commands in Bank, Economy and Trivia cogs can now be overriden by Permissions cog (:issue:`3672`, :issue:`3233`)
- Permissions for commands in Bank, Economy and Trivia cogs can now be overridden by Permissions cog (:issue:`3672`, :issue:`3233`)
- Outages of ``pypi.org`` no longer prevent the bot from starting (:issue:`3663`)
- Fixed formatting of help strings in fuzzy search results (:issue:`3673`, :issue:`3507`)
- Fixed few deprecation warnings related to menus and uvloop (:issue:`3644`, :issue:`3700`)

762
docs/changelog_3_4_0.rst Normal file
View File

@@ -0,0 +1,762 @@
.. 3.4.x Changelogs
Redbot 3.4.6 (2021-02-16)
=========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`aikaterna`, :ghuser:`aleclol`, :ghuser:`Andeeeee`, :ghuser:`bobloy`, :ghuser:`BreezeQS`, :ghuser:`Danstr5544`, :ghuser:`Dav-Git`, :ghuser:`Elysweyr`, :ghuser:`Fabian-Evolved`, :ghuser:`fixator10`, :ghuser:`Flame442`, :ghuser:`Injabie3`, :ghuser:`jack1142`, :ghuser:`Kowlin`, :ghuser:`kreusada`, :ghuser:`leblancg`, :ghuser:`maxbooiii`, :ghuser:`NeuroAssassin`, :ghuser:`phenom4n4n`, :ghuser:`PredaaA`, :ghuser:`Predeactor`, :ghuser:`retke`, :ghuser:`siu3334`, :ghuser:`Strafee`, :ghuser:`TheWyn`, :ghuser:`TrustyJAID`, :ghuser:`Vexed01`, :ghuser:`yamikaitou`
Read before updating
--------------------
1. Information for Audio users that are using an external Lavalink instance (if you don't know what that is, you should skip this point):
Red 3.4.6 uses a new Lavalink jar that you will need to manually update from `our GitHub <https://github.com/Cog-Creators/Lavalink-Jars/releases/tag/3.3.2.3_1199>`__.
End-user changelog
------------------
Core Bot
********
- Fixed the rotation of Red's logs that could before result in big disk usage (:issue:`4405`, :issue:`4738`)
- Fixed command usage in the help messages for few commands in Red (:issue:`4599`, :issue:`4733`)
- Fixed errors in ``[p]command defaultdisablecog`` and ``[p]command defaultenablecog`` commands (:issue:`4767`, :issue:`4768`)
- ``[p]command listdisabled guild`` can no longer be run in DMs (:issue:`4771`, :issue:`4772`)
- Improvements and fixes for our new (colorful) logging (:issue:`4702`, :issue:`4726`)
- The colors used have been adjusted to be readable on many more terminal applications
- The ``NO_COLOR`` environment variable can now be set to forcefully disable all colors in the console output
- Tracebacks will now use the full width of the terminal again
- Tracebacks no longer contain multiple lines per stack level (this can now be changed with the flag ``-rich-traceback-extra-lines``)
- Disabled syntax highlighting on the log messages
- Dev cog no longer captures logging output
- Added some cool features for developers
- Added the flag ``--rich-traceback-extra-lines`` which can be used to set the number of additional lines in tracebacks
- Added the flag ``--rich-traceback-show-locals`` which enables showing local variables in tracebacks
- Improved and fixed a few other minor things
- Added a friendly error message to ``[p]load`` that is shown when trying to load a cog with a command name that is already taken by a different cog (:issue:`3870`)
- Help now includes command aliases in the command help (:issue:`3040`)
- This can be disabled with ``[p]helpset showaliases`` command
- Fixed errors appearing when using Ctrl+C to interrupt ``redbot --edit`` (:issue:`3777`, :issue:`4572`)
Admin
*****
- ``[p]selfrole`` can now be used without a subcommand and passed with a selfrole directly to add/remove it from the user running the command (:issue:`4826`)
Audio
*****
- Improved detection of embed players for fallback on age-restricted YT tracks (:issue:`4818`, :issue:`4819`)
- Improved MP4/AAC decoding (:issue:`4818`, :issue:`4819`)
- Requests for YT tracks are now retried if the initial request causes a connection reset (:issue:`4818`, :issue:`4819`)
Cleanup
*******
- Renamed the ``[p]cleanup spam`` command to ``[p]cleanup duplicates``, with the old name kept as an alias for the time being (:issue:`4814`)
- Fixed an error from passing an overly large integer as a message ID to ``[p]cleanup after`` and ``[p]cleanup before`` (:issue:`4791`)
Dev Cog
*******
- Help descriptions of the cog and its commands now get translated properly (:issue:`4815`)
Economy
*******
- ``[p]economyset rolepaydayamount`` can now remove the previously set payday amount (:issue:`4661`, :issue:`4758`)
Filter
******
- Added a case type ``filterhit`` which is used to log filter hits (:issue:`4676`, :issue:`4739`)
Mod
***
- The ``[p]tempban`` command no longer errors out when trying to ban a user in a guild with the vanity url feature that doesn't have a vanity url set (:issue:`4714`)
- Fixed an edge case in role hierarchy checks (:issue:`4740`)
- Added two new settings for disabling username and nickname tracking (:issue:`4799`)
- Added a command ``[p]modset trackallnames`` that disables username tracking and overrides the nickname tracking setting for all guilds
- Added a command ``[p]modset tracknicknames`` that disables nickname tracking in a specific guild
- Added a command ``[p]modset deletenames`` that deletes all stored usernames and nicknames (:issue:`4827`)
- Added usage examples to ``[p]kick``, ``[p]ban``, ``[p]massban``, and ``[p]tempban`` (:issue:`4712`, :issue:`4715`)
- Updated DM on kick/ban to use bot's default embed color (:issue:`4822`)
Modlog
******
- Added a command ``[p]listcases`` that allows you to see multiple cases for a user at once (:issue:`4426`)
- Added typing indicator to ``[p]casesfor`` command (:issue:`4426`)
Mutes
*****
- Fixed an edge case in role hierarchy checks (:issue:`4740`)
- The modlog reason no longer contains leading whitespace when it's passed *after* the mute time (:issue:`4749`)
- A DM can now be sent to the (un)muted user on mute and unmute (:issue:`3752`, :issue:`4563`)
- Added ``[p]muteset senddm`` to set whether the DM should be sent (function disabled by default)
- Added ``[p]muteset showmoderator`` to set whether the DM sent to the user should include the name of the moderator that muted the user (function disabled by default)
- Added more role hierarchy checks to ensure permission escalations cannot occur on servers with a careless configuration (:issue:`4741`)
- Help descriptions of the cog and its commands now get translated properly (:issue:`4815`)
Reports
*******
- Reports now use the default embed color of the bot (:issue:`4800`)
Streams
*******
- Fixed incorrect timezone offsets for some YouTube stream schedules (:issue:`4693`, :issue:`4694`)
- Fixed meaningless errors happening when the YouTube API key becomes invalid or when the YouTube quota is exceeded (:issue:`4745`)
Trivia
******
- Payout for trivia sessions ending in a tie now gets split between all the players with the highest score (:issue:`3931`, :issue:`4649`)
Trivia Lists
************
- Added new Who's That Pokémon - Gen. VI trivia list (:issue:`4785`)
- Updated answers regarding some of the hero's health and abilities in the ``overwatch`` trivia list (:issue:`4805`)
Developer changelog
-------------------
Core Bot
********
- Updated versions of the libraries used in Red: discord.py to 1.6.0, aiohttp to 3.7.3 (:issue:`4728`)
- Added an event ``on_red_before_identify`` that is dispatched before IDENTIFYing a session (:issue:`4647`)
Utility Functions
*****************
- Added a function `redbot.core.utils.chat_formatting.spoiler()` that wraps the given text in a spoiler (:issue:`4754`)
Dev Cog
*******
- Cogs can now add their own variables to the environment of ``[p]debug``, ``[p]eval``, and ``[p]repl`` commands (:issue:`4667`)
- Variables can be added and removed from the environment of Dev cog using two new methods:
- `bot.add_dev_env_value() <RedBase.add_dev_env_value()>`
- `bot.remove_dev_env_value() <RedBase.remove_dev_env_value()>`
Documentation changes
---------------------
- Added `cog guide for Filter cog <cog_guides/filter>` (:issue:`4579`)
- Added information about the Red Index to `guide_publish_cogs` (:issue:`4778`)
- Restructured the host list (:issue:`4710`)
- Clarified how to use pm2 with ``pyenv virtualenv`` (:issue:`4709`)
- Updated the pip command for Red with the postgres extra in `install_linux_mac` document to work on zsh shell (:issue:`4697`)
- Updated Python version in ``pyenv`` and Windows instructions (:issue:`4770`)
Miscellaneous
-------------
- Various grammar fixes (:issue:`4705`, :issue:`4748`, :issue:`4750`, :issue:`4763`, :issue:`4788`, :issue:`4792`, :issue:`4810`)
- Red's dependencies have been bumped (:issue:`4572`)
Redbot 3.4.5 (2020-12-24)
=========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`Injabie3`, :ghuser:`NeuroAssassin`
End-user changelog
------------------
Streams
*******
- Fixed Streams failing to load and work properly (:issue:`4687`, :issue:`4688`)
Redbot 3.4.4 (2020-12-24)
=========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`aikaterna`, :ghuser:`bobloy`, :ghuser:`Flame442`, :ghuser:`flaree`, :ghuser:`jack1142`, :ghuser:`Kowlin`, :ghuser:`kreus7`, :ghuser:`NeuroAssassin`, :ghuser:`npc203`, :ghuser:`palmtree5`, :ghuser:`phenom4n4n`, :ghuser:`Predeactor`, :ghuser:`retke`, :ghuser:`siu3334`, :ghuser:`Vexed01`, :ghuser:`yamikaitou`
Read before updating
--------------------
1. Information for Audio users that are using an external Lavalink instance (if you don't know what that is, you should skip this point):
Red 3.4.4 uses a new Lavalink jar that you will need to manually update from `our GitHub <https://github.com/Cog-Creators/Lavalink-Jars/releases/tag/3.3.2.2_1170>`__.
2. Ubuntu 16.04 is no longer supported as it will soon reach its end of life and it is no longer viable for us to maintain support for it.
While you might still be able to run Red on it, we will no longer put any resources into supporting it. If you're using Ubuntu 16.04, we highly recommend that you upgrade to the latest LTS version of Ubuntu.
End-user changelog
------------------
Core Bot
********
- Red's logging will now shine in your terminal more than ever (:issue:`4577`)
- Improved consistency of command usage in the help messages within all commands in Core Red (:issue:`4589`)
- Added a friendly error when the duration provided to commands that use the ``commands.TimedeltaConverter`` converter is out of the maximum bounds allowed by Python interpreter (:issue:`4019`, :issue:`4628`, :issue:`4630`)
- Fixed an error when removing path from a different operating system than the bot is currently running on with ``[p]removepath`` (:issue:`2609`, :issue:`4662`, :issue:`4466`)
Audio
*****
- Fixed ``[p]llset java`` failing to set the Java executable path (:issue:`4621`, :issue:`4624`)
- Fixed Soundcloud playback (:issue:`4683`)
- Fixed YouTube age-restricted track playback (:issue:`4683`)
- Added more friendly messages for 429 errors to let users know they have been temporarily banned from accessing the service instead of a generic Lavalink error (:issue:`4683`)
- Environment information will now be appended to Lavalink tracebacks in the spring.log (:issue:`4683`)
Cleanup
*******
- ``[p]cleanup self`` will now delete the command message when the bot has permissions to do so (:issue:`4640`)
Dev
***
- Added new ``[p]bypasscooldown`` command that allows owners to bypass command cooldowns (:issue:`4440`)
Economy
*******
- ``[p]economyset slotmin`` and ``[p]economyset slotmax`` now warn when the new value will cause the slots command to not work (:issue:`4583`)
General
*******
- Updated features list in ``[p]serverinfo`` with the latest changes from Discord (:issue:`4678`)
Mod
***
- ``[p]ban`` command will no longer error out when the given reason is too long (:issue:`4187`, :issue:`4189`)
Streams
*******
- Scheduled YouTube streams now work properly with the cog (:issue:`3691`, :issue:`4615`)
- YouTube stream schedules are now announced before the stream (:issue:`4615`)
- Alerts about YouTube stream schedules can be disabled with a new ``[p]streamset ignoreschedule`` command (:issue:`4615`)
- Improved error logging (:issue:`4680`)
Trivia Lists
************
- Added ``whosthatpokemon5`` trivia list containing Pokémon from the 5th generation (:issue:`4646`)
- Added ``geography`` trivia list (:issue:`4618`)
Developer changelog
-------------------
- `get_audit_reason()` can now be passed a ``shorten`` keyword argument which will automatically shorten the returned audit reason to fit the max length allowed by Discord audit logs (:issue:`4189`)
- ``bot.remove_command()`` now returns the command object of the removed command as does the equivalent method from `discord.ext.commands.Bot` class (:issue:`4636`)
Documentation changes
---------------------
- Added `cog guide for Downloader cog <cog_guides/downloader>` (:issue:`4511`)
- Added `cog guide for Economy cog <cog_guides/economy>` (:issue:`4519`)
- Added `cog guide for Streams cog <cog_guides/streams>` (:issue:`4521`)
- Added `guide_cog_creators` document (:issue:`4637`)
- Removed install instructions for Ubuntu 16.04 (:issue:`4650`)
Redbot 3.4.3 (2020-11-16)
=========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`aikaterna`, :ghuser:`bobloy`, :ghuser:`Flame442`, :ghuser:`jack1142`, :ghuser:`KianBral`, :ghuser:`maxbooiii`, :ghuser:`phenom4n4n`, :ghuser:`Predeactor`, :ghuser:`retke`
Read before updating
--------------------
1. Information for Audio users that are using an external Lavalink instance (if you don't know what that is, you should skip this point):
Red 3.4.3 uses a new Lavalink jar that you will need to manually update from `our GitHub <https://github.com/Cog-Creators/Lavalink-Jars/releases/tag/3.3.1.4_1132>`__.
End-user changelog
------------------
Core Bot
********
- Added ``[p]set competing`` command that allows users to set the bot's competing status (:issue:`4607`, :issue:`4609`)
Audio
*****
- Volume changes on ARM systems running a 64 bit OS will now work again (:issue:`4608`)
- Fixed only 100 results being returned on a Youtube playlist (:issue:`4608`)
- Fixed YouTube VOD duration being set to unknown (:issue:`3885`, :issue:`4608`)
- Fixed some YouTube livestreams getting stuck (:issue:`4608`)
- Fixed internal Lavalink manager failing for Java with untypical version formats (:issue:`4608`)
- Improved AAC audio handling (:issue:`4608`)
- Added support for SoundCloud HLS streams (:issue:`4608`)
Economy
*******
- The ``[p]leaderboard`` command no longer fails in DMs when a global bank is used (:issue:`4569`)
Mod
***
- The ban reason is now properly set in the audit log and modlog when using the ``[p]massban`` command (:issue:`4575`)
- The ``[p]userinfo`` command now shows the new Competing activity (:issue:`4610`, :issue:`4611`)
Modlog
******
- The ``[p]case`` and ``[p]casesfor`` commands no longer fail when the bot doesn't have Read Message History permission in the modlog channel (:issue:`4587`, :issue:`4588`)
Mutes
*****
- Fixed automatic remuting on member join for indefinite mutes (:issue:`4568`)
Trivia
******
- ``[p]triviaset custom upload`` now ensures that the filename is lowercase when uploading (:issue:`4594`)
Developer changelog
-------------------
- ``modlog.get_case()`` and methods using it no longer raise when the bot doesn't have Read Message History permission in the modlog channel (:issue:`4587`, :issue:`4588`)
Documentation changes
---------------------
- Added `guide for Cog Manager UI <cogmanagerui>` (:issue:`4152`)
- Added `cog guide for CustomCommands cog <customcommands>` (:issue:`4490`)
Redbot 3.4.2 (2020-10-28)
=========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`aikaterna`, :ghuser:`Drapersniper`, :ghuser:`jack1142`, :ghuser:`Kowlin`, :ghuser:`PredaaA`, :ghuser:`Stonedestroyer`
Read before updating
--------------------
1. Information for Audio users that are using an external Lavalink instance (if you don't know what that is, you should skip this point):
Red 3.4.2 uses a new Lavalink jar that you will need to manually update from `our GitHub <https://github.com/Cog-Creators/Lavalink-Jars/releases/tag/3.3.1.4_1128>`__.
End-user changelog
------------------
- **Core Bot** - Added info about the metadata file to ``redbot --debuginfo`` (:issue:`4557`)
- **Audio** - Fixed the ``[p]local search`` command (:issue:`4553`)
- **Audio** - Fixed random "Something broke when playing the track." errors for YouTube tracks (:issue:`4559`)
- **Audio** - Commands in ``[p]llset`` group can now be used in DMs (:issue:`4562`)
- **Mod** - Fixed ``[p]massban`` not working for banning members that are in the server (:issue:`4556`, :issue:`4555`)
- **Streams** - Added error messages when exceeding the YouTube quota in the Streams cog (:issue:`4552`)
- **Streams** - Improved logging for unexpected errors in the Streams cog (:issue:`4552`)
Documentation changes
---------------------
- Added `cog guide for Cleanup cog <cleanup>` (:issue:`4488`)
- Removed multi-line commands from `install_linux_mac` to avoid confusing readers (:issue:`4550`)
Redbot 3.4.1 (2020-10-27)
=========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`absj30`, :ghuser:`aikaterna`, :ghuser:`bobloy`, :ghuser:`chloecormier`, :ghuser:`Dav-Git`, :ghuser:`Drapersniper`, :ghuser:`fixator10`, :ghuser:`Flame442`, :ghuser:`flaree`, :ghuser:`Generaleoley`, :ghuser:`hisztendahl`, :ghuser:`jack1142`, :ghuser:`KaiGucci`, :ghuser:`Kowlin`, :ghuser:`maxbooiii`, :ghuser:`MeatyChunks`, :ghuser:`NeuroAssassin`, :ghuser:`nfitzen`, :ghuser:`palmtree5`, :ghuser:`phenom4n4n`, :ghuser:`PredaaA`, :ghuser:`Predeactor`, :ghuser:`PythonTryHard`, :ghuser:`SharkyTheKing`, :ghuser:`Stonedestroyer`, :ghuser:`thisisjvgrace`, :ghuser:`TrustyJAID`, :ghuser:`TurnrDev`, :ghuser:`Vexed01`, :ghuser:`Vuks69`, :ghuser:`xBlynd`, :ghuser:`zephyrkul`
Read before updating
--------------------
1. This release fixes a security issue in Mod cog. See `Security changelog below <important-341-2>` for more information.
2. This Red update bumps discord.py to version 1.5.1, which explicitly requests Discord intents. Red requires all Privileged Intents to be enabled. More information can be found at :ref:`enabling-privileged-intents`.
3. Mutes functionality has been moved from the Mod cog to a new separate cog (Mutes) featuring timed and role-based mutes. If you were using it (or want to start now), you can load the new cog with ``[p]load mutes``. You can see the full `Mutes changelog below <important-341-1>`.
4. Information for Audio users that are using an external Lavalink instance (if you don't know what that is, you should skip this point):
We've updated our `application.yml file <https://github.com/Cog-Creators/Red-DiscordBot/blob/3.4.1/redbot/cogs/audio/data/application.yml>`__ and you should update your instance's ``application.yml`` appropriately.
Please ensure that the WS port in Audio's settings (``[p]llset wsport``) is set to the port from the ``application.yml``.
End-user changelog
------------------
.. _important-341-2:
Security
********
**NOTE:** If you can't update immediately, we recommend globally disabling the affected command until you can.
- **Mod** - Fixed unauthorized privilege escalation exploit in ``[p]massban`` (also called ``[p]hackban``) command. Full security advisory `can be found on our GitHub <https://github.com/Cog-Creators/Red-DiscordBot/security/advisories/GHSA-mp9m-g7qj-6vqr>`__.
Core Bot
********
- Fixed an incorrect error being reported on ``[p]set name`` when the passed name was longer than 32 characters (:issue:`4364`, :issue:`4363`)
- Fixed ``[p]set nickname`` erroring when the passed name was longer than 32 characters (:issue:`4364`, :issue:`4363`)
- Fixed an ungraceful error being raised when running ``[p]traceback`` with closed DMs (:issue:`4329`)
- Fixed errors that could arise from invalid URLs in ``[p]set avatar`` (:issue:`4437`)
- Fixed an error being raised with ``[p]set nickname`` when no nickname was provided (:issue:`4451`)
- Fixed and clarified errors being raised with ``[p]set username`` (:issue:`4463`)
- Fixed an ungraceful error being raised when the output of ``[p]unload`` is larger than 2k characters (:issue:`4469`)
- Fixed an ungraceful error being raised when running ``[p]choose`` with empty options (:issue:`4499`)
- Fixed an ungraceful error being raised when a bot left a guild while a menu was open (:issue:`3902`)
- Fixed info missing on the non-embed version of ``[p]debuginfo`` (:issue:`4524`)
- Added ``[p]set api list`` to list all currently set API services, without tokens (:issue:`4370`)
- Added ``[p]set api remove`` to remove API services, including tokens (:issue:`4370`)
- Added ``[p]helpset usetick``, toggling command message being ticked when help is sent to DM (:issue:`4467`, :issue:`4075`)
- Added a default color field to ``[p]set showsettings`` (:issue:`4498`, :issue:`4497`)
- Added the datapath and metadata file to ``[p]debuginfo`` (:issue:`4524`)
- Added a list of disabled intents to ``[p]debuginfo`` (:issue:`4423`)
- Bumped discord.py dependency to version 1.5.1 (:issue:`4423`)
- Locales and regional formats can now be set in individual guilds using ``[p]set locale`` and ``[p]set regionalformat`` (:issue:`3896`, :issue:`1970`)
- Global locale and regional format setters have been renamed to ``[p]set globallocale`` and ``[p]set globalregionalformat``
Audio
*****
- Scattered grammar and typo fixes (:issue:`4446`)
- Fixed Bandcamp playback (:issue:`4504`)
- Fixed YouTube playlist playback (:issue:`4504`)
- Fixed YouTube searching issues (:issue:`4504`)
- Fixed YouTube age restricted track playback (:issue:`4504`)
- Fixed the Audio cog not being translated when setting locale (:issue:`4492`, :issue:`4495`)
- Fixed tracks getting stuck at 0:00 after long player sessions (:issue:`4529`)
- Removed lavalink logs from being added to backup (:issue:`4453`, :issue:`4452`)
- Removed stream durations from being in queue duration (:issue:`4513`)
- Added the Global Audio API, to cut down on Youtube 429 errors and allow Spotify playback past user's quota. (:issue:`4446`)
- Added persistent queues, allowing for queues to be restored on a bot restart or cog reload (:issue:`4446`)
- Added ``[p]audioset restart``, allowing for Lavalink connection to be restarted (:issue:`4446`)
- Added ``[p]audioset autodeafen``, allowing for bot to auto-deafen itself when entering voice channel (:issue:`4446`)
- Added ``[p]audioset mycountrycode``, allowing Spotify search locale per user (:issue:`4446`)
- Added ``[p]llsetup java``, allowing for a custom Java executable path (:issue:`4446`)
- Added ``[p]llset info`` to show Lavalink settings (:issue:`4527`)
- Added ``[p]audioset logs`` to download Lavalink logs if the Lavalink server is set to internal (:issue:`4527`)
Cleanup
*******
- Allowed ``[p]cleanup self`` to work in DMs for all users (:issue:`4481`)
Custom Commands
***************
- Fixed an ungraceful error being thrown on ``[p]cc edit`` (:issue:`4325`)
Dev
***
- Added ``[p]repl pause`` to pause/resume the REPL session in the current channel (:issue:`4366`)
Economy
*******
- Added an embed option for ``[p]leaderboard`` (:issue:`4184`, :issue:`4104`)
General
*******
- Fixed issues with text not being properly URL encoded (:issue:`4024`)
- Fixed an ungraceful error occurring when a title is longer than 256 characters in ``[p]urban`` (:issue:`4474`)
- Changed "boosters" to "boosts" in ``[p]serverinfo`` to clarify what the number represents (:issue:`4507`)
Mod
***
- Added ``[p]modset mentionspam strict`` allowing for duplicated mentions to count towards the mention spam cap (:issue:`4359`)
- Added an option to ban users not in the guild to ``[p]ban`` (:issue:`4422`, :issue:`4419`)
- Added a default tempban duration for ``[p]tempban`` (:issue:`4473`, :issue:`3992`)
- Fixed nicknames not being properly stored and logged (:issue:`4131`)
- Fixed plural typos in ``[p]userinfo`` (:issue:`4397`, :issue:`4379`)
- Renamed ``[p]hackban`` to ``[p]massban``, keeping ``[p]hackban`` as an alias, allowing for multiple users to be banned at once (:issue:`4422`, :issue:`4419`)
- Moved mutes to a separate, individual cog (:issue:`3634`)
.. _important-341-1:
Mutes
*****
- Added ``[p]muteset forcerole`` to make mutes role based, instead of permission based (:issue:`3634`)
- Added an optional time argument to all mutes, to specify when the user should be unmuted (:issue:`3634`)
- Changed ``[p]mute`` to only handle serverwide muting, ``[p]mute voice`` and ``[p]mute channel`` have been moved to separate commands called ``[p]mutechannel`` and ``[p]mutevoice`` (:issue:`3634`)
- Mute commands can now take multiple user arguments, to mute multiple users at a time (:issue:`3634`)
Modlog
******
- Fixed an error being raised when running ``[p]casesfor`` and ``[p]case`` (:issue:`4415`)
- Long reasons in Modlog are now properly shortened in message content (:issue:`4541`)
Trivia Lists
************
- Fixed incorrect order of Machamp and Machoke questions (:issue:`4424`)
- Added new MLB trivia list (:issue:`4455`)
- Added new Who's That Pokémon - Gen. IV trivia list (:issue:`4434`)
- Added new Hockey trivia list (:issue:`4384`)
Warnings
********
- Fixed users being able to warn users above them in hierarchy (:issue:`4100`)
- Added bool arguments to toggle commands to improve consistency (:issue:`4409`)
Developer changelog
-------------------
| **Important:**
| 1. Red now allows users to set locale per guild, which requires 3rd-party cogs to set contextual locale manually in code ran outside of command's context. See the `Core Bot changelog below <important-dev-341-1>` for more information.
.. _important-dev-341-1:
Core Bot
********
- Added API for setting contextual locales (:issue:`3896`, :issue:`1970`)
- New function added: `redbot.core.i18n.set_contextual_locales_from_guild()`
- Contextual locale is automatically set for commands and only needs to be done manually for things like event listeners; see `recommendations-for-cog-creators` for more information
- Added `bot.remove_shared_api_services() <RedBase.remove_shared_api_services()>` to remove all keys and tokens associated with an API service (:issue:`4370`)
- Added an option to return all tokens for an API service if ``service_name`` is not specified in `bot.get_shared_api_tokens() <RedBase.get_shared_api_tokens()>` (:issue:`4370`)
- Added `bot.get_or_fetch_user() <RedBase.get_or_fetch_user()>` and `bot.get_or_fetch_member() <RedBase.get_or_fetch_member()>` methods (:issue:`4403`, :issue:`4402`)
- Moved ``redbot.core.checks.bot_in_a_guild()`` to `redbot.core.commands.bot_in_a_guild()` (old name has been left as an alias) (:issue:`4515`, :issue:`4510`)
Bank
****
- Bank API methods now consistently throw TypeError if a non-integer amount is supplied (:issue:`4376`)
Mod
***
- Deprecated ``redbot.core.utils.mod.is_allowed_by_hierarchy`` (:issue:`4435`)
Modlog
******
- Added an option to accept a ``discord.Object`` in case creation (:issue:`4326`)
- Added ``last_known_username`` parameter to `modlog.create_case()` function (:issue:`4326`)
- Fixed an error being raised with a deleted channel in `Case.message_content()` (:issue:`4415`)
Utility
*******
- Added `redbot.core.utils.get_end_user_data_statement()` and `redbot.core.utils.get_end_user_data_statement_or_raise()` to attempt to fetch a cog's End User Data Statement (:issue:`4404`)
- Added `redbot.core.utils.chat_formatting.quote()` to quote text in a message (:issue:`4425`)
Documentation changes
---------------------
Config
******
- Added custom group documentation and tutorial (:issue:`4416`, :issue:`2896`)
Modlog
******
- Clarified that naive ``datetime`` objects will be treated as local times for parameters ``created_at`` and ``until`` in `modlog.create_case()` (:issue:`4389`)
Other
*****
- Added guide to creating a Bot Application in Discord Developer Portal, with enabling intents (:issue:`4502`)
Miscellaneous
-------------
- Added JSON schema files for ``info.json`` files (:issue:`4375`)
- Added ``[all]`` and ``[dev]`` bundled install extras (:issue:`4443`)
- Replaced the link to the approved repository list on CogBoard and references to ``cogs.red`` with a link to new Red Index (:issue:`4439`)
- Improved documentation about arguments in command syntax (:issue:`4058`)
- Replaced a few instances of Red with the bot name in command docstrings (:issue:`4470`)
- Fixed grammar in places scattered throughout bot (:issue:`4500`)
- Properly define supported Python versions to be lower than 3.9 (:issue:`4538`)
Redbot 3.4.0 (2020-08-17)
=========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`Dav-Git`, :ghuser:`DevilXD`, :ghuser:`douglas-cpp`, :ghuser:`Drapersniper`, :ghuser:`flaree`, :ghuser:`jack1142`, :ghuser:`kablekompany`, :ghuser:`Kowlin`, :ghuser:`maxbooiii`, :ghuser:`MeatyChunks`, :ghuser:`mikeshardmind`, :ghuser:`NeuroAssassin`, :ghuser:`PredaaA`, :ghuser:`Predeactor`, :ghuser:`retke`, :ghuser:`SharkyTheKing`, :ghuser:`thisisjvgrace`, :ghuser:`Tinonb`, :ghuser:`TrustyJAID`, :ghuser:`Twentysix26`, :ghuser:`Vexed01`, :ghuser:`zephyrkul`
|
| **Read before updating**:
| 1. Red 3.4 comes with support for data deletion requests. Bot owners should read `red_core_data_statement` to ensure they know what information about their users is stored by the bot.
| 2. Debian Stretch, Fedora 30 and lower, and OpenSUSE Leap 15.0 and lower are no longer supported as they have already reached end of life.
| 3. There's been a change in behavior of ``[p]tempban``. Look at `Mod changelog <important-340-1>` for full details.
| 4. There's been a change in behavior of announcements in Admin cog. Look at `Admin changelog <important-340-2>` for full details.
| 5. Red 3.4 comes with breaking changes for cog developers. Look at `Developer changelog <important-340-3>` for full details.
End-user changelog
------------------
Core Bot
********
- Added per-guild cog disabling (:issue:`4043`, :issue:`3945`)
- Bot owners can set the default state for a cog using ``[p]command defaultdisablecog`` and ``[p]command defaultenablecog`` commands
- Guild owners can enable/disable cogs for their guild using ``[p]command disablecog`` and ``[p]command enablecog`` commands
- Cogs disabled in the guild can be listed with ``[p]command listdisabledcogs``
- Added support for data deletion requests; see `red_core_data_statement` for more information (:issue:`4045`)
- Red now logs clearer error if it can't find package to load in any cog path during bot startup (:issue:`4079`)
- ``[p]licenseinfo`` now has a 3 minute cooldown to prevent a single user from spamming channel by using it (:issue:`4110`)
- Added ``[p]helpset showsettings`` command (:issue:`4013`, :issue:`4022`)
- Updated Red's emoji usage to ensure consistent rendering accross different devices (:issue:`4106`, :issue:`4105`, :issue:`4127`)
- Whitelist and blacklist are now called allowlist and blocklist. Old names have been left as aliases (:issue:`4138`)
.. _important-340-2:
Admin
*****
- ``[p]announce`` will now only send announcements to guilds that have explicitly configured text channel to send announcements to using ``[p]announceset channel`` command (:issue:`4088`, :issue:`4089`)
Downloader
**********
- ``[p]cog info`` command now shows end user data statement made by the cog creator (:issue:`4169`)
- ``[p]cog update`` command will now notify the user if cog's end user data statement has changed since last update (:issue:`4169`)
.. _important-340-1:
Mod
***
- ``[p]tempban`` now respects default days setting (``[p]modset defaultdays``) (:issue:`3993`)
- Users can now set mention spam triggers which will warn or kick the user. See ``[p]modset mentionspam`` for more information (:issue:`3786`, :issue:`4038`)
- ``[p]mute voice`` and ``[p]unmute voice`` now take action instantly if bot has Move Members permission (:issue:`4064`)
- Added typing to ``[p](un)mute guild`` to indicate that mute is being processed (:issue:`4066`, :issue:`4172`)
ModLog
******
- Added timestamp to text version of ``[p]casesfor`` and ``[p]case`` commands (:issue:`4118`, :issue:`4137`)
Streams
*******
- Stream alerts will no longer make roles temporarily mentionable if bot has "Mention @everyone, @here, and All Roles" permission in the channel (:issue:`4182`)
- Mixer service has been closed and for that reason we've removed support for it from the cog (:issue:`4072`)
- Hitbox commands have been renamed to smashcast (:issue:`4161`)
- Improve error messages for invalid channel names/IDs (:issue:`4147`, :issue:`4148`)
Trivia Lists
************
- Added ``whosthatpokemon2`` trivia containing Pokémons from 2nd generation (:issue:`4102`)
- Added ``whosthatpokemon3`` trivia containing Pokémons from 3rd generation (:issue:`4141`)
.. _important-340-3:
Developer changelog
-------------------
| **Important:**
| 1. Red now offers cog disabling API, which should be respected by 3rd-party cogs in guild-related actions happening outside of command's context. See the `Core Bot changelog below <important-dev-340-1>` for more information.
| 2. Red now provides data request API, which should be supported by all 3rd-party cogs. See the changelog entries in the `Core Bot changelog below <important-dev-340-1>` for more information.
Breaking changes
****************
- By default, none of the ``.send()`` methods mention roles or ``@everyone/@here`` (:issue:`3845`)
- see `discord.AllowedMentions` and ``allowed_mentions`` kwarg of ``.send()`` methods, if your cog requires to mention roles or ``@everyone/@here``
- `Context.maybe_send_embed()` now supresses all mentions, including user mentions (:issue:`4192`)
- The default value of the ``filter`` keyword argument has been changed to ``None`` (:issue:`3845`)
- Cog package names (i.e. name of the folder the cog is in and the name used when loading the cog) now have to be `valid Python identifiers <https://docs.python.org/3/reference/lexical_analysis.html#identifiers>`__ (:issue:`3605`, :issue:`3679`)
- Method/attribute names starting with ``red_`` or being in the form of ``__red_*__`` are now reserved. See `version_guarantees` for more information (:issue:`4085`)
- `humanize_list()` no longer raises `IndexError` for empty sequences (:issue:`2982`)
- Removed things past deprecation time: (:issue:`4163`)
- ``redbot.core.commands.APIToken``
- ``loop`` kwarg from `bounded_gather_iter()`, `bounded_gather()`, and `start_adding_reactions()`
.. _important-dev-340-1:
Core Bot
********
- Added cog disabling API (:issue:`4043`, :issue:`3945`)
- New methods added: `bot.cog_disabled_in_guild() <RedBase.cog_disabled_in_guild()>`, `bot.cog_disabled_in_guild_raw() <RedBase.cog_disabled_in_guild_raw()>`
- Cog disabling is automatically applied for commands and only needs to be done manually for things like event listeners; see `recommendations-for-cog-creators` for more information
- Added data request API (:issue:`4045`, :issue:`4169`)
- New special methods added to `commands.Cog`: `red_get_data_for_user()` (documented provisionally), `red_delete_data_for_user()`
- New special module level variable added: ``__red_end_user_data_statement__``
- These methods and variables should be added by all cogs according to their documentation; see `recommendations-for-cog-creators` for more information
- New ``info.json`` key added: ``end_user_data_statement``; see `Info.json format documentation <info-json-format>` for more information
- Added `bot.message_eligible_as_command() <RedBase.message_eligible_as_command()>` utility method which can be used to determine if a message may be responded to as a command (:issue:`4077`)
- Added a provisional API for replacing the help formatter. See `documentation <framework-commands-help>` for more details (:issue:`4011`)
- `bot.ignored_channel_or_guild() <RedBase.ignored_channel_or_guild()>` now accepts `discord.Message` objects (:issue:`4077`)
- `commands.NoParseOptional <NoParseOptional>` is no longer provisional and is now fully supported part of API (:issue:`4142`)
- Red no longer fails to run subcommands of a command group allowed or denied by permission hook (:issue:`3956`)
- Autohelp in group commands is now sent *after* invoking the group, which allows before invoke hooks to prevent autohelp from getting triggered (:issue:`4129`)
- RPC functionality no longer makes Red hang for a minute on shutdown (:issue:`4134`, :issue:`4143`)
Vendored packages
*****************
- Updated ``discord.ext.menus`` vendor (:issue:`4167`)
Utility Functions
*****************
- `humanize_list()` now accepts ``locale`` and ``style`` keyword arguments. See its documentation for more information (:issue:`2982`)
- `humanize_list()` is now properly localized (:issue:`2906`, :issue:`2982`)
- `humanize_list()` now accepts empty sequences (:issue:`2982`)
Documentation changes
---------------------
- Removed install instructions for Debian Stretch (:issue:`4099`)
- Added admin user guide (:issue:`3081`)
- Added alias user guide (:issue:`3084`)
- Added bank user guide (:issue:`4149`)
Miscellaneous
-------------
- Updated features list in ``[p]serverinfo`` with the latest changes from Discord (:issue:`4116`)
- Simple version of ``[p]serverinfo`` now shows info about more detailed ``[p]serverinfo 1`` (:issue:`4121`)
- ``[p]set nickname``, ``[p]set serverprefix``, ``[p]streamalert``, and ``[p]streamset`` commands now can be run by users with permissions related to the actions they're making (:issue:`4109`)
- `bordered()` now uses ``+`` for corners if keyword argument ``ascii_border`` is set to `True` (:issue:`4097`)
- Fixed timestamp storage in few places in Red (:issue:`4017`)

View File

@@ -1,4 +1,5 @@
.. CustomCommands Cog Reference
.. _cog_customcom:
============================
CustomCommands Cog Reference

438
docs/cog_guides/admin.rst Normal file
View File

@@ -0,0 +1,438 @@
.. _admin:
=====
Admin
=====
This is the cog guide for the admin cog. You will
find detailed docs about usage and commands.
``[p]`` is considered as your prefix.
.. note:: To use this cog, load it by typing this::
[p]load admin
.. _admin-usage:
-----
Usage
-----
This cog will provide tools for server admins and bot owners.
It can add or remove a role to a member, edit one or make some available
for members so they can self-assign them as they wish.
It also provides tools for the bot owner such as server locking (once enabled,
the bot will instantly leave new servers she joins) and announcements, which
will send something in all the servers of the bot.
.. _admin-commands:
--------
Commands
--------
Here's a list of all commands available for this cog.
.. _admin-command-selfrole:
^^^^^^^^
selfrole
^^^^^^^^
**Syntax**
.. code-block:: none
[p]selfrole <selfrole>
**Description**
Add or remove a role from yourself. It must have been configured as user settable
by admins using the :ref:`selfroleset command <admin-command-selfroleset>`.
**Arguments**
* ``<selfrole>``: The role you want to attribute or remove from yourself. |role-input|
.. _admin-command-selfrole-add:
""""""""""""
selfrole add
""""""""""""
**Syntax**
.. code-block:: none
[p]selfrole add <selfrole>
**Description**
Add a role to yourself. It must have been configured as user settable
by admins using the :ref:`selfroleset command <admin-command-selfroleset>`.
**Arguments**
* ``<selfrole>``: The role you want to attribute to yourself. |role-input|
.. _admin-command-selfrole-remove:
"""""""""""""""
selfrole remove
"""""""""""""""
**Syntax**
.. code-block:: none
[p]selfrole remove <selfrole>
**Description**
Remove a role from yourself. It must have been configured as user settable
by admins using the :ref:`selfroleset command <admin-command-selfroleset>`.
**Arguments**
* ``<selfrole>``: The role you want to remove from yourself. |role-input|
.. _admin-command-selfrole-list:
"""""""""""""
selfrole list
"""""""""""""
**Syntax**
.. code-block:: none
[p]selfrole list
**Description**
List all of the available roles you can assign to yourself.
.. _admin-command-selfroleset:
^^^^^^^^^^^
selfroleset
^^^^^^^^^^^
.. note:: |admin-lock| This is also usable by the members with the
``Manage roles`` permission.
**Syntax**
.. code-block:: none
[p]selfroleset
**Description**
Define the list of user settable roles. Those roles will be available to any
member using the :ref:`selfrole command <admin-command-selfrole>`.
.. _admin-command-selfroleset-add:
"""""""""""""""
selfroleset add
"""""""""""""""
**Syntax**
.. code-block:: none
[p]selfroleset add <role>
**Description**
Add a role to the list of selfroles.
.. warning:: Members will be able to assign themselves the role.
Make sure it doesn't give extra perms or anything that can break
your server's security.
**Arguments**
* ``<role>``: The role to add to the list. |role-input|
.. _admin-command-selfroleset-remove:
""""""""""""""""""
selfroleset remove
""""""""""""""""""
**Syntax**
.. code-block:: none
[p]selfroleset remove <role>
**Description**
Removes a role from the list of selfroles.
**Arguments**
* ``<role>``: The role to remove from the list. |role-input|
.. _admin-command-addrole:
^^^^^^^
addrole
^^^^^^^
.. note:: |admin-lock| This is also usable by the members with the ``Manage
roles`` permission.
**Syntax**
.. code-block:: none
[p]addrole <rolename> [user]
**Description**
Adds a role to a member. If ``user`` is not given, it will be considered
as yourself, the command author.
**Arguments**
* ``<role>``: The role to add to the member. |role-input-quotes|
* ``[user]``: The member you want to add the role to. Defaults to the
command author. |member-input|
.. _admin-command-removerole:
^^^^^^^^^^
removerole
^^^^^^^^^^
.. note:: |admin-lock| This is also usable by the members with the
``Manage roles`` permission.
**Syntax**
.. code-block:: none
[p]removerole <rolename> [user]
**Description**
Removes a role from a member. If ``user`` is not given, it will be considered
as yourself, the command author.
**Arguments**
* ``<role>``: The role to remove. |role-input-quotes|
* ``[user]``: The member to remove the role from. |member-input| Defaults
to the command author.
.. _admin-command-editrole:
^^^^^^^^
editrole
^^^^^^^^
.. note:: |admin-lock|
**Syntax**
.. code-block:: none
[p]editrole
**Description**
Edits the settings of a role.
.. _admin-command-editrole-name:
"""""""""""""
editrole name
"""""""""""""
**Syntax**
.. code-block:: none
[p]editrole name <role> <name>
**Description**
Edits the name of a role.
**Arguments**
* ``<role>``: The role name to edit. |role-input-quotes|
* ``<name>``: The new role name. If it has spaces, you must use quotes.
.. _admin-command-editrole-color:
""""""""""""""
editrole color
""""""""""""""
**Syntax**
.. code-block:: none
[p]editrole color <role> <color>
**Description**
Edits the color of a role.
**Arguments**
* ``<role>``: The role name to edit. |role-input-quotes|
* ``<color>``: The new color to assign. |color-input|
**Examples**
* ``[p]editrole color "My role" #ff0000``
* ``[p]editrole color "My role" dark_blue``
.. _admin-command-announce:
^^^^^^^^
announce
^^^^^^^^
.. note:: |owner-lock|
**Syntax**
.. code-block:: none
[p]announce <message>
**Description**
Announce your message to all of the servers the bot is in.
The bot will announce the message in the guild's announcements channel.
If this channel is not set, the message won't be announced.
**Arguments**
* ``<message>``: The message to send.
.. _admin-command-announce-cancel:
"""""""""""""""
announce cancel
"""""""""""""""
.. note:: |owner-lock|
**Syntax**
.. code-block:: none
[p]announce cancel
**Description**
Cancels an active announcement.
.. _admin-command-announceset:
^^^^^^^^^^^
announceset
^^^^^^^^^^^
.. note:: |guildowner-lock|
**Syntax**
.. code-block:: none
[p]announceset
**Description**
Change how announcements are received in this guild.
.. _admin-command-announceset-channel:
"""""""""""""""""""
announceset channel
"""""""""""""""""""
**Syntax**
.. code-block:: none
[p]announceset channel [channel]
**Description**
Sets the channel where the bot owner announcements will be sent.
**Arguments**
* ``[channel]``: The channel that will be used for bot announcements.
|channel-input| Defaults to where you typed the command.
.. _admin-command-announceset-clearchannel:
""""""""""""""""""""""""
announceset clearchannel
""""""""""""""""""""""""
**Syntax**
.. code-block:: none
[p]announceset clearchannel
**Description**
Disables announcements on your server. To enable them again, you will have to
re-enter your announcements channel with the :ref:`announceset channel
<admin-command-announceset-channel>` command.
.. _admin-command-serverlock:
^^^^^^^^^^
serverlock
^^^^^^^^^^
.. note:: |owner-lock| This is also usable by the members with the
``Administrator`` permission.
**Syntax**
.. code-block:: none
[p]serverlock
**Description**
Lock a bot to its current servers only.
This means that, once you enable this, if someone invites the bot to a new
server, the bot will automatically leave the server.
.. tip:: Another way to prevent your bot from being invited on more servers is
making it private directly from the developer portal.
Once a bot is private, it can only be invited by its owner (or team
owners). Other users will get an error on Discord's webpage explaining that
the bot is private.
To do this, go to the `Discord developer portal
<https://discord.com/developers>`_, select your application, click "Bot" in
the sidebar, then untick "Public bot".
.. image:: ../.resources/admin/public_bot.png

277
docs/cog_guides/alias.rst Normal file
View File

@@ -0,0 +1,277 @@
.. _alias:
=====
Alias
=====
This is the cog guide for the alias cog. You will
find detailed docs about the usage and the commands.
``[p]`` is considered as your prefix.
.. note:: To use this cog, load it by typing this::
[p]load alias
.. _alias-usage:
-----
Usage
-----
This cog is used to create shortcuts for commands.
Here's an example:
.. code-block:: python
[p]play
# with an alias, you can call the command above with a shortcut like this:
[p]p
# "p" is now a shortcut for "play"
In this example, we made an alias named ``p`` that will
invoke the ``play`` command. If you use ``[p]play`` or ``[p]p``, the result will
be the same.
----
Here's another example
.. code-block:: python
[p]cleanup messages
# now we're creating another alias that will group both the command and the subcommand into this:
[p]clear
# "clear" is now a shortcut for "cleanup messages"
In this second example, we made an alias called ``clear`` that will
invoke the ``cleanup messages`` subcommand. Now if you use ``[p]cleanup
message`` or ``[p]clear``, the result will be the same.
----
This is the basic usage, where you can define an alias for the first part of
the command and give the second part when invoking the command. A more advanced
usage of aliases is the usage of arguments.
Let's suppose you want to make an alias to ban someone, delete 7 days of
messages and set the reason to "Spam bot.", that cannot be done with a classic
alias since the required member argument is the first one. If you create the
alias "spamban" using arguments like this ``ban {0} 7 Spam bot.``, ``{0}`` will
be replaced by the first argument of your alias:
.. code-block:: none
# we created the following alias named "spamban"
[p]spamban Slime#3160
# this alias will execute the following command:
[p]ban Slime#3160 7 Spam bot.
For a more detailed explaination, read :ref:`this <alias-command-alias-add>`.
.. _alias-commands:
--------
Commands
--------
.. _alias-command-alias:
^^^^^
alias
^^^^^
**Syntax**
.. code-block:: none
[p]alias
**Description**
This is the main command used for setting up the cog.
It will be used for all other commands.
.. _alias-command-alias-add:
"""""""""
alias add
"""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]alias add <alias_name> <command>
**Description**
Creates an alias. It will be used like this ``[p]alias_name <arguments>``
and will be equal to this ``[p]command <arguments>``.
Let's develop the examples given :ref:`earlier <alias-usage>` a bit more,
the left part of the command is the alias (blue), and the right part is the
parameters members have to give for the command (orange).
.. image:: ../.resources/alias/example-1.png
One more thing you can do with aliases is using arguments, a bit like
CustomCommands. Let's suppose you want an alias that bans x member and deletes
7 days of messages. Without aliases, the command would look like this:
``[p]ban NotSoTrustyJAID#0001 7 My random reason``
A classic alias wouldn't work because the member argument is the first one,
and you can only shorten the left part before the required argument.
An alias with arguments can fix that, you can define the alias on the whole
command and replace the required argument by ``{0}``, which will be replaced
by the first parameter given when invoking the alias.
Back to our example, let's make an alias named ``bigban`` which will be
assigned to this expression: ``ban {0} 7``
.. image:: ../.resources/alias/example-2.png
You can see in blue the "static" part of the alias, what is contained and
doesn't need to be given, the orange part is the arguments given at the end of
the command, just like a classic alias, and the green part is the positional
argument we defined: the first argument of the alias will be the green part.
You can add as many arguments as you want, they can start at ``{0}`` or ``{1}``
and must be in order: ``{1}`` will be the first argument, ``{2}`` will be the
second one...
.. attention:: The numbers must be in order, you cannot use ``{0}`` and ``{2}``
without using ``{1}``.
Here are more examples:
* * Full command: ``[p]cleanup messages 75 True``
* Alias: ``[p]alias add fullclear cleanup messages {0} True``
* Invoked alias: ``[p]fullclear 75``
*The* ``True`` *at the end tells the bot to also clear pinned messages.*
* * Full command: ``[p]repo add SinbadCogs
https://github.com/mikeshardmind/SinbadCogs v3``
* Alias: ``[p]alias add newrepo repo add {2} https://github.com/{1}/{2}``
* Invoked with alias: ``[p]newrepo mikeshardmind SinbadCogs v3``
**Arguments**
* ``<alias_name>``: The new command name.
* ``<command>``: The command to execute when ``[p]alias_name`` is invoked.
.. _alias-command-alias-delete:
""""""""""""
alias delete
""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]alias [delete|remove|del] <alias_name>
**Description**
Removes an alias from the list. Check the list with
the :ref:`alias list <alias-command-alias-list>` command.
**Arguments**
* ``<alias_name>``: The alias' name to delete.
.. _alias-command-alias-list:
""""""""""
alias list
""""""""""
**Syntax**
.. code-block:: none
[p]alias list
**Description**
Shows all of the existing aliases on the current server.
.. _alias-command-alias-show:
""""""""""
alias show
""""""""""
**Syntax**
.. code-block:: none
[p]alias show <alias_name>
**Description**
Shows the command associated to the alias.
**Arguments**
* ``<alias_name>``: The alias you want information from.
.. _alias-command-alias-help:
""""""""""
alias help
""""""""""
**Syntax**
.. code-block:: none
[p]alias help <alias_name>
**Description**
Shows help message for an alias.
**Arguments**
* ``<alias_name>``: Alias you want to get help from.
.. _alias-command-alias-global:
""""""""""""
alias global
""""""""""""
.. note:: |owner-lock|
**Syntax**
.. code-block:: none
[p]alias global
**Description**
Another group command which contains the :ref:`add
<alias-command-alias-add>`, :ref:`del
<alias-command-alias-delete>` and :ref:`list
<alias-command-alias-list>` commands.
They work the same, except the created aliases will be
global instead of being only server-wide.
Please refer to these docs for the commands, they work with the
same arguments. For example, if you want to add a global alias,
instead of doing ``[p]alias add <arguments>``, do ``[p]alias
global add <arguments>``.

186
docs/cog_guides/bank.rst Normal file
View File

@@ -0,0 +1,186 @@
.. _bank:
====
Bank
====
This is the cog guide for the bank cog. You will
find detailed docs about usage and commands.
``[p]`` is considered as your prefix.
.. note:: To use this cog, load it by typing this::
[p]load bank
.. _bank-usage:
-----
Usage
-----
This cog manages the bank. It won't be used often by
users but this is what makes any interaction with the
money possible.
You will be able to switch between a global and a server-
wide bank and choose the bank/currency name.
.. _bank-commands:
--------
Commands
--------
.. _bank-command-bankset:
^^^^^^^
bankset
^^^^^^^
.. note:: |guildowner-lock|
**Syntax**
.. code-block:: none
[p]bankset
**Description**
Base command for configuring bank settings.
.. _bank-command-bankset-toggleglobal:
""""""""""""""""""""
bankset toggleglobal
""""""""""""""""""""
.. note:: |owner-lock|
**Syntax**
.. code-block:: none
[p]bankset toggleglobal [confirm=False]
**Description**
Makes the bank global instead of server-wide. If it
is already global, the command will switch it back
to the server-wide bank.
.. warning:: Using this command will reset **all** accounts.
**Arguments**
* ``[confirm=False]``: Put ``yes`` to confirm.
.. _bank-command-bankset-creditsname:
"""""""""""""""""""
bankset creditsname
"""""""""""""""""""
.. note:: |owner-lock| However, if the bank is server-wide, the
server owner or an administrator can use this command.
**Syntax**
.. code-block:: none
[p]bankset creditsname <name>
**Description**
Change the credits name of the bank. It is ``credits`` by default.
For example, if you switch it to ``dollars``, the payday
command will show this:
.. TODO reference the payday command
.. code-block:: none
Here, take some dollars. Enjoy! (+120 dollars!)
You currently have 220 dollars.
**Arguments**
* ``<name>``: The new credits name.
.. _bank-command-bankset-bankname:
""""""""""""""""
bankset bankname
""""""""""""""""
.. note:: |owner-lock| However, if the bank is server-wide, the
server owner or an administrator can use this command.
**Syntax**
.. code-block:: none
[p]bankset bankname <name>
**Description**
Set bank's name.
**Arguments**
* ``<name>``: The new bank's name.
.. _bank-command-bankset-maxbal:
""""""""""""""
bankset maxbal
""""""""""""""
.. note:: |owner-lock| However, if the bank is server-wide, the
server owner or an administrator can use this command.
**Syntax**
.. code-block:: none
[p]bankset maxbal <amount>
**Description**
Defines the maximum amount of money a user can have with the bot.
If an user reaches this limit, he will be unable to gain more money.
**Arguments**
* ``<amount>``: The maximum amount of money for users.
.. _bank-command-bankset-showsettings:
""""""""""""""""""""
bankset showsettings
""""""""""""""""""""
.. note:: |owner-lock| However, if the bank is server-wide, the
server owner or an administrator can use this command.
**Syntax**
.. code-block:: none
[p]bankset showsettings
**Description**
Shows the current settings of your bank.
This will display the following information:
* Name of the bank
* Scope of the bank (global or per server)
* Currency name
* Default balance
* Maximum allowed balance

296
docs/cog_guides/cleanup.rst Normal file
View File

@@ -0,0 +1,296 @@
.. _cleanup:
=======
Cleanup
=======
This is the cog guide for the cleanup cog. You will
find detailed docs about usage and commands.
``[p]`` is considered as your prefix.
.. note:: To use this cog, load it by typing this::
[p]load cleanup
.. _cleanup-usage:
-----
Usage
-----
This cog contains commands used for "cleaning up" (deleting) messages.
This is designed as a moderator tool and offers many convenient use cases.
All cleanup commands only apply to the channel the command is executed in.
Messages older than two weeks cannot be mass deleted.
This is a limitation of the API.
.. _cleanup-commands:
--------
Commands
--------
.. _cleanup-command-cleanup:
^^^^^^^
cleanup
^^^^^^^
**Syntax**
.. code-block:: none
[p]cleanup
**Description**
Base command for deleting messages.
.. _cleanup-command-cleanup-after:
"""""""""""""
cleanup after
"""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]cleanup after <message_id> [delete_pinned=False]
**Description**
Delete all messages after a specified message.
To get a message id, enable developer mode in Discord's
settings, 'appearance' tab. Then right click a message
and copy its id.
**Arguments:**
- ``<message_id>`` The id of the message to cleanup after. This message won't be deleted.
- ``<delete_pinned>`` Whether to delete pinned messages or not. Defaults to False
.. _cleanup-command-cleanup-before:
""""""""""""""
cleanup before
""""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]cleanup before <message_id> <number> [delete_pinned=False]
**Description**
Deletes X messages before the specified message.
To get a message id, enable developer mode in Discord's
settings, 'appearance' tab. Then right click a message
and copy its id.
**Arguments:**
- ``<message_id>`` The id of the message to cleanup before. This message won't be deleted.
- ``<number>`` The max number of messages to cleanup. Must be a positive integer.
- ``<delete_pinned>`` Whether to delete pinned messages or not. Defaults to False
.. _cleanup-command-cleanup-between:
"""""""""""""""
cleanup between
"""""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]cleanup between <one> <two> [delete_pinned=False]
**Description**
Delete the messages between Message One and Message Two, providing the messages IDs.
The first message ID should be the older message and the second one the newer.
Example:
- ``[p]cleanup between 123456789123456789 987654321987654321``
**Arguments:**
- ``<one>`` The id of the message to cleanup after. This message won't be deleted.
- ``<two>`` The id of the message to cleanup before. This message won't be deleted.
- ``<delete_pinned>`` Whether to delete pinned messages or not. Defaults to False
.. _cleanup-command-cleanup-bot:
"""""""""""
cleanup bot
"""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]cleanup bot <number> [delete_pinned=False]
**Description**
Clean up command messages and messages from the bot.
Can only cleanup custom commands and alias commands if those cogs are loaded.
**Arguments:**
- ``<number>`` The max number of messages to cleanup. Must be a positive integer.
- ``<delete_pinned>`` Whether to delete pinned messages or not. Defaults to False
.. _cleanup-command-cleanup-messages:
""""""""""""""""
cleanup messages
""""""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]cleanup messages <number> [delete_pinned=False]
**Description**
Delete the last X messages.
Example:
- ``[p]cleanup messages 26``
**Arguments:**
- ``<number>`` The max number of messages to cleanup. Must be a positive integer.
- ``<delete_pinned>`` Whether to delete pinned messages or not. Defaults to False
.. _cleanup-command-cleanup-self:
""""""""""""
cleanup self
""""""""""""
**Syntax**
.. code-block:: none
[p]cleanup self <number> [match_pattern] [delete_pinned=False]
**Description**
Clean up messages owned by the bot.
By default, all messages are cleaned. If a second argument is specified,
it is used for pattern matching - only messages containing the given text will be deleted.
Examples:
- ``[p]cleanup self 6``
- ``[p]cleanup self 10 Pong``
- ``[p]cleanup self 7 "" True``
**Arguments:**
- ``<number>`` The max number of messages to cleanup. Must be a positive integer.
- ``<match_pattern>`` The text that messages must contain to be deleted. Use "" to skip this.
- ``<delete_pinned>`` Whether to delete pinned messages or not. Defaults to False
.. _cleanup-command-cleanup-spam:
""""""""""""
cleanup spam
""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]cleanup spam [number=50]
**Description**
Deletes duplicate messages in the channel from the last X messages and keeps only one copy.
Defaults to 50.
**Arguments:**
- ``<number>`` The number of messages to check for duplicates. Must be a positive integer.
.. _cleanup-command-cleanup-text:
""""""""""""
cleanup text
""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]cleanup text <text> <number> [delete_pinned=False]
**Description**
Delete the last X messages matching the specified text.
Example:
- ``[p]cleanup text "test" 5``
Remember to use double quotes.
**Arguments:**
- ``<number>`` The max number of messages to cleanup. Must be a positive integer.
- ``<delete_pinned>`` Whether to delete pinned messages or not. Defaults to False
.. _cleanup-command-cleanup-user:
""""""""""""
cleanup user
""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]cleanup user <user> <number> [delete_pinned=False]
**Description**
Delete the last X messages from a specified user.
Examples:
- ``[p]cleanup user @Twentysix 2``
- ``[p]cleanup user Red 6``
**Arguments:**
- ``<user>`` The user whose messages are to be cleaned up.
- ``<number>`` The max number of messages to cleanup. Must be a positive integer.
- ``<delete_pinned>`` Whether to delete pinned messages or not. Defaults to False

View File

@@ -0,0 +1,249 @@
.. _cogmanagerui:
==============
Cog Manager UI
==============
This is the cog guide for the core cog. You will
find detailed docs about usage and commands.
``[p]`` is considered as your prefix.
.. note:: This cog is not like the other cogs. It is loaded by default, not
included in the cogs paths and it cannot be unloaded. It contains needed
commands for cog management.
.. _cogmanaerui-usage:
-----
Usage
-----
This cog allows you to manage your cogs and where you can install them. Unlike
V2, which had a ``cogs`` folder where everything was installed, you can
install V3 cogs everywhere, and also make them cross-compatible with other
instances!
If you want to install your cogs using a Github repo (usually what you will
always be looking for), you need to use the downloader cog. However, if you
have the files of a cog or want to code one, this cog is what you should be
looking for.
The most basic command is :ref:`paths <cogmanagerui-command-paths>`, which
will list you all of the currently set paths.
You can add a path by using the :ref:`addpath <cogmanagerui-command-addpath>`
command. All cogs in that path will be available for the bot and listed in
the :ref:`cogs <cogmanagerui-command-cogs>`. You can then load
or unload them.
.. TODO add ref to load and unload commands
.. _cogmanagerui-usage-installation:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
How to install a local package without using downloader
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Let's suppose you made a cog request on the `cog board <https://cogboard.red>`_
and now you want to add your own cog to Red. You should have a folder that
looks like this:
.. image:: ../.resources/cog_manager_ui/custom-cog-example.png
You will first need to add a cog path to your instance. For that, use the
:ref:`addpath <cogmanagerui-command-addpath>` command with a new directory.
Create a folder somewhere (should stay accessible) and copy its path. A path
looks like this:
* Windows: ``C:\Users\username\Documents\MyCogs``
* macOS: ``/Users/username/Documents/MyCogs``
* Linux: ``/home/username/Documents/MyCogs``
You can now use the command we talked about before: type ``[p]addpath
<your_path>``.
.. attention:: A path shouldn't have spaces in it. If it does, add quotation
marks around the path, or a backslash before the space.
In that ``MyCogs`` folder, you can drop your cog folder. You should now have
something that looks like this:
.. image:: ../.resources/cog_manager_ui/cog-path.png
Now if you type ``[p]cogs``, your new cog should be listed, and you will be
able to load it!
.. _cogmanagerui-commands:
--------
Commands
--------
.. note:: The whole cog is locked to the
:ref:`bot owner <getting-started-permissions>`. If you are not the owner
of the instance, you can ignore this.
.. _cogmanagerui-command-cogs:
^^^^
cogs
^^^^
**Syntax**
.. code-block:: none
[p]cogs
**Description**
Returns a list of loaded and unloaded cogs on the bot.
Cogs are unloaded by default. This is where you can find your cogs if you
installed some recently.
All of the cogs located inside a cog path will be listed here. You can see a
list of the paths with the :ref:`paths <cogmanagerui-command-paths>` command.
.. _cogmanagerui-command-paths:
^^^^^
paths
^^^^^
**Syntax**
.. code-block:: none
[p]paths
**Description**
Lists the registered cog paths, with the install path for the downloader and
the core path for the core cogs.
.. TODO add ref to downloader
You can use the :ref:`reorderpath <cogmanagerui-command-reorderpath>` command
to reorder the listed paths.
.. tip:: The number before a cog path can be used for the
:ref:`removepath <cogmanagerui-command-removepath>` command.
.. _cogmanagerui-command-addpath:
^^^^^^^
addpath
^^^^^^^
**Syntax**
.. code-block:: none
[p]addpath <path>
**Description**
Adds a path to the list of available cog paths. This means that all valid cogs
under the path will be added to the list of available cogs, listed in
:ref:`cogs <cogmanagerui-command-cogs>`.
**Arguments**
* ``<path>``: A path that should look like this and point to a folder:
* Windows: ``C:\Users\username\Documents\MyCogs``
* macOS: ``/Users/username/Documents/MyCogs``
* Linux: ``/home/username/Documents/MyCogs``
Try to avoid paths with spaces. If there are spaces, add a backslash before
the space on Linux. Add quotation marks around the path if needed.
.. _cogmanagerui-command-removepath:
^^^^^^^^^^
removepath
^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]removepath <path_number>
**Description**
Removes a path from the list of available paths. Its cogs won't be accessible
anymore.
**Arguments**
* ``<path_number>``: The number of the path to remove. You can get it with
the :ref:`paths <cogmanagerui>` command.
.. _cogmanagerui-command-reorderpath:
^^^^^^^^^^^
reorderpath
^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]reorderpath <from\_> <to>
**Description**
Reorders the paths listed with the :ref:`paths <cogmanagerui-command-paths>`
command. The goal of this command is to allow the discovery of different cogs.
If there are multiple packages with the same names, the one that is inside the
highest folder in the list will be kept and the other ones will be ignored.
For example, let's suppose this is the output of
:ref:`paths <cogmanagerui-command-paths>`:
1. ``/usr/local/lib/python3.7/site-packages/redbot/cogs``
2. ``/home/laggron/custom_cogs``
3. ``/mnt/not_suspicious_usb_drive/not_suspicious_cogs``
The folders 2 and 3 both have a package named ``leveler`` while being different
cogs, and you want to load the one located in the 3rd folder. To do that, you
have to put the 3rd path higher than the 2nd path, let's swap them! Type
``[p]reorderpath 2 3`` and the output of
:ref:`paths <cogmanagerui-command-paths>` will then be the following:
1. ``/usr/local/lib/python3.7/site-packages/redbot/cogs``
2. ``/mnt/not_suspicious_usb_drive/not_suspicious_cogs``
3. ``/home/laggron/custom_cogs``
**Arguments**
* ``<from_>``: The index of the path you want to move.
* ``<to>``: The location where you want to insert the path.
.. _cogmanagerui-command-installpath:
^^^^^^^^^^^
installpath
^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]installpath [path]
**Description**
Shows the install path, or sets a new one. If you want to set a new path, the
same rules as for :ref:`addpath <cogmanagerui-command-addpath>` applies.
.. warning:: If you edit the install path, the cogs won't be transfered.
**Arguments**
* ``[path]``: The absolute path to set. If omitted, the current path will
be returned instead.

View File

@@ -0,0 +1,294 @@
.. _customcommands:
==============
CustomCommands
==============
This is the cog guide for the customcommands cog. You will
find detailed docs about usage and commands.
``[p]`` is considered as your prefix.
.. note:: To use this cog, load it by typing this::
[p]load customcom
.. _customcommands-usage:
-----
Usage
-----
This cog contains commands for creating and managing custom commands that display text.
These are useful for storing information members might need, like FAQ answers or invite links.
Custom commands can be used by anyone by default, so be careful with pings.
Commands can only be lowercase, and will not respond to any uppercase letters.
.. _customcommands-commands:
--------
Commands
--------
.. _customcommands-command-customcom:
^^^^^^^^^
customcom
^^^^^^^^^
**Syntax**
.. code-block:: none
[p]customcom
.. tip:: Alias: ``cc``
**Description**
Base command for Custom Commands management.
.. _customcommands-command-customcom-cooldown:
""""""""""""""""""
customcom cooldown
""""""""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]customcom cooldown <command> [cooldown] [per=member]
**Description**
Set, edit, or view the cooldown for a custom command.
You may set cooldowns per member, channel, or guild. Multiple
cooldowns may be set. All cooldowns must be cooled to call the
custom command.
Examples:
- ``[p]customcom cooldown pingrole``
- ``[p]customcom cooldown yourcommand 30``
- ``[p]cc cooldown mycommand 30 guild``
**Arguments:**
- ``<command>`` The custom command to check or set the cooldown.
- ``<cooldown>`` The number of seconds to wait before allowing the command to be invoked again. If omitted, will instead return the current cooldown settings.
- ``<per>`` The group to apply the cooldown on. Defaults to per member. Valid choices are server, guild, user, and member.
.. _customcommands-command-customcom-create:
""""""""""""""""
customcom create
""""""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]customcom create <command> <text>
.. tip:: Alias: ``customcom add``
**Description**
Create custom commands.
If a type is not specified, a simple CC will be created.
CCs can be enhanced with arguments, see the guide
:ref:`here <cog_customcom>`.
.. _customcommands-command-customcom-create-random:
"""""""""""""""""""""""
customcom create random
"""""""""""""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]customcom create random <command>
**Description**
Create a CC where it will randomly choose a response!
Note: This command is interactive.
**Arguments:**
- ``<command>`` The command executed to return the text. Cast to lowercase.
.. _customcommands-command-customcom-create-simple:
"""""""""""""""""""""""
customcom create simple
"""""""""""""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]customcom create simple <command> <text>
**Description**
Add a simple custom command.
Example:
- ``[p]customcom create simple yourcommand Text you want``
**Arguments:**
- ``<command>`` The command executed to return the text. Cast to lowercase.
- ``<text>`` The text to return when executing the command. See guide for enhanced usage.
.. _customcommands-command-customcom-delete:
""""""""""""""""
customcom delete
""""""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]customcom delete <command>
.. tip:: Aliases: ``customcom del``, ``customcom remove``
**Description**
Delete a custom command.
Example:
- ``[p]customcom delete yourcommand``
**Arguments:**
- ``<command>`` The custom command to delete.
.. _customcommands-command-customcom-edit:
""""""""""""""
customcom edit
""""""""""""""
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]customcom edit <command> [text]
**Description**
Edit a custom command.
Example:
- ``[p]customcom edit yourcommand Text you want``
**Arguments:**
- ``<command>`` The custom command to edit.
- ``<text>`` The new text to return when executing the command.
.. _customcommands-command-customcom-list:
""""""""""""""
customcom list
""""""""""""""
**Syntax**
.. code-block:: none
[p]customcom list
**Description**
List all available custom commands.
The list displays a preview of each command's response, with
markdown escaped and newlines replaced with spaces.
.. _customcommands-command-customcom-raw:
"""""""""""""
customcom raw
"""""""""""""
**Syntax**
.. code-block:: none
[p]customcom raw <command>
**Description**
Get the raw response of a custom command, to get the proper markdown.
This is helpful for copy and pasting.
**Arguments:**
- ``<command>`` The custom command to get the raw response of.
.. _customcommands-command-customcom-search:
""""""""""""""""
customcom search
""""""""""""""""
**Syntax**
.. code-block:: none
[p]customcom search <query>
**Description**
Searches through custom commands, according to the query.
Uses fuzzywuzzy searching to find close matches.
**Arguments:**
- ``<query>`` The query to search for. Can be multiple words.
.. _customcommands-command-customcom-show:
""""""""""""""
customcom show
""""""""""""""
**Syntax**
.. code-block:: none
[p]customcom show <command_name>
**Description**
Shows a custom command's responses and its settings.
**Arguments:**
- ``<command>`` The custom command to show.

View File

@@ -0,0 +1,537 @@
.. _downloader:
==========
Downloader
==========
This is the cog guide for the downloader cog. You will
find detailed docs about usage and commands.
``[p]`` is considered as your prefix.
.. note:: To use this cog, load it by typing this::
[p]load downloader
.. _downloader-usage:
-----
Usage
-----
Install community cogs made by Cog Creators.
Community cogs, also called third party cogs, are not included
in the default Red install.
Community cogs come in repositories. Repos are a group of cogs
you can install. You always need to add the creator's repository
using the ``[p]repo`` command before you can install one or more
cogs from the creator.
.. _downloader-commands:
--------
Commands
--------
.. _downloader-command-cog:
^^^
cog
^^^
.. note:: |owner-lock|
**Syntax**
.. code-block:: none
[p]cog
**Description**
Base command for cog installation management commands.
.. _downloader-command-cog-checkforupdates:
"""""""""""""""""""
cog checkforupdates
"""""""""""""""""""
**Syntax**
.. code-block:: none
[p]cog checkforupdates
**Description**
Check for available cog updates (including pinned cogs).
This command doesn't update cogs, it only checks for updates.
Use ``[p]cog update`` to update cogs.
.. _downloader-command-cog-info:
""""""""
cog info
""""""""
**Syntax**
.. code-block:: none
[p]cog info <repo> <cog>
**Description**
List information about a single cog.
Example:
- ``[p]cog info 26-Cogs defender``
**Arguments**
- ``<repo>`` The repo to get cog info from.
- ``<cog>`` The cog to get info on.
.. _downloader-command-cog-install:
"""""""""""
cog install
"""""""""""
**Syntax**
.. code-block:: none
[p]cog install <repo> <cogs...>
**Description**
Install a cog from the given repo.
Examples:
- ``[p]cog install 26-Cogs defender``
- ``[p]cog install Laggrons-Dumb-Cogs say roleinvite``
**Arguments**
- ``<repo>`` The name of the repo to install cogs from.
- ``<cogs...>`` The cog or cogs to install.
.. _downloader-command-cog-installversion:
""""""""""""""""""
cog installversion
""""""""""""""""""
**Syntax**
.. code-block:: none
[p]cog installversion <repo> <revision> <cogs...>
**Description**
Install a cog from the specified revision of given repo.
Revisions are "commit ids" that point to the point in the code when a specific change was made.
The latest revision can be found in the URL bar for any GitHub repo by `pressing "y" on that repo <https://docs.github.com/en/free-pro-team@latest/github/managing-files-in-a-repository/getting-permanent-links-to-files#press-y-to-permalink-to-a-file-in-a-specific-commit>`_.
Older revisions can be found in the URL bar by `viewing the commit history of any repo <https://cdn.discordapp.com/attachments/133251234164375552/775760247787749406/unknown.png>`_
Example:
- ``[p]cog installversion Broken-Repo e798cc268e199612b1316a3d1f193da0770c7016 cog_name``
**Arguments**
- ``<repo>`` The name of the repo to install cogs from.
- ``<revision>`` The revision to install from.
- ``<cogs...>`` The cog or cogs to install.
.. _downloader-command-cog-list:
""""""""
cog list
""""""""
**Syntax**
.. code-block:: none
[p]cog list <repo>
**Description**
List all available cogs from a single repo.
Example:
- ``[p]cog list 26-Cogs``
**Arguments**
- ``<repo>`` The repo to list cogs from.
.. _downloader-command-cog-listpinned:
""""""""""""""
cog listpinned
""""""""""""""
**Syntax**
.. code-block:: none
[p]cog listpinned
**Description**
List currently pinned cogs.
.. _downloader-command-cog-pin:
"""""""
cog pin
"""""""
**Syntax**
.. code-block:: none
[p]cog pin <cogs...>
**Description**
Pin cogs - this will lock cogs on their current version.
Examples:
- ``[p]cog pin defender``
- ``[p]cog pin outdated_cog1 outdated_cog2``
**Arguments**
- ``<cogs...>`` The cog or cogs to pin. Must already be installed.
.. _downloader-command-cog-uninstall:
"""""""""""""
cog uninstall
"""""""""""""
**Syntax**
.. code-block:: none
[p]cog uninstall <cogs...>
**Description**
Uninstall cogs.
You may only uninstall cogs which were previously installed
by Downloader.
Examples:
- ``[p]cog uninstall 26-Cogs defender``
- ``[p]cog uninstall Laggrons-Dumb-Cogs say roleinvite``
**Arguments**
- ``<cogs...>`` The cog or cogs to uninstall.
.. _downloader-command-cog-unpin:
"""""""""
cog unpin
"""""""""
**Syntax**
.. code-block:: none
[p]cog unpin <cogs...>
**Description**
Unpin cogs - this will remove the update lock from those cogs.
Examples:
- ``[p]cog unpin defender``
- ``[p]cog unpin updated_cog1 updated_cog2``
**Arguments**
- ``<cogs...>`` The cog or cogs to unpin. Must already be installed and pinned.
.. _downloader-command-cog-update:
""""""""""
cog update
""""""""""
**Syntax**
.. code-block:: none
[p]cog update [cogs...]
**Description**
Update all cogs, or ones of your choosing.
Examples:
- ``[p]cog update``
- ``[p]cog update defender``
**Arguments**
- ``[cogs...]`` The cog or cogs to update. If omitted, all cogs are updated.
.. _downloader-command-cog-updateallfromrepos:
""""""""""""""""""""""
cog updateallfromrepos
""""""""""""""""""""""
**Syntax**
.. code-block:: none
[p]cog updateallfromrepos <repos...>
**Description**
Update all cogs from repos of your choosing.
Examples:
- ``[p]cog updateallfromrepos 26-Cogs``
- ``[p]cog updateallfromrepos Laggrons-Dumb-Cogs 26-Cogs``
**Arguments**
- ``<repos...>`` The repo or repos to update all cogs from.
.. _downloader-command-cog-updatetoversion:
"""""""""""""""""""
cog updatetoversion
"""""""""""""""""""
**Syntax**
.. code-block:: none
[p]cog updatetoversion <repo> <revision> [cogs...]
**Description**
Update all cogs, or ones of your choosing to chosen revision of one repo.
Note that update doesn't mean downgrade and therefore ``revision``
has to be newer than the version that cog currently has installed. If you want to
downgrade the cog, uninstall and install it again.
See ``[p]cog installversion`` for an explanation of ``revision``.
Example:
- ``[p]cog updatetoversion Broken-Repo e798cc268e199612b1316a3d1f193da0770c7016 cog_name``
**Arguments**
- ``<repo>`` The repo or repos to update all cogs from.
- ``<revision>`` The revision to update to.
- ``[cogs...]`` The cog or cogs to update.
.. _downloader-command-findcog:
^^^^^^^
findcog
^^^^^^^
**Syntax**
.. code-block:: none
[p]findcog <command_name>
**Description**
Find which cog a command comes from.
This will only work with loaded cogs.
Example:
- ``[p]findcog ping``
**Arguments**
- ``<command_name>`` The command to search for.
.. _downloader-command-pipinstall:
^^^^^^^^^^
pipinstall
^^^^^^^^^^
.. note:: |owner-lock|
**Syntax**
.. code-block:: none
[p]pipinstall <deps...>
**Description**
Install a group of dependencies using pip.
Examples:
- ``[p]pipinstall bs4``
- ``[p]pipinstall py-cpuinfo psutil``
Improper usage of this command can break your bot, be careful.
**Arguments**
- ``<deps...>`` The package or packages you wish to install.
.. _downloader-command-repo:
^^^^
repo
^^^^
.. note:: |owner-lock|
**Syntax**
.. code-block:: none
[p]repo
**Description**
Base command for repository management.
.. _downloader-command-repo-add:
""""""""
repo add
""""""""
**Syntax**
.. code-block:: none
[p]repo add <name> <repo_url> [branch]
**Description**
Add a new repo.
Examples:
- ``[p]repo add 26-Cogs https://github.com/Twentysix26/x26-Cogs``
- ``[p]repo add Laggrons-Dumb-Cogs https://github.com/retke/Laggrons-Dumb-Cogs v3``
Repo names can only contain characters A-z, numbers, underscores, and hyphens.
The branch will be the default branch if not specified.
**Arguments**
- ``<name>`` The name given to the repo.
- ``<repo_url>`` URL to the cog branch. Usually GitHub or GitLab.
- ``[branch]`` Optional branch to install cogs from.
.. _downloader-command-repo-delete:
"""""""""""
repo delete
"""""""""""
**Syntax**
.. code-block:: none
[p]repo delete <repo>
.. tip:: Aliases: ``repo remove``, ``repo del``
**Description**
Remove a repo and its files.
Example:
- ``[p]repo delete 26-Cogs``
**Arguments**
- ``<repo>`` The name of an already added repo
.. _downloader-command-repo-info:
"""""""""
repo info
"""""""""
**Syntax**
.. code-block:: none
[p]repo info <repo>
**Description**
Show information about a repo.
Example:
- ``[p]repo info 26-Cogs``
**Arguments**
- ``<repo>`` The name of the repo to show info about.
.. _downloader-command-repo-list:
"""""""""
repo list
"""""""""
**Syntax**
.. code-block:: none
[p]repo list
**Description**
List all installed repos.
.. _downloader-command-repo-update:
"""""""""""
repo update
"""""""""""
**Syntax**
.. code-block:: none
[p]repo update [repos...]
**Description**
Update all repos, or ones of your choosing.
This will *not* update the cogs installed from those repos.
Examples:
- ``[p]repo update``
- ``[p]repo update 26-Cogs``
- ``[p]repo update 26-Cogs Laggrons-Dumb-Cogs``
**Arguments**
- ``[repos...]`` The name or names of repos to update. If omitted, all repos are updated.

539
docs/cog_guides/economy.rst Normal file
View File

@@ -0,0 +1,539 @@
.. _economy:
=======
Economy
=======
This is the cog guide for the economy cog. You will
find detailed docs about usage and commands.
``[p]`` is considered as your prefix.
.. note:: To use this cog, load it by typing this::
[p]load economy
.. _economy-usage:
-----
Usage
-----
Get rich and have fun with imaginary currency!
.. _economy-commands:
--------
Commands
--------
.. _economy-command-bank:
^^^^
bank
^^^^
**Syntax**
.. code-block:: none
[p]bank
**Description**
Base command to manage the bank.
.. _economy-command-bank-balance:
""""""""""""
bank balance
""""""""""""
**Syntax**
.. code-block:: none
[p]bank balance [user]
**Description**
Show the user's account balance.
Example:
- ``[p]bank balance``
- ``[p]bank balance @Twentysix``
**Arguments**
- ``<user>`` The user to check the balance of. If omitted, defaults to your own balance.
.. _economy-command-bank-prune:
""""""""""
bank prune
""""""""""
.. note:: |admin-lock|
**Syntax**
.. code-block:: none
[p]bank prune
**Description**
Base command for pruning bank accounts.
.. _economy-command-bank-prune-global:
"""""""""""""""""
bank prune global
"""""""""""""""""
.. note:: |owner-lock|
**Syntax**
.. code-block:: none
[p]bank prune global [confirmation=False]
**Description**
Prune bank accounts for users who no longer share a server with the bot.
Cannot be used without a global bank. See ``[p]bank prune server``.
Examples:
- ``[p]bank prune global`` - Did not confirm. Shows the help message.
- ``[p]bank prune global yes``
**Arguments**
- ``<confirmation>`` This will default to false unless specified.
.. _economy-command-bank-prune-server:
"""""""""""""""""
bank prune server
"""""""""""""""""
.. note:: |guildowner-lock|
**Syntax**
.. code-block:: none
[p]bank prune server [confirmation=False]
.. tip:: Aliases: ``bank prune guild``, ``bank prune local``
**Description**
Prune bank accounts for users no longer in the server.
Cannot be used with a global bank. See ``[p]bank prune global``.
Examples:
- ``[p]bank prune server`` - Did not confirm. Shows the help message.
- ``[p]bank prune server yes``
**Arguments**
- ``<confirmation>`` This will default to false unless specified.
.. _economy-command-bank-prune-user:
"""""""""""""""
bank prune user
"""""""""""""""
**Syntax**
.. code-block:: none
[p]bank prune user <user> [confirmation=False]
**Description**
Delete the bank account of a specified user.
Examples:
- ``[p]bank prune user @TwentySix`` - Did not confirm. Shows the help message.
- ``[p]bank prune user @TwentySix yes``
**Arguments**
- ``<user>`` The user to delete the bank of. Takes mentions, names, and user ids.
- ``<confirmation>`` This will default to false unless specified.
.. _economy-command-bank-reset:
""""""""""
bank reset
""""""""""
.. note:: |guildowner-lock|
**Syntax**
.. code-block:: none
[p]bank reset [confirmation=False]
**Description**
Delete all bank accounts.
Examples:
- ``[p]bank reset`` - Did not confirm. Shows the help message.
- ``[p]bank reset yes``
**Arguments**
- ``<confirmation>`` This will default to false unless specified.
.. _economy-command-bank-set:
""""""""
bank set
""""""""
.. note:: |admin-lock|
**Syntax**
.. code-block:: none
[p]bank set <to> <creds>
**Description**
Set the balance of a user's bank account.
Putting + or - signs before the amount will add/remove currency on the user's bank account instead.
Examples:
- ``[p]bank set @Twentysix 26`` - Sets balance to 26
- ``[p]bank set @Twentysix +2`` - Increases balance by 2
- ``[p]bank set @Twentysix -6`` - Decreases balance by 6
**Arguments**
- ``<to>`` The user to set the currency of.
- ``<creds>`` The amount of currency to set their balance to.
.. _economy-command-bank-transfer:
"""""""""""""
bank transfer
"""""""""""""
**Syntax**
.. code-block:: none
[p]bank transfer <to> <amount>
**Description**
Transfer currency to other users.
This will come out of your balance, so make sure you have enough.
Example:
- ``[p]bank transfer @Twentysix 500``
**Arguments**
- ``<to>`` The user to give currency to.
- ``<amount>`` The amount of currency to give.
.. _economy-command-economyset:
^^^^^^^^^^
economyset
^^^^^^^^^^
.. note:: |admin-lock|
**Syntax**
.. code-block:: none
[p]economyset
**Description**
Base command to manage Economy settings.
.. _economy-command-economyset-paydayamount:
"""""""""""""""""""""""
economyset paydayamount
"""""""""""""""""""""""
**Syntax**
.. code-block:: none
[p]economyset paydayamount <creds>
**Description**
Set the amount earned each payday.
Example:
- ``[p]economyset paydayamount 400``
**Arguments**
- ``<creds>`` The new amount to give when using the payday command. Default is 120.
.. _economy-command-economyset-paydaytime:
"""""""""""""""""""""
economyset paydaytime
"""""""""""""""""""""
**Syntax**
.. code-block:: none
[p]economyset paydaytime <duration>
**Description**
Set the cooldown for the payday command.
Examples:
- ``[p]economyset paydaytime 86400``
- ``[p]economyset paydaytime 1d``
**Arguments**
- | ``<duration>`` The new duration to wait in between uses of payday. Default is 5 minutes.
| Accepts: seconds, minutes, hours, days, weeks (if no unit is specified, the duration is assumed to be given in seconds)
.. _economy-command-economyset-registeramount:
"""""""""""""""""""""""""
economyset registeramount
"""""""""""""""""""""""""
**Syntax**
.. code-block:: none
[p]economyset registeramount <creds>
**Description**
Set the initial balance for new bank accounts.
Example:
- ``[p]economyset registeramount 5000``
**Arguments**
- ``<creds>`` The new initial balance amount. Default is 0.
.. _economy-command-economyset-rolepaydayamount:
"""""""""""""""""""""""""""
economyset rolepaydayamount
"""""""""""""""""""""""""""
**Syntax**
.. code-block:: none
[p]economyset rolepaydayamount <role> <creds>
**Description**
Set the amount earned each payday for a role. Setting to 0 will remove the custom payday for that role instead.
Only available when not using a global bank.
Example:
- ``[p]economyset rolepaydayamount @Members 400``
**Arguments**
- ``<role>`` The role to assign a custom payday amount to.
- ``<creds>`` The new amount to give when using the payday command.
.. _economy-command-economyset-showsettings:
"""""""""""""""""""""""
economyset showsettings
"""""""""""""""""""""""
**Syntax**
.. code-block:: none
[p]economyset showsettings
**Description**
Shows the current economy settings
.. _economy-command-economyset-slotmax:
""""""""""""""""""
economyset slotmax
""""""""""""""""""
**Syntax**
.. code-block:: none
[p]economyset slotmax <bid>
**Description**
Set the maximum slot machine bid.
Example:
- ``[p]economyset slotmax 50``
**Arguments**
- ``<bid>`` The new maximum bid for using the slot machine. Default is 100.
.. _economy-command-economyset-slotmin:
""""""""""""""""""
economyset slotmin
""""""""""""""""""
**Syntax**
.. code-block:: none
[p]economyset slotmin <bid>
**Description**
Set the minimum slot machine bid.
Example:
- ``[p]economyset slotmin 10``
**Arguments**
- ``<bid>`` The new minimum bid for using the slot machine. Default is 5.
.. _economy-command-economyset-slottime:
"""""""""""""""""""
economyset slottime
"""""""""""""""""""
**Syntax**
.. code-block:: none
[p]economyset slottime <duration>
**Description**
Set the cooldown for the slot machine.
Examples:
- ``[p]economyset slottime 10``
- ``[p]economyset slottime 10m``
**Arguments**
- | ``<duration>`` The new duration to wait in between uses of the slot machine. Default is 5 seconds.
| Accepts: seconds, minutes, hours, days, weeks (if no unit is specified, the duration is assumed to be given in seconds)
.. _economy-command-leaderboard:
^^^^^^^^^^^
leaderboard
^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]leaderboard [top=10] [show_global=False]
**Description**
Print the leaderboard.
Defaults to top 10.
Examples:
- ``[p]leaderboard``
- ``[p]leaderboard 50`` - Shows the top 50 instead of top 10.
- ``[p]leaderboard 100 yes`` - Shows the top 100 from all servers.
**Arguments**
- ``<top>`` How many positions on the leaderboard to show. Defaults to 10 if omitted.
- ``<show_global>`` Whether to include results from all servers. This will default to false unless specified.
.. _economy-command-payday:
^^^^^^
payday
^^^^^^
**Syntax**
.. code-block:: none
[p]payday
**Description**
Get some free currency.
The amount awarded and frequency can be configured.
.. _economy-command-payouts:
^^^^^^^
payouts
^^^^^^^
**Syntax**
.. code-block:: none
[p]payouts
**Description**
Show the payouts for the slot machine.
.. _economy-command-slot:
^^^^
slot
^^^^
**Syntax**
.. code-block:: none
[p]slot <bid>
**Description**
Use the slot machine.
Example:
- ``[p]slot 50``
**Arguments**
- ``<bid>`` The amount to bet on the slot machine. Winning payouts are higher when you bet more.

303
docs/cog_guides/filter.rst Normal file
View File

@@ -0,0 +1,303 @@
.. _filter:
======
Filter
======
This is the cog guide for the filter cog. You will
find detailed docs about usage and commands.
``[p]`` is considered as your prefix.
.. note:: To use this cog, load it by typing this::
[p]load filter
.. _filter-usage:
-----
Usage
-----
This cog is designed for "filtering" unwanted words and phrases from a server.
It provides tools to manage a list of words or sentences, and to customize automatic actions to be taken against users who use those words in channels or in their name/nickname.
This can be used to prevent inappropriate language, off-topic discussions, invite links, and more.
.. _filter-commands:
--------
Commands
--------
.. _filter-command-filter:
^^^^^^
filter
^^^^^^
.. note:: |mod-lock|
**Syntax**
.. code-block:: none
[p]filter
**Description**
Base command to add or remove words from the server filter.
Use double quotes to add or remove sentences.
.. _filter-command-filter-add:
""""""""""
filter add
""""""""""
**Syntax**
.. code-block:: none
[p]filter add [words...]
**Description**
Add words to the filter.
Use double quotes to add sentences.
Examples:
- ``[p]filter add word1 word2 word3``
- ``[p]filter add "This is a sentence"``
**Arguments:**
- ``[words...]`` The words or sentences to filter.
.. _filter-command-filter-channel:
""""""""""""""
filter channel
""""""""""""""
**Syntax**
.. code-block:: none
[p]filter channel
**Description**
Base command to add or remove words from the channel filter.
Use double quotes to add or remove sentences.
.. _filter-command-filter-channel-add:
""""""""""""""""""
filter channel add
""""""""""""""""""
**Syntax**
.. code-block:: none
[p]filter channel add [words...]
**Description**
Add words to the filter.
Use double quotes to add sentences.
Examples:
- ``[p]filter channel add word1 word2 word3``
- ``[p]filter channel add "This is a sentence"``
**Arguments:**
- ``[words...]`` The words or sentences to filter.
.. _filter-command-filter-channel-list:
"""""""""""""""""""
filter channel list
"""""""""""""""""""
**Syntax**
.. code-block:: none
[p]filter channel list
**Description**
Send a list of the channel's filtered words.
.. _filter-command-filter-channel-remove:
"""""""""""""""""""""
filter channel remove
"""""""""""""""""""""
**Syntax**
.. code-block:: none
[p]filter channel remove [words...]
**Description**
Remove words from the filter.
Use double quotes to remove sentences.
Examples:
- ``[p]filter channel remove word1 word2 word3``
- ``[p]filter channel remove "This is a sentence"``
**Arguments:**
- ``[words...]`` The words or sentences to no longer filter.
.. _filter-command-filter-delete:
"""""""""""""
filter delete
"""""""""""""
**Syntax**
.. code-block:: none
[p]filter delete [words...]
.. tip:: Aliases: ``filter remove``, ``filter del``
**Description**
Remove words from the filter.
Use double quotes to remove sentences.
Examples:
- ``[p]filter remove word1 word2 word3``
- ``[p]filter remove "This is a sentence"``
**Arguments:**
- ``[words...]`` The words or sentences to no longer filter.
.. _filter-command-filter-list:
"""""""""""
filter list
"""""""""""
**Syntax**
.. code-block:: none
[p]filter list
**Description**
Send a list of this server's filtered words.
.. _filter-command-filter-names:
""""""""""""
filter names
""""""""""""
**Syntax**
.. code-block:: none
[p]filter names
**Description**
Toggle name and nickname filtering.
This is disabled by default.
.. _filter-command-filterset:
^^^^^^^^^
filterset
^^^^^^^^^
.. note:: |admin-lock|
**Syntax**
.. code-block:: none
[p]filterset
**Description**
Base command to manage filter settings.
.. _filter-command-filterset-ban:
"""""""""""""
filterset ban
"""""""""""""
**Syntax**
.. code-block:: none
[p]filterset ban <count> <timeframe>
**Description**
Set the filter's autoban conditions.
Users will be banned if they send ``<count>`` filtered words in
``<timeframe>`` seconds.
Set both to zero to disable autoban.
Examples:
- ``[p]filterset ban 5 5`` - Ban users who say 5 filtered words in 5 seconds.
- ``[p]filterset ban 2 20`` - Ban users who say 2 filtered words in 20 seconds.
**Arguments:**
- ``<count>`` The amount of filtered words required to trigger a ban.
- ``<timeframe>`` The period of time in which too many filtered words will trigger a ban.
.. _filter-command-filterset-defaultname:
"""""""""""""""""""""
filterset defaultname
"""""""""""""""""""""
**Syntax**
.. code-block:: none
[p]filterset defaultname <name>
**Description**
Set the nickname for users with a filtered name.
Note that this has no effect if filtering names is disabled
(to toggle, run ``[p]filter names``).
The default name used is *John Doe*.
Example:
- ``[p]filterset defaultname Missingno``
**Arguments:**
- ``<name>`` The new nickname to assign.

553
docs/cog_guides/streams.rst Normal file
View File

@@ -0,0 +1,553 @@
.. _streams:
=======
Streams
=======
This is the cog guide for the Streams cog. You will
find detailed docs about usage and commands.
``[p]`` is considered as your prefix.
.. note:: To use this cog, load it by typing this::
[p]load streams
.. _streams-usage:
-----
Usage
-----
This cog provides commands to check if a channel
on a supported streaming service is live as well
as to create and manage alerts for channels.
Supported streaming services are:
- Twitch
- Youtube
- Smashcast
- Picarto
Youtube and Twitch both require setting authentication
details for commands for those services to work. See
:ref:`[p]streamset twitchtoken <streams-command-streamset-twitchtoken>` and
:ref:`[p]streamset youtubekey <streams-command-streamset-youtubekey>`
for more information.
.. _streams-commands:
--------
Commands
--------
.. _streams-command-streamset:
^^^^^^^^^
streamset
^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset
**Description**
Manage stream alert settings.
.. _streams-command-streamset-autodelete:
^^^^^^^^^^^^^^^^^^^^
streamset autodelete
^^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset autodelete <on_off>
**Description**
Toggles automatic deletion of stream alerts when the
stream goes offline.
**Arguments**
* ``<on_off>``: Whether to turn on or off
.. _streams-command-streamset-ignorereruns:
^^^^^^^^^^^^^^^^^^^^^^
streamset ignorereruns
^^^^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset ignorereruns
**Description**
Toggles excluding reruns from the alerts.
At this time, this functionality only applies to Twitch stream alerts.
.. _streams-command-streamset-mention:
^^^^^^^^^^^^^^^^^
streamset mention
^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset mention
**Description**
Toggle mentions for stream alerts.
.. _streams-command-streamset-mention-all:
^^^^^^^^^^^^^^^^^^^^^
streamset mention all
^^^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset mention all
**Description**
Toggle mentioning ``@everyone`` for stream alerts.
.. _streams-command-streamset-mention-online:
^^^^^^^^^^^^^^^^^^^^^^^^
streamset mention online
^^^^^^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset mention online
**Description**
Toggle mentioning ``@here`` for stream alerts.
.. _streams-command-streamset-mention-role:
^^^^^^^^^^^^^^^^^^^^^^
streamset mention role
^^^^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset mention role <role>
**Description**
Toggle mentioning a role for stream alerts.
**Arguments**
* ``<role>``: The role to toggle a mention for. |role-input|
.. _streams-command-streamset-message:
^^^^^^^^^^^^^^^^^
streamset message
^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset message
**Description**
Manage custom messages for stream alerts.
.. _streams-command-streamset-message-mention:
^^^^^^^^^^^^^^^^^^^^^^^^^
streamset message mention
^^^^^^^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset message mention <message>
**Description**
Sets a stream alert message for when mentions are enabled.
Use ``{mention}`` in the message to insert the selected mentions.
Use ``{stream}`` in the message to insert the channel or user name.
For example: ``[p]streamset message mention {mention}, {stream} is live!``
**Arguments**
* ``<message>``: Your alert message
.. _streams-command-streamset-message-nomention:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
streamset message nomention
^^^^^^^^^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset message nomention <message>
**Description**
Sets a stream alert message for when mentions are disabled.
Use ``{stream}`` in the message to insert the channel or user name.
For example: ``[p]streamset message nomention {stream} is live!``
**Arguments**
* ``<message>``: Your alert message
.. _streams-command-streamset-message-clear:
^^^^^^^^^^^^^^^^^^^^^^^
streamset message clear
^^^^^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset message clear
**Description**
Resets the stream alert messages for the server.
.. _streams-command-streamset-timer:
^^^^^^^^^^^^^^^
streamset timer
^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset timer <refresh_timer>
**Description**
Sets the refresh time for stream alerts (how frequently they will be checked).
This cannot be set to anything less than 60 seconds.
**Arguments**
* ``<refresh_timer>``: The frequency with which streams should be checked, in seconds
.. _streams-command-streamset-youtubekey:
^^^^^^^^^^^^^^^^^^^^
streamset youtubekey
^^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset youtubekey
**Description**
Explains how to set the YouTube token.
To get one, do the following:
1. Create a project
(see https://support.google.com/googleapi/answer/6251787 for details)
2. Enable the YouTube Data API v3
(see https://support.google.com/googleapi/answer/6158841 for instructions)
3. Set up your API key
(see https://support.google.com/googleapi/answer/6158862 for instructions)
4. Copy your API key and run the command ``[p]set api youtube api_key <your_api_key_here>``
.. attention:: These tokens are sensitive and should only be
used in a private channel or in DM with the bot.
.. _streams-command-streamset-twitchtoken:
^^^^^^^^^^^^^^^^^^^^^
streamset twitchtoken
^^^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamset twitchtoken
**Description**
Explains how to set the Twitch token.
To set the Twitch API tokens, follow these steps:
1. Go to this page: https://dev.twitch.tv/dashboard/apps.
2. Click Register Your Application.
3. Enter a name, set the OAuth Redirect URI to http://localhost, and select an Application Category of your choosing.
4. Click Register.
5. Copy your client ID and your client secret into:
``[p]set api twitch client_id <your_client_id_here> client_secret <your_client_secret_here>``
.. attention:: These tokens are sensitive and should only be
used in a private channel or in DM with the bot.
.. _streams-command-picarto:
^^^^^^^
picarto
^^^^^^^
**Syntax**
.. code-block:: none
[p]picarto <channel_name>
**Description**
Check if a Picarto channel is live.
**Arguments**
* ``<channel_name>``: The Picarto channel to check.
.. _streams-command-smashcast:
^^^^^^^^^
smashcast
^^^^^^^^^
**Syntax**
.. code-block:: none
[p]smashcast <channel_name>
**Description**
Check if a Smashcast channel is live.
**Arguments**
* ``<channel_name>``: The Smashcast channel to check.
.. _streams-command-twitchstream:
^^^^^^^^^^^^
twitchstream
^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]twitchstream <channel_name>
**Description**
Check if a Twitch channel is live.
**Arguments**
* ``<channel_name>``: The Twitch channel to check.
.. _streams-command-youtubestream:
^^^^^^^^^^^^^
youtubestream
^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]youtubestream <channel_id_or_name>
**Description**
Check if a YouTube channel is live.
**Arguments**
* ``<channel_id_or_name>``: The name or id of the YouTube channel to be checked.
.. _streams-command-streamalert:
^^^^^^^^^^^
streamalert
^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamalert
**Description**
Manage automated stream alerts.
.. _streams-command-streamalert-list:
^^^^^^^^^^^^^^^^
streamalert list
^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamalert list
**Description**
Lists all active alerts in the current server.
.. _streams-command-streamalert-picarto:
^^^^^^^^^^^^^^^^^^^
streamalert picarto
^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamalert picarto <channel_name>
**Description**
Toggle alerts in the current channel for the
specified Picarto channel.
**Arguments**
* ``<channel_name>``: The Picarto channel to toggle the alert for.
.. _streams-command-streamalert-smashcast:
^^^^^^^^^^^^^^^^^^^^^
streamalert smashcast
^^^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamalert smashcast <channel_name>
**Description**
Toggle alerts in the current channel for the
specified Smashcast channel.
**Arguments**
* ``<channel_name>``: The Smashcast channel to toggle the alert for.
.. _streams-command-streamalert-twitch-channel:
^^^^^^^^^^^^^^^^^^^^^^^^^^
streamalert twitch channel
^^^^^^^^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamalert twitch channel <channel_name>
**Description**
Toggle alerts in the current channel for the
specified Twitch channel.
**Arguments**
* ``<channel_name>``: The Twitch channel to toggle the alert for.
.. _streams-command-streamalert-youtube:
^^^^^^^^^^^^^^^^^^^
streamalert youtube
^^^^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamalert youtube <channel_name>
**Description**
Toggle alerts in the current channel for the
specified Picarto channel.
**Arguments**
* ``<channel_id_or_name>``: The name or id of the YouTube channel to be checked.
.. _streams-command-streamalert-stop:
^^^^^^^^^^^^^^^^
streamalert stop
^^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]streamalert stop [disable-all=No]
**Description**
Disable all stream alerts for this channel or server.
**Arguments**
* ``[disable-all]``: Defaults to ``no``. If this is set to ``yes``, all
stream alerts in the current server will be disabled.
If ``no`` or unspecified, all stream alerts in the
current channel will be stopped.

View File

@@ -58,7 +58,7 @@ master_doc = "index"
# General information about the project.
project = "Red - Discord Bot"
copyright = "2018-2020, Cog Creators"
copyright = "2018-2021, Cog Creators"
author = "Cog Creators"
# The version info for the project you're documenting, acts as replacement for
@@ -108,9 +108,6 @@ rst_prolog += f"\n.. |DPY_VERSION| replace:: {dpy_version}"
#
html_theme = "sphinx_rtd_theme"
# This will be needed until sphinx_rtd_theme supports the html5 writer
html4_writer = True
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.

View File

@@ -73,3 +73,5 @@ Additional References
.. automethod:: Red.set_shared_api_tokens
.. automethod:: Red.remove_shared_api_tokens
.. automethod:: Red.remove_shared_api_services

View File

@@ -7,5 +7,5 @@ Command Check Decorators
The following are all decorators for commands, which add restrictions to where and when they can be
run.
.. automodule:: redbot.core.checks
:members:
.. automodule:: redbot.core.commands
:members: permissions_check, bot_has_permissions, bot_in_a_guild, has_permissions, has_guild_permissions, is_owner, guildowner, guildowner_or_permissions, admin, admin_or_permissions, mod, mod_or_permissions

View File

@@ -13,6 +13,14 @@ extend functionalities used throughout the bot, as outlined below.
.. autofunction:: redbot.core.commands.group
.. autoclass:: redbot.core.commands.Cog
.. automethod:: format_help_for_context
.. automethod:: red_get_data_for_user
.. automethod:: red_delete_data_for_user
.. autoclass:: redbot.core.commands.Command
:members:
:inherited-members: format_help_for_context
@@ -32,7 +40,24 @@ extend functionalities used throughout the bot, as outlined below.
.. automodule:: redbot.core.commands.converter
:members:
:exclude-members: convert
:exclude-members: UserInputOptional, convert
:no-undoc-members:
.. autoclass:: APIToken
.. autodata:: UserInputOptional
:annotation:
.. _framework-commands-help:
******************
Help Functionality
******************
.. warning::
The content in this section is provisional and may change
without prior notice or warning. Updates to this will be communicated
on `this issue <https://github.com/Cog-Creators/Red-DiscordBot/issues/4084>`_
.. automodule:: redbot.core.commands.help
:members:

View File

@@ -21,8 +21,9 @@ Basic Usage
.. code-block:: python
from redbot.core import Config
from redbot.core import commands
class MyCog:
class MyCog(commands.Cog):
def __init__(self):
self.config = Config.get_conf(self, identifier=1234567890)
@@ -52,7 +53,7 @@ Then, in the class's :code:`__init__` function, you need to get a config instanc
.. code-block:: python
class MyCog:
class MyCog(commands.Cog):
def __init__(self):
self.config = Config.get_conf(self, identifier=1234567890)
@@ -68,7 +69,7 @@ After we've gotten that, we need to register default values:
.. code-block:: python
class MyCog:
class MyCog(commands.Cog):
def __init__(self):
self.config = Config.get_conf(self, identifier=1234567890)
default_global = {
@@ -188,19 +189,120 @@ features within Config to enable developers to work with data how they wish.
This usage guide will cover the following features:
- :py:meth:`Config.init_custom`
- :py:meth:`Config.register_custom`
- :py:meth:`Config.custom`
- :py:meth:`Group.get_raw`
- :py:meth:`Group.set_raw`
- :py:meth:`Group.clear_raw`
Custom Groups
^^^^^^^^^^^^^
While Config has built-in groups for the common discord objects,
sometimes you need a combination of these or your own defined grouping.
Config handles this by allowing you to define custom groups.
Let's start by showing how :py:meth:`Config.custom` can be equivalent to :py:meth:`Config.guild` by modifying the above
Tutorial example.
.. code-block:: python
from redbot.core import Config, commands
class MyCog(commands.Cog):
def __init__(self):
self.config = Config.get_conf(self, identifier=1234567890)
default_guild = {
"blah": [],
"baz": 1234567890
}
# self.config.register_guild(**default_guild)
self.config.init_custom("CustomGuildGroup", 1)
self.config.register_custom("CustomGuildGroup", **default_guild)
In the above, we registered the custom group named "CustomGuildGroup" to contain the same defaults
that :code:`self.config.guild` normally would. First, we initialized the group "CustomGuildGroup" to
accept one identifier by calling :py:meth:`Config.init_custom` with the argument :code:`1`. Then we used
:py:meth:`Config.register_custom` to register the default values.
.. important::
:py:meth:`Config.init_custom` **must** be called prior to using a custom group.
Now let's use this custom group:
.. code-block:: python
@commands.command()
async def setbaz(self, ctx, new_value):
# await self.config.guild(ctx.guild).baz.set(new_value)
await self.config.custom("CustomGuildGroup", ctx.guild.id).baz.set(new_value)
await ctx.send("Value of baz has been changed!")
@commands.command()
async def checkbaz(self, ctx):
# baz_val = await self.config.guild(ctx.guild).baz()
baz_val = await self.config.custom("CustomGuildGroup", ctx.guild.id).baz()
await ctx.send("The value of baz is {}".format("True" if baz_val else "False"))
Here we used :py:meth:`Config.custom` to access our custom group much like we would have used :py:meth:`Config.guild`.
Since it's a custom group, we need to use :code:`id` attribute of guild to get a unique identifier.
Now let's see an example that uses multiple identifiers:
.. code-block:: python
from redbot.core import Config, commands, checks
class ChannelAccesss(commands.Cog):
def __init__(self):
self.config = Config.get_conf(self, identifier=1234567890)
default_access = {
"allowed": False
}
self.config.init_custom("ChannelAccess", 2)
self.config.register_custom("ChannelAccess", **default_access)
@commands.command()
@checks.is_owner()
async def grantaccess(self, ctx, channel: discord.TextChannel, member: discord.Member):
await self.config.custom("ChannelAccess", channel.id, member.id).allowed.set(True)
await ctx.send("Member has been granted access to that channel")
@commands.command()
async def checkaccess(self, ctx, channel: discord.TextChannel):
allowed = await self.config.custom("ChannelAccess", channel.id, ctx.author.id).allowed()
await ctx.send("Your access to this channel is {}".format("Allowed" if allowed else "Denied"))
In the above example, we defined the custom group "ChannelAccess" to accept two identifiers
using :py:meth:`Config.init_custom`. Then, we were able to set the default value for any member's
access to any channel to `False` until the bot owner grants them access.
.. important::
The ordering of the identifiers matter. :code:`custom("ChannelAccess", channel.id, member.id)` is NOT the same
as :code:`custom("ChannelAccess", member.id, channel.id)`
Raw Group Access
^^^^^^^^^^^^^^^^
For this example let's suppose that we're creating a cog that allows users to buy and own multiple pets using
the built-in Economy credits::
from redbot.core import bank
from redbot.core import Config
from discord.ext import commands
from redbot.core import Config, commands
class Pets:
class Pets(commands.Cog):
def __init__(self):
self.config = Config.get_conf(self, 1234567890)
@@ -346,13 +448,13 @@ much the same way they would in V2. The following examples will demonstrate how
.. code-block:: python
from redbot.core import Config
from redbot.core import Config, commands
class ExampleCog:
class ExampleCog(commands.Cog):
def __init__(self):
self.config = Config.get_conf(self, 1234567890)
self.config.init_custom("V2", 1)
self.data = {}
async def load_data(self):

View File

@@ -33,21 +33,17 @@ Tutorial
After making your cog, generate a :code:`messages.pot` file
The process of generating this will depend on the operating system
you are using
We recommend using redgettext - a modified version of pygettext for Red.
You can install redgettext by running :code:`pip install redgettext` in a command prompt.
In a command prompt in your cog's package (where yourcog.py is),
create a directory called "locales".
Then do one of the following:
Windows: :code:`python <your python install path>\Tools\i18n\pygettext.py -D -n -p locales`
Mac: ?
Linux: :code:`pygettext3 -D -n -p locales`
This will generate a messages.pot file with strings to be translated, including
To generate the :code:`messages.pot` file, you will now need to run
:code:`python -m redgettext -c [path_to_cog]`
This file will contain all strings to be translated, including
docstrings.
(For advanced usage check :code:`python -m redgettext -h`)
You can now use a tool like `poedit
<https://poedit.net/>`_ to translate the strings in your messages.pot file.
-------------
API Reference

View File

@@ -8,7 +8,7 @@ General Utility
===============
.. automodule:: redbot.core.utils
:members: deduplicate_iterables, bounded_gather, bounded_gather_iter
:members: deduplicate_iterables, bounded_gather, bounded_gather_iter, get_end_user_data_statement, get_end_user_data_statement_or_raise
.. autoclass:: AsyncIter
:members:

View File

@@ -81,15 +81,23 @@ parameters.
[p]help command
The parameters are shown as enclosed in ``< >`` if they're required, or
``[ ]`` if optional.
As an example, the ban command will show this in the help message, assuming
your prefix is ``!``:
``Syntax: !ban <user> [days] [reason]``
.. note::
Arguments enclosed in ``< >`` are **required** for the command to work.
This means that it is necessary to provide ``user``. However, the
``days`` value (number of messages to delete) is optional, as well as
the ``reason`` value, used for the modlog.
Arguments enclosed in ``[ ]`` are **optional** for the command;
you can decide whether to use them or not.
If your argument includes spaces like ``Hello world!``, most of the time
you will need to place it in double quotes like this: ``"Hello world!"``.
Sometimes (especially for the last argument) these double quotes are not
required.
Arguments followed by ``=value`` means that, if not specified,
the argument will be equal to ``value``.
For example, the command ``[p]cleanup messages`` in the cleanup cog has
the syntax ``cleanup messages <number> [delete_pinned=False]``, which means
``delete_pinned`` default will be false, unless you specify it as true.
You can use help to show the **categories** too, generally called cogs.
Just do something like this (notice the capitalization):
@@ -153,14 +161,10 @@ download them using the downloader cog.
You can start using the downloader cog by loading it: ``[p]load downloader``
You can find cogs by searching on ``cogs.red``. Find whatever you want,
You can find cogs by searching on `<https://index.discord.red>`_. Find whatever you want,
there are hundreds of cogs available!
.. note:: ``cogs.red``, the website that list all of the cogs is not
ready for v3 yet. For now, you can refer to `this post
<https://cogboard.red/t/approved-repositories/210>`_.
.. 26-cogs not available, let's use my repo :3
.. note:: An even better way to discover new cogs and repositories is in the works! Stay tuned!
Cogs come in repositories. A repository is a container of cogs
that you can install. Let's suppose you want to install the ``say``
@@ -261,8 +265,8 @@ If you want to do it, follow these steps.
1. **Find a host**
You need to find a server to host Red. You can rent a VPS (it can be free)
on an online service. Please check :ref:`this list <host-list>` for
quality VPS providers.
on an online service. Please check :ref:`this page <host-list>` for
more information.
You can also buy a Raspberry Pi (~$20), which is a micro-computer that will
be able to host Red. The model 3 or above is recommended.
@@ -273,7 +277,7 @@ If you want to do it, follow these steps.
you're a beginner, we recommend **Ubuntu 20.04 LTS**.
For Raspberry Pi users, just install `Raspbian
<https://www.raspberrypi.org/downloads/raspbian/>`_ on a micro-SD card.
<https://www.raspberrypi.org/software/>`_ on a micro-SD card.
2.1. **Log in**
@@ -344,22 +348,3 @@ The cog guides are formatted the same. They're divided into 3 sections:
* **Arguments**
A list of all arguments needed (or not) for the command, with more details.
.. tip::
Arguments enclosed in ``< >`` means that the argument is **required**
for the command to work.
Arguments enclosed in ``[ ]`` means that the argument is **optional**
for the command; you can decide to use it or not.
If your argument includes spaces like ``Hello world!``, most of the time
you will need to place it in double quotes like this: ``"Hello world!"``.
Sometimes (especially for the last argument) these double quotes are not
required.
Arguments followed by ``=something`` means that, if not specified,
the argument will be equal to ``something``.
For example, ``[days=1]`` in the ``ban`` command means that the number
of days of messages to be deleted will be equal to ``1`` if not
specified.

View File

@@ -98,6 +98,7 @@ Open :code:`__init__.py`. In that file, place the following:
from .mycog import Mycog
def setup(bot):
bot.add_cog(Mycog())
@@ -155,6 +156,12 @@ Publishing your cog
Go to :doc:`/guide_publish_cogs`
--------------------------------
Becoming an Approved Cog Creator
--------------------------------
:doc:`/guide_cog_creators` explains the Cog Creator Application process and lists requirements and good practices for Cog Creators. This information is worth following for anyone creating cogs for Red, regardless of if you plan to publish your cogs or not.
--------------------
Additional resources
--------------------
@@ -162,70 +169,3 @@ Additional resources
Be sure to check out the :doc:`/guide_migration` for some resources
on developing cogs for V3. This will also cover differences between V2 and V3 for
those who developed cogs for V2.
---------------------------
Guidelines for Cog Creators
---------------------------
The following are a list of guidelines Cog Creators should strive to follow.
Not all of these are strict requirements (some are) but are all generally advisable.
1. Cogs should follow a few naming conventions for consistency.
- Cog classes should be TitleCased, using alphabetic characters only.
- Commands should be lower case, using alphanumeric characters only.
- Cog modules should be lower case, using alphabetic characters only.
2. Cogs and commands should have docstrings suitable for use in help output.
- This one is slightly flexible if using other methods of setting help.
3. Don't prevent normal operation of the bot without the user opting into this.
- This includes as a side effect by blocking the event loop.
4. If your cog uses logging:
- The namespace for logging should be: ``red.your_repo_name.cog_name``.
- Print statements are not a substitute for proper logging.
5. If you use asyncio.create_task, your tasks need to:
- Be cancelled on cog unload.
- Handle errors.
6. Event listeners should exit early if it is an event you don't need.
This makes your events less expensive in terms of CPU time. Examples below:
- Checking that you are in a guild before interacting with config for an antispam command.
- Checking that you aren't reacting to a bot message (``not message.author.bot``) early on.
7. Use .gitignore (or something else) to keep unwanted files out of your cog repo.
8. Put a license on your cog repo.
- By default, in most jurisdictions, without a license that at least offers the code for use,
users cannot legally use your code.
9. Use botwide features when they apply. Some examples of this:
- ``ctx.embed_color``
- ``bot.is_automod_immune``
10. Use checks to limit command use when the bot needs special permissions.
11. Check against user input before doing things. Common things to check:
- Resulting output is safe.
- Values provided make sense. (eg. no negative numbers for payday)
- Don't unsafely use user input for things like database input.
12. Don't abuse bot internals.
- If you need access to something, ask us or open an issue.
- If you're sure the current usage is safe, document why,
but we'd prefer you work with us on ensuring you have access to what you need.
13. Update your cogs for breakage.
- We announce this in advance.
- If you need help, ask.

201
docs/guide_cog_creators.rst Normal file
View File

@@ -0,0 +1,201 @@
.. Cog Creator Applications
.. role:: python(code)
:language: python
================================
Becoming an Approved Cog Creator
================================
This guide serves to explain the Cog Creator Application process and lays out the requirements to be a Cog Creator.
----------------------------------
Creating a Cog Creator Application
----------------------------------
.. note::
You will need to have created and published your cogs before you create a Cog Creator Application!
See `guide_cog_creation` and `guide_publish_cogs` for more information.
Cog Creator Applications are hosted on the `cogboard <https://cogboard.red/c/apps/12>`__.
To create an application, start a new topic in the "Applications" category and fill out all of the required information.
QA reviews Cog Creator Applications for security and functionality on a first come, first serve basis.
Once your application is reviewed, you will have 14 days to make any requested changes, or to check in with the member of QA who is reviewing your application.
-----------------------------
Requirements for Cog Creators
-----------------------------
The following is a list of the requirements for approved Cog Creators.
QA uses this list to request changes for Cog Creator Applications.
Handling these requirements before submitting your application can streamline the review process.
Any Cog Creator that does not follow these requirements will have their repo removed from approved listings and may have their Cog Creator status revoked.
- Readme that contains
- Repository name
- Installation instructions
- Extra setup instructions (if applicable)
- Credits (if applicable)
- Repo-wide ``info.json`` file with the keys
- ``author``
- ``name``
- ``short``
- ``description``
- Cog ``info.json`` files with the keys
- ``author``
- ``name``
- ``short``
- ``requirements`` (if applicable)
- ``description``
See `info-json-format` for more information on how to set up ``info.json`` files.
- No cog contains malicious code.
- No cog contains code that could impact the stability of the bot, such as blocking the event loop for an extended period of time, unreasonably high IO usage, etc.
- No cog contains copied code that does not respect the license of the source.
- Disclose in the ``install_msg`` key of the ``info.json`` file of each cog that contains any of the following:
- Heavy memory or I/O usage.
- Any NSFW material.
- Bundled data.
- Stored data (outside of using Config).
- Interactions with outside services.
- Any extra setup instructions required.
- No cog breaks the Discord TOS.
- No cog conflicts with any core cogs (e.g., causing a core cog to fail to load) unless it is intended to replace that cog.
- Your repo shows an understanding of a range of common cog practices. This requirement exists to ensure QA can trust the safety and functionality of any future code you will create. This is handled on a case-by-case basis, however the following points should outline what we are looking to see:
- Cogs that are more than what is able to be run in a simple eval.
- Cogs that are more than just a simple API access request.
- Cogs that properly use Red utilities, including Config, checks, and any other utility functions.
- Cogs that use event listeners (bot.wait_for or cog-wide listeners) or custom tasks that are efficient and handle exceptions appropriately.
- Cogs that handle errors properly.
- Cogs that handle permissions properly.
*While we're looking for these things to qualify your code, you don't need to apply all of them in order to qualify.*
- Any unusable or broken commands or cogs are hidden.
- The default locale must be English.
- The main cog class and every command must have a doc-string.
- No cog allows for escalation of permissions. (e.g., sending a mass ping through the bot without having permission to do so)
- Respect the role hierarchy. Dont let a lower role have a way to grant a higher role.
- If your cog install comes with any pre-packaged data, use `bundled_data_path()` to access it.
- If your cog install creates any non-config data, use `cog_data_path()` to store it.
- Unless the cog is intentionally designed to listen to certain input from bots, cogs should ignore input from bots.
- Cogs use public methods of Red where possible.
- Use the proper method if one exists. (and ask for one if it doesn't exist)
- If that's not possible, don't break anything in core or any other cog with your code.
- If you have to use private methods, lock the cog to specific Red versions you can guarantee it works on without breaking anything using the ``min_bot_version`` and ``max_bot_version`` keys in that cog's ``info.json`` file.
- Cog Creators must keep their cogs up-to-date with core Red or be delisted until cogs meet Red API changes. Repositories must be kept up to date with the latest version of Red within 3 months of its release.
.. _recommendations-for-cog-creators:
--------------------------------
Recommendations for Cog Creators
--------------------------------
The following is a list of recommendations for Cog Creators.
While not required for approved Cog Creators, they are still recommended in order to ensure consistency between repos.
- Cogs should follow a few naming conventions for consistency.
- Cog classes should be TitleCased, using alphabetic characters only.
- Commands should be lower case, using alphanumeric characters only.
- Cog modules should be lower case, using alphabetic characters only.
- If your cog uses logging:
- The namespace for logging should be: ``red.your_repo_name.cog_name``.
- Print statements are not a substitute for proper logging.
- If you use asyncio.create_task, your tasks should:
- Be cancelled on cog unload.
- Handle errors.
- | Event listeners should exit early if it is an event you don't need.
| This makes your events less expensive in terms of CPU time. Examples below:
- Checking that you are in a guild before interacting with config for an antispam command.
- Checking that you aren't reacting to a bot message (``not message.author.bot``) early on.
- Use .gitignore (or something else) to keep unwanted files out of your cog repo.
- Put a license on your cog repo.
- By default, in most jurisdictions, without a license that at least offers the code for use,
users cannot legally use your code.
- Use botwide features when they apply. Some examples of this:
- ``ctx.embed_color``
- ``bot.is_automod_immune``
- Use checks to limit command use when the bot needs special permissions.
- Check against user input before doing things. Common things to check:
- Resulting output is safe.
- Values provided make sense. (eg. no negative numbers for payday)
- Don't unsafely use user input for things like database input.
- Check events against `bot.cog_disabled_in_guild() <RedBase.cog_disabled_in_guild()>`\
- Not all events need to be checked, only those that interact with a guild.
- Some discretion may apply, for example,
a cog which logs command invocation errors could choose to ignore this
but a cog which takes actions based on messages should not.
- Respect settings when treating non-command messages as commands.
- Handle user data responsibly
- Don't do unexpected things with user data.
- Don't expose user data to additional audiences without permission.
- Don't collect data your cogs don't need.
- | Don't store data in unexpected locations.
| Utilize the cog data path, Config, or if you need something more
prompt the owner to provide it.
- Utilize the data deletion and statement APIs
- See `redbot.core.commands.Cog.red_delete_data_for_user()`
- | Make a statement about what data your cogs use with the module level
variable ``__red_end_user_data_statement__``.
| This should be a string containing a user friendly explanation of what data
your cog stores and why.
- Set contextual locales in events and other background tasks that use i18n APIs
- See `redbot.core.i18n.set_contextual_locales_from_guild()`
- Usage of i18n APIs within commands automatically has proper contextual locales set.
----------------------------
Perks of being a Cog Creator
----------------------------
- Added to a growing, curated list of approved repositories hosted on the `Red Index <https://index.discord.red/>`__.
- The Cog Creator role on the main Red Server and the Cog Support Server.
- Access to an additional testing channel and the #advanced-coding channel on the main Red Server.
- Write permission in the #v3-burndown channel on the main Red Server.
- Access to an additional testing channel and the Cog Creators channel on the Support Server.
- Alerted about breaking changes in Red before anyone else.
- Ability to request a channel in the Cog Support Server if you feel like the traffic/question volume for your cogs warrants it.
-------------
Other Details
-------------
- Once a QA member has conducted a final review, you will have up to 14 days to make the necessary changes.
- The reviewer of your application has the final word.
- Hidden cogs will not be explicitly reviewed, however they are not allowed to contain malicious or ToS breaking code.
- QA reserves the right to revoke these roles and all privileges if you are found to be in gross negligence, malicious intent, or reckless abandonment of your repository.
- If a Cog Creator's repository is not maintained and kept up to date, that repo will be removed from the approved repo listings until such issues are addressed.
- Only 1 person is allowed to be the Cog Creator for a particular repo. Multiple people are allowed to maintain the repo, however the "main" owner (and the Cog Creator) is responsible for any code on the repo.
- The Cog Creator status for a repo can be transferred to another user if the Cog Creator requests it.
- An approved Cog Creator can ask QA to add additional repos they have created to the approved pool.

View File

@@ -55,6 +55,9 @@ Keys common to both repo and cog info.json (case sensitive)
Keys specific to the cog info.json (case sensitive)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ``end_user_data_statement`` (string) - A statement explaining what end user data the cog is storing.
This is displayed when a user executes ``[p]cog info``. If the statement has changed since last update, user will be informed during the update.
- ``min_bot_version`` (string) - Min version number of Red in the format ``MAJOR.MINOR.MICRO``
- ``max_bot_version`` (string) - Max version number of Red in the format ``MAJOR.MINOR.MICRO``,
@@ -82,5 +85,13 @@ Keys specific to the cog info.json (case sensitive)
``SHARED_LIBRARY``. If ``SHARED_LIBRARY`` then ``hidden`` will be ``True``.
.. warning::
Shared libraries are deprecated since version 3.2 and are marked for removal in version 3.4.
Shared libraries are deprecated since version 3.2 and are marked for removal in the future.
Adding to the Index
-------------------
Repositories that are correctly configured can be added to the `public index of cogs <https://index.discord.red/>`_.
To be added to the index, make a pull request to the `Red-Index repository <https://github.com/Cog-Creators/Red-Index>`_ in the unapproved section. You can learn more about this process in the repository description.
To be added to the approved repositories, first see `guide_cog_creators`.

View File

@@ -2,16 +2,42 @@
.. _host-list:
=============
VPS providers
=============
===================
Hosting Information
===================
.. note::
This doc is written for the :ref:`hosting section <getting-started-hosting>`
of the :ref:`getting started <getting-started>` guide. Please take a look
if you don't know how to host Red on a VPS.
if you don't know how to host Red.
This is a list of the recommended VPS providers.
| For your instance of Red to stay online 24/7, it needs to be hosted on a dedicated system.
This page contains hosting related information and advice for beginners in
topics such as picking a provider.
First, we would like to make something clear:
.. warning::
Due to their inability to handle Red's data structure and meet the
conditions of being a supported platform; platforms such as Heroku,
Pterodactyl, repl.it, Termux, LXC and alike are **NOT** officially supported.
Docker support found in GitHub is also a work in progress and not ready
for daily use. Workarounds for getting Red running on those platforms
are imperfect due to Red's nature. You will not be able to receive
support if an issue occurs when hosting on any of these platforms.
------------------------------------
Hosting on a VPS or Dedicated Server
------------------------------------
| You can host Red in a VPS running Linux or Windows. Using a Linux VPS is the
recommended option. Dedicated servers also work but are overpowered and cost
ineffective unless one plans to run a very large bot or use their server for
more than just hosting Red. If you have already created an instance, Red can be moved to a different
server for hosting with a backup/restore process. More information and guidance
about this process is available in the `Red Support Server <https://discord.com/invite/red>`_.
.. warning::
Please be aware that a Linux server is controlled through a command line.
@@ -19,72 +45,106 @@ This is a list of the recommended VPS providers.
<https://www.digitalocean.com/community/tutorials/an-introduction-to-linux-basics>`_
from DigitalOcean which will introduce you to the Linux basics.
-------------
Linux hosting
-------------
+------------------------------------+------------------------------------------------------+
|Link |Description |
+====================================+======================================================+
|`Scaleway |Incredibly cheap but powerful VPSes, owned by |
|<https://www.scaleway.com/>`_ |`<https://online.net/>`_, based in Europe. |
+------------------------------------+------------------------------------------------------+
|`DigitalOcean |US-based cheap VPSes. The gold standard. Locations |
|<https://www.digitalocean.com/>`_ |available world wide. |
+------------------------------------+------------------------------------------------------+
|`OVH <https://www.ovh.co.uk/>`_ |Cheap VPSes, used by many people. French and Canadian |
| |locations available. |
+------------------------------------+------------------------------------------------------+
|`Time4VPS |Cheap VPSes, seemingly based in Lithuania. |
|<https://www.time4vps.eu/>`_ | |
+------------------------------------+------------------------------------------------------+
|`Linode <https://www.linode.com/>`_ |More cheap VPSes! |
+------------------------------------+------------------------------------------------------+
|`Vultr <https://www.vultr.com/>`_ |US-based, DigitalOcean-like. |
+------------------------------------+------------------------------------------------------+
------
Others
------
+-------------------------------------+-----------------------------------------------------+
|Link | |
+=====================================+=====================================================+
|`AWS <https://aws.amazon.com/>`_ |Amazon Web Services. Free for a year (with certain |
| |limits), but very pricey after that. |
+-------------------------------------+-----------------------------------------------------+
|`Google Cloud |Same as AWS, but it's Google. |
|<https://cloud.google.com/compute/>`_| |
+-------------------------------------+-----------------------------------------------------+
|`Microsoft Azure |Same as AWS, but it's Microsoft. |
|<https://azure.microsoft.com>`_ | |
+-------------------------------------+-----------------------------------------------------+
|`Oracle Cloud |Same as AWS, but it's Oracle. |
|<https://oracle.com/cloud/>`_ | |
+-------------------------------------+-----------------------------------------------------+
|`LowEndBox <http://lowendbox.com/>`_ |A curator for lower specced servers. |
+-------------------------------------+-----------------------------------------------------+
------------
Self-hosting
Self Hosting
------------
You can always self-host on your own hardware.
A Raspberry Pi 3 will be more than sufficient for small to medium sized bots.
| It's possible to self host Red with your own hardware. A Raspberry Pi 3
will have enough computing capacity to handle a small to medium sized bot.
You can also host on your own computer or rack server. Any modern hardware
should work without issues. However, this option leaves you responsible for
keeping the bot online by paying for electricity costs and dealing with power outages.
For bigger bots, you can build your own server PC for usage, or buy a rack
server. Any modern hardware should work 100% fine.
-------------------
Choosing a Provider
-------------------
| The following are some common providers suitable for hosting Red. With
each having their pros and cons, this list is mainly intended to act as a
starting point. You should conduct your own research and come to
a conclusion depending on your needs and budget, taking into account
providers not listed here if desired. The key is the provider offering
an OS supported by Red.
.. tip::
You will have better results with Audio when the region in your Discord
server settings is closer to the bulk of the server's audience and
the location you picked for your Red host.
-----------------
Average Providers
-----------------
| `Scaleway <https://www.scaleway.com/>`_ is a VPS and dedicated server
provider French in origin with locations in Poland and Netherlands.
| `DigitalOcean <https://www.digitalocean.com/>`_ is a US based cloud services company
with locations available worldwide, the VPS service is provided under the brand name
"Droplet".
| `OVH <https://us.ovhcloud.com/vps/>`_ is a company focused on providing hosting
and cloud services with locations in Europe, North America and Asia Pacific.
| `Time4VPS <https://www.time4vps.eu/>`_ is a Lithuanian VPS provider mainly focused
on lower cost.
| `GalaxyGate <https://galaxygate.net/>`_ is a VPS and dedicated server provider
with a single location in New York.
| `Linode <https://www.linode.com/>`_ is a US based cloud services company similar
to DigitalOcean with locations available worldwide.
| `AWS Lightsail <https://aws.amazon.com/lightsail/>`_ is a VPS service from Amazon
Web Services priced lower than their enterprise offerings.
| `Vultr <https://www.vultr.com/>`_ is a US based provider of VPS and dedicated servers
with locations available worldwide.
| `Hetzner Online <https://www.hetzner.com/>`_ is a German VPS and dedicated server
provider with locations in Germany and Finland.
| `Contabo <https://contabo.com/>`_ is also a German VPS and dedicated server provider
with locations in Germany and the United States.
| `Ramnode <https://www.ramnode.com/>`_ is a US based VPS provider focused on
low to middle end VPS with locations in the US and Netherlands.
| `LowEndBox <http://lowendbox.com/>`_ is a website where hosting providers are
discussed and curated, often with lower costs and less known providers.
--------------------
Higher End Providers
--------------------
| `AWS EC2 <https://aws.amazon.com/ec2/>`__ is the enterprise offering of Amazon Web Services.
A limited free plan is available for 12 months, after which a complex pricing model with
high costs take over.
| `Google Compute Engine <https://cloud.google.com/compute/>`__ is Google's EC2 competitor.
However, an always free plan with limited resources is offered.
| `Microsoft Azure VM <https://azure.microsoft.com/services/virtual-machines/>`__ is
Microsoft's EC2 competitor with lower costs than EC2 for Windows instances, but similar
otherwise.
| `Oracle Cloud Compute <https://www.oracle.com/cloud/compute/>`__ is Oracle's EC2
competitor. But an always free plan is available with slightly higher specifications
compared to that of Google Compute Engine.
------------
Free hosting
Free Hosting
------------
`Google Cloud Compute Free Tier <https://cloud.google.com/free/docs/gcp-free-tier>`_,
`Oracle Cloud Compute Always Free <https://oracle.com/cloud/free/#always-free>`_ and
`AWS EC2 Free Tier <https://aws.amazon.com/free/>`_ have free tier VPSes suitable for small bots.
AWS EC2 is not *always* free—it's a 12 month free trial.
Additionally, new Google Cloud customers get a $300 credit which is valid
for 12 months.
| `Google Compute Engine <https://cloud.google.com/free/docs/gcp-free-tier>`_,
`Oracle Cloud Compute <https://oracle.com/cloud/free/#always-free>`_ and
`AWS EC2 <https://aws.amazon.com/free/>`_ have free tier VPSes suitable for small bots.
Other than that... no. There is no good free VPS hoster, outside of
persuading somebody to host for you, which is incredibly unlikely.
| **Note:** The free tier offered by AWS for EC2 only lasts for 12 months, while
Oracle Cloud and Google Cloud offer always free tiers with limited resources.
| Additionally, new Google Cloud customers get a $300 credit which is valid for 3 months.
| Excluding the above, there is no recommended free VPS host. Persuasion of
another individual for hosting Red is an option, albeit low in success rate.

View File

@@ -14,6 +14,7 @@ Welcome to Red - Discord Bot's documentation!
install_windows
install_linux_mac
bot_application_guide
update_red
about_venv
autostart_systemd
@@ -31,6 +32,17 @@ Welcome to Red - Discord Bot's documentation!
:caption: User guides:
getting_started
cog_guides/admin
cog_guides/alias
cog_guides/bank
cog_guides/cleanup
cog_guides/cog_manager_ui
cog_guides/customcommands
cog_guides/downloader
cog_guides/economy
cog_guides/filter
cog_guides/streams
red_core_data_statement
.. toctree::
:maxdepth: 2
@@ -39,6 +51,7 @@ Welcome to Red - Discord Bot's documentation!
guide_migration
guide_cog_creation
guide_publish_cogs
guide_cog_creators
framework_apikeys
framework_bank
framework_bot
@@ -58,6 +71,7 @@ Welcome to Red - Discord Bot's documentation!
:maxdepth: 2
:caption: Changelogs:
changelog_3_4_0
changelog_3_3_0
release_notes_3_2_0
changelog_3_2_0

View File

@@ -17,7 +17,7 @@ Installing the pre-requirements
Please install the pre-requirements using the commands listed for your operating system.
The pre-requirements are:
- Python 3.8.1 or greater
- Python 3.8.1 or greater; **Python 3.9 is currently not supported!**
- Pip 18.1 or greater
- Git 2.11+
- Java Runtime Environment 11 (for audio support)
@@ -59,8 +59,7 @@ CentOS and RHEL 7
.. code-block:: none
sudo yum -y groupinstall development
sudo yum -y install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
openssl-devel xz xz-devel tk-devel libffi-devel findutils java-11-openjdk-headless
sudo yum -y install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel tk-devel libffi-devel findutils java-11-openjdk-headless
sudo yum -y install centos-release-scl
sudo yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++
echo "source scl_source enable devtoolset-8" >> ~/.bashrc
@@ -89,35 +88,7 @@ CentOS and RHEL 8
sudo yum -y install epel-release
sudo yum -y update
sudo yum -y groupinstall development
sudo yum -y install git zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
openssl-devel xz xz-devel tk-devel libffi-devel findutils java-11-openjdk-headless
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
----
.. _install-debian-stretch:
~~~~~~~~~~~~~~
Debian Stretch
~~~~~~~~~~~~~~
.. note::
This guide is only for Debian Stretch users, these instructions won't work with
Raspbian Stretch. Raspbian Buster is the only version of Raspbian supported by Red.
We recommend installing pyenv as a method of installing non-native versions of python on
Debian Stretch. This guide will tell you how. First, run the following commands:
.. code-block:: none
sudo echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/red-sources.list
sudo apt update
sudo apt -y install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre-headless
CXX=/usr/bin/g++
sudo yum -y install git zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel tk-devel libffi-devel findutils java-11-openjdk-headless
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
@@ -136,9 +107,7 @@ Debian/Raspbian Buster. This guide will tell you how. First, run the following c
.. code-block:: none
sudo apt update
sudo apt -y install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre-headless
sudo apt -y install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre-headless
CXX=/usr/bin/g++
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
@@ -151,7 +120,7 @@ Complete the rest of the installation by `installing Python 3.8 with pyenv <inst
Fedora Linux
~~~~~~~~~~~~
Fedora Linux 30 and above has all required packages available in official repositories. Install
Fedora Linux 31 and above has all required packages available in official repositories. Install
them with dnf:
.. code-block:: none
@@ -196,10 +165,10 @@ Continue by `creating-venv-linux`.
openSUSE
~~~~~~~~
openSUSE Leap
*************
openSUSE Leap 15.1+
*******************
We recommend installing a community package to get Python 3.8 on openSUSE Leap. This package will
We recommend installing a community package to get Python 3.8 on openSUSE Leap 15.1+. This package will
be installed to the ``/opt`` directory.
First, add the Opt-Python community repository:
@@ -207,9 +176,7 @@ First, add the Opt-Python community repository:
.. code-block:: none
source /etc/os-release
sudo zypper -n ar -f \
https://download.opensuse.org/repositories/home:/Rotkraut:/Opt-Python/openSUSE_Leap_${VERSION_ID}/ \
Opt-Python
sudo zypper -n ar -f https://download.opensuse.org/repositories/home:/Rotkraut:/Opt-Python/openSUSE_Leap_${VERSION_ID}/ Opt-Python
sudo zypper -n --gpg-auto-import-keys ref
Now install the pre-requirements with zypper:
@@ -250,43 +217,6 @@ Continue by `creating-venv-linux`.
----
.. _install-ubuntu-1604:
~~~~~~~~~~~~~~~~
Ubuntu 16.04 LTS
~~~~~~~~~~~~~~~~
We recommend adding the ``openjdk-r`` ppa to install Java 11:
.. code-block:: none
sudo apt update
sudo apt -y install software-properties-common
sudo add-apt-repository -yu ppa:openjdk-r/ppa
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
.. code-block:: none
sudo add-apt-repository -yu ppa:git-core/ppa
We recommend adding the ``deadsnakes`` ppa to install Python 3.8.1 or greater:
.. code-block:: none
sudo add-apt-repository -yu ppa:deadsnakes/ppa
Now install the pre-requirements with apt:
.. code-block:: none
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless \
build-essential
Continue by `creating-venv-linux`.
----
.. _install-ubuntu-1804:
~~~~~~~~~~~~~~~~
@@ -311,8 +241,7 @@ Now install the pre-requirements with apt:
.. code-block:: none
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless \
build-essential
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless build-essential
Continue by `creating-venv-linux`.
@@ -336,8 +265,7 @@ Now install the pre-requirements with apt:
.. code-block:: none
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless \
build-essential
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless build-essential
Continue by `creating-venv-linux`.
@@ -362,9 +290,7 @@ installing pyenv. To do this, first run the following commands:
.. code-block:: none
sudo apt -y install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev \
libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre-headless
sudo apt -y install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre-headless
CXX=/usr/bin/g++
And then complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
@@ -397,7 +323,7 @@ Then run the following command:
.. code-block:: none
CONFIGURE_OPTS=--enable-optimizations pyenv install 3.8.3 -v
CONFIGURE_OPTS=--enable-optimizations pyenv install 3.8.7 -v
This may take a long time to complete, depending on your hardware. For some machines (such as
Raspberry Pis and micro-tier VPSes), it may take over an hour; in this case, you may wish to remove
@@ -409,7 +335,7 @@ After that is finished, run:
.. code-block:: none
pyenv global 3.8.3
pyenv global 3.8.7
Pyenv is now installed and your system should be configured to run Python 3.8.
@@ -518,7 +444,7 @@ Or, to install with PostgreSQL support:
.. code-block:: none
python -m pip install -U pip setuptools wheel
python -m pip install -U Red-DiscordBot[postgres]
python -m pip install -U "Red-DiscordBot[postgres]"
.. note::
@@ -547,8 +473,7 @@ Once done setting up the instance, run the following command to run Red:
It will walk through the initial setup, asking for your token and a prefix.
You can find out how to obtain a token with
:dpy_docs:`this guide <discord.html#creating-a-bot-account>`,
section "Creating a Bot Account".
`this guide <bot_application_guide>`.
.. tip::
If it's the first time you're using Red, you should check our `getting-started` guide

View File

@@ -11,7 +11,7 @@ Installing the pre-requirements
Please install the pre-requirements by following instructions from one of the following subsections.
The pre-requirements are:
- Python 3.8.1 or greater
- Python 3.8.1 or greater; **Python 3.9 is currently not supported!**
- Pip 18.1 or greater
- Git 2.11+
- Java Runtime Environment 11 (for audio support)
@@ -29,17 +29,18 @@ Using PowerShell and Chocolatey (recommended)
*********************************************
To install via PowerShell, search "powershell" in the Windows start menu,
right-click on it and then click "Run as administrator"
right-click on it and then click "Run as administrator".
Then run each of the following commands:
.. code-block:: none
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco upgrade git --params "/GitOnlyOnPath /WindowsTerminal" -y
choco upgrade visualstudio2019-workload-vctools -y
choco upgrade python3 -y
choco upgrade python3 -y --version 3.8.7
For Audio support, you should also run the following command before exiting:
@@ -63,7 +64,7 @@ Manually installing dependencies
* `MSVC Build tools <https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2019>`_
* `Python 3.8.1 <https://www.python.org/downloads/>`_ - Red needs Python 3.8.1 or greater
* `Python 3.8.1 or greater <https://www.python.org/downloads/>`_; **Python 3.9 is currently not supported!**
.. attention:: Please make sure that the box to add Python to PATH is CHECKED, otherwise
you may run into issues when trying to run Red.
@@ -86,7 +87,7 @@ Creating a Virtual Environment
.. tip::
If you want to learn more about virtual environments, see page: `about-venvs`
If you want to learn more about virtual environments, see page: `about-venvs`.
We require installing Red into a virtual environment. Don't be scared, it's very
straightforward.
@@ -95,7 +96,12 @@ First, choose a directory where you would like to create your virtual environmen
to keep it in a location which is easy to type out the path to. From now, we'll call it
``redenv`` and it will be located in your home directory.
Start with opening a command prompt (open Start, search for "command prompt", then click it)
Start with opening a command prompt (open Start, search for "command prompt", then click it).
.. note::
You shouldn't run command prompt as administrator when creating your virtual environment, or
running Red.
.. warning::
@@ -144,11 +150,6 @@ Run **one** of the following set of commands, depending on what extras you want
python -m pip install -U pip setuptools wheel
python -m pip install -U Red-DiscordBot[postgres]
.. note::
These commands are also used for updating Red
--------------------------
Setting Up and Running Red
--------------------------
@@ -171,8 +172,7 @@ Once done setting up the instance, run the following command to run Red:
It will walk through the initial setup, asking for your token and a prefix.
You can find out how to obtain a token with
:dpy_docs:`this guide <discord.html#creating-a-bot-account>`,
section "Creating a Bot Account".
`this guide <bot_application_guide>`.
.. tip::
If it's the first time you're using Red, you should check our `getting-started` guide

View File

@@ -22,20 +22,29 @@
.. This is for describing how a format should be formatted
.. |quotes| replace:: enclosed in quotes if there are spaces
.. |role-input| replace:: Please give **the exact role name or ID**, or it won't be detected.
.. |role-input-quotes| replace:: Please give **the exact role name or ID**, or it won't be detected.
If the role name has spaces, provide it enclosed in quotes like this: ``"my role with spaces"``
.. |member-input| replace:: You can either mention the member, provide its ID, its exact name with
the tag or not, or its nickname (|quotes|).
the tag or not, or its nickname.
.. |member-input-quotes| replace:: You can either mention the member, provide its ID, its exact
name with the tag or not, or its nickname enclosed in quotes if there are spaces.
.. |user-input| replace:: You can either provide the member's ID or its exact name with the tag or
not (|quotes|).
not.
.. |user-input-quotes| replace:: You can either provide the member's ID or its exact name with the
tag or not, enclosed in quotes if there are spaces.
.. |channel-input| replace:: You can either mention the channel, provide its exact name or its ID.
.. |vc-input| replace:: You can either provide the voice channel's ID or its exact name, |quotes|.
.. |vc-input| replace:: You can either provide the voice channel's ID or its exact name.
.. |vc-input-quotes| replace:: You can either provide the voice channel's ID or its exact name,
enclosed in quotes if there are spaces.
.. |color-input| replace:: You can either provide the hexadecimal code of the color, or one of the
colors listed here: :class:`discord.Color`.

View File

@@ -0,0 +1,87 @@
.. Red Core Data Statement
=====================
Red and End User Data
=====================
Notes for everyone
******************
What data Red collects
----------------------
Red and the cogs included with it collect some amount of data
about users for the bot's normal operations.
The bot will keep track of a short history of usernames/nicknames. It will also
remember which actions were taken using your Discord account (such as creating a playlist)
as well as the content of specific messages used directly as commands for the bot
(such as reports sent to servers).
By default, Red will not collect any more data than it needs, and will not use it
for anything other than the portion of the Red's functionality that necessitated it.
3rd party extensions may store additional data beyond what Red does by default.
You can use the command ``[p]mydata 3rdparty``
to view statements about how extensions use your data made by the authors of
the specific 3rd party extensions an instance of Red has installed.
How can I delete data Red has about me?
---------------------------------------
The command ``[p]mydata forgetme`` provides a way for users to remove
large portions of their own data from the bot. This command will not
remove operational data, such as a record that your
Discord account was the target of a moderation action.
3rd party extensions to Red are able to delete data when this command
is used as well, but this is something each extension must implement.
If a loaded extension does not implement this, the user will be informed.
Additional Notes for Bot Owners and Hosts
*****************************************
How to comply with a request from Discord Trust & Safety
--------------------------------------------------------
There are a handful of these available to bot owners in the command group
``[p]mydata ownermanagement``.
The most pertinent one if asked to delete data by a member of Trust & Safety
is
``[p]mydata ownermanagement processdiscordrequest``
This will cause the bot to get rid of or disassociate all data
from the specified user ID.
.. warning::
You should not use this unless
Discord has specifically requested this with regard to a deleted user.
This will remove the user from various anti-abuse measures.
If you are processing a manual request from a user, read the next section
How to process deletion requests from users
-------------------------------------------
You can point users to the command ``[p]mydata forgetme`` as a first step.
If users cannot use that for some reason, the command
``[p]mydata ownermanagement deleteforuser``
exists as a way to handle this as if the user had done it themselves.
Be careful about using the other owner level deletion options on behalf of users,
as this may also result in losing operational data such as data used to prevent spam.
What owners and hosts are responsible for
-----------------------------------------
Owners and hosts must comply both with Discord's terms of service and any applicable laws.
Owners and hosts are responsible for all actions their bot takes.
We cannot give specific guidance on this, but recommend that if there are any issues
you be forthright with users, own up to any mistakes, and do your best to handle it.

View File

@@ -14,6 +14,10 @@ Here are some things to consider to help make your upgrade as smooth as possible
If you're developing for Red, you should also look for "Breaking changes" sections in release notes for each minor (X.Y.0) version that's been released since you last updated Red.
.. important::
Make sure to read the **Read before updating** sections of the changelogs for all releases that were published since you last updated your instance. They contain important information and if you don't read them, you might run into some issues later.
Updating differs depending on the version you currently have. Next sections will explain how to upgrade to latest version of Red (|version|) from the version that is in the header of the section.
.. contents:: Choose the version you're currently on from the list below:

View File

@@ -17,9 +17,14 @@ Guarantees
Anything in the ``redbot.core`` module or any of its submodules
which is not private (even if not documented) should not break without notice.
Anything in the ``redbot.cogs`` module or any of it's submodules is specifically
Anything in the ``redbot.cogs`` and ``redbot.vendored`` modules or any of their submodules is specifically
excluded from being guaranteed.
Method names and names of attributes of classes, functions, extensions, and modules
provided by or provided to the bot should not begin with
``red_`` or be of the form ``__red_*__`` except as documented.
This allows us to add certain optional features non-breakingly without a name conflict.
Any RPC method exposed by Red may break without notice.
If you would like something in here to be guaranteed,

View File

@@ -5,29 +5,23 @@ if [%1] == [] goto help
REM This allows us to expand variables at execution
setlocal ENABLEDELAYEDEXPANSION
REM This will set PYFILES as a list of tracked .py files
set PYFILES=
for /F "tokens=* USEBACKQ" %%A in (`git ls-files "*.py"`) do (
set PYFILES=!PYFILES! %%A
)
goto %1
:reformat
black !PYFILES!
black "%~dp0."
exit /B %ERRORLEVEL%
:stylecheck
black --check !PYFILES!
black --check "%~dp0."
exit /B %ERRORLEVEL%
:stylediff
black --check --diff !PYFILES!
black --check --diff "%~dp0."
exit /B %ERRORLEVEL%
:newenv
py -3.8 -m venv --clear .venv
.\.venv\Scripts\python -m pip install -U pip setuptools
.\.venv\Scripts\python -m pip install -U pip setuptools wheel
goto syncenv
:syncenv

View File

@@ -14,5 +14,10 @@
| buck-out
| build
| dist
| redbot\/vendored
)/
'''
[tool.pytest.ini_options]
minversion = "6.0"
addopts = "--import-mode=importlib"

View File

@@ -191,7 +191,7 @@ def _update_event_loop_policy():
_asyncio.set_event_loop_policy(_uvloop.EventLoopPolicy())
__version__ = "3.3.10.dev1"
__version__ = "3.4.6"
version_info = VersionInfo.from_str(__version__)
# Filter fuzzywuzzy slow sequence matcher warning
@@ -204,22 +204,3 @@ if "--debug" not in _sys.argv:
# Individual warnings - tracked in https://github.com/Cog-Creators/Red-DiscordBot/issues/3529
# DeprecationWarning: an integer is required (got type float). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
_warnings.filterwarnings("ignore", category=DeprecationWarning, module="importlib", lineno=219)
# DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead
# def noop(*args, **kwargs): # type: ignore
_warnings.filterwarnings("ignore", category=DeprecationWarning, module="aiohttp", lineno=107)
# DeprecationWarning: The loop argument is deprecated since Python 3.8, and scheduled for removal in Python 3.10.
# hosts = await asyncio.shield(self._resolve_host(..
_warnings.filterwarnings("ignore", category=DeprecationWarning, module="aiohttp", lineno=964)
# DeprecationWarning: The loop argument is deprecated since Python 3.8, and scheduled for removal in Python 3.10.
# self._event = asyncio.Event(loop=loop)
_warnings.filterwarnings("ignore", category=DeprecationWarning, module="aiohttp", lineno=21)
# DeprecationWarning: rename klass to create_protocol
# warnings.warn("rename klass to create_protocol", DeprecationWarning)
_warnings.filterwarnings(
"ignore", category=DeprecationWarning, module="websockets", lineno=407
)
# DeprecationWarning: The loop argument is deprecated since Python 3.8, and scheduled for removal in Python 3.10.
# transport, protocol = await self._create_connection()
_warnings.filterwarnings(
"ignore", category=DeprecationWarning, module="websockets", lineno=535
)

View File

@@ -97,6 +97,7 @@ def debug_info():
+ "OS version: {}\n".format(osver)
+ "System arch: {}\n".format(platform.machine())
+ "User: {}\n".format(user_who_ran)
+ "Metadata file: {}\n".format(data_manager.config_file)
)
print(info)
sys.exit(0)
@@ -300,7 +301,7 @@ def handle_edit(cli_flags: Namespace):
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
data_manager.load_basic_configuration(cli_flags.instance_name)
red = Red(cli_flags=cli_flags, description="Red V3", dm_help=None, fetch_offline_members=True)
red = Red(cli_flags=cli_flags, description="Red V3", dm_help=None)
try:
driver_cls = drivers.get_driver_class()
loop.run_until_complete(driver_cls.initialize(**data_manager.storage_details()))
@@ -319,7 +320,7 @@ def handle_edit(cli_flags: Namespace):
async def run_bot(red: Red, cli_flags: Namespace) -> None:
"""
This runs the bot.
Any shutdown which is a result of not being able to log in needs to raise
a SystemExit exception.
@@ -334,7 +335,9 @@ async def run_bot(red: Red, cli_flags: Namespace) -> None:
await driver_cls.initialize(**data_manager.storage_details())
redbot.logging.init_logging(
level=cli_flags.logging_level, location=data_manager.core_data_path() / "logs"
level=cli_flags.logging_level,
location=data_manager.core_data_path() / "logs",
cli_flags=cli_flags,
)
log.debug("====Basic Config====")
@@ -391,6 +394,13 @@ async def run_bot(red: Red, cli_flags: Namespace) -> None:
print("Token has been reset.")
sys.exit(0)
sys.exit(1)
except discord.PrivilegedIntentsRequired:
print(
"Red requires all Privileged Intents to be enabled.\n"
"You can find out how to enable Privileged Intents with this guide:\n"
"https://docs.discord.red/en/stable/bot_application_guide.html#enabling-privileged-intents"
)
sys.exit(1)
return None
@@ -487,9 +497,7 @@ def main():
data_manager.load_basic_configuration(cli_flags.instance_name)
red = Red(
cli_flags=cli_flags, description="Red V3", dm_help=None, fetch_offline_members=True
)
red = Red(cli_flags=cli_flags, description="Red V3", dm_help=None)
if os.name != "nt":
# None of this works on windows.
@@ -503,7 +511,7 @@ def main():
exc_handler = functools.partial(global_exception_handler, red)
loop.set_exception_handler(exc_handler)
# We actually can't (just) use asyncio.run here
# We probably could if we didnt support windows, but we might run into
# We probably could if we didn't support windows, but we might run into
# a scenario where this isn't true if anyone works on RPC more in the future
fut = loop.create_task(run_bot(red, cli_flags))
r_exc_handler = functools.partial(red_exception_handler, red)
@@ -528,7 +536,7 @@ def main():
loop.run_until_complete(shutdown_handler(red, None, ExitCodes.CRITICAL))
finally:
# Allows transports to close properly, and prevent new ones from being opened.
# Transports may still not be closed correcly on windows, see below
# Transports may still not be closed correctly on windows, see below
loop.run_until_complete(loop.shutdown_asyncgens())
# *we* aren't cleaning up more here, but it prevents
# a runtime error at the event loop on windows

View File

@@ -1,3 +1,4 @@
import asyncio
import logging
from typing import Tuple
@@ -72,15 +73,50 @@ class Admin(commands.Cog):
def __init__(self):
self.config = Config.get_conf(self, 8237492837454039, force_registration=True)
self.config.register_global(serverlocked=False)
self.config.register_global(serverlocked=False, schema_version=0)
self.config.register_guild(
announce_ignore=False,
announce_channel=None, # Integer ID
selfroles=[], # List of integer ID's
)
self.__current_announcer = None
self._ready = asyncio.Event()
asyncio.create_task(self.handle_migrations())
# As this is a data migration, don't store this for cancelation.
async def cog_before_invoke(self, ctx: commands.Context):
await self._ready.wait()
async def red_delete_data_for_user(self, **kwargs):
""" Nothing to delete """
return
async def handle_migrations(self):
lock = self.config.get_guilds_lock()
async with lock:
# This prevents the edge case of someone loading admin,
# unloading it, loading it again during a migration
current_schema = await self.config.schema_version()
if current_schema == 0:
await self.migrate_config_from_0_to_1()
await self.config.schema_version.set(1)
self._ready.set()
async def migrate_config_from_0_to_1(self):
all_guilds = await self.config.all_guilds()
for guild_id, guild_data in all_guilds.items():
if guild_data.get("announce_ignore", False):
async with self.config.guild_from_id(guild_id).all(
acquire_lock=False
) as guild_config:
guild_config.pop("announce_channel", None)
guild_config.pop("announce_ignore", None)
def cog_unload(self):
try:
@@ -320,7 +356,7 @@ class Admin(commands.Cog):
async def announceset_channel(self, ctx, *, channel: discord.TextChannel = None):
"""
Change the channel where the bot will send announcements.
If channel is left blank it defaults to the current channel.
"""
if channel is None:
@@ -330,21 +366,11 @@ class Admin(commands.Cog):
_("The announcement channel has been set to {channel.mention}").format(channel=channel)
)
@announceset.command(name="ignore")
async def announceset_ignore(self, ctx):
"""Toggle announcements being enabled this server."""
ignored = await self.config.guild(ctx.guild).announce_ignore()
await self.config.guild(ctx.guild).announce_ignore.set(not ignored)
if ignored:
await ctx.send(
_("The server {guild.name} will receive announcements.").format(guild=ctx.guild)
)
else:
await ctx.send(
_("The server {guild.name} will not receive announcements.").format(
guild=ctx.guild
)
)
@announceset.command(name="clearchannel")
async def announceset_clear_channel(self, ctx):
"""Unsets the channel for announcements."""
await self.config.guild(ctx.guild).announce_channel.clear()
await ctx.tick()
async def _valid_selfroles(self, guild: discord.Guild) -> Tuple[discord.Role]:
"""
@@ -365,12 +391,20 @@ class Admin(commands.Cog):
return valid_roles
@commands.guild_only()
@commands.group()
async def selfrole(self, ctx: commands.Context):
"""Apply selfroles."""
pass
@commands.group(invoke_without_command=True)
async def selfrole(self, ctx: commands.Context, *, selfrole: SelfRole):
"""
Add or remove a selfrole from yourself.
@selfrole.command(name="add")
Server admins must have configured the role as user settable.
NOTE: The role is case sensitive!
"""
if selfrole in ctx.author.roles:
return await self._removerole(ctx, ctx.author, selfrole, check_user=False)
else:
return await self._addrole(ctx, ctx.author, selfrole, check_user=False)
@selfrole.command(name="add", hidden=True)
async def selfrole_add(self, ctx: commands.Context, *, selfrole: SelfRole):
"""
Add a selfrole to yourself.
@@ -381,7 +415,7 @@ class Admin(commands.Cog):
# noinspection PyTypeChecker
await self._addrole(ctx, ctx.author, selfrole, check_user=False)
@selfrole.command(name="remove")
@selfrole.command(name="remove", hidden=True)
async def selfrole_remove(self, ctx: commands.Context, *, selfrole: SelfRole):
"""
Remove a selfrole from yourself.

View File

@@ -1,4 +1,5 @@
import asyncio
from typing import Optional
import discord
from redbot.core import commands
@@ -38,20 +39,11 @@ class Announcer:
"""
self.active = False
async def _get_announce_channel(self, guild: discord.Guild) -> discord.TextChannel:
async def _get_announce_channel(self, guild: discord.Guild) -> Optional[discord.TextChannel]:
if await self.ctx.bot.cog_disabled_in_guild_raw("Admin", guild.id):
return
channel_id = await self.config.guild(guild).announce_channel()
channel = None
if channel_id is not None:
channel = guild.get_channel(channel_id)
if channel is None:
channel = guild.system_channel
if channel is None:
channel = guild.text_channels[0]
return channel
return guild.get_channel(channel_id)
async def announcer(self):
guild_list = self.ctx.bot.guilds
@@ -60,15 +52,16 @@ class Announcer:
if not self.active:
return
if await self.config.guild(g).announce_ignore():
continue
channel = await self._get_announce_channel(g)
try:
await channel.send(self.message)
except discord.Forbidden:
failed.append(str(g.id))
if channel:
if channel.permissions_for(g.me).send_messages:
try:
await channel.send(self.message)
except discord.Forbidden:
failed.append(str(g.id))
else:
failed.append(str(g.id))
if failed:
msg = (

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Afrikaans\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,255 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: af_ZA\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr ""
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr ""
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr ""
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Arabic\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,220 +15,283 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: ar_SA\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "حاولت القيام بشيء لا أملك تصريح من ديسكورد لفعله. فشل أمرك في إكمال نجاحه."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
msgstr "لا يمكنني إعطاء {role.name} إلى {member.display_name} لأن هذا الرتبة أعلى من أو يساوي أعلى رتبةي في التسلسل الهرمي لـ Discord."
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
msgstr "لا يمكنني إزالة {role.name} من {member.display_name} لأن هذا الرتبة أعلى من أو يساوي أعلى رتبةي في التسلسل الهرمي لـ Discord."
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
msgstr "لا يمكنني تحرير {role.name} لأن هذا الرتبة أعلى من رتبةي أو يساوي أعلى رتبة في التسلسل الهرمي لـ Discord."
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "لا يمكنني السماح لك بإعطاء {role.name} لـ {member.display_name} لأن هذا الرتبة أعلى من أو يساوي أعلى رتبةك في التسلسل الهرمي لـ Discord."
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "لا يمكنني السماح لك بإزالة {role.name} من {member.display_name} لأن هذا الرتبة أعلى من أو يساوي أعلى رتبةك في التسلسل الهرمي لـ Discord."
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "لا يمكنني السماح لك بتحرير {role.name} لأن هذا الرتبة أعلى من أو يساوي أعلى رتبةك في التسلسل الهرمي لـ Discord."
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
msgstr "أحتاج إلى إذن إدارة الرتبللقيام بذلك."
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr "أنا بالفعل أُعلن شيئاً. إذا كنت ترغب في إصدار إعلان مختلف الرجاء إستخدام `{prefix}announce cancel` أولاً."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr "مجموعة من أدوات إدارة السيرفر."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
msgstr "{member.display_name} بالفعل يملك الرتبة {role.name}."
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "لقد قمت بنجاح بإضافة {role.name} إلى {member.display_name}"
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
msgstr "{member.display_name} ليس له الرتبة {role.name}."
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "لقد قمت بنجاح بإزالة {role.name} من {member.display_name}"
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr ""
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" إضافة رتبة إلى مستخدم.\n\n"
" استخدام علامات اقتباس مزدوجة إذا كان الرتبة يحتوي على مسافات.\n"
" إذا ترك المستخدم فارغاً فإنه افتراضياً لمؤلف الأمر.\n"
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr ""
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" إزالة رتبة من مستخدم.\n\n"
" استخدام علامات اقتباس مزدوجة إذا كان الرتبة يحتوي على مسافات.\n"
" إذا ترك المستخدم فارغاً فإنه افتراضياً لمؤلف الأمر.\n"
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr "تعديل إعدادات الرتبة."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgstr ""
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr "\n"
" تحرير لون رتبة.\n\n"
" استخدام علامات اقتباس مزدوجة إذا كان الرتبة يحتوي على مسافات.\n"
" يجب أن يكون اللون بتنسيق سداسي عشري.\n"
" [منتقي الألوان عبر الإنترنت](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" أمثلة:\n"
" '[p]editrole اللون \"الترانزستور\" #ff0000'n'n'[p]editrole لون اختبار #ff9900'n"
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "تم."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgstr ""
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr "\n"
" تحرير اسم رتبة.\n\n"
" استخدام علامات اقتباس مزدوجة إذا كان الرتبة أو الاسم يحتويعلى مسافات.\n\n"
" المثال:\n"
" '[p]اسم تحرير \"The Transistor\" Test'\n"
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "الإعلان عن رسالة إلى جميع السيرفرات المتواجد بها البوت."
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr "تم البدء في الإعلان."
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr "إلغاء إعلان جارٍ."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
msgstr "لا يوجد إعلان قيد التشغيل حالياً."
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr "تم إلغاء الإعلان الحالي."
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
msgstr "تغيير كيفية إرسال الإعلانات في هذه النقابة."
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr "تم تحديث قناة الإعلانات إلى {channel.mention}"
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgstr "تم تمكين الإعلانات في السيرفر."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr "سيرفر {guild.name} سيتلقى إعلانات الآن."
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr "سيرفر {guild.name} لن يتلقى إعلانات."
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr ""
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" إضافة رتبة ذاتي لنفسك.\n\n"
" يجب أن يكون مسؤولو الخادم قد قاموا بتكوين الرتبة كـ settable للمستخدم.\n"
" ملاحظة: الرتبة حساس للحالة!\n"
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr ""
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" إزالة رتبة ذاتي من نفسك.\n\n"
" يجب أن يكون مسؤولو الخادم قد قاموا بتكوين الرتبة كـ settable للمستخدم.\n"
" ملاحظة: الرتبة حساس للحالة!\n"
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgstr ""
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr "\n"
" يسرد كافة الرتب الذاتية المتوفرة.\n"
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:425
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:436
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "الرتب الذاتية المتوفرة:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr "تطبيق الرتبالذاتية."
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" إضافة رتبة إلى قائمة الرتب الذاتية المتوفرة.\n\n"
" ملاحظة: الرتبة حساس للحالة!\n"
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "لا يمكنني السماح لك بإضافة {role.name} لرتبة ذاتي لأن هذا الرتبة أعلى من أو يساوي أعلى رتبةك في التسلسل الهرمي لـ Discord."
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr "لقد قمت بنجاح بإضافة {role.name} إلى {member.display_name}"
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr "الرتبة المذكورة ليست على قائمة الرتب الذاتية."
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\\ ن أ شن ة أشنة الان زة الان اكل سالت الكلسه \\ ن \\ ن ن ن جال: الـ\"با\" \\ ن"
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "لا يمكنني السماح لك بإزالة {role.name} من كونه رتبةًا ذاتيًا لأن هذا الرتبة أعلى من أو يساوي أعلى رتبة لك في التسلسل الهرمي Discord."
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr ""
msgstr "لقد قمت بنجاح بإزالة {role.name} من {member.display_name}"
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "قفل البوت للسيرفر الحالي فقط."
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr "لم يعد البوت مقفول للسيرفر الحالي فقط."
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr "لقد تم قفل البوت للسيرفر الحالي فقط."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
msgstr "لم أستطع أن أعلن للخوادم التالية:"
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""
msgstr "لم أستطع أن أعلن للخوادم التالية:"
#: redbot/cogs/admin/converters.py:12
msgid "The Admin cog is not loaded."

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,226 +15,271 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: bg_BG\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr ""
msgstr "Опитах да направя нещо, за което Discord ми забрани права. Команда не успя да завърши успешно."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
msgstr "Не мога да премахна {role.name} на {member.display_name}, защото ролята е по-голяма или равна на моята най-висока роля в йерархията на Discord."
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
msgstr "Не мога да махна {role.name} на {member.display_name}, защото ролята е по-голяма или равна на моята най-висока роля в йерархията на Discord."
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
msgstr "Не мога да редактирам {role.name}, защото ролята е по-голяма или равна на моята най-висока роля в йерархията на Discord."
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "Не мога да ти позволя да дадеш {role.name} на {member.display_name}, защото ролята е по-голяма или равна на най-високата ти роля в йерархията на Discord."
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "Не мога да ти позволя да махнеш {role.name} на {member.display_name}, защото ролята е по-голяма или равна на най-високата ти роля в йерархията на Discord."
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "Не мога да ти позволя да редактираш {role.name}, защото ролята е по-голяма или равна на най-високата ти роля в йерархията на Discord."
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
msgstr "Трябва ми разрешение да управлявам ролите за да направя това."
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
msgstr "Вече обявявам нещо. Ако искаш да направиш различно съобщение, моля използвай `{prefix}announce cancel` първо."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
msgstr "Колекция от помощни програми за администриране на сървъри."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
msgstr "{member.display_name} вече има ролята {role.name}."
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
msgstr "Успешно добавих {role.name} на {member.display_name}"
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
msgstr "{member.display_name} няма ролята {role.name}."
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
msgstr "Успешно махнах {role.name} от {member.display_name}"
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr ""
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Добави роля на потребител.\n\n"
" Използвай двойни кавички, ако ролята съдържа място.\n"
" Ако потребител е празно, то по подразбиране е автора на командата.\n"
" "
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr ""
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Махни роля на потребител.\n\n"
" Използвай двойни кавички, ако ролята съдържа място.\n"
" Ако потребител е празно, то по подразбиране е автора на командата.\n"
" "
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr ""
msgstr "Редактирай настройките на ролята."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Завършено."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr ""
msgstr "Добавено."
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr ""
msgstr "Тази роля вече е самостоятелна роля."
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr ""
msgstr "Премахнато."
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
msgstr "Заключете бота само за текущите му сървъри."
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr ""
msgstr "Ботът вече не е заключен за сървъри."
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
msgstr "Ботът е заключен за сървъри."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
msgstr "Не можах да обявя в следния сървър: "
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""
msgstr "Не можах да обявя в следните сървъри: "
#: redbot/cogs/admin/converters.py:12
msgid "The Admin cog is not loaded."
msgstr ""
msgstr "Admin cog не беше зареден."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr ""
msgstr "Предоставената роля не е валидна самостоятелна роля."

View File

@@ -0,0 +1,277 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Bosnian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
"X-Crowdin-Language: bs\n"
"X-Crowdin-File-ID: 42\n"
"Language: bs_BA\n"
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr ""
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr ""
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr ""
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""
#: redbot/cogs/admin/converters.py:12
msgid "The Admin cog is not loaded."
msgstr ""
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,255 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: ca_ES\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr ""
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr ""
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr ""
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,296 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: cs_CZ\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "Pokusil jsem se udělat něco, co mi Discord odepřel. Tvůj příkaz se nepodažilo úspěšně dokončit."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Nemohu dát {role.name} uživateli {member.display_name}, protože tato role je vyšší nebo rovna mé nejvyšší roli v Discord hierarchii."
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Nemohu odebrat {role.name} uživateli {member.display_name}, protože tato role je vyšší nebo rovna mé nejvyšší roli v Discord hierarchii."
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr "Nemohu upravit {role.name}, protože tato role je vyšší, než moje nebo stejná jako nejvyšší role v Discord hierarchii."
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Nemohu ti dovolit dát {role.name} uživateli {member.display_name}, protože tato role je vyšší nebo rovna tvé nejvyšší roli v Discord hierarchii."
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Nemohu ti dovolit odebrat {role.name} uživateli {member.display_name}, protože tato role je vyšší nebo rovna tvé nejvyšší roli v Discord hierarchii."
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Nemohu ti dovolit upravit {role.name}, protože tato role je vyšší nebo rovna tvé nejvyšší roli v Discord hierarchii."
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr "K tomu potřebuji oprávnění spravovat role."
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr "Už něco oznamuji. Pokud bys rád provedl jiné oznámení, nejdříve použij `{prefix}announce cancel`."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr "Kolekce nástrojů pro správu serveru."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr "{member.display_name} již má roli {role.name}."
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "Úspěšně jsem přidal {role.name} k {member.display_name}"
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr "{member.display_name} již má roli {role.name}."
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "Úspěšně jsem odstranil {role.name} od {member.display_name}"
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr "\\n Přidá roli uživateli.\\n\\n Pokud role obsahuje mezery, použijte dvojí uvozovky.\\n Ponecháte-li uživatel prázdný, výchozí hodnota autorovi příkazu.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Přidá roli uživateli.\n\n"
" Pokud role obsahuje mezery, použijte dvojí uvozovky.\n"
" Ponecháte-li uživatel prázdný, výchozí hodnota autorovi příkazu.\n"
" "
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr "\\n Odebrat roli uživateli.\\n\\n Pokud role obsahuje mezery, použijte dvojí uvozovky.\\n Ponecháte-li uživatel prázdný, výchozí hodnota autorovi příkazu.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Odebrat roli uživateli.\n\n"
" Pokud role obsahuje mezery, použijte dvojí uvozovky.\n"
" Ponecháte-li uživatel prázdný, výchozí hodnota autorovi příkazu.\n"
" "
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr "Upraví nastavení role."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgstr "\\n Upravit barvu role.\\n\\n Pokud role obsahuje mezery, použij dvojité uvozovky.\\n Barva musí být v hexadecimálním formátu.\\n [Výběr barev online](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Příklady:\\n `[p]editrole colour \\\"Spravce\\\" #ff0000`\\n `[p]editrole colour Spravce #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr "\n"
" Upravit barvu role.\n\n"
" Pokud role obsahuje mezery, použij dvojité uvozovky.\n"
" Barva musí být v hexadecimálním formátu.\n"
" [Výběr barev online](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Příklady:\n"
" `[p]editrole colour \"Spravce\" #ff0000`\n"
" `[p]editrole colour Spravce #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Hotovo."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgstr "\\n Upraví název role\\n\\n Použijte dvojité uvozovky, pokud role nebo název obsahuje mezery.\\n\\n Příklady:\\n `[p]editrole name \\\"Spravce\\\" Admin`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr "\n"
" Upraví název role\n\n"
" Použijte dvojité uvozovky, pokud role nebo název obsahuje mezery.\n\n"
" Příklady:\n"
" `[p]editrole name \"Spravce\" Admin`\n"
" "
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "Oznámit zprávu na všechny servery ve kterých je bot."
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr "Oznámení začalo."
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr "Zrušit běžící oznámení."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr "V současné době neexistuje žádné spuštěné oznámení."
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr "Momentální oznámení bylo zrušeno."
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr "Změňte způsob odesílání oznámení v tomto klanu."
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgstr "\\n Změňte kanál, kde bude bot odesílat oznámení.\\n \\n Pokud je kanál ponechán prázdný, výchozí je aktuální kanál.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr "\n"
" Změnit kanál, kam bot bude posílat oznámení.\n\n"
" Pokud je kanál prázdný, nastaví aktuální kanál.\n"
" "
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr "Kanál pro oznámení byl nastaven na {channel.mention}"
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgstr "Zapne oznamování na tomto serveru."
msgid "Unsets the channel for announcements."
msgstr "Zruší kanál pro oznámení."
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr "Server {guild.name} obdrží oznámení."
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr "Server {guild.name} nebude dostávat oznámení."
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgstr "Aplikovat self-role."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Přidá vám self-roli.\\n\\n Administrátoři serveru musí mít nastavenou roli podle nastaveného uživatele.\\n POZNÁMKA: Role je citlivá na malá a velká písmena!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Přidá vám self-roli.\n\n"
" Administrátoři serveru musí mít nastavenou roli podle nastaveného uživatele.\n"
" POZNÁMKA: Role je citlivá na malá a velká písmena!\n"
" "
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Odstraní vámself-roli.\\n\\n Administrátoři serveru musí mít nastavenou roli podle nastaveného uživatele.\\n POZNÁMKA: Role je citlivá na malá a velká písmena!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Odstraní vámself-roli.\n\n"
" Administrátoři serveru musí mít nastavenou roli podle nastaveného uživatele.\n"
" POZNÁMKA: Role je citlivá na malá a velká písmena!\n"
" "
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgstr "\\n Seznam všech dostupných self-rolí.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr "\n"
" Seznam všech dostupných self-rolí.\n"
" "
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
msgstr "Dostupné vlastní role:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Dostupné self-role:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr "Spravovat self-role."
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Přidá roli do seznamu dostupných self-rolí.\\n\\n POZNÁMKA: Role je citlivá na malá a velká písmena!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Přidá roli do seznamu dostupných self-rolí.\n\n"
" POZNÁMKA: Role je citlivá na malá a velká písmena!\n"
" "
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Nemohu ti dovolit odebrat {role.name} jako self-roli uživateli, protože tato role je vyšší nebo rovna tvé nejvyšší roli v Discord hierarchii."
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr "Přidáno."
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr "Tato role je již self-rolí."
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Odstraní roli ze seznamu dostupných self-rolí.\\n\\n POZNÁMKA: Role je citlivá na malá a velká písmena!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Odstraní roli ze seznamu dostupných self-rolí.\n\n"
" POZNÁMKA: Role je citlivá na malá a velká písmena!\n"
" "
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Nemohu ti dovolit odebrat {role.name} uživateli, protože tato role je vyšší nebo rovna tvé nejvyšší roli v Discord hierarchii."
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr "Odstraněno."
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Uzamkne bota pouze na jeho aktuální servery."
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr "Bot již není uzamčen na server."
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr "Bot je nyní serverem uzamčen."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr "Nemohu oznámit následujícímu serveru: "
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr "Nemohu oznámit následujícím serverům: "

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,226 +15,263 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: da_DK\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr ""
msgstr "Jeg forsøgte på noget som Discord har nægtet mig adgang til. Din kommando blev ikke gennemført."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
msgstr "Jeg kan ikke give {role.name} til {member.display_name} da denne rolle er højere eller tilsvarende til min tildelte rolle i hierarkiet."
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
msgstr "Jeg kan ikke fjerne {role.name} fra {member.display_name} da denne rolle er højere eller tilsvarende til min tildelte rolle i hierarkiet."
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
msgstr "Jeg kan ikke redigere {role.name} da denne rolle er højere eller tilsvarende til min tildelte rolle i hierarkiet."
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "Jeg kan ikke lade dig tildele {role.name} til {member.display_name} da denne rolle er højere eller tilsvarende til din tildelte rolle i hierarkiet."
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "Jeg kan ikke lade dig fjerne {role.name} fra {member.display_name} da denne rolle er højere eller tilsvarende til din tildelte rolle i hierarkiet."
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "Jeg kan ikke lade dig redigere {role.name} da denne rolle er højere eller tilsvarende til din tildelte rolle i hierarkiet."
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
msgstr "Jeg mangler evnen til at kunne administere roller for at kunne gøre dette."
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
msgstr "Jeg annoncere allerede noget. Hvis du ønsker at annoncere noget andet, benyt dig af '{prefix} annoncere annuller' først."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
msgstr "En samling af server administrations værktøjer."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
msgstr "Jeg gennemførte tilføjelsen af {role.name} til {member.display_name}"
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
msgstr "Jeg gennemførte fjernelsen af {role.name} fra {member.display_name}"
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr ""
msgstr "Rediger rolle indstillinger."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr ""
msgstr "Færdig."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
msgstr "Annoncer en besked til alle serverne botten er i."
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
msgstr "Annonceringen er påbegyndt."
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr ""
msgstr "Afbryd en kørende annonce."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
msgstr "Der er i øjeblikket ikke nogen kørende annonceringer."
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
msgstr "Den nuværende annoncering er blevet afbrudt."
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
msgstr "Ændre hvordan annonceringer er udsendt i denne server."
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
msgstr "Annoncerings kanalen er blevet sat til {channel.mention}"
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr ""
msgstr "Tilføjet."
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr ""
msgstr "Fjernet."
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
msgstr "Lås en bot til dens nuværende server."
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr ""
msgstr "Botten er ikke længere låst til serveren."
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
msgstr "Botten er nu låst til serveren."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
msgstr "Jeg kunne ikke annoncere til den følgende server: "
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""
msgstr "Jeg kunne ikke annoncere til de følgende servere: "
#: redbot/cogs/admin/converters.py:12
msgid "The Admin cog is not loaded."
msgstr ""
msgstr "Admin cog er ikke indlæst."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr ""
msgstr "Den vedlagte rolle er ikke en valid selvrolle."

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: German\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,296 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: de_DE\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "Ich habe versucht, etwas zu tun, wofür mir Discord die Erlaubnis verweigert hat. Dein Befehl wurde nicht erfolgreich ausgeführt."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Ich kann die Rolle „{role.name}“ nicht an {member.display_name} vergeben, weil diese Rolle höher oder gleich meiner höchsten Rolle in der Discord Rollen-Hierarchie ist."
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Ich kann {member.display_name} nicht die Rolle „{role.name}“ entziehen, weil diese Rolle höher oder gleich meiner höchsten Rolle in der Discord Rollen-Hierarchie ist."
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr "Ich kann die Rolle „{role.name}“ nicht bearbeiten, weil diese Rolle höher oder gleich meiner höchsten Rolle in der Discord Rollen-Hierarchie ist."
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Du darfst, die Rolle „{role.name}“ nicht an {member.display_name} vergeben, weil diese Rolle höher oder gleich deiner höchsten Rolle in der Discord Rollen-Hierarchie ist."
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Du darfst {member.display_name} nicht die Rolle „{role.name}“ entziehen, weil diese Rolle höher oder gleich deiner höchsten Rolle in der Discord Rollen-Hierarchie ist."
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Du darfst nicht die Rolle „{role.name}“ bearbeiten, weil diese Rolle höher oder gleich deiner höchsten Rolle in der Discord Rollen-Hierarchie ist."
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr "Ich braucht dafür die Bereichtigung „Rollen verwalten“."
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr "Ich kündige bereits etwas an. Wenn du eine andere Ankündigung machen willst, benutze bitte zuerst `{prefix}announce cancel`."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr "Eine Sammlung von administrativen Server-Verwaltungsprogrammen."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr "{member.display_name} hat die Rolle „{role.name}“ bereits."
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "Ich habe {member.display_name} erfolgreich die Rolle „{role.name}“ gegeben."
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr "{member.display_name} hat nicht die Rolle „{role.name}“."
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "Ich habe die Rolle „{role.name}“ erfolgreich von {member.display_name} entfernt."
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr "\\n Füge einem Mitglied eine Rolle hinzu.\\n\\n Benutze (amerikanische) Anführungszeichen, wenn im Namen Leerzeichen enthalten sind.\\n Wenn keine Person definiert wurde, wird die Rolle dem Ausführer des Befehls gegeben.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Füge einem Mitglied eine Rolle hinzu.\n\n"
" Benutze (amerikanische) Anführungszeichen, wenn im Namen Leerzeichen enthalten sind.\n"
" Wenn keine Person definiert wurde, wird die Rolle dem Ausführer des Befehls gegeben.\n"
" "
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr "\\n Füge einem Mitglied eine Rolle hinzu.\\n\\n Benutze (amerikanische) Anführungszeichen, wenn im Namen Leerzeichen enthalten sind.\\n Wenn keine Person definiert wurde, wird die Rolle von dem Ausführer des Befehls entfernt.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Füge einem Mitglied eine Rolle hinzu.\n\n"
" Benutze (amerikanische) Anführungszeichen, wenn im Namen Leerzeichen enthalten sind.\n"
" Wenn keine Person definiert wurde, wird die Rolle von dem Ausführer des Befehls entfernt.\n"
" "
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr "Rolleneinstellungen bearbeiten."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgstr "\\n Bearbeite die Farbe einer Rolle.\\n\\n Verwende (amerikanische) Anführungszeichen, wenn die Rolle Leerzeichen enthält.\\n Die Farbe muss im Hexadezimalformat angegeben werden.\\n [Online Farbwähler](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Beispiele:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr "\n"
" Bearbeite die Farbe einer Rolle.\n\n"
" Verwende (amerikanische) Anführungszeichen, wenn die Rolle Leerzeichen enthält.\n"
" Die Farbe muss im Hexadezimalformat angegeben werden.\n"
" [Online Farbwähler](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Beispiele:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Erledigt."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgstr "\\n Bearbeite den Namen einer Rolle.\\n\\n Verwende (amerikanische) Anführungszeichen, wenn die Rolle Leerzeichen enthält.\\n\\n Beispiel:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr "\n"
" Bearbeite den Namen einer Rolle.\n\n"
" Verwende (amerikanische) Anführungszeichen, wenn die Rolle Leerzeichen enthält.\n\n"
" Beispiel:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "Mache eine Ankündigung auf allen Servern auf denen der Bot ist."
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr "Die Ankündigung hat begonnen."
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr "Breche eine laufende Ankündigung ab."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr "Es gibt keine derzeit laufende Ankündigung."
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr "Die aktuelle Ankündigung wurde abgebrochen."
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr "Ändere, wie Ankündigungen in diesem Server gesendet werden."
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgstr "\\n Ändert den Kanal, in dem der Bot Ankündigungen senden wird.\\n \\n Wenn kein Kanal angegeben wird, wird standardmäßig der aktuelle Kanal gewählt.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr "\n"
" Ändert den Kanal, in den der Bot Ankündigungen senden wird.\n\n"
" Wenn der Kanal freigelassen wird, wird es auf den aktuellen angewendet.\n"
" "
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr "{channel.mention} wurde nun als Ankündigungskanal festgelegt."
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgstr "Schaltet Ankündigungen auf diesem Server ein oder aus."
msgid "Unsets the channel for announcements."
msgstr "Setzt den Kanal für Ankündigungen zurück."
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr "Der Server {guild.name} wird Ankündigunen erhalten."
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr "Der Server {guild.name} wird keine Ankündigunen erhalten."
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgstr "Selbst hinzufügbare Rollen anwenden."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Gib dir selbst eine Rolle.\\n\\n Server Admins müssen die Rolle für Mitglieder freigeben.\\n\\n HINWEIS: Beachte Groß- und Kleinschreibung!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Gib dir selbst eine Rolle.\n\n"
" Server Admins müssen die Rolle für Mitglieder freigeben.\n\n"
" HINWEIS: Beachte Groß- und Kleinschreibung!\n"
" "
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Entferne eine Rolle von dir selbst.\\n\\n Server Admins müssen die Rolle für Mitglieder freigeben.\\n\\n HINWEIS: Beachte Groß- und Kleinschreibung!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Entferne eine Rolle von dir selbst.\n\n"
" Server Admins müssen die Rolle für Mitglieder freigeben.\n\n"
" HINWEIS: Beachte Groß- und Kleinschreibung!\n"
" "
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgstr "\\nGibt eine Liste verfügbarer selbst auswählbarer Rollen aus.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr "\n"
"Gibt eine Liste verfügbarer selbst auswählbarer Rollen aus.\n"
" "
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
msgstr "Verfügbare selbst auswählbare Rollen:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Verfügbare selbst auswählbare Rollen:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr "Selbst hinzufügbare Rollen verwalten."
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Füge eine Rolle zur Liste der selbst hinzufügbaren Rollen hinzu.\\n\\n HINWEIS: Beachte Groß- und Kleinschreibung!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Füge eine Rolle zur Liste der selbst hinzufügbaren Rollen hinzu.\n\n"
" HINWEIS: Beachte Groß- und Kleinschreibung!\n"
" "
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Du kannst dir nicht die Rolle „{role.name}“ zuweisen, weil diese Rolle höher oder gleich deiner höchsten Rolle in der Discord Rollen-Hierarchie ist."
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr "Hinzugefügt."
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr "Diese Rolle ist bereits selbst hinzufügbar."
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Entferne eine Rolle von der Liste der selbst hinzufügbaren Rollen.\\n\\n HINWEIS: Beachte Groß- und Kleinschreibung!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Entferne eine Rolle von der Liste der selbst hinzufügbaren Rollen.\n\n"
" HINWEIS: Beachte Groß- und Kleinschreibung!\n"
" "
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Du darfst nicht die Rolle „{role.name}“ von der Liste der selbst hinzufügbaren Rollen entfernen, weil diese Rolle höher oder gleich deiner höchsten Rolle in der Discord Rollen-Hierarchie ist."
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr "Entfernt."
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Der Bot kann keinem neuen Server beitreten."
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr "Der Bot kann nun anderen Servern beitreten."
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr "Der Bot ist jetzt gesperrt neuen Servern beizutreten."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr "Ich konnte die Ankündigung auf diesem Server nicht ausführen: "
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr "Ich konnte die Ankündigung auf diesen Servern nicht ausführen: "

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,255 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: el_GR\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr ""
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr ""
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr ""
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,296 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: es_ES\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "Intenté hacer algo que Discord me ha negado el permiso. Su comando no se pudo completar."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "No puedo dar el rol{role.name} a {member.display_name} porque ese rol es mayor o igual a mi rol más alto en la jerarquía de Discord."
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "No puedo eliminar el rol {role.name} de {member.display_name} porque ese rol es mayor o igual que mi rol más alto en la jerarquía de Discord."
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr "No puedo editar el rol {role.name} porque ese rol es mayor que el mío o igual al rol más alto en la jerarquía de Discord."
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "No puedo dejar que le des el rol {role.name} a {member.display_name} porque ese rol es mayor o igual a tu rol más alto en la jerarquía de Discord."
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "No puedo dejar que elimines el rol {role.name} de {member.display_name} porque ese rol es mayor o igual a tu rol más alto en la jerarquía de Discord."
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "No puedo permitir que edites el rol{role.name} porque ese rol es mayor o igual a tu rol más alto en la jerarquía de Discord."
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr "Necesito el permiso gestionar roles para hacerlo."
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr "Ya estoy anunciando algo. Si quieres hacer un anuncio diferente, por favor usa `{prefix}announce cancel` primero."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr "Una colección de utilidades de administración de servidores."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr "{member.display_name} ya tiene el rol {role.name}."
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "He añadido con éxito {role.name} a {member.display_name}"
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr "{member.display_name} no tiene el rol {role.name}."
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "He retirado con éxito {role.name} de {member.display_name}"
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr "\\n Añadir un rol a un usuario.\\n\\n Usar comillas dobles si el rol contiene espacios.\\n Si el usuario se deja en blanco el valor por defecto es el autor del comando.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Añadir un rol a un usuario.\n\n"
" Usar comillas dobles si el rol contiene espacios.\n"
" Si el usuario se deja en blanco el valor por defecto es el autor del comando.\n"
" "
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr "\\n Elimina un rol de un usuario.\\n\\n Usar comillas dobles si el rol contiene espacios.\\n Si el usuario se deja en blanco el valor por defecto es el autor del comando.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Elimina un rol de un usuario.\n\n"
" Usar comillas dobles si el rol contiene espacios.\n"
" Si el usuario se deja en blanco el valor por defecto es el autor del comando.\n"
" "
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr "Editar configuración de rol."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgstr "\\n Edita el color de un rol.\\n\\n Usar comillas dobles si el rol contiene espacios.\\n El color debe estar en formato hexadecimal.\\n [Selector de color en línea](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Ejemplos:\\n `[p]color editrole \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr "\n"
" Edita el color de un rol.\n\n"
" Usar comillas dobles si el rol contiene espacios.\n"
" El color debe estar en formato hexadecimal.\n"
" [Selector de color en línea](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Ejemplos:\n"
" `[p]color editrole \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Listo."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgstr "\\n Edita el nombre de un rol.\\n\\n Utilice comillas dobles si el rol o el nombre contiene espacios.\\n\\n Ejemplo:\\n `[p]nombre editrole \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr "\n"
" Edita el nombre de un rol.\n\n"
" Utilice comillas dobles si el rol o el nombre contiene espacios.\n\n"
" Ejemplo:\n"
" `[p]nombre editrole \"The Transistor\" Test`\n"
" "
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "Anunciar un mensaje a todos los servidores en que el bot está."
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr "El anuncio ha comenzado."
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr "Cancela un anuncio en ejecución."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr "No hay ningún anuncio en ejecución."
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr "El anuncio actual ha sido cancelado."
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr "Cambia cómo son enviados los anuncios en este servidor."
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgstr "\\n Cambia el canal donde el bot enviará anuncios.\\n \\n Si se deja en blanco el canal por defecto es el canal actual.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr "\n"
" Cambia el canal donde el bot enviará anuncios.\n\n"
" Si el canal se deja en blanco el canal por defecto es el canal actual.\n"
" "
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr "El canal de anuncios se ha establecido en {channel.mention}"
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgstr "Alternar la activación de los anuncios en este servidor."
msgid "Unsets the channel for announcements."
msgstr "Quita el canal para los anuncios."
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr "El servidor {guild.name} recibirá anuncios."
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr "El servidor {guild.name} no recibirá anuncios."
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgstr "Aplicar selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Añade un rol a ti mismo.\\n\\n Los administradores del servidor deben haber configurado el rol como usuario configurable.\\n NOTA: El rol es sensible a mayúsculas!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Añade un rol a ti mismo.\n\n"
" Los administradores del servidor deben haber configurado el rol como usuario configurable.\n"
" NOTA: El rol es sensible a mayúsculas!\n"
" "
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Elimina un rol de ti mismo.\\n\\n Los administradores del servidor deben haber configurado el rol como usuario configurable.\\n NOTA: El rol es sensible a mayúsculas!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Elimina un rol de ti mismo.\n\n"
" Los administradores del servidor deben haber configurado el rol como usuario configurable.\n"
" NOTA: El rol es sensible a mayúsculas!\n"
" "
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgstr "\\n Lista de todos los selfroles disponibles.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr "\n"
" Lista de todos los selfroles disponibles.\n"
" "
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
msgstr "Selfroles disponibles:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Selfroles disponibles:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr "Gestionar selfroles."
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Añade un rol a la lista de selfroles disponibles.\\n\\n NOTA: ¡El rol es sensible a mayúsculas\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Añade un rol a la lista de selfroles disponibles.\n\n"
" NOTA: ¡El rol es sensible a mayúsculas\n"
" "
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "No puedo permitir que añadas {role.name} como selfrole porque ese rol es mayor o igual a tu rol más alto en la jerarquía de Discord."
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr "Añadido."
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr "Ese rol ya es un selfrole."
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Quita un rol de la lista de selfroles disponibles.\\n\\n NOTA: El rol es sensible a mayúsculas\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Quita un rol de la lista de selfroles disponibles.\n\n"
" NOTA: El rol es sensible a mayúsculas\n"
" "
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "No puedo permitir que elimines a {role.name} de ser un selfrole porque ese rol es mayor o igual a tu rol más alto en la jerarquía de Discord."
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr "Eliminado."
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Bloquea el bot sólo a sus servidores actuales."
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr "El bot ya no está bloqueado por el servidor."
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr "El bot está bloqueado por el servidor."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr "No pude anunciar en el siguiente servidor: "
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr "No pude anunciar en los siguientes servidores: "

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,226 +15,304 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: fi_FI\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "Yritin tehdä jotain, jonka Discord kielsi minulle luvat. Komento epäonnistui onnistuneesti."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
msgstr "En voi antaa roolia {role.name} käyttäjälle {member.display_name}, koska rooli on korkeammalla kuin minun ylin roolini Discordin hierarkiassa."
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
msgstr "En voi poistaa roolia {role.name} käyttäjältä {member.display_name}, koska rooli on korkeammalla kuin minun ylin roolini Discordin hierarkiassa."
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
msgstr "En voi muokata roolia {role.name}, koska se on korkeammalla kuin minun ylin roolini Discordin hierarkiassa."
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "En voi antaa roolia {role.name} käyttäjälle {member.display_name}, koska rooli on korkeammalla kuin minun ylin roolini Discordin hierarkiassa."
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "En voi poistaa roolia {role.name} käyttäjältä {member.display_name}, koska rooli on korkeammalla kuin minun ylin roolini Discordin hierarkiassa."
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "En voi antaa sinun muokata roolia {role.name}, koska rooli on korkeammalla kuin sinun korkein rooli Discordin hierarkiassa."
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
msgstr "Tarvitsen \"manage roles\" -oikeuden tehdäkseni tämän."
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr "Olen jo ilmoittanut jotain. Jos haluat tehdä toisen ilmoituksen, käytä ensin \"{prefix} announce cancel\"."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr "Kokoelma palvelinhallintaohjelmia."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
msgstr "Käyttäjällä {member.display_name} on jo rooli {role.name}."
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "Lisäsin {role.name} onnistuneesti {member.display_name}"
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
msgstr "Käyttäjällä {member.display_name} ei ole roolia {role.name}."
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "Olen poistanut {role.name} onnistuneesti {member.display_name}"
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr ""
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Lisää rooli käyttäjälle.\n\n"
" Käytä kaksinkertaisia lainausmerkkejä, jos rooli sisältää välilyöntejä.\n"
" Jos käyttäjä jätetään tyhjäksi, se on oletuksena tekijä komennon.\n"
" "
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr ""
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Lisää rooli käyttäjälle.\n\n"
" Käytä kaksinkertaisia lainausmerkkejä, jos rooli sisältää välilyöntejä.\n"
" Jos käyttäjä jätetään tyhjäksi, se on oletuksena tekijä komennon.\n"
" "
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr "Muokkaa rooliasetuksia."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgstr ""
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr "\n"
" Muokkaa roolin väriä.\n\n"
" Käytä kaksinkertaisia lainausmerkkejä, jos rooli sisältää välilyöntejä.\n"
" Värin on oltava heksadesimaalissa.\n"
" [Väripoimija](http://www.w3schools. om/colors/colors_picker. sp)\n\n"
" Esimerkkejä:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Tehty."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgstr ""
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr "\n"
" Muokkaa roolin nimeä.\n\n"
" Käytä kaksoislainausmerkkejä, jos rooli tai nimi sisältää välilyöntejä.\n\n"
" Esimerkki:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "Ilmoita viesti kaikille palvelimille, joihin botti on."
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
msgstr "Ilmoittaminen on aloitettu."
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr ""
msgstr "Peruuta käynnissä oleva ilmoitus."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
msgstr "Tällä hetkellä ei ole käynnissä olevaa ilmoitusta."
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
msgstr "Tämänhetkinen ilmoitus on peruutettu."
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
msgstr "Muokkaa kuinka ilmoitukset lähetetään tässä guildissa."
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgstr ""
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr "\n"
" Muuta kanavaa, jossa botti lähettää ilmoituksia.\n\n"
" Jos kanava jätetään tyhjäksi, se oletetaan nykyiselle kanavalle.\n"
" "
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
msgstr "Ilmoituskanava on asetettu {channel.mention} -kanavalle"
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgstr ""
msgid "Unsets the channel for announcements."
msgstr "Poista ilmoituskanava käytöstä."
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr ""
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Lisää selfrole itseesi.\n\n"
" Palvelimen ylläpitäjien on täytynyt konfiguroida rooli käyttäjän asettamana.\n"
" HUOM: Rooli on kirjainkoolla herkkä!\n"
" "
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr ""
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Lisää selfrole itseesi.\n\n"
" Palvelimen ylläpitäjien on täytynyt konfiguroida rooli käyttäjän asettamana.\n"
" HUOM: Rooli on kirjainkoolla herkkä!\n"
" "
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgstr ""
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr "\n"
" Luettele kaikki saatavilla olevat selfrot.\n"
" "
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:425
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:436
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Saatavilla olevat omafroles:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:447
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
msgid "Removed."
msgstr ""
#: redbot/cogs/admin/admin.py:460
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
msgid "Manage selfroles."
msgstr "Hallitse selfroleja."
#: redbot/cogs/admin/admin.py:465
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Lisää rooli saatavilla olevien selfrolien luetteloon.\n\n"
" HUOM: Rooli on kirjainkoolla herkkä!\n"
" "
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "En voi antaa roolia {role.name} käyttäjälle, koska rooli on korkeammalla kuin minun ylin roolini Discordin hierarkiassa."
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr "Lisätty."
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr "Tämä rooli on jo selfrole."
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Lisää rooli saatavilla olevien selfrolien luetteloon.\n\n"
" HUOM: Rooli on kirjainkoolla herkkä!\n"
" "
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "En voi antaa roolia {role.name} käyttäjälle, koska rooli on korkeammalla kuin minun ylin roolini Discordin hierarkiassa."
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr "Poistettu."
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Lukitse botti vain nykyisille palvelimille."
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr "Botti ei ole enää palvelinlukittu."
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
msgstr "Botti on nyt palvelinlukittu."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
msgstr "En voinut ilmoittaa seuraavalle palvelimelle: "
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""
msgstr "En voinut ilmoittaa seuraavalle palvelimelle: "
#: redbot/cogs/admin/converters.py:12
msgid "The Admin cog is not loaded."
msgstr ""
msgstr "Admin cog ei ole ladattu."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr ""
msgstr "Annettu rooli ei ole kelvollinen selfrole."

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: French\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,296 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: fr_FR\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "J'ai tenté de faire quelque chose que pour lequel Discord m'a refusé les permissions. La commande a échoué."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Je ne peux pas donner {role.name} à {member.display_name} car ce rôle est supérieur ou égal à mon rôle le plus élevé dans la hiérarchie Discord."
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Je ne peux pas supprimer {role.name} de {member.display_name} car ce rôle est supérieur ou égal à mon rôle le plus élevé dans la hiérarchie Discord."
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr "Je ne peux pas modifier {role.name} parce que ce rôle est supérieur ou égal à mon rôle le plus élevé dans la hiérarchie Discord."
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Je ne peux pas vous laisser donner {role.name} à {member.display_name} car ce rôle est supérieur ou égal à votre rôle le plus haut dans la hiérarchie Discord."
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Je ne peux pas vous permettre de supprimer {role.name} de {member.display_name} car ce rôle est supérieur ou égal à votre rôle le plus élevé dans la hiérarchie Discord."
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Je ne peux pas vous permettre de modifier {role.name} car ce rôle est supérieur ou égal à votre rôle le plus élevé dans la hiérarchie Discord."
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr "Jai besoin de la permission de gérer les rôles pour faire cela."
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr "Je suis déjà en train d'annoncer quelque chose. Si tu souhaites faire une annonce différente, tu dois d'abord utiliser la commande `{prefix}announce cancel`."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr "Un ensemble d'utilitaires d'administration du serveur."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr "{member.display_name} a déjà le rôle {role.name}."
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "J'ai bien ajouté le rôle {role.name} à {member.display_name}"
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr "{member.display_name} n'a pas le rôle {role.name}."
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "J'ai bien retiré le rôle {role.name} de {member.display_name}"
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr "\\n Ajouter un rôle à un utilisateur.\\n\\n Utilisez des guillemets si le rôle contient des espaces.\\n Si l'utilisateur est laissé vide, c'est par défaut l'auteur de la commande.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Ajouter un rôle à un utilisateur.\n\n"
" Utilisez des guillemets si le rôle contient des espaces.\n"
" Si l'utilisateur est laissé vide, c'est par défaut l'auteur de la commande.\n"
" "
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr "\\n Retirer un rôle d'un utilisateur.\\n\\n Utilisez des guillemets doubles si le rôle contient des espaces.\\n Si l'utilisateur est laissé vide, c'est par défaut l'auteur de la commande.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Retirer un rôle d'un utilisateur.\n\n"
" Utilisez des guillemets doubles si le rôle contient des espaces.\n"
" Si l'utilisateur est laissé vide, c'est par défaut l'auteur de la commande.\n"
" "
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr "Modifier les paramètres d'un rôle."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgstr "\\n Modifiez la couleur d'un rôle.\\n\\n Utilisez des guillemets doubles si le rôle contient des espaces.\\n La couleur doit être au format hexadécimal.\\n [Sélecteur de couleurs en ligne](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Exemples:\\n `[p]editrole color \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr "\n"
" Modifiez la couleur d'un rôle.\n\n"
" Utilisez des guillemets doubles si le rôle contient des espaces.\n"
" La couleur doit être au format hexadécimal.\n"
" [Sélecteur de couleurs en ligne](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Exemples:\n"
" `[p]editrole color \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Fait."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgstr "\\n Modifier le nom d'un rôle.\\n\\n Utiliser des guillemets si le rôle ou le nom contient des espaces.\\n\\n Exemple:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr "\n"
" Modifier le nom d'un rôle.\n\n"
" Utiliser des guillemets si le rôle ou le nom contient des espaces.\n\n"
" Exemple:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "Faire une annonce à tous les serveurs dans lesquels le bot se trouve."
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr "Lannonce a commencé."
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr "Interrompre une annonce en cours."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr "Il n'y a aucune annonce en cours d'exécution."
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr "L'annonce actuelle a été interrompue."
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr "Change la façon dont les annonces sont envoyées dans ce serveur."
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgstr "\\n Changer le salon où le bot enverra des annonces.\\n \\n Si le salon est laissé vide, il est par défaut sur le salon actuel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr "\n"
" Change le salon où le bot enverra les annonces.\n\n"
" Si le champ salon est laissé vide, il utilisera, par défaut, le salon actuel.\n"
" "
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr "Les annonces seront maintenant faites dans {channel.mention}"
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgstr "Activer ou désactiver les annonces sur ce serveur."
msgid "Unsets the channel for announcements."
msgstr "Désactive le salon pour les annonces."
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr "Le serveur {guild.name} recevra maintenant les annonces."
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr "Le serveur {guild.name} ne recevra plus les annonces."
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgstr "Appliquer auto-rôles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Ajouter un auto-rôle à vous-même.\\n\\n Les administrateurs du serveur doivent avoir configuré le rôle en tant qu'utilisable par les utilisateurs.\\n NOTE : Le rôle est sensible aux majuscules et minuscules !\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Ajouter un auto-rôle à vous-même.\n\n"
" Les administrateurs du serveur doivent avoir configuré le rôle en tant qu'utilisable par les utilisateurs.\n"
" NOTE : Le rôle est sensible aux majuscules et minuscules !\n"
" "
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Supprimez un auto-rôle de vous-même.\\n\\n Les administrateurs du serveur doivent avoir configuré le rôle en tant qu'utilisable par les utilisateurs.\\n NOTE : Le rôle est sensible aux majuscules et minuscules !\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Supprimez un auto-rôle de vous-même.\n\n"
" Les administrateurs du serveur doivent avoir configuré le rôle en tant qu'utilisable par les utilisateurs.\n"
" NOTE : Le rôle est sensible aux majuscules et minuscules !\n"
" "
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgstr "\\n Liste de tous les auto-rôles disponibles.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr "\n"
" Liste de tous les auto-rôles disponibles.\n"
" "
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
msgstr "Auto-rôles disponibles :\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Auto-rôles disponibles :\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr "Gérer les auto-roles."
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr "\\nAjouter un rôle à la liste des auto-rôles disponibles.\\n\\n NOTE : Le nom du rôle est sensible aux majuscules et minuscules !\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
"Ajouter un rôle à la liste des auto-rôles disponibles.\n\n"
" NOTE : Le nom du rôle est sensible aux majuscules et minuscules !\n"
" "
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Je ne peux pas vous laisser ajouter {role.name} comme auto-rôle car ce rôle est supérieur ou égal à votre rôle le plus haut dans la hiérarchie Discord."
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr "Ajouté."
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr "Ce rôle est déjà un selfrole."
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Supprimer un rôle de la liste des auto-rôles.\\n\\n REMARQUE : Le nom du rôle est sensible aux majuscules et minuscules !\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Supprimer un rôle de la liste des auto-rôles.\n\n"
" REMARQUE : Le nom du rôle est sensible aux majuscules et minuscules !\n"
" "
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Je ne peux pas vous laisser ajouter {role.name} comme auto-rôle car ce rôle est supérieur ou égal à votre rôle le plus haut dans la hiérarchie Discord."
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr "Retiré."
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Verrouiller un bot sur ses serveurs actuels uniquement."
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr "Le bot n'est plus verrouillé sur ses serveurs actuels."
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr "Le bot est maintenant verrouillé sur ses serveurs actuels."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr "Je n'ai pas pu annoncer au serveur suivant : "
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr "Je n'ai pas pu annoncer aux serveurs suivants : "

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,255 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: he_IL\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr ""
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr ""
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr ""
msgstr "נוסף."
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr ""
msgstr "הוסר."
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,255 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: hu_HU\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr ""
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Kész."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr ""
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,226 +15,301 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: id_ID\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr ""
msgstr "Saya mencoba melakukan sesuatu yang tidak diizinkan oleh Discord untuk saya. Perintah Anda gagal untuk dijalankan."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
msgstr "Saya tidak dapat memberikan {role.name} kepada {member.display_name} karena Role itu lebih tinggi atau sama dengan Role tertinggi saya dalam tingkatan Discord."
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
msgstr "Saya tidak dapat memberikan {role.name} kepada {member.display_name} karena Role itu lebih tinggi atau sama dengan Role tertinggi saya dalam tingkatan Discord."
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
msgstr "Saya tidak dapat mengedit {role.name} karena role itu lebih tinggi dari saya atau sama dengan role tertinggi dalam tingkatan Discord."
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "Saya tidak dapat memberikan {role.name} kepada {member.display_name} karena Role itu lebih tinggi atau sama dengan Role tertinggi saya dalam tingkatan Discord."
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "Saya tidak dapat memberikan {role.name} kepada {member.display_name} karena Role itu lebih tinggi atau sama dengan Role tertinggi saya dalam tingkatan Discord."
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "Saya tidak dapat memberikan {role.name} kepada karena Role itu lebih tinggi atau sama dengan Role tertinggi saya dalam tingkatan Discord."
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
msgstr "Saya perlu izin Manage Roles untuk melakukan itu."
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
msgstr "Saya sudah mengumumkan sesuatu. Jika Anda ingin membuat pengumuman lain, gunakan `{prefix} umumkan pembatalan` terlebih dahulu."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
msgstr "Kumpulan utilitas administrasi server."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
msgstr "{member.display_name} sudah memiliki role {role.name}."
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
msgstr "Saya berhasil menambahkan {role.name} ke {member.display_name}"
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
msgstr "{member.display_name} tidak memiliki role {role.name}."
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
msgstr "Saya berhasil menambahkan {role.name} ke {member.display_name}"
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr ""
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Tambahkan role ke user. \n"
" \n"
" Gunakan tanda kutip ganda jika role berisi spasi. \n"
" Jika pengguna dibiarkan kosong, defaultnya adalah pembuat perintah. \n"
" "
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr ""
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\\ n Tambahkanrole ke user. \\ n \\ n Gunakan tanda kutip ganda jika role berisi spasi. \\ n Jika pengguna dibiarkan kosong, defaultnya adalah pembuat perintah. \\ n "
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr ""
msgstr "Edit pengaturan role."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgstr ""
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr "\n"
" Ubah warna role.\n\n"
" Gunakan tanda kutip ganda jika peran tersebut berisi spasi.\n"
" Warna harus dalam format heksadesimal.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Contoh:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Selesai."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgstr ""
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr "\n"
" Ubah nama role.\n\n"
" Gunakan tanda kutip ganda jika role atau namanya mengandung spasi.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
msgstr "Umumkan pesan ke semua server tempat bot berada."
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
msgstr "Pengumuman telah dimulai."
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr ""
msgstr "Batalkan pengumuman berjalan."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
msgstr "Tidak ada pengumuman yang sedang berjalan."
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
msgstr "Pengumuman saat ini telah dibatalkan."
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
msgstr "Ubah cara pengumuman dikirim di guild ini."
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgstr ""
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr "\n"
" Ubah Channel tempat bot akan mengirim pengumuman.\n\n"
" Jika channel dibiarkan kosong maka default nya adalah channel saat ini.\n"
" "
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
msgstr "Channel pengumuman telah di setel ke {channel.mention}"
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgstr ""
msgid "Unsets the channel for announcements."
msgstr "Tidak menyetel saluran untuk pengumuman."
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr ""
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Tambahkan role diri sendiri.\n\n"
" Admin server harus melakukan konfigurasi role sebagai dapat diatur pengguna.\n"
" NOTE: Role peka huruf besar / kecil!\n"
" "
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr ""
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Hapus role diri sendiri.\n\n"
" Admin server harus melakukan konfigurasi role sebagai dapat diatur pengguna.\n"
" NOTE: Role peka huruf besar / kecil!\n"
" "
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgstr ""
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr "\n"
" Daftar semua role diri yang tersedia.\n"
" "
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:425
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:436
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Role diri yang tersedia:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:447
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
msgid "Removed."
msgstr ""
#: redbot/cogs/admin/admin.py:460
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
msgid "Manage selfroles."
msgstr "Kelola Roles diri sendiri."
#: redbot/cogs/admin/admin.py:465
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Tambahkan role ke daftar role diri sendiri yang tersedia.\n\n"
" NOTE: Peran peka huruf besar / kecil!\n"
" "
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Saya tidak dapat memberikan {role.name} kepada karena Role itu lebih tinggi atau sama dengan Role tertinggi saya dalam tingkatan Discord."
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr "Ditambahkan."
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr "Role itu sudah menjadi role diri sendiri."
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Tambahkan role ke daftar role diri sendiri yang tersedia.\n\n"
" NOTE: Role peka huruf besar / kecil!\n"
" "
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Saya tidak dapat menghapus {role.name} dari role diri sendiri karena role itu lebih tinggi dari atau sama dengan role tertinggi Anda dalam tingkatan Discord."
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr "Dihapus."
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Kunci bot ke servernya saat ini saja."
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr "Bot tidak lagi terkunci server."
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
msgstr "Bot sekarang terkunci server."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
msgstr "Saya tidak bisa mengumumkan ke server berikut: "
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""
msgstr "Saya tidak dapat mengumumkan ke server berikut: "
#: redbot/cogs/admin/converters.py:12
msgid "The Admin cog is not loaded."
msgstr ""
msgstr "Cog Admin belum/tidak dimuat."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr ""
msgstr "Role yang diberikan bukan role diri sendiri yang valid."

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,255 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: it_IT\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "Ho cercato di fare qualcosa ma Discord mi ha negato i permessi per farla. Il tuo comando non è stato completato con successo."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr "Sto già annunciando qualcosa. Se desideri fare un annuncio diverso, usa prima `{prefix}announce cancel`."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr "Una collezione di servizi di amministrazione del server."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "Ho aggiunto con successo {role.name} al gruppo {member.display_name}"
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "Ho rimosso con successo {role.name} dal gruppo {member.display_name}"
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr "Modifica impostazioni ruolo."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Fatto."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "Invia un annuncio a tutti i server in cui si trova il bot."
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr "L'annuncio è partito."
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr "Cancella un annuncio in corso."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr "L'annuncio in corso è stato cancellato."
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr "Il canale per gli annunci è stato impostato su {channel.mention}"
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgstr "Attiva/disattiva gli annunci in questo server."
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr "Il server {guild.name} riceverà gli annunci."
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr "Il server {guild.name} non riceverà gli annunci."
#: redbot/cogs/admin/admin.py:370
#, docstring
msgid "Apply selfroles."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr ""
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Blocca un bot ai suoi server attuali."
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr "Il bot non è più bloccato ai server."
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr "Il bot è bloccato ai server."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,226 +15,263 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: ja_JP\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "私は不和が私に権限を拒否した何かをしようとしました。コマンド正常に完了できませんでした。"
msgstr "私はDiscordが許可を拒否した何かをしようとしました。あなたのコマンド正常に完了できませんでした。"
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
msgstr "{role.name} を {member.display_name} に与えることはできません。その役職は、私が持っている最高役職より、上にあるためです。"
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr ""
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr ""
msgstr "追加されました"
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr ""
msgstr "削除されました"
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
msgstr "Botを現在のサーバーにのみロックします。"
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr ""
msgstr "Botはもうサーバーロックされていません。"
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
msgstr "Botはサーバーロックされました。"
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
msgstr "以下のサーバーに通知できませんでした: "
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""
msgstr "以下のサーバーに通知できませんでした: "
#: redbot/cogs/admin/converters.py:12
msgid "The Admin cog is not loaded."
msgstr ""
msgstr "管理者コグがロードされていません。"
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr ""
msgstr "与えられたロールは有効な自己ロールではありません。"

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,255 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: ko_KR\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr ""
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr "역할 설정을 변경했어요."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "다 했어요."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr "실행 중인 공지사항을 취소했어요."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr "추가됐어요."
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr "제거됐어요."
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
msgstr "다음과 같은 서버에 알릴 수 없어요: "
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr "다음과 같은 서버에 알릴 수 없어요. : "

View File

@@ -0,0 +1,321 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Norwegian Bokmal\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
"X-Crowdin-Language: nb\n"
"X-Crowdin-File-ID: 42\n"
"Language: nb_NO\n"
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "Jeg forsøkte å gjøre noe som Discord nektet meg tillatelser til. Kommandoen din kunne ikke fullføre."
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Jeg kan ikke gi {role.name} til {member.display_name} fordi den rollen er høyere enn eller lik min høyeste rolle i Discord-hierarkiet."
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Jeg kan ikke fjerne {role.name} fra {member.display_name} fordi den rollen er høyere enn eller lik min høyeste rolle i Discord-hierarkiet."
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr "Jeg kan ikke redigere {role.name} fordi den rollen er høyere enn min eller lik den høyeste rollen i Discord-hierarkiet."
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Jeg kan ikke la deg gi {role.name} til {member.display_name} fordi den rollen er høyere enn eller lik din høyeste rolle i Discord-hierarkiet."
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Jeg kan ikke la deg fjerne {role.name} fra {member.display_name} fordi den rollen er høyere enn eller lik din høyeste rolle i Discord-hierarkiet."
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Jeg kan ikke la deg redigere {role.name} fordi den rollen er høyere enn eller lik din høyeste rolle i Discord-hierarkiet."
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr "Jeg trenger tillatelse til å styre roller for å gjøre det."
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr "Jeg kunngjør allerede noe. Hvis du vil gi en annen kunngjøring, bruk først `{prefix}announce cancel`."
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr "En samling av serveradministrasjonsverktøy."
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr "{member.display_name} har allerede rollen {role.name}."
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "Jeg har lagt til {role.name} til {member.display_name}"
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr "{member.display_name} har ikke rollen {role.name}."
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "Jeg har fjernet {role.name} fra {member.display_name}"
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Legg til en rolle for en bruker.\n"
" \n"
" Bruk doble anførselstegn hvis rollen inneholder mellomrom.\n"
" Hvis brukeren er tom, er den standard for forfatteren av kommandoen.\n"
" "
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Fjern en rolle fra en bruker.\n\n"
" Bruk doble anførselstegn hvis rollen inneholder mellomrom.\n"
" Hvis brukeren er tom, er den standard for forfatteren av kommandoen.\n"
" "
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr "Endre rolle innsillinger."
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr "\n"
" Rediger en rollefarge.\n\n"
" Bruk doble anførselstegn hvis rollen inneholder mellomrom.\n"
" Farge må være i heksadesimal format.\n"
" [Online fargevalg] (http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Eksempler: \n"
" `[p] redigeringsrollefarge \" Transistoren \"# ff0000` \n"
"` [p] redigeringsrollefarge Test # ff9900` \n"
" "
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Ferdig."
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr "\n"
" Rediger navnet til en rolle. \n"
" \n"
" Bruk doble anførselstegn hvis rollen eller navnet inneholder mellomrom. \n"
" \n"
" Eksempel: \n"
" `[p] editrole name \" Transistor \\ \"Test` \n"
" "
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "Gi en melding til alle servere boten er i."
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr "Kunngjøringen har begynt."
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr "Avbryt en løpende kunngjøring."
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr "Det er for øyeblikket ingen kunngjøring."
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr "Den nåværende kunngjøringen er kansellert."
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr "Endre hvordan kunngjøringer sendes i denne serveren."
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr "\n"
"Endre kanalen der bot vil sende kunngjøringer. \n\n"
" Hvis kanalen er tom, er den standard for den nåværende kanalen. \n"
" "
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr "Kunngjøringskanalen er satt til {channel.mention}"
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Unsets the channel for announcements."
msgstr "Opphever kanalen for kunngjøringer."
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
"Legg en selvrolle til deg selv.\n\n"
"Serveradministratorer må ha konfigurert rollen som brukerinnstillbar.\n"
"MERK: Rollen er små og små bokstaver!\n"
" "
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
"Fjern en selvrolle fra deg selv.\n\n"
"Serveradministratorer må ha konfigurert rollen som brukerinnstillbar.\n"
" MERKNAD: Rollen er store og små bokstaver!\n"
" "
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr "\n"
"Viser alle tilgjengelige selvroller.\n"
" "
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Tilgjengelige selvroller:\n"
" {selfroles}"
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr "Behandle selvroller."
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
"Legg til en rolle i listen over tilgjengelige selvroller.\n\n"
"MERKNAD: Rollen er store og små bokstaver!\n"
" "
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Jeg kan ikke la deg gi {role.name} til fordi den rollen er høyere enn eller lik din høyeste rolle i Discord-hierarkiet."
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr "Lagt til."
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr "Den rollen er allerede en selvrolle."
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
"Fjern en rolle fra listen over tilgjengelige selvroller.\n\n"
"MERKNAD: Rollen er store og små bokstaver!\n"
" "
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Jeg kan ikke la deg fjerne {role.name} fra fordi den rollen er høyere enn eller lik din høyeste rolle i Discord-hierarkiet."
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr "Fjernet."
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Lås bare en bot til sine nåværende servere."
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr "Bot er ikke lenger serverlåst."
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr "Bot er nå serverlåst."
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr "Jeg kunne ikke kunngjøre til følgende server: "
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr "Jeg kunne ikke kunngjøre følgende servere: "
#: redbot/cogs/admin/converters.py:12
msgid "The Admin cog is not loaded."
msgstr "Admin cog er ikke lastet."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr "Den oppgitte rollen er ikke en gyldig selvrolle."

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,296 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: nl_NL\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "Ik probeerde iets te doen waarvoor Discord me geen toestemming heeft gegeven. Je commando kon niet worden voltooid."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Ik kan {role.name} niet aan {member.display_name} geven omdat die rol hoger of gelijk is aan mijn hoogste rol in de Discord hiërarchie."
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Ik kan {role.name} niet van {member.display_name} verwijderen omdat die rol hoger dan of gelijk is aan mijn hoogste rol in de Discord hiërarchie."
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr "Ik kan {role.name} niet bewerken omdat die rol hoger is dan mijn of de hoogste rol in de Discord hiërarchie."
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Ik kan je {role.name} niet aan {member.display_name} laten geven omdat die rol hoger is dan of gelijk is aan je hoogste rol in de Discord hiërarchie."
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Ik kan je {role.name} niet van {member.display_name} laten verwijderen omdat die rol hoger dan of gelijk is aan je hoogste rol in de Discord hiërarchie."
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Ik kan je {role.name} niet laten bewerken omdat die rol hoger of gelijk is aan je hoogste rol in de Discord hiërarchie."
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr "Ik heb de 'rollen beheren' permissie nodig om dat te doen."
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr "Ik ben al iets aan het aankondigen. Als je iets anders wilt aankondigen, voer dan eerst deze command uit: '{prefix}announce cancel'."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr "Een collectie van de server administratie voorzieningen."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr "{member.display_name} heeft de rol {role.name} al."
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "Ik heb succesvol {role.name} toegevoegd aan {member.display_name}"
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr "{member.display_name} heeft de rol {role.name} niet."
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "Ik heb succesvol {role.name} verwijderd van {member.display_name}"
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr "\\n Voeg een rol toe aan een gebruiker.\\n\\n Gebruik dubbele aanhalingstekens als de rol spaties bevat.\\n Als de gebruiker leeg gelaten wordt, is het standaard ingesteld op de auteur van het commando.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Voeg een rol toe aan een gebruiker.\n\n"
" Gebruik dubbele aanhalingstekens als de rol spaties bevat.\n"
" Als de gebruiker leeg gelaten wordt, is het standaard ingesteld op de auteur van het commando.\n"
" "
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr "\\n Verwijder een rol van een gebruiker.\\n\\n Gebruik dubbele aanhalingstekens als de rol spaties bevat.\\n Als de gebruiker leeg gelaten wordt, is het standaard ingesteld op de auteur van het commando.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Verwijder een rol van een gebruiker.\n\n"
" Gebruik dubbele aanhalingstekens als de rol spaties bevat.\n"
" Als de gebruiker leeg gelaten wordt, is het standaard ingesteld op de auteur van het commando.\n"
" "
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr "Rol instellingen bewerken."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgstr "\\n Bewerk een rolkleur.\\n\\n Gebruik dubbele aanhalingstekens als de rol spaties bevat.\\n Kleur moet in hexadecimaal formaat zijn.\\n [Online kleur kiezer](http://www.w3schools. om/colors/colors_picker. sp)\\n\\n Voorbeelden:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr "\n"
" Bewerk een rolkleur.\n\n"
" Gebruik dubbele aanhalingstekens als de rol spaties bevat.\n"
" Kleur moet in hexadecimaal formaat zijn.\n"
" [Online kleur kiezer](http://www.w3schools. om/colors/colors_picker. sp)\n\n"
" Voorbeelden:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Klaar."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgstr "\\n Bewerk de rolnaam.\\n\\n Gebruik dubbele aanhalingstekens als de rol of de naam spaties bevat.\\n\\n Voorbeeld:\\n `[p]bewerkrole naam \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr "\n"
" Bewerk de rolnaam.\n\n"
" Gebruik dubbele aanhalingstekens als de rol of de naam spaties bevat.\n\n"
" Voorbeeld:\n"
" `[p]bewerkrole naam \"The Transistor\" Test`\n"
" "
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "Kondig een bericht aan in alle servers."
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr "De aankondiging is begonnen."
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr "Annuleer een huidige aankondiging."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr "Er is momenteel geen lopende aankondiging."
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr "De huidige aankondiging is geannuleerd."
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr "Verander hoe aankondigingen worden verzonden in deze gilde."
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgstr "\\n Verander het kanaal waar de bot aankondigingen zal verzenden.\\n \\n Als het kanaal leeg is dan is het standaard ingesteld op het huidige kanaal.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr "\n"
" Verander het kanaal waar de bot aankondigingen zal verzenden.\n\n"
" Als het kanaal leeg is dan is het standaard ingesteld op het huidige kanaal.\n"
" "
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr "Het aankondigingskanaal is aangepast naar {channel.mention}"
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgstr "Aankondigingen zijn geactiveerd in deze server."
msgid "Unsets the channel for announcements."
msgstr "Kanaal voor aankondigingen uitschakelen."
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr "De server {guild.name} ontvangt aankondigingen."
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr "De server {guild.name} ontvangt geen aankondigingen."
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgstr "Zelfrollen toepassen."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Voeg een zelfrol toe aan jezelf.\\n\\n Server beheerders moeten de rol gebruiker instelbaar configureren.\\n Let op: De rol is hoofdlettergevoelig!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Voeg een zelfrol toe aan jezelf.\n\n"
" Server beheerders moeten de rol gebruiker instelbaar configureren.\n"
" Let op: De rol is hoofdlettergevoelig!\n"
" "
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Verwijder een zelfrol van jezelf.\\n\\n Server beheerders moeten de rol als gebruiker instelbaar configureren.\\n Let op: De rol is hoofdlettergevoelig!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Verwijder een zelfrol van jezelf.\n\n"
" Server beheerders moeten de rol als gebruiker instelbaar configureren.\n"
" Let op: De rol is hoofdlettergevoelig!\n"
" "
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgstr "\\n Toont alle beschikbare zelfrollen.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr "\n"
" Toont alle beschikbare zelfrollen.\n"
" "
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
msgstr "Beschikbare zelfrollen:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Beschikbare zelfrollen:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr "Beheer zelfrollen."
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Voeg een rol toe aan de lijst van beschikbare zelfrollen.\\n\\n Let op: hoofdlettergevoelig!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Voeg een rol toe aan de lijst van beschikbare zelfrollen.\n\n"
" Let op: hoofdlettergevoelig!\n"
" "
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Ik kan je {role.name} niet als zelfrol toe laten voegen omdat die rol hoger dan of gelijk is aan je hoogste rol in de Discord hiërarchie."
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr "Toegevoegd."
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr "Die rol is al een zelfrol."
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Verwijder een rol van de lijst van beschikbare zelfrollen.\\n\\n OPMERKING: De rol is hoofdlettergevoelig!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Verwijder een rol van de lijst van beschikbare zelfrollen.\n\n"
" OPMERKING: De rol is hoofdlettergevoelig!\n"
" "
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Ik kan je {role.name} niet uit zelfrol laten verwijderen omdat die rol hoger dan of gelijk is aan je hoogste rol in de Discord-hiërarchie."
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr "Verwijderd."
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Vergrendel de bot voor alleen deze server."
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr "De bot is niet langer vergrendeld."
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr "De bot is vergrendeld."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr "Ik kan de volgende server niet aankondigen: "
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr "Ik kon de volgende servers niet aankondigen: "

View File

@@ -1,240 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
"X-Crowdin-Language: no\n"
"X-Crowdin-File-ID: 42\n"
"Language: no_NO\n"
#: redbot/cogs/admin/admin.py:17
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr ""
#: redbot/cogs/admin/admin.py:22
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:28
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:34
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:40
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:46
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:52
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:58
msgid "I need manage roles permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:60
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
#: redbot/cogs/admin/admin.py:70
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:126
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:146
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:156
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:176
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:187
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:203
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:217
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:224
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
msgid "Done."
msgstr "Ferdig."
#: redbot/cogs/admin/admin.py:257
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:291
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:298
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:305
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:307
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:310
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:316
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:321
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:330
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:335
#, docstring
msgid "Toggle announcements being enabled this server."
msgstr ""
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#, docstring
msgid "Apply selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:375
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:386
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:397
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:425
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:436
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:447
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
msgid "Removed."
msgstr ""
#: redbot/cogs/admin/admin.py:460
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:465
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:467
msgid "The bot is now serverlocked."
msgstr ""
#: redbot/cogs/admin/announcer.py:75
msgid "I could not announce to the following server: "
msgstr ""
#: redbot/cogs/admin/announcer.py:77
msgid "I could not announce to the following servers: "
msgstr ""
#: redbot/cogs/admin/converters.py:12
msgid "The Admin cog is not loaded."
msgstr ""
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,220 +15,298 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: pl_PL\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr ""
msgstr "Próbowałem/am zrobić coś, do czego Discord odmówił mi uprawnień. Twoja komenda nie powiodła się."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
msgstr "Nie mogę dać {role.name} {member.display_name} ponieważ ta rola jest wyższa lub równa mojej najwyższej roli w hierarchii Discorda."
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
msgstr "Nie mogę usunąć {role.name} z {member.display_name}, ponieważ ta rola jest wyższa lub równa mojej najwyższej roli w hierarchii Discorda."
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
msgstr "Nie mogę edytować {role.name}, ponieważ ta rola jest wyższa niż moja lub równa najwyższej roli w hierarchii Discorda."
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "Nie mogę pozwolić Tobie dać {role.name} {member.display_name} ponieważ ta rola jest większa lub równa twojej najwyższej roli w hierarchii Discorda."
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "Nie mogę pozwolić ci usunąć {role.name} z {member.display_name}, ponieważ ta rola jest wyższa lub równa twojej najwyższej roli w hierarchii Discorda."
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
msgstr "Nie mogę pozwolić ci edytować {role.name}, ponieważ ta rola jest wyższa lub równa twojej najwyższej roli w hierarchii Discorda."
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
msgstr "Potrzebuję uprawnień do zarządzania rolami, aby to zrobić."
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
msgstr "Już coś ogłaszam. Jeśli chcesz złożyć inne ogłoszenie, najpierw użyj `{prefix}announce cancel`."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
msgstr "Zbiór narzędzi administracyjnych serwera."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
msgstr "{member.display_name} ma już rolę {role.name}."
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
msgstr "Pomyślnie dodałem/am {role.name} dla {member.display_name}"
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
msgstr "{member.display_name} nie ma roli {role.name}."
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
msgstr "Pomyślnie usunąłem/am {role.name} od {member.display_name}"
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr ""
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Dodawanie roli do użytkownika.\n\n"
" Użyj podwójnych cudzysłowów, jeśli rola zawiera spacje.\n"
" Jeśli użytkownik jest pozostanie pusty, domyślnie zostanie wybrany autor komendy.\n"
" "
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr ""
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Usuwanie roli dla użytkownika.\n\n"
" Użyj podwójnych cudzysłowów, jeśli rola zawiera spacje.\n"
" Jeśli użytkownik jest pozostanie pusty, domyślnie zostanie wybrany autor komendy.\n"
" "
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr ""
msgstr "Edytuj ustawienia roli."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgstr ""
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr "\n"
" Modyfikuj kolor roli.\n\n"
" Użyj podwójnych cudzysłowów, jeśli rola zawiera spacje.\n"
" Kolor musi być w formacie szesnastkowym.\n"
" [Wybór kolorów online](http://www.w3schools. om/colors/colors_picker.asp)\n\n"
" Przykłady:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Gotowe."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgstr ""
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr "\n"
" Edytuj nazwę roli.\n\n"
" Użyj podwójnych cudzysłowów, jeśli rola lub nazwa zawiera spacje.\n\n"
" Przykład:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
msgstr "Rozgłoś wiadomość do wszystkich serwerów w których jest ten bot."
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
msgstr "Ogłaszanie rozpoczęte."
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr ""
msgstr "Anuluj uruchomione ogłoszenie."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
msgstr "Nie ma aktualnie uruchomionych ogłoszeń."
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
msgstr "Bieżące ogłoszenie zostało anulowane."
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
msgstr "Zmień sposób wysyłania ogłoszeń w tej gildii."
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgstr ""
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr "\n"
" Zmień kanał, w którym bot wyśle ogłoszenia.\n\n"
" Jeśli kanał nie zostanie zdefiniowany, domyślnie zostanie wybrany bieżący kanał.\n"
" "
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
msgstr "Kanał ogłoszeniowy został ustawiony na {channel.mention}"
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgstr ""
msgid "Unsets the channel for announcements."
msgstr "Usuwa wybór kanału dla ogłoszeń."
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr ""
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Dodawanie ról dla siebie.\n\n"
" Administratorzy serwera muszą skonfigurować rolę jako ustawialną przez użytkownika.\n"
" UWAGA: Rola rozróżnia wielkość liter!\n"
" "
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr ""
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Odbiera rolę do samodzielnego przypisania.\n\n"
" Admini Serwera muszą ustawić rolę jako możliwą do ustawienia przez użytkowników.\n"
" UWAGA: Wielkość liter ma znaczenie!\n"
" "
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgstr ""
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr "\n"
" Wyświetla role do samodzielnego przypisania.\n"
" "
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:425
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:436
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr ""
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Dostępne role do samodzielnego przypisania:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:447
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
msgid "Removed."
msgstr ""
#: redbot/cogs/admin/admin.py:460
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
msgid "Manage selfroles."
msgstr "Zarządzaj rolami do samodzielnego przypisania."
#: redbot/cogs/admin/admin.py:465
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Dodaje rolę do listy dostępnych roli do samodzielnego przypisania.\n\n"
" UWAGA: Wielkość liter ma znaczenie!\n"
" "
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Nie mogę Ci pozwolić dać {role.name} jako roli samodzielnego przypisania, ponieważ ta rola jest wyższa lub równa twojej najwyższej roli w hierarchii Discorda."
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr "Dodano."
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr "Ta rola jest już rolą do samodzielnego przypisania."
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Usuwa rolę z listy roli do samodzielnego przypisania.\n\n"
" UWAGA: Wielkość liter ma znaczenie!\n"
" "
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Nie mogę Ci pozwolić usunąć {role.name} z bycia rolą samodzielnego przypisania, ponieważ ta rola jest wyższa lub równa twojej najwyższej roli w hierarchii Discorda."
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr "Usunięto."
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Ogranicz bota wyłącznie do obecnych serwerów."
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr "Bot nie jest już ograniczony do obecnych serwerów."
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
msgstr "Bot jest teraz ograniczony do obecnych serwerów."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
msgstr "Nie mogłem/am ogłosić się na następującym serwerze: "
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""
msgstr "Nie mogłem/am ogłosić się na następujących serwerach: "
#: redbot/cogs/admin/converters.py:12
msgid "The Admin cog is not loaded."
@@ -236,5 +314,5 @@ msgstr "Moduł Admin nie jest załadowany."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr ""
msgstr "Podana rola nie jest poprawną rolą samodzielnego przypisania."

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,293 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: pt_BR\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "Eu tentei fazer algo que o Discord me negou as permissões. Seu comando falhou em ser completado com sucesso."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Não posso atribuir o cargo {role.name} para {member.display_name} porque este cargo é mais alto ou igual que o meu cargo mais alto na hierarquia do Discord."
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Não posso remover o cargo {role.name} de {member.display_name} porque este cargo é mais alto ou igual que o meu cargo mais alto na hierarquia do Discord."
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr "Não posso alterar o cargo {role.name} porque este cargo é mais alto ou igual que o meu cargo mais alto na hierarquia do Discord."
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Não posso deixar você atribuir o cargo {role.name} para {member.display_name} porque este cargo é mais alto ou igual que o meu cargo mais alto na hierarquia do Discord."
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Não posso deixar você rmover o cargo {role.name} de {member.display_name} porque este cargo é mais alto ou igual que o meu cargo mais alto na hierarquia do Discord."
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Não posso deixar você alterar o cargo {role.name} porque este cargo é mais alto ou igual que o meu cargo mais alto na hierarquia do Discord."
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr "Preciso da permissão para alterar os cargos para fazer isto."
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr "Eu já estou anunciando algo. Se quer fazer um anúncio diferente, por favor use `{prefix}announce cancel` primeiro."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr "Um conjunto de ferramentas para a administração do servidor."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr "{member.display_name} já tem o cargo {role.name}."
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "Eu adicionei com sucesso {role.name} de {member.display_name}"
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr "{member.display_name} não tem o cargo {role.name}."
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "Eu removi {role.name} de {member.display_name} com sucesso"
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr "\\n Concede um cargo a um(a) usuário(a).\\n\\n Use aspas duplas se o nome do cargo contiver espaços.\\n Se o usuário for deixado em branco, por padrão será usado a(o) autor(a) do comando.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Concede um cargo a um(a) usuário(a).\n\n"
" Use aspas duplas se o nome do cargo contiver espaços.\n"
" Se o usuário for deixado em branco, por padrão será usado a(o) autor(a) do comando.\n"
" "
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgstr "\\n Remove um cargo de um(a) usuário(a).\\n\\n Use aspas duplas se o nome do cargo contiver espaços.\\n Se o usuário for deixado em branco, por padrão será usado a(o) autor(a) do comando.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr "\n"
" Remove um cargo de um(a) usuário(a).\n\n"
" Use aspas duplas se o nome do cargo contiver espaços.\n"
" Se o usuário for deixado em branco, por padrão será usado a(o) autor(a) do comando.\n"
" "
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr "Altera as configurações de cargo."
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgstr "\\n Edita a cor de um cargo.\\n\\n Use aspas duplas se o cargo contiver espaços.\\n A cor precisa estar em formato hexadecimal.\\n [Seletor de cores online](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Exemplos:\\n `[p]editrole colour \\\"O Transistor\\\" #ff0000`\\n `[p]editrole colour Teste #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr "\n"
" Edita a cor de um cargo.\n\n"
" Use aspas duplas se o cargo contiver espaços.\n"
" A cor precisa estar em formato hexadecimal.\n"
" [Seletor de cores online](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Exemplos:\n"
" `[p]editrole colour \"O Transistor\" #ff0000`\n"
" `[p]editrole colour Teste #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Concluído."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgstr "\\n Alterar o nome de um cargo.\\n\\n Use aspas duplas se o cargo ou o nome contiverem espaços.\\n\\n Exemplo:\\n `[p]editrole name \\\"O Transistor\\\" Teste`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr "\n"
" Alterar o nome de um cargo.\n\n"
" Use aspas duplas se o cargo ou o nome contiverem espaços.\n\n"
" Exemplo:\n"
" `[p]editrole name \"O Transistor\" Teste`\n"
" "
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "Anuncia uma mensagem para todos os servidores onde o bot está."
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr "O anúncio começou."
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr "Cancela um anúncio em andamento."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr "Não existe nenhum anúncio em andamento."
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr "O anúncio atual foi cancelado."
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr "Altera como os anúncios são enviados nessa guilda."
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgstr "\\n Altera o canal para onde o bot enviará os anúncios.\\n \\n Se o canal for deixado em branco, por padrão será usado o canal atual.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr "O canal de anúncios foi definido como {channel.mention}"
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgstr "Alterna se os anúncios estão habilitados nesse servidor."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr "O servidor {guild.name} receberá anúncios."
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr "O servidor {guild.name} não receberá anúncios."
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgstr "Concede cargos autoatribuíveis a si."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Concede um cargo autoatribuível a si.\\n\\n Os administradores do servidor precisarão configurar o cargo como autoatribuível.\\n NOTA: o nome do cargo diferencia entre maiúsculas e minúsculas!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Concede um cargo autoatribuível a si.\n\n"
" Os administradores do servidor precisarão configurar o cargo como autoatribuível.\n"
" NOTA: o nome do cargo diferencia entre maiúsculas e minúsculas!\n"
" "
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Remove um cargo autoatribuível de si.\\n\\n Os administradores do servidor precisarão configurar o cargo como autoatribuível.\\n NOTA: o nome do cargo diferencia entre maiúsculas e minúsculas!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Remove um cargo autoatribuível de si.\n\n"
" Os administradores do servidor precisarão configurar o cargo como autoatribuível.\n"
" NOTA: o nome do cargo diferencia entre maiúsculas e minúsculas!\n"
" "
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgstr "\\n Lista todos os cargos autoatribuíveis.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr "\n"
" Lista todos os cargos autoatribuíveis.\n"
" "
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
msgstr "Cargos autoatribuíveis disponíveis:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Cargos autoatribuíveis disponíveis:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr "Gerenciar cargos autoatribuíveis."
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Adiciona um cargo à lista de cargos autoatribuíveis.\\n\\n NOTA: o nome do cargo diferencia entre maiúsculas e minúsculas!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Adiciona um cargo à lista de cargos autoatribuíveis.\n\n"
" NOTA: o nome do cargo diferencia entre maiúsculas e minúsculas!\n"
" "
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Não posso deixar você atribuir {role.name} como um cargo autoatribuível porque este cargo é mais alto ou igual ao seu mais alto cargo na hierarquia do Discord."
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr "Adicionado."
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr "Este cargo já é autoatribuível."
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgstr "\\n Remove um cargo da lista de cargos autoatribuíveis.\\n\\n NOTA: o nome do cargo diferencia entre maiúsculas e minúsculas!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Remove um cargo da lista de cargos autoatribuíveis.\n\n"
" NOTA: o nome do cargo diferencia entre maiúsculas e minúsculas!\n"
" "
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Não posso deixar você remover o cargo {role.name} da lista de cargos autoatribuíveis porque este cargo é mais alto ou igual ao seu mais alto cargo na hierarquia do Discord."
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr "Removido."
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Restringe o bot somente aos servidores atuais."
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr "O bot não está mais restrito aos servidores atuais."
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr "O está restrito aos servidores atuais."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr "Não pude anunciar no seguinte servidor: "
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr "Não pude anunciar nos seguintes servidores: "

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,255 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: pt_PT\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "Tentei fazer uma coisa que o Discord negou permissão para fazer. O comando não foi concluído."
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Eu não posso dar {role.name} a {member.display_name} porque esse cargo é igual ou maior a meu cargo na hierarquia do Discord."
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr "Não posso remover {role.name} de {member.display_name} porque esse cargo é igual ou maior a meu cargo na hierarquia do Discord."
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr "Já estou a anunciar algo. Se queres fazer um anúncio diferente usa `{prefix}announce cancel` antes de usares este comando."
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr "Uma coleção de utilidades para administração de servidores."
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "Adicionei com sucesso {role.name} a {member.display_name}"
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "Removi com sucesso {role.name} de {member.display_name}"
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr "Concluído."
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "Anuncia uma mensagem para todos os servidores em que o bot está."
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr "O anúncio foi iniciado."
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr "Cancelar um anúncio em curso."
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr "O anúncio atual foi cancelado."
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr "O canal de anúncio foi definido para {channel.mention}"
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgstr "Ativar ou Desativar os anúncios neste servidor."
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr "O servidor {guild.name} vai receber anúncios."
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr "O servidor {guild.name} não vai receber anúncios."
#: redbot/cogs/admin/admin.py:370
#, docstring
msgid "Apply selfroles."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr ""
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Bloquear o bot aos servidores atuais."
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr "O bot já não está bloqueado aos servidores atuais."
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr "O bot está agora bloqueado aos servidores atuais."
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2020-04-23 12:07+0000\n"
"POT-Creation-Date: 2021-02-16 19:14+0000\n"
"Last-Translator: \n"
"Language-Team: Romanian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: redgettext 3.1\n"
"Generated-By: redgettext 3.3\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,218 +15,255 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: ro_RO\n"
#: redbot/cogs/admin/admin.py:17
#: redbot/cogs/admin/admin.py:18
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr ""
#: redbot/cogs/admin/admin.py:22
#: redbot/cogs/admin/admin.py:23
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:28
#: redbot/cogs/admin/admin.py:29
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:34
#: redbot/cogs/admin/admin.py:35
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:40
#: redbot/cogs/admin/admin.py:41
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:46
#: redbot/cogs/admin/admin.py:47
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:52
#: redbot/cogs/admin/admin.py:53
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:58
#: redbot/cogs/admin/admin.py:59
msgid "I need manage roles permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:60
#: redbot/cogs/admin/admin.py:61
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr ""
#: redbot/cogs/admin/admin.py:70
#: redbot/cogs/admin/admin.py:71
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:126
#: redbot/cogs/admin/admin.py:162
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:146
#: redbot/cogs/admin/admin.py:182
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:156
#: redbot/cogs/admin/admin.py:192
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:176
#: redbot/cogs/admin/admin.py:212
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:187
#: redbot/cogs/admin/admin.py:223
#, docstring
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Add a role to a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:203
#: redbot/cogs/admin/admin.py:239
#, docstring
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
msgid "\n"
" Remove a role from a user.\n\n"
" Use double quotes if the role contains spaces.\n"
" If user is left blank it defaults to the author of the command.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:217
#: redbot/cogs/admin/admin.py:253
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:224
#: redbot/cogs/admin/admin.py:260
#, docstring
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
msgid "\n"
" Edit a role's colour.\n\n"
" Use double quotes if the role contains spaces.\n"
" Colour must be in hexadecimal format.\n"
" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n"
" Examples:\n"
" `[p]editrole colour \"The Transistor\" #ff0000`\n"
" `[p]editrole colour Test #ff9900`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
#: redbot/cogs/admin/admin.py:289 redbot/cogs/admin/admin.py:322
msgid "Done."
msgstr ""
#: redbot/cogs/admin/admin.py:257
#: redbot/cogs/admin/admin.py:293
#, docstring
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
msgid "\n"
" Edit a role's name.\n\n"
" Use double quotes if the role or the name contain spaces.\n\n"
" Example:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291
#: redbot/cogs/admin/admin.py:327
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:298
#: redbot/cogs/admin/admin.py:334
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:305
#: redbot/cogs/admin/admin.py:341
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:307
#: redbot/cogs/admin/admin.py:343
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:310
#: redbot/cogs/admin/admin.py:346
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:316
#: redbot/cogs/admin/admin.py:352
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:321
#: redbot/cogs/admin/admin.py:357
#, docstring
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
msgid "\n"
" Change the channel where the bot will send announcements.\n\n"
" If channel is left blank it defaults to the current channel.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:330
#: redbot/cogs/admin/admin.py:366
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:335
#: redbot/cogs/admin/admin.py:371
#, docstring
msgid "Toggle announcements being enabled this server."
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:340
msgid "The server {guild.name} will receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:344
msgid "The server {guild.name} will not receive announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:370
#: redbot/cogs/admin/admin.py:396
#, docstring
msgid "Apply selfroles."
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:375
#: redbot/cogs/admin/admin.py:409
#, docstring
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a selfrole to yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:386
#: redbot/cogs/admin/admin.py:420
#, docstring
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a selfrole from yourself.\n\n"
" Server admins must have configured the role as user settable.\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:397
#: redbot/cogs/admin/admin.py:431
#, docstring
msgid "\\n Lists all available selfroles.\\n "
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:407
msgid "Available Selfroles:\\n{selfroles}"
#: redbot/cogs/admin/admin.py:441
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:413
#: redbot/cogs/admin/admin.py:447
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:418
#: redbot/cogs/admin/admin.py:452
#, docstring
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:425
#: redbot/cogs/admin/admin.py:459
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:467
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:436
#: redbot/cogs/admin/admin.py:470
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:440
#: redbot/cogs/admin/admin.py:474
#, docstring
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:447
#: redbot/cogs/admin/admin.py:481
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:455
#: redbot/cogs/admin/admin.py:489
msgid "Removed."
msgstr ""
#: redbot/cogs/admin/admin.py:460
#: redbot/cogs/admin/admin.py:494
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:465
#: redbot/cogs/admin/admin.py:499
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:467
#: redbot/cogs/admin/admin.py:501
msgid "The bot is now serverlocked."
msgstr ""
#: redbot/cogs/admin/announcer.py:75
#: redbot/cogs/admin/announcer.py:68
msgid "I could not announce to the following server: "
msgstr ""
#: redbot/cogs/admin/announcer.py:77
#: redbot/cogs/admin/announcer.py:70
msgid "I could not announce to the following servers: "
msgstr ""

Some files were not shown because too many files have changed in this diff Show More