Compare commits

...

239 Commits

Author SHA1 Message Date
Red-GitHubBot
49cf7eacfb [3.4] Stop manually adding category to automated PRs (#6089) (#6092)
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-20 13:45:38 +00:00
github-actions[bot]
abdf57c901 [3.4] Version bump to 3.4.20.dev1 (#6090)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-20 04:35:18 +02:00
github-actions[bot]
b325e8360c [3.4] Version bump to 3.4.19 (#6087)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-20 04:03:36 +02:00
github-actions[bot]
9f4202bea3 [3.4] Automated Crowdin downstream (#6088)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-20 04:03:11 +02:00
Red-GitHubBot
455d2fdf7a [3.4] Red 3.4.19 - Changelog (#6082) (#6086)
Co-authored-by: Jakub Kuczys <me@jacken.men>
Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2023-04-20 03:53:51 +02:00
Red-GitHubBot
5efbd19a3d [3.4] Add require_var_positional=True to [p]selfroleset add/remove (#6084) (#6085)
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-20 01:44:19 +00:00
Red-GitHubBot
69f757758d [3.4] Disallow NaN and Infinity in Trivia CONFIG schema (#5949) (#6083)
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-20 00:58:15 +00:00
Red-GitHubBot
5367246dc2 [3.4] Use the contributor list URL instead of the org in [p]info (#6079) (#6081)
Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
Co-authored-by: Kowlin <git@wyvern.blue>
2023-04-20 00:36:19 +00:00
Red-GitHubBot
7cf1620b89 [3.4] Updated excluded features (#5919) (#6080)
Co-authored-by: Kowlin <10947836+Kowlin@users.noreply.github.com>
Co-authored-by: Zephyrkul <23347632+Zephyrkul@users.noreply.github.com>
2023-04-20 00:07:05 +00:00
Jakub Kuczys
6f4063e4a8 Fix line endings... 2023-04-20 01:10:09 +02:00
Jakub Kuczys
ce2093d0d1 [3.4] Improve changelog format (#5602) (#6078)
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2023-04-19 23:09:03 +00:00
Red-GitHubBot
e14f7861a6 [3.4] Fix typos issues (#5977) (#6077)
Co-authored-by: Tom Marcot <113185315+BigPeep0doo@users.noreply.github.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2023-04-19 22:39:48 +00:00
Jakub Kuczys
47193b63b0 [3.4] [Modlog] Make modlogset cases docstring less vague (#5352) (#6076)
Co-authored-by: OofChair <oofchairr@gmail.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
2023-04-19 22:37:12 +00:00
Jakub Kuczys
dd9cf4da6e [3.4] [Docs] Use gender neutral language in remaining places where it isn't (#5873) (#6075)
Co-authored-by: Leet <36166244+leetfin@users.noreply.github.com>
2023-04-19 22:36:05 +00:00
Jakub Kuczys
f6ecc80f7d [3.4] Improve topography trivia (#5572) (#6074)
Co-authored-by: Visne <39844191+Visne@users.noreply.github.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2023-04-19 22:35:14 +00:00
Jakub Kuczys
4a66c4910f [3.4] docs: fix typos (#5989) (#6073)
Co-authored-by: Lioness100 <jchickmm2@gmail.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2023-04-19 22:33:20 +00:00
Red-GitHubBot
eb3afe6164 [3.4] New Music Trivia List (#5687) (#6072)
Co-authored-by: Lemon Rose <78662983+japandotorg@users.noreply.github.com>
Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
2023-04-19 22:31:44 +00:00
Jakub Kuczys
a6009c7a3a [3.4] Add brew shellenv to shell profile in macOS install guide (#5993) (#6071) 2023-04-19 22:30:05 +00:00
Red-GitHubBot
d3363d560c [3.4] [Docs] Dev Cog Guide (#5869) (#6058)
Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 22:19:47 +00:00
Red-GitHubBot
65946b688d [3.4] Add JSON Schema for Trivia Lists (#5565) (#6070)
Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 22:16:26 +00:00
Red-GitHubBot
2364842dab [3.4] [Audio] Don't escape formatting on Playlist Enqueued message (#6025) (#6069)
Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
2023-04-19 22:15:21 +00:00
Red-GitHubBot
77847a2b8d [3.4] Fallback to asyncio's default exception handler when possible (#5813) (#6068)
Co-authored-by: Jakub Kuczys <me@jacken.men>
Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2023-04-19 22:13:39 +00:00
Red-GitHubBot
218140c7b0 [3.4] [Trivia] Handle FileNotFoundError when adding a custom trivia list (#5950) (#6067)
Co-authored-by: Leet <36166244+leetfin@users.noreply.github.com>
2023-04-19 22:12:40 +00:00
Red-GitHubBot
d252b71be7 [3.4] [Mod] Hide config migration commands (#5870) (#6066)
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2023-04-19 22:11:43 +00:00
Red-GitHubBot
760db11589 [3.4] [Dev] Fix __repr__() errors in REPL when referencing an instance of a class & catch Exception (#5794) (#6065)
Co-authored-by: Kreusada Tagiazala <67752638+Kreusada@users.noreply.github.com>
2023-04-19 22:10:46 +00:00
Red-GitHubBot
05ca09c47c [3.4] [CustomCom] Fix [p]cc cooldown docstring & docs (#5914) (#6064)
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2023-04-19 22:09:32 +00:00
Red-GitHubBot
e51953bc42 [3.4] Add serverlock warning to [p]invite (#5898) (#6063)
Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
2023-04-19 22:07:27 +00:00
Red-GitHubBot
1f285c6e7f [3.4] fix usage/syntax info in command_audioset_autoplay_playlist docstring (#5592) (#6062)
Co-authored-by: Alex <58824393+vertyco@users.noreply.github.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2023-04-19 22:06:29 +00:00
Red-GitHubBot
fcaa2e7d96 [3.4] Case-Insensitive SelfRole (#3865) (#6061)
Co-authored-by: AA <chasehult@gmail.com>
Co-authored-by: Draper <27962761+Drapersniper@users.noreply.github.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2023-04-19 22:05:53 +00:00
Red-GitHubBot
37730110d9 [3.4] [General] Fix [p]lmgtfy URL generation (#5909) (#6060)
Co-authored-by: Ryan <50505980+ryan5453@users.noreply.github.com>
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 22:04:55 +00:00
Red-GitHubBot
1afc19afc7 [3.4] Harrypotter questions (#5887) (#6059)
Co-authored-by: Ankur Gupta <52248401+Ankur391@users.noreply.github.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
Co-authored-by: Lemon Rose <78662983+japandotorg@users.noreply.github.com>
2023-04-19 22:03:07 +00:00
Red-GitHubBot
dbb59af4ad [3.4] Fix typo in league of legends trivia list (#5888) (#6057)
Co-authored-by: Mark Heath <MHLoppy@users.noreply.github.com>
2023-04-19 21:59:59 +00:00
Red-GitHubBot
25094c6076 [3.4] [Mod] Account for roles in mention spam (#5388) (#6056)
Co-authored-by: Vexed <vex@vexcodes.com>
Co-authored-by: Kowlin <10947836+Kowlin@users.noreply.github.com>
2023-04-19 21:58:40 +00:00
Red-GitHubBot
135d7c6d6d [3.4] Get rid of localized guild feature list in serverinfo (#5830) (#6055)
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 21:58:00 +00:00
Red-GitHubBot
b4c2d9ffa1 [3.4] Use bot embed colour in [p]dm command (#5868) (#6054)
Co-authored-by: Kreusada Lavranocoyaskalas <67752638+Kreusada@users.noreply.github.com>
2023-04-19 21:56:11 +00:00
Red-GitHubBot
77f8cf39e7 [3.4] [Trivia] Various typo fixes. (#5867) (#6053)
Co-authored-by: Honkertonken <94032937+Honkertonken@users.noreply.github.com>
2023-04-19 21:55:16 +00:00
Red-GitHubBot
9b17f30f94 [3.4] Fix Tunnel.message_forwarder's handling of >2000 strings (#5844) (#6052)
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 21:54:24 +00:00
Red-GitHubBot
0b7d2fd74f [3.4] Renamed the country of Turkey to Türkiye (#5795) (#6051)
Co-authored-by: TheThomanski <15034759+TheThomanski@users.noreply.github.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2023-04-19 21:53:27 +00:00
Red-GitHubBot
e71674dc4d [3.4] [Docs] Update bot hosting list. (#5928) (#6050)
Co-authored-by: MAX <63972751+ltzmax@users.noreply.github.com>
2023-04-19 23:53:00 +02:00
Red-GitHubBot
be843581dc [3.4] [Admin] add reasoning to addrole & removerole. (#5927) (#6049)
Co-authored-by: Lemon Rose <78662983+japandotorg@users.noreply.github.com>
Co-authored-by: Matt <psykzz@users.noreply.github.com>
2023-04-19 23:52:38 +02:00
Red-GitHubBot
36b75f8600 [3.4] [Trivia] Who's that Pokemon? Generation VII and VIII trivia lists (#5890) (#6048)
Co-authored-by: SnappyDragon64 <pg61151@gmail.com>
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 23:51:50 +02:00
Red-GitHubBot
097de597fb [3.4] [Docs] Windows batch autostart docs (#5996) (#6047)
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2023-04-19 23:17:09 +02:00
Jakub Kuczys
ad5395fee0 [3.4] Improve validation in trivia (#5947) (#6046)
Co-authored-by: Vexed <vex@vexcodes.com>
2023-04-19 23:13:40 +02:00
Red-GitHubBot
44f67d792f [3.4] Update intents screenshot (#5936) (#6042)
Co-authored-by: sravan <miniclip1956@gmail.com>
2023-04-19 23:12:55 +02:00
Red-GitHubBot
b9ff4e9b96 [3.4] Update installation URLs for Homebrew and Chocolatey (#5776) (#6041)
Co-authored-by: Jakub Kuczys <me@jacken.men>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2023-04-19 23:04:51 +02:00
Red-GitHubBot
20dfe8ad7d [3.4] Properly handle missing schemas/tables in PostgreSQL driver (#5855) (#6045)
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 23:02:51 +02:00
Red-GitHubBot
ce5417602f [3.4] Use usage attr to remove appended underscore for from_ parameter in [p]reorderpath (#5946) (#6044)
Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
2023-04-19 23:01:41 +02:00
Red-GitHubBot
6f75c0f13f [3.4] Fix usage of file/folder names without suffix in Downloader (#5938) (#6043)
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 23:01:28 +02:00
Red-GitHubBot
c2376e6851 [3.4] Update enqueued track message to distinguish album from playlist (#5569) (#6040)
Co-authored-by: Ryan <50505980+ryan5453@users.noreply.github.com>
Co-authored-by: aleclol <50505980+aleclol@users.noreply.github.com>
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 23:00:41 +02:00
Red-GitHubBot
230044eb8f [3.4] Document setting overrides in Trivia list format (#5390) (#6039)
Co-authored-by: Vexed <gh.vexed@gmail.com>
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 22:59:53 +02:00
Red-GitHubBot
7d6fdd954a [3.4] Change/Update casing in findcog command. (#5772) (#6038)
Co-authored-by: Honkertonken <94032937+Honkertonken@users.noreply.github.com>
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 22:59:33 +02:00
Red-GitHubBot
08e9a5a587 [3.4] Fix unintended moving *between* VCs when channel muting (#5854) (#6037)
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 20:47:59 +00:00
Red-GitHubBot
fd30c9739a [3.4] [Audio] Update Lavalink.jar build (#6033) (#6036)
Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 22:33:31 +02:00
Jakub Kuczys
fff509caa5 [3.4] Add Lavalink version parsing (#5872) (#6032) 2023-04-19 21:25:09 +02:00
Jakub Kuczys
c755a214d0 Nuke labeler workflow from the backport branch 2023-04-19 04:26:03 +02:00
Red-GitHubBot
0d44b0cd9d [3.4] Switch the Publish Release workflow to use OpenID Connect (#6012) (#6031)
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-04-19 01:37:57 +00:00
Jakub Kuczys
4a91f77410 [3.4] Update Python versions in install instructions (#5960) 2023-01-06 04:19:42 +01:00
Red-GitHubBot
df64e7f170 [3.4] Fix flaky CI caused by flake8's flakiness (GitHub migration) (#5910) (#5957)
Co-authored-by: Jakub Kuczys <me@jacken.men>
2023-01-06 03:23:27 +01:00
Jakub Kuczys
102130c47d [3.4] Pin tox to <4 (#5959) 2023-01-06 02:20:35 +00:00
Red-GitHubBot
5a9881f672 [3.4] Update workflow versions (#5789) (#5958)
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2023-01-06 03:15:08 +01:00
github-actions[bot]
5f6ecf4ea1 [3.4] Version bump to 3.4.19.dev1 (#5834)
Version bump to 3.4.19.dev1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-15 11:59:54 +00:00
github-actions[bot]
1fa76bf43f [3.4] Version bump to 3.4.18 (#5832)
Version bump to 3.4.18

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-15 13:14:30 +02:00
github-actions[bot]
0476102851 [3.4] [i18n] Automated Crowdin downstream (#5833)
Automated Crowdin downstream

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-15 13:13:52 +02:00
Red-GitHubBot
1180d8b6bc [3.4] Red 3.4.18 - Changelog (#5829) (#5831)
(cherry picked from commit 008fb0f042)

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

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-08-15 10:56:57 +00:00
Jakub Kuczys
d5b27f71b6 [3.4] Bump Red-Lavalink version to 0.9.4 (#5828) 2022-08-15 11:57:33 +02:00
Jakub Kuczys
af0da1b380 [3.4] Use the new ready line from LL dev build 1352+ (#5775) (#5826)
* Revert "Wait for two 'Started Launcher' lines before connecting to managed LL (#5751)"

This reverts commit cf85a6470f.

* Use the new ready line from LL dev build 1352+
(cherry picked from commit a32f10d758)

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-08-14 21:12:16 +02:00
Jakub Kuczys
ab767dbee5 [3.4] Drop openSUSE Leap 15.2, add openSUSE Leap 15.4 (#5777) (#5825)
* Add openSUSE Leap 15.4 to list in version guarantees

* Drop openSUSE Leap 15.2
(cherry picked from commit 0cc964b87c)

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-08-14 20:50:42 +02:00
Red-GitHubBot
357808dea9 [3.4] Update documentation about messages intent (#5798) (#5800)
* Update documentation about messages intents

* Remove note

* Update screenshot
(cherry picked from commit a0f72ed7dd)

Co-authored-by: River <18037011+RheingoldRiver@users.noreply.github.com>

Co-authored-by: River <18037011+RheingoldRiver@users.noreply.github.com>
2022-08-14 18:38:45 +02:00
aikaterna
752bb5c955 [3.4] [Audio] Update application.yml for new Lavalink.jar (#5821)
Update application.yml
2022-08-13 21:29:43 +02:00
aikaterna
1c7b990dcc [3.4] [Audio] Update Lavalink.jar build (#5822)
Update manager.py for the new build number
2022-08-13 20:58:50 +02:00
Red-GitHubBot
33ad3d2166 [3.4] Remove Temurin version pin on Windows (#5815) (#5816)
(cherry picked from commit 87a9c10369)

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

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-08-10 03:32:13 +02:00
github-actions[bot]
6f287ec2f3 [3.4] Version bump to 3.4.18.dev1 (#5770)
Version bump to 3.4.18.dev1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-07 06:34:07 +02:00
github-actions[bot]
cad381cc78 [3.4] Version bump to 3.4.17 (#5767)
Version bump to 3.4.17

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-07 05:43:23 +02:00
Red-GitHubBot
d7e7a39a96 [3.4] Red 3.4.17 - Changelog (#5763) (#5764)
(cherry picked from commit c00f8b3aab)

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

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-06-07 05:43:01 +02:00
github-actions[bot]
4be15c9832 [3.4] [i18n] Automated Crowdin downstream (#5768)
Automated Crowdin downstream

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-07 05:42:35 +02:00
Red-GitHubBot
e9a9b22d0f [3.4] Include commit hash for each cog inside [p]cog listpinned (#5563) (#5761)
* [3.4] Include commit hash for each cog inside `[p]cog listpinned` (#5563)

* Initial commit

* Necessary amendments/changes

* style changes (i knew id have to do this...)

* Use inline()

(cherry picked from commit 9c11e85bb4)

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

* Don't use _() inside f-strings in 3.4 as it uses older redgettext

* style

Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-06-05 19:38:55 +02:00
Red-GitHubBot
f9b6f05415 [3.4] Allow sending the file in follow-up message in ACL upload commands (#5685) (#5760)
Added follow up message when uploading acl file in permissions cog.
(cherry picked from commit 5522f909bd)

Co-authored-by: Matt Chandra <55866950+matcha19@users.noreply.github.com>

Co-authored-by: Matt Chandra <55866950+matcha19@users.noreply.github.com>
2022-06-05 15:53:41 +00:00
Jakub Kuczys
b4af4f650c [3.4] Prepend emojis to better differentiate between [p]canrun responses (#5711) (#5759)
* Add emojis to better differentiate between canrun responses

* Apply `success()`

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

* Apply `error()`

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

* add imports

(cherry picked from commit 1fd9324171)

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

Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
2022-06-05 15:45:53 +00:00
Jakub Kuczys
c4637aa02b [3.4] [Modlog] Check if guild is unavailable (#5647) (#5758)
fix for  AttributeError: 'NoneType' object has no attribute 'guild_permissions'
(cherry picked from commit 485e6837ca)

Co-authored-by: Candy <28566705+mina9999@users.noreply.github.com>

Co-authored-by: Candy <28566705+mina9999@users.noreply.github.com>
2022-06-05 15:23:38 +00:00
Red-GitHubBot
c7ba118e7c [3.4] Add use_spoilers property to TRIVIA_LIST_SCHEMA schema (#5566) (#5757)
* Add `use_spoilers` to schema

* Update session.py

(cherry picked from commit cc3c1a6a95)

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

Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-06-05 15:09:47 +00:00
Red-GitHubBot
be8df25ecf [3.4] Escape Discord's formatting in [p]servers command (#5744) (#5756)
* Escape formatting in `[p]servers` command

* style...
(cherry picked from commit 9d50a851eb)

Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
2022-06-05 14:22:02 +00:00
Red-GitHubBot
f1d359f816 [3.4] Use Guild.fetch_ban() over Guild.bans() (#5656) (#5748)
(cherry picked from commit d932abad16)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2022-06-05 16:02:32 +02:00
Jakub Kuczys
25019d562b [3.4] Add RHEL 9 (+ derivatives) install guide (#5721) (#5755)
* rhel->rhel8 rename of the include file for install guides

* Add RHEL 9

* Add Alma, Oracle, and Rocky Linux 9 pre-emptively

* Add Alma Linux 9 EOL date.
(cherry picked from commit ee69f6e17f)

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-06-05 04:16:45 +02:00
Jakub Kuczys
1e95063859 [3.4] Update Visual Studio Build Tools to 2022 (#5702). (#5754)
(cherry picked from commit 22ede49462)

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-06-05 02:10:26 +00:00
Jakub Kuczys
a34bab9881 [3.4] Add Ubuntu 22.04 install guide (#5720) (#5753)
* Add Ubuntu 22.04 install guide

* Add Ubuntu 22.04 to End-user guarantees

* Add missing information about supported arches in install guide.
(cherry picked from commit e93057093e)

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-06-05 01:11:25 +00:00
Jakub Kuczys
842096171e [3.4] Wait for two 'Started Launcher' lines before connecting to managed LL (#5751) (#5752)
[3.4] Wait for two 'Started Launcher' lines before connecting to managed LL (#5751).
(cherry picked from commit cf85a6470f)

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-06-05 02:51:56 +02:00
Jakub Kuczys
f436998625 [3.4] Bump minimum Fedora version to 35 (#5701) (#5750)
[3.4] Add Fedora 36 and RHEL 8.6 to list in version guarantees (#5701)

* Add Fedora 36 to list in version guarantees

* Add RHEL 8.6

* Drop Fedora Linux 34.
(cherry picked from commit 9cdcf07773)

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-06-04 15:37:56 +00:00
Red-GitHubBot
6f58ddd520 [3.4] Use Temurin 11 instead of discontinued AdoptOpenJDK on macOS (#5718) (#5749)
(cherry picked from commit 6bb11ad227)

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

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-06-04 13:26:27 +00:00
Red-GitHubBot
33f6193bcb [3.4] [General] update [p]serverinfo 1 guild features. (#5655) (#5747)
(cherry picked from commit 23023da09c)

Co-authored-by: MAX <63972751+ltzmax@users.noreply.github.com>

Co-authored-by: MAX <63972751+ltzmax@users.noreply.github.com>
2022-06-04 01:15:24 +00:00
Red-GitHubBot
032fe6906b [3.4] Add FIFA World Cup Trivia List (#5639) (#5746)
* Create fifa world cup trivia

* fix formatting

* add source

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

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

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

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

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

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

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

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

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

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

* Netherlands change

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

* Add Estadio Nacional Julio Martínez Prádanos

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

* Add various rasunda alternatives

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

* Add Republic of South Africa

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

* Add various alternative names for Soccer City

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

* Add alternatives for Luzhniki Stadium

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

* Add Estádio Jornalista Mário Filho and Maracana alternatives

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

* Add alternatives for Stade de Colombes

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

* Add various match-ups for 2 year combos

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

* Add Empire Stadium alias to Wembley

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

* Add Estádio Jornalista Mário Filho to Maracana

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

* Add alternatives for International Stadium

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

* Add alternatives for Monumental de Núñez

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

* Treat double year as literal string

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

(cherry picked from commit 22df591db2)

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

Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2022-06-04 01:14:32 +00:00
Red-GitHubBot
95fe193871 [3.4] Various updates to geography trivia (#5638) (#5745)
* Various updates to geography trivia

* Remove discriminator from AUTHOR key
(cherry picked from commit 955b40ac6d)

Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
2022-06-04 01:13:23 +00:00
Red-GitHubBot
9ff2085b94 [3.4] Avoid potential memory leak in Filter cog (#5578) (#5735)
(cherry picked from commit eeffbf8231)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2022-06-04 03:05:44 +02:00
Red-GitHubBot
d8bbf1c4c7 [3.4] Catch overflow errors for mutes time conversion (#5605) (#5739)
(cherry picked from commit c8ff3c4cce)

Co-authored-by: TrustyJAID <TrustyJAID@gmail.com>

Co-authored-by: TrustyJAID <TrustyJAID@gmail.com>
2022-06-04 03:04:13 +02:00
Red-GitHubBot
d88bdba092 [3.4] Update discord-ext-menus vendor to latest commit (#5579) (#5736)
Vendor `discord.ext.menus` from commit `fbb8803779373357e274e1540b368365fd9d8074` at Rapptz/discord-ext-menus
(cherry picked from commit 78dc1d4cd8)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2022-06-04 03:03:25 +02:00
Red-GitHubBot
e92a25a1b5 [3.4] Fix spelling error (#5588) (#5737)
(cherry picked from commit 2ee64618af)

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
2022-06-04 03:03:00 +02:00
Red-GitHubBot
bc9404e9b2 [3.4] Fix grammar in uptime command (#5596) (#5738)
(cherry picked from commit 58d8cb4d1f)

Co-authored-by: TrustyJAID <TrustyJAID@gmail.com>

Co-authored-by: TrustyJAID <TrustyJAID@gmail.com>
2022-06-04 03:02:52 +02:00
Red-GitHubBot
9d81cdf4ea [3.4] Update Kazakh Capital City Answer (#5599) (#5740)
(cherry picked from commit 335988c916)

Co-authored-by: Leothelion <zkogdxdkur@p.monash.edu>

Co-authored-by: Leothelion <zkogdxdkur@p.monash.edu>
2022-06-04 03:02:25 +02:00
Red-GitHubBot
17f7bd15bf [3.4] Reference how to reply in the [p]contact command with embed settings (#5529) (#5733)
(cherry picked from commit c9a0971945)

Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
2022-06-04 03:02:04 +02:00
Red-GitHubBot
3fbf426003 [3.4] add timestamps to all audio embeds (#5632) (#5741)
(cherry picked from commit 78e64ec559)

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

Co-authored-by: Draper <27962761+Drapersniper@users.noreply.github.com>
2022-06-04 03:01:37 +02:00
Red-GitHubBot
aa2214f13f [3.4] Fix typo in Audio seek command description (#5530) (#5734)
(cherry picked from commit 05cd11b657)

Co-authored-by: untir_l <87096069+untir-l@users.noreply.github.com>

Co-authored-by: untir_l <87096069+untir-l@users.noreply.github.com>
2022-06-04 03:00:59 +02:00
Red-GitHubBot
432de5cca8 [3.4] [Audio] Fix UnboundLocalError in edge case (#5394) (#5732)
* Fix UnboundLocalError in edge case

* Fix typehint for fetch

* Style
(cherry picked from commit b05933274a)

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

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2022-06-04 03:00:51 +02:00
Red-GitHubBot
bbd71cf6e3 [3.4] [Audio] Update Lavalink.jar build (#5712) (#5714)
(cherry picked from commit 1e8f4fc2a2)

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-06-04 03:00:29 +02:00
Red-GitHubBot
e09f9a4914 [3.4] Replace removed git224 package with git236 in CentOS 7 guide (#5700) (#5731)
(cherry picked from commit 3f1d02598e)

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

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-06-02 11:01:52 +00:00
Red-GitHubBot
aee9961dba [3.4] Pin Temurin version on Windows until fixed version exists (#5717) (#5730)
(cherry picked from commit 53bf387f01)

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

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-06-02 10:57:34 +00:00
Jakub Kuczys
ff21429f2b [3.4] Add CentOS Stream 9 docs (#5537) (#5729)
(cherry picked from commit 61c73f2f1f)

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2022-06-02 12:48:10 +02:00
Jakub Kuczys
afaa1e2846 [3.4] Bump Python version in install guides to 3.9.13 (#5719)
Bump Python version in install guides to 3.9.13
2022-06-02 12:47:54 +02:00
Red-GitHubBot
e71415c7cd [3.4] Remove specific number of steps in update docs (#5556) (#5727)
* change 4 to a few bc 4 is a lie

* wait linux exists

* Apply suggestions from code review

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

(cherry picked from commit 9ab307c1ef)

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

Co-authored-by: Vexed <vex@vexcodes.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2022-06-02 12:46:47 +02:00
Red-GitHubBot
65779cf70b [3.4] Emphasize lines with things to replace in autostart guides (#5548) (#5726)
* Emphasize lines with things to replace in autostart guides

* Use 'default' pygments style instead
(cherry picked from commit 669f3e3073)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2022-06-02 12:46:34 +02:00
Red-GitHubBot
a3a6e5cbaf [3.4] Disallow crawling of versioned documentation in robots.txt (#5549) (#5725)
(cherry picked from commit e33985f969)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2022-06-02 12:46:15 +02:00
Red-GitHubBot
dce0b713fe [3.4] Use absolute path to which to avoid aliases (#5547) (#5724)
(cherry picked from commit 841b922e9c)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2022-06-02 12:45:48 +02:00
Red-GitHubBot
07d165aeb7 [3.4] Fix for using redbot name --edit for changing data location (#5541) (#5723)
* Update __main__.py

* style
(cherry picked from commit d13d02ebfc)

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
2022-06-02 12:44:10 +02:00
Red-GitHubBot
1ffdefc922 [3.4] Fix changing instance name with redbot --edit (#5540) (#5722)
(cherry picked from commit 1cf497b128)

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
2022-06-02 12:44:02 +02:00
Jakub Kuczys
ef43cc53bc [3.4] Bump Red-Lavalink to version 0.9.3 (#5716) 2022-06-02 12:38:58 +02:00
Red-GitHubBot
95583f03ee [3.4] Update Downloader's git tests to work with Git 2.36+ (#5690) (#5715)
There's no need to update RepoManager's code as:
- regex for parsing output about ambiguous refs properly treats the date
  as part of description regardless of ref type
- code for checking if module exists doesn't use the contents of the error message;
  the test only really checks for it to make sure that it triggers the error case
  we're actually testing for. We could instead just remove it too.
(cherry picked from commit ec55622418)

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

Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
2022-05-31 23:11:01 +00:00
github-actions[bot]
35e54b8e82 [3.4] Version bump to 3.4.17.dev1 (#5524)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-31 19:32:40 +01:00
github-actions[bot]
2a25d7e7c1 [3.4] Version bump to 3.4.16 (#5522)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-31 19:17:29 +01:00
github-actions[bot]
e8245d5075 [3.4] [i18n] Automated Crowdin downstream (#5523)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-31 18:16:56 +00:00
Red-GitHubBot
9982ec93be [3.4] Red 3.4.16 - Changelog (#5520) (#5521)
* Red 3.4.16 - Changelog

* Add contribs!
(cherry picked from commit fbe378657c)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-31 19:10:13 +01:00
jack1142
b1159555e1 [3.4] Temporarily update Arch instructions (#5518) 2021-12-31 18:53:48 +01:00
jack1142
eba691f234 [3.4] Fix 'Red._app_info' attribute error (#5517) 2021-12-31 18:53:30 +01:00
github-actions[bot]
7f7ab1ccc7 [3.4] Version bump to 3.4.16.dev1 (#5515)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-31 02:48:47 +00:00
github-actions[bot]
7e9e596141 [3.4] Version bump to 3.4.15 (#5513)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-31 03:31:11 +01:00
github-actions[bot]
23b3144c84 [3.4] [i18n] Automated Crowdin downstream (#5514)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-31 03:30:33 +01:00
Red-GitHubBot
3e8b51e117 [3.4] Red 3.4.15 - Changelog (#5504) (#5512)
* [3.4] Red 3.4.15 - Changelog (#5504)

* Red 3.4.15 - Changelog

* Use stronger words

* Add jar stuff

* Add 5499

* Minor grammar stuff

* add 5472

* Add 5452

* Add 5448

* Add date and contributors

* Update docs/changelog_3_4_0.rst

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

* the other thing

(cherry picked from commit a4ba249e27)

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

* Red->RedBase

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2021-12-31 03:21:39 +01:00
Red-GitHubBot
7245c778e4 [3.4] Only check for permissions when check_permissions is True (#5510) (#5511)
(cherry picked from commit 1ecbe6cebb)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-31 03:03:11 +01:00
Red-GitHubBot
3045989a5f [3.4] [Events] Rename guild remove listener (#5498) (#5509)
* [Events] on_guild_leave => on_guild_remove

* [Events] on_guild_leave => on_guild_remove
(cherry picked from commit a787033e1d)

Co-authored-by: Just-Jojo <62262765+Just-Jojo@users.noreply.github.com>

Co-authored-by: Just-Jojo <62262765+Just-Jojo@users.noreply.github.com>
2021-12-31 01:24:06 +00:00
Red-GitHubBot
f500062979 [3.4] Add non-interactive mode to redbot-setup (#5448) (#5508)
* Simplify `redbot-setup backup` thanks to Click 8.0

* Add some of the missing type hints

* Fix unnecessary new lines in `redbot-setup` and `redbot-setup delete`

* Add default value for storage backend

* Add non-interactive mode to `redbot-setup`
(cherry picked from commit 8cc004f70f)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-31 02:11:11 +01:00
Red-GitHubBot
1027d95092 [3.4] Make embeds in help output consistent (#5452) (#5507)
* Add `check_permissions` kwarg to `bot.embed_requested()`

* Make embeds in help consistent regardless of why it's being sent
(cherry picked from commit ff7c146b62)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-31 01:03:11 +00:00
jack1142
fb08cd0520 [3.4] Fix error in tempban for guilds with unused vanity feature (#5472) 2021-12-31 01:45:55 +01:00
Red-GitHubBot
11cb5e3414 [3.4] Ensure Nitro users can't make CCs that are too long (#5499) (#5506)
* Ensure Nitro users can't make CCs that are too long

Co-authored-by: TrustyJAID <TrustyJAID@gmail.com>

* Tox formatting

* Update to account for edits and better handling of randoms

(cherry picked from commit faab711ec8)

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

Co-authored-by: Kowlin <Kowlin@users.noreply.github.com>
Co-authored-by: TrustyJAID <TrustyJAID@gmail.com>
2021-12-31 00:41:19 +00:00
Red-GitHubBot
bbfe0d24ad [3.4] Update Lavalink.jar, Red-Lavalink and make changes to support it (#5474) (#5505)
* Lavalink error handling update

* comment typo

* address review

* Update redbot/cogs/audio/core/events/lavalink.py

* Bump jar version

* Bump RLL version

(cherry picked from commit c49d0ec9d3)

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

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-31 00:18:03 +00:00
Red-GitHubBot
730c650bb4 [3.4] Fix short help in docstrings for core cogs and commands (#5502) (#5503)
* fix part of command description not appearing in the help command.

* Add more

(cherry picked from commit 337f58f9fb)

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

Co-authored-by: GhOsT <79806064+Arman0334@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-30 21:32:59 +00:00
Red-GitHubBot
cb4058ef10 [3.4] Allow mocking attachment-only msg, fix docstring, small refactor (#5446) (#5497)
* Use the logic from `[p]mock` in `[p]mockmsg`, fix docstring

* Let people mock attachment-only messages

* Use empty string, not None
(cherry picked from commit 9c05db1104)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-26 21:15:40 +00:00
Red-GitHubBot
09f19b0cf7 [3.4] Remove old note about updating Red in Unix install guides (#5439) (#5495)
This was removed long ago from the Windows guide (#4119) but it seems like we never got around to removing it from Unix install guides as well.
This note is rather inaccurate and the source of truth for updating Red is available in the Updating Red document.
(cherry picked from commit 90406be9ea)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-26 21:01:56 +00:00
jack1142
93d47c1192 [3.4] Update supported OSes (add Alma Linux, RPi OS 11, drop EOL OSes) (#5440) (#5496)
* Drop Fedora 33

By the time we release, it's going to reach EOL.

* Drop Raspberry Pi OS 10, add support for 11

* Bring RPi OS 10 back

* Add Alma Linux 8

* Fix-up RHEL EOL dates

* Add '(Legacy)' to Raspberry Pi OS 10

* Drop CentOS 8.
(cherry picked from commit d1df27bc14)

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-26 20:59:07 +00:00
Red-GitHubBot
44f4cb70de [3.4] Bump Python version in install guides to 3.9.9 (#5447) (#5494)
(cherry picked from commit e5b8fc4585)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-26 20:50:39 +00:00
Red-GitHubBot
19c710e63c [3.4] Make emptydisconnect disconnect when all vc members are bots (#5421) (#5492)
* [Audio] Disconnect from voice chat when every connected user is a bot

* Update condition according to code review

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

(cherry picked from commit 5a047bf979)

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

Co-authored-by: Parnassius <Parnassius@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-26 18:15:57 +00:00
Red-GitHubBot
2a23da302e [3.4] Make invite URL part of public API (#5424) (#5491)
* [3.4] Make invite URL part of public API (#5424)

* Make invite URL public API

* Add doc and RPC

* Lint

* Update redbot/core/core_commands.py

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

* Update redbot/core/bot.py

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

* RPC handling,

* Fix appinfo

* Change docs

* Fix docs

* Change docs

* Update redbot/core/core_commands.py

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

* Docstring changes

* nit

(cherry picked from commit 6297bfcab6)

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

* Red->RedBase

Co-authored-by: Stonedestroyer <1307729+Stonedestroyer@users.noreply.github.com>
Co-authored-by: Matt <psykzz@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-26 02:18:16 +00:00
Red-GitHubBot
5dfd4cf998 [3.4] Fix RPC cog load and unload by returning dicts (#5453) (#5490)
* use dicts for CoreLogic package management returns

* address review

* failed_packages->notloaded_packages in _unload

(cherry picked from commit d27dbded8a)

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

Co-authored-by: Vexed <vex@vexcodes.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-25 20:13:30 +00:00
Red-GitHubBot
5356cca6ec [3.4] Show role payday amounts in economyset showsettings (#5457) (#5489)
* [V3/develop] show RolePaydayAmounts in showsettings command

* Update economy.py

* Switch to using a list (nitpicky optimizations)

https://docs.python.org/3/faq/programming.html#what-is-the-most-efficient-way-to-concatenate-many-strings-together

* Mark the text as translatable

(cherry picked from commit a228a0d0b3)

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

Co-authored-by: Alex <58824393+vertyco@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-25 17:09:52 +00:00
Red-GitHubBot
c26a603c8d [3.4] isolate direction of username within modlog (#5422) (#5488)
* isolate direction of username within modlog

* Add link to Unicode's usage

(cherry picked from commit 7db3339aba)

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

Co-authored-by: Jan <sentrycraft123@gmail.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-25 16:35:41 +00:00
jack1142
a52356c031 [3.4] [Core] Changed prefix length to 40. (#5476) (#5487)
* Update core_commands.py

* Docs yes facebook's metaverse

*jokes on me*

* meta

* forgot here

* Update core_commands.py

* Forgot here

* And forgot here
(cherry picked from commit b091f13df5)

Co-authored-by: MAX <63972751+ltzmax@users.noreply.github.com>

Co-authored-by: MAX <63972751+ltzmax@users.noreply.github.com>
2021-12-25 04:17:20 +01:00
Red-GitHubBot
09adae5213 [3.4] [Config] Add type-hints to _ValueContextManager methods (#5344) (#5486)
Without these type-hints, I've found that PyCharm misidentifies the returned type, causing a number of false positives in static type checking.
(cherry picked from commit e878483318)

Co-authored-by: Toby Harradine <Tobotimus@users.noreply.github.com>

Co-authored-by: Toby Harradine <Tobotimus@users.noreply.github.com>
2021-12-25 02:21:45 +00:00
Red-GitHubBot
f59b7fce37 [3.4] Update host list with new locations for Hetzner and Contabo (#5475) (#5485)
(cherry picked from commit 551e6d9f55)

Co-authored-by: MAX <63972751+ltzmax@users.noreply.github.com>

Co-authored-by: MAX <63972751+ltzmax@users.noreply.github.com>
2021-12-25 02:13:54 +00:00
Red-GitHubBot
ee513731be [3.4] Fix issues with loading config.json when it doesn't exist (#5416) (#5484)
* catch and handle FileNotFoundError when using --no-instance when config.json does not already exist

* move load_existing_config to data_manager.py

* use load_existing_config in create_temp_config

* Fix import in redbot-launcher

(cherry picked from commit cef55459c6)

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

Co-authored-by: Vexed <vex@vexcodes.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-25 02:04:41 +00:00
Red-GitHubBot
5dd0c3b579 [3.4] Add necessary None checks to Core's usage of Requires.privilege_level (#5477) (#5483)
* Check if it has a privilege level

* Let's fix this in warnings too

(cherry picked from commit 5e527cb27d)

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

Co-authored-by: aleclol <50505980+aleclol@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-25 01:06:08 +00:00
jack1142
4afa4f77e0 [3.4] [Docs] Correct set api examples to be consistent for Spotify (#5444) (#5482)
* consistant usage

* switch audiodb to youtube

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>.
(cherry picked from commit bae85c35c1)

Co-authored-by: Ryan <yamikaitou@gmail.com>

Co-authored-by: Ryan <yamikaitou@gmail.com>
2021-12-25 00:21:25 +00:00
Red-GitHubBot
8c2d589c17 [3.4] Remove voice region field in [p]serverinfo (#5449) (#5481)
* [General] Remove guild region on serverinfo

* Remove in string too.
(cherry picked from commit 4e469ce15e)

Co-authored-by: PredaaA <46051820+PredaaA@users.noreply.github.com>

Co-authored-by: PredaaA <46051820+PredaaA@users.noreply.github.com>
2021-12-25 00:05:23 +00:00
Red-GitHubBot
c7a4a0feaf [3.4] Restrict [p]cleanupset notify to guild only (#5466) (#5480)
(cherry picked from commit e068294cc8)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-12-24 23:56:46 +00:00
Red-GitHubBot
cb5eafb9e3 [3.4] Add plural forms to the responses of [p]leave command (#5391) (#5479)
* Improve the response of `[p]leave` command

* Update core_commands.py

* Update core_commands.py

* style?

* fix maybe

* black

* fixed typo in docstring

* aaa

* style

* Few more changes

(cherry picked from commit 2c51182e8e)

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

Co-authored-by: krak3n <84792368+the-krak3n@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-12-24 23:52:46 +00:00
Red-GitHubBot
de3ec3f26a [3.4] [Mod] Typo in unban command (#5470) (#5478)
(cherry picked from commit 442cad7917)

Co-authored-by: sravan <miniclip1956@gmail.com>

Co-authored-by: sravan <miniclip1956@gmail.com>
2021-12-23 01:53:31 +00:00
Red-GitHubBot
5987f9aabc [3.4] Address common issues with load path configuration in docs (#5356) (#5436)
* Add instructions on how to add pyenv to load path

* Support zsh in pyenv load path instructions

* Make instructions for Mac work when shell-specific profile file exists

* Includes are weird...

* .

* Fix my misunderstanding of what files zsh sources

* Operator precedence, or something like that
(cherry picked from commit 78c92cc766)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-11-02 20:42:05 +01:00
Red-GitHubBot
ea6eeedadf [3.4] Try to fix base branch in Publish Release workflow *again* (#5340) (#5434)
(cherry picked from commit f071ec09e2)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-11-02 12:03:53 +00:00
Red-GitHubBot
9f359dda26 [3.4] Modernize syntax in chat formatting module and add success() (#5427) (#5428)
* Downloader's plurial & Fix

* Don't forget pipinstall

* Fix syntax issue

* This f****** fix that took me too much of my time for nothing.

* Black

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Fix Jack's syntax, remove numbers & fix bad calculated cogs

* Black ofc

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Update redbot/cogs/downloader/downloader.py

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

* Address my review comment

* Simplify

* this is kinda a lot but shh

* Change format to f-string

* Add success function to char_formatting

* Revert "Merge branch 'V3/develop' of github.com:Predeactor/Red-DiscordBot into master/chat-formatting-enhancement"

This reverts commit c338da7b66, reversing
changes made to f2422ad782.

* For once I would have appreciated if style checks were failing...

(cherry picked from commit 483ef36d1b)

Co-authored-by: Predeactor <61093863+Predeactor@users.noreply.github.com>
Co-authored-by: Predeactor <ubuntu@vps-35e65bf5.vps.ovh.net>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

Co-authored-by: Predeactor <61093863+Predeactor@users.noreply.github.com>
Co-authored-by: Predeactor <ubuntu@vps-35e65bf5.vps.ovh.net>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-10-27 14:36:25 +02:00
Red-GitHubBot
1040883913 [3.4] Fix CodeQL workflow (#5412) (#5414)
The new pip 21.3 (released 2021-10-11) uses in-tree builds when `pip install .` is used (see [release notes](https://pip.pypa.io/en/stable/news/#v21-3) and [implementation PR](https://github.com/pypa/pip/pull/10495)). This means CodeQL will see all files twice (once in the real location that is part of this repository, and one in the copy in the `build/` dir), which trips up the analysis.

When an editable install is used instead with `pip install -e .`, there is no `build/` dir, so the analysis will work again.
(cherry picked from commit 42293afd43)

Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>

Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2021-10-20 14:53:53 +00:00
Red-GitHubBot
7268a8e774 [3.4] [Docs] Removes LXC as an unsupported hosting platform (#5351) (#5411)
(cherry picked from commit a70f0b7872)

Co-authored-by: Crossedfall <ping@crossedfall.io>

Co-authored-by: Crossedfall <ping@crossedfall.io>
2021-10-20 10:12:49 +00:00
Red-GitHubBot
86edf0de53 [3.4] Update JDK URL and add Python version upper-bound in Windows guide (#5403) (#5410)
* Update Java URL

* Update choco package as well

* Use Windows-specific URL for Python downloads

(cherry picked from commit 4348318fd1)

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

Co-authored-by: Ryan <git@yamikaitou.dev>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-10-20 09:43:18 +00:00
Red-GitHubBot
59c92041fc [3.4] [Admin] Add [p]selfroleset clear command (#5387) (#5409)
(cherry picked from commit b64ece3ee9)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-10-19 12:28:10 +02:00
Red-GitHubBot
3cf0d5ebe9 [3.4] [Mutes] Fix vars not getting formatted due to previous PR (#5404) (#5405)
* Fix vars not getting formatted due to #5364

* Only format a second time if needed

* Format only on string literals
(cherry picked from commit d56f31a708)

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

Co-authored-by: Flame442 <34169552+Flame442@users.noreply.github.com>
2021-10-17 02:58:40 +02:00
Red-GitHubBot
65344378f6 [3.4] Update the timestamping we forgot to Discord compatible timestamping (#5395) (#5401)
(cherry picked from commit 67bcd72d9c)

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

Co-authored-by: Kowlin <Kowlin@users.noreply.github.com>
2021-10-16 19:40:14 +00:00
Red-GitHubBot
bd010fdae5 [3.4] [Downloader] Show repo name in findcog (#5383) (#5400)
* show repo name in findcog

* how did i manage to overcomplicate this?

* for Kreusada

* I wanted to do that... but forgot
(cherry picked from commit 1d34e9e47b)

Co-authored-by: Dav <dav@mail.stopdavabuse.de>

Co-authored-by: Dav <dav@mail.stopdavabuse.de>
2021-10-16 00:12:37 +00:00
Red-GitHubBot
33ed1085ab [3.4] Fix descriptions for examples of ID-based command invocations in Mod (#5372) (#5399)
* Fix wording in redbot/cogs/mod/kickban.py to match with the command example

* Made changes as requested in PR Review #770078179

* Added changes to docs/cog_guides/mod.rst as requested in PR Review #70784066

* Fixed kick wording

* Fix kick wording
(cherry picked from commit 9aee8ce28f)

Co-authored-by: WreckRox <24494367+WreckRox@users.noreply.github.com>

Co-authored-by: WreckRox <24494367+WreckRox@users.noreply.github.com>
2021-10-15 23:30:44 +00:00
Red-GitHubBot
41fa3f0310 [3.4] [Mod] Indicate successful run in [p]voicekick (#5367) (#5398)
(cherry picked from commit 17dc9e0c47)

Co-authored-by: krak3n <84792368+the-krak3n@users.noreply.github.com>

Co-authored-by: krak3n <84792368+the-krak3n@users.noreply.github.com>
2021-10-15 22:52:21 +00:00
Red-GitHubBot
542a7b3cb2 [3.4] Add a tick on traceback command when it's sent to DMs (#5353) (#5397)
* add a `tick` when sent to dm.

* confused ™️

* did i learn now? :P

* i'm not confused anymore :3
(cherry picked from commit b8535ee53e)

Co-authored-by: MAX <63972751+maxbooiii@users.noreply.github.com>

Co-authored-by: MAX <63972751+maxbooiii@users.noreply.github.com>
2021-10-15 22:48:49 +00:00
Red-GitHubBot
b8cf464355 [3.4] Do not include expected wait_for responses in translated strings (#5364) (#5396)
* Do not include 'I agree' prompt in translation string

* Add more stuff

* Address review comment

* Address review comments
(cherry picked from commit 4b70acb989)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-10-15 22:04:21 +00:00
Red-GitHubBot
4dc509c18f [3.4] Add optional message to send when bot can't react in ctx.tick() and ctx.react_quietly() (#4092) (#5392)
* Update context.py

* Pre-emptive check to avoid hitting the API
(cherry picked from commit 334cd4fa2a)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-10-15 16:46:05 +00:00
Red-GitHubBot
cda70a0c6a [3.4] Improve helpset showaliases docstring (#5376) (#5377)
(cherry picked from commit a8f35f762c)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-10-07 19:48:47 +00:00
Red-GitHubBot
9ca977ba81 [3.4] [Audio] Remove extra whitespace (#5366) (#5370)
(cherry picked from commit 6eb922e7d9)

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
2021-10-03 19:12:11 +00:00
Red-GitHubBot
4331004dc1 [3.4] fix possible issue when joined_at is None (#5361) (#5365)
(cherry picked from commit b4037a80d8)

Co-authored-by: Fixator10 <github@fixator10.ru>

Co-authored-by: Fixator10 <github@fixator10.ru>
2021-10-02 17:13:25 +00:00
Red-GitHubBot
042731a7ed [3.4] Initialize driver before starting the backup (#5315) (#5342)
(cherry picked from commit cb18a66336)

Co-authored-by: El Laggron <laggron42@gmail.com>

Co-authored-by: El Laggron <laggron42@gmail.com>
2021-09-23 20:41:16 +00:00
jack1142
bf5e2a4424 [3.4] Version bump to 3.4.15.dev1 (#5341) 2021-09-23 20:37:51 +00:00
github-actions[bot]
029a7fffcb [3.4] Version bump to 3.4.14 (#5338)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-23 21:24:19 +02:00
github-actions[bot]
0096f874a4 [3.4] [i18n] Automated Crowdin downstream (#5339)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-23 21:24:11 +02:00
Red-GitHubBot
07e7594308 [3.4] Red 3.4.14 - Changelog (#5335) (#5337)
* Red 3.4.14 - Changelog

* Add contributor list

* proofreading 1

* Fix plural form
(cherry picked from commit cddd99eba7)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-23 19:10:37 +00:00
Red-GitHubBot
6a4a0b4bb3 [3.4] Update some link texts in docs for accessibility (#5310) (#5336)
* Update some link texts for accessibility

* Fix stuff nearby while we're here

* Reword links to DigitalOcean

* Use better link text for `[p]triviaset custom`

(cherry picked from commit 92cabd134d)

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

Co-authored-by: River <18037011+RheingoldRiver@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-23 18:43:48 +00:00
Red-GitHubBot
dca082f20e [3.4] Maybe fix the base branch used in dev bump automation (#5307) (#5334)
(cherry picked from commit 2c8c97490b)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-23 15:58:10 +00:00
Red-GitHubBot
dfe03b9cad [3.4] Only initialize and teardown driver if actually needed (#5313) (#5333)
* Fix #5312

* Update setup.py

* put db actions under one if statement

* check backend type and improve displayed message

* accept format fix

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

* fix whitespace

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

* separate datapath delete from data delete

* Fix indentation

* Call `driver_cls.initialize()` outside try-finally

* Backup requires db server to run too + some simplifications

(cherry picked from commit 2ce8e65527)

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

Co-authored-by: Leet <36166244+L33Tech@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-23 15:36:39 +00:00
Red-GitHubBot
3865449d3b [3.4] Use discord native timestamp in [p]uptime (#5323) (#5332)
* support for discord's timestamp on uptime

* woops not supposed to remove `_`.

* ups

* ups x2

* Apply suggested change.

* hehe
(cherry picked from commit d69326b1fe)

Co-authored-by: MAX <63972751+maxbooiii@users.noreply.github.com>

Co-authored-by: MAX <63972751+maxbooiii@users.noreply.github.com>
2021-09-23 14:29:01 +00:00
Red-GitHubBot
39169703a7 [3.4] Split documents per OS, fix few things, drop and add few OSes (#5328) (#5331)
* Exclude include files from being built

* Split install guides into multiple documents (one per OS/version combo)

* Update references

* Unify anchor names

* Update pyenv requirements in CentOS 7 guide

* Update install guides for RHEL derivatives to not use pyenv

* Add guide for Rocky Linux 8

* 8.4+ -> 8.4-8.x

* Add 'the'
(cherry picked from commit cbbb9d9b9b)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-23 03:28:59 +00:00
Red-GitHubBot
55d748147d [3.4] [Audio] Update Lavalink.jar build (#5329) (#5330)
(cherry picked from commit b2e9b38a03)

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
2021-09-23 02:35:43 +02:00
Red-GitHubBot
7bf8bd5a93 [3.4] Fix Case's modified_at attr and its format in message content (#5317) (#5319)
* Fix modified_at field to properly format.

* let's just fix the type hints

(cherry picked from commit 89e3a78ead)

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

Co-authored-by: Kowlin <Kowlin@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-14 00:44:10 +00:00
jack1142
931eb312b2 [3.4] Version bump to 3.4.14.dev1 (#5308) 2021-09-10 01:10:38 +02:00
github-actions[bot]
1eaa51e013 [3.4] Version bump to 3.4.13 (#5304)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-09 23:58:22 +02:00
github-actions[bot]
539e0b2c14 [3.4] [i18n] Automated Crowdin downstream (#5305)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-09 21:57:53 +00:00
Red-GitHubBot
addc633425 [3.4] Red 3.4.13 - Changelog (#5302) (#5303)
* Add 3.4.13 section

* PR 5156 (issue 4997)

* PR 5178 (issue 5177)

* PR 5185, 5187

* PR 5184

* PR 5186

* PR 5165

* PR 5188

* PR 5225

* PR 5180

* PR 5181 (issue 4868)

* PR 5221 (issue 5216)

* PR 4659 (issue 4571)

* PR 5173

* PR 5155, 5241

* PR 5199

* PR 5205 (issue 4074)

* PR 5238 (issue 5237)

* PR 5169

* PR 5214

* PR 4981 (issue 4841)

* PR 4837 (issue 4836)

* PR 5218 (issue 4732)

* PR 5233

* PR 5211 (issue 5187)

* PR 5108

* PR 5223 (issue 5195)

* PR 5234

* PR 5243 (issue 4717)

* PR 5000 (issue 4140)

* PR 5206 (issue 5171)

* PR 5121 (issue 4655)

* PR 5217 (issue 5213)

* PR 5037

* PR 5109, 5163, 5172, 5191

* PR 4968

* PR 5048, 5092, 5149, 5207, 5209, 5215, 5219, 5220

* Fill 'Read before updating' section

* Add contributor list

* few fixes

* Apply suggestions from code review

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

(cherry picked from commit eeed082542)

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
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>
2021-09-09 21:50:38 +00:00
Red-GitHubBot
00adb15be0 [3.4] Add RelativedeltaConverter and parse_relativedelta (#5000) (#5300)
* Added years and months to parse_timedelta

* Added new parse_datetimedelta along with classes for relative dates

* Switched datetime as dt to just datetime for clarity

* Changed to returning relativedelta instead of datetime

* Fixed single char typo

* After some digging, removed min and max from relative delta b/c of https://github.com/dateutil/dateutil/issues/350

* Add dateutil to intersphinx mapping

* Change uppercase D in RelativeDeltaConverter to a lowercase D

* Fix cross-references in docstrings

* Add new class and methods to __all__

* Remove get_relativedelta_converter()

* style

* Fix name of parse_relativedelta test

* more style

* Re-export new class and function in `redbot.core.commands`

(cherry picked from commit ed9bb77eec)

Co-authored-by: Zoë F <zoe@dataleek.io>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

Co-authored-by: Zoë F <zoe@dataleek.io>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 23:04:05 +02:00
Red-GitHubBot
ad5a5017b6 [3.4] Add CommandConverter and CogConverter + add usage in Core (#5037) (#5299)
* add commands, cog converter

* properly use type_checking

* make core commands use command converter

* update commands to use cogconverter

* fix undefined variable name, style

* Update redbot/core/commands/converter.py

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

* Update redbot/core/commands/converter.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>

* Update redbot/core/core_commands.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>

* Update redbot/core/core_commands.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>

* update cog argument names

* update documentation arg names

* update more docs

* This new Sphinx is annoying about this...

* I'm questioning my skills

* Fix name error in `[p]embedset showsettings` when command is not given

* Do not use the new cog converter in `[p]command enablecog`

This is needed so that a cog that isn't loaded but was disabled
can be enabled back.

(cherry picked from commit e5b236fb1c)

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

Co-authored-by: PhenoM4n4n <61065078+phenom4n4n@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:56:20 +02:00
Red-GitHubBot
9482f0c60c [3.4] [Docs] Update Cleanup docs with new cleanupset command group (#5245) (#5298)
* Add cleanupset commands to cleanup docs

* fix spacing

* shown -> sent

* update command docstring

* Fix trailing whitespace and use same style for docs

(cherry picked from commit 63fd7cc95f)

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

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:52:14 +02:00
Red-GitHubBot
0b8747c49b [3.4] Add Debian 11 to install guide and clarify "Buster" as Debian 10 (#5217) (#5297)
* Clarify Debian 10 as "Buster"

* Add Debian 11 Install

* This typo would of bugged my OCD...

* Clarify Debian 10 as "Buster"

* Add Debian 11 Install

* This typo would of bugged my OCD...

* Add apt upgrade line to doc

* Removing dupe for Debian 11
I'm not sure how that happened, but oh well...
(cherry picked from commit 33dddaf5b4)

Co-authored-by: Ryan <twinshadow@shadowhime.net>

Co-authored-by: Ryan <twinshadow@shadowhime.net>
2021-09-08 22:49:56 +02:00
Red-GitHubBot
3c34af5e82 [3.4] Update deps, allow Python 3.9, drop Fedora 32 (#5121) (#5296)
* Update deps + allow Python 3.9

* Add in updates from Jack's branch

* Fix multiple target for cross-reference warnings

* Update a few more Python 3.8 occurrences

* Bump further

* Don't install tox in CodeQL environment

* Bump Python version in docs to 3.9.7

* more bumps

* Add missing pin

* Stop using the deprecated distro.linux_distribution()

* Suppress deprecation warning

* Fix OpenSUSE Leap instructions

* Drop Fedora 32

* Add Python 3.10-dev to CI

* meh

(cherry picked from commit 3254698c78)

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

Co-authored-by: palmtree5 <3577255+palmtree5@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:46:59 +02:00
Red-GitHubBot
c739500a13 [3.4] [Core] Add more APIs for allowlists and blocklists (#5206) (#5295)
* [Core] Blacklist api

* [Core] Use to_add, remove star from other method calls

* various touch ups

* style

* fix doc style

* [Core] Remove iterable import

* [Core] Update commands to use the blacklist/whitelist api

* Change signatures to not use `*args`

* Update all usage of private cache to the new public APIs

* Update the docstrings

* Update the usage in diagnoser

(cherry picked from commit 0dded8aa47)

Co-authored-by: Just-Jojo <62262765+Just-Jojo@users.noreply.github.com>
Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>

Co-authored-by: Just-Jojo <62262765+Just-Jojo@users.noreply.github.com>
Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:43:45 +02:00
Red-GitHubBot
373c04de11 [3.4] Add [p]diagnoseissues command (#5243) (#5294)
* Split `Requires._transition_state` into reusable methods for Diagnoser

* (style) Fix line length

* Add missing .format()

* Add handling for user permissions, privilege level, Permissions rules

* Add missing awaits, use correct method in user perms check, add 'the'

* Fix .format() fields

* Add comment

* Add new file to labeler's configuration

* Add the command to the documentation

* All the work from DiagnoserCog

You can find the commit history of it here:
https://github.com/jack1142/DiagnoserCog

* Fix circular import

* Make channel argument optional

* Add a tip about channels from different servers
(cherry picked from commit 86649e897f)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:40:25 +02:00
Red-GitHubBot
2ae54c837f [3.4] Update Mac OS instructions to work properly on Apple Silicon (#5234) (#5293)
(cherry picked from commit d84c8efa34)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:37:38 +02:00
Red-GitHubBot
df19bfe679 [3.4] Improve and add more usage of discord timestamps (#5241) (#5292)
* Improve and add more usage of discord timestamps

* How did that whitespace get there?
(cherry picked from commit a0a433b13d)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:35:27 +02:00
Red-GitHubBot
ded19fe4fe [3.4] [Cleanup] Handle NotFound error of prompt in check_100_plus (#5191) (#5291)
* [Cleanup] Handle HTTPException of prompt in check_100_plus

* Update redbot/cogs/cleanup/cleanup.py

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

(cherry picked from commit 4366af6f6c)

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

Co-authored-by: PredaaA <46051820+PredaaA@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:32:11 +02:00
Red-GitHubBot
ca3b314b5b [3.4] [Trivia] Handle potential Discord errors in session (#5172) (#5290)
* [Trivia] Handle potential Discord errors in session.

* Hm why did I put HTTPException in there

* Revert "Hm why did I put HTTPException in there"

This reverts commit dc5cb990cb.

* Revert "[Trivia] Handle potential Discord errors in session."

This reverts commit d90e45f9e0.

* Handle Discord errors in _error_handler.
(cherry picked from commit 42edb12b2e)

Co-authored-by: PredaaA <46051820+PredaaA@users.noreply.github.com>

Co-authored-by: PredaaA <46051820+PredaaA@users.noreply.github.com>
2021-09-08 22:28:31 +02:00
Red-GitHubBot
b03e582e21 [3.4] [Streams] Check non-existent streams more than once (#5223) (#5289)
* [Streams] Check non-existent streams more than once

- For YouTube streams, it seems like the RSS feed may sometimes return
  an HTTP 404 for a channel, even though the channel exists.
- If this happens more than a few times, then we should declare the
  stream as non-existent, and purge it from the list of streams we
  check.

* [Streams] Move retry_count reset for YouTubeStream

- Reset after the RSS check, since that is the only place where we raise
  StreamNotFound in that function.

* [Streams] Increase retry to 20

* [Streams] Reduce retry count to 10
(cherry picked from commit 36ea867dcf)

Co-authored-by: Lui <injabie3@gmail.com>

Co-authored-by: Lui <injabie3@gmail.com>
2021-09-08 22:26:24 +02:00
Red-GitHubBot
147c032788 [3.4] Add commands for editing aliases (#5108) (#5288)
* [Alias] Added alias edit and alias global edit

* Comment and whitespace only changes

* Docstring fix

* Remove more whitespace

* Add `the` before some English purists make a PR for this...

(cherry picked from commit cad7f400f9)

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

Co-authored-by: Samuel <50765275+npc203@users.noreply.github.com>
Co-authored-by: npc203 <npc203@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:24:17 +02:00
jack1142
74af8f006e Invalidate cache in filter clear commands
(cherry picked from commit 6d40de8da3)
2021-09-08 22:21:53 +02:00
Red-GitHubBot
05582c8636 [3.4] [Mod] Add user hierarchy check to [p]rename (#5211) (#5287)
* added hierarchy check for rename

added hierarchy check for rename from utils

* format and self check

changed formats and added statement if me != member

* black format

apply black formatting and fix typo

* tox style

tox i guess

* tox again

:<

* Update redbot/cogs/mod/names.py

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

* Fix styling

(cherry picked from commit 8880251749)

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

Co-authored-by: Enul <xchedeiklo@gmail.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:19:56 +02:00
Red-GitHubBot
58158ff024 [3.4] [Audio] Update Lavalink.jar build (#5233) (#5286)
(cherry picked from commit 17d24b28f1)

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
2021-09-08 22:18:20 +02:00
Red-GitHubBot
dcee2077c0 [3.4] Add toggleable notification of deleted messages count in Cleanup (#5218) (#5285)
* Addition of cleanup notification.

* black

* subtract invoking message from count

* Update redbot/cogs/cleanup/cleanup.py

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

* be explicity about kwarg

* address review

* style

* Fix type hints

(cherry picked from commit c4f8f65d4d)

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

Co-authored-by: Jamie <31554168+flaree@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:16:37 +02:00
Red-GitHubBot
2d0d5b5be1 [3.4] [Mod] Send ban reason on Temp Bans (#4837) (#5284)
* [Mod] Send ban reason on Temp Bans

* If none

* Locale friendly

* Fixes for black style

* Use double line break to distinguish between reason header

* Check settings

* Black

* Reduce the number of config calls

* remove additional config call

* fixes

* style

* We're already in `if reason` so this is always True

(cherry picked from commit 4e2e4bfe6a)

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

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:14:58 +02:00
Red-GitHubBot
119550739e [3.4] [Filter] Add filter clear commands (#4981) (#5283)
* [Filter] Add filter clear commands

* define messagepredicate

* actually send msg, lol

* deco fixes

* black

* [Docs] Update filter documentation

* fixes

* style

* Add missing whitespace

(cherry picked from commit f628093208)

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

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:11:47 +02:00
Red-GitHubBot
2f8f121bb0 [3.4] Add test for presence of upper and lower bound on Python version (#5198) (#5282)
* Add test for presence of upper and lower bound on Python version

* [part 1/3] Test that this works, DO NOT MERGE

* [part 2/3] Test that this works, DO NOT MERGE

* [part 3/3] Revert unwanted changes, NOW YOU CAN MERGE!
(cherry picked from commit 6f0a8b11d7)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:09:55 +02:00
Red-GitHubBot
96421a6dfa [3.4] Allow dots in the middle of repo names (#5214) (#5281)
* Allow dots in the middle of repo names

* Screw you, Black
(cherry picked from commit f6cf0d5670)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:07:43 +02:00
Red-GitHubBot
c8992a4281 [3.4] [Streams] Improve config calls in stream alerts (#4968) (#5280)
* [Streams] Improve config calls in stream alerts.

* config->guild_data, style changes

(cherry picked from commit 8eac787f7b)

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

Co-authored-by: PredaaA <46051820+PredaaA@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 22:05:11 +02:00
Red-GitHubBot
3c325bb4cb [3.4] Accept mentions in [p]cleanup user (#5169) (#5279)
* Accept mentions in `[p]cleanup user`

* Updated spacing & formatting on info logging

* Whoops...

(cherry picked from commit 88abe469b6)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: Kowlin <boxedpp@gmail.com>
2021-09-08 22:02:33 +02:00
Red-GitHubBot
497cb50716 [3.4] [Admin] Allow selfroleset command to consume multiple roles (#5238) (#5278)
* Initial commit

* update docs

* remove usage kwargs

* style

* Type hint with SelfRole and not discord.Role

* fix docstring

* Various improvements, fixes

* i need to wake up

* more improvements

* AAAA

* add back check

* Improve converter error

(cherry picked from commit b0f93a3ce1)

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

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 21:56:41 +02:00
Red-GitHubBot
dbe50bc6fe [3.4] [Help] Let owners set menu reaction timeout (#5205) (#5277)
* initial help reaction timeout with min 15, max 300

* slight wording change

* docs!

* aaa

* Suggestions from code review, thank Jack!

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

(cherry picked from commit f8664a4e8a)

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

Co-authored-by: Vexed <vex@vexcodes.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 21:55:03 +02:00
Red-GitHubBot
55712f1ed0 [3.4] [Docs] Fix changelog entry from being under the wrong section (#5236) (#5276)
(cherry picked from commit 6a8968e34d)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-09-08 21:53:41 +02:00
Red-GitHubBot
8f6f2804db [3.4] Document parameters in remaining chat_formatting functions (#5215) (#5275)
(cherry picked from commit dbd25e92a1)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-09-08 21:51:58 +02:00
Red-GitHubBot
fe147f277f [3.4] [Core] add ctx.tick() to [p]invite (#5199) (#5274)
(cherry picked from commit c57ef4828e)

Co-authored-by: GhOsT <79806064+Arman0334@users.noreply.github.com>

Co-authored-by: GhOsT <79806064+Arman0334@users.noreply.github.com>
2021-09-08 21:50:13 +02:00
Red-GitHubBot
80a1088061 [3.4] [Downloader] Fix various formatting issues in cog update notices (#5185) (#5273)
* again :P

* some more

* fix
(cherry picked from commit 6bf85a42f8)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-09-08 21:48:28 +02:00
Red-GitHubBot
b9d9ae3103 [3.4] [Downloader] Suppress NotFound errors in [p]cog update command (#5109) (#5272)
* [Downloader] Suppress NotFound errors when cog update message is deleted

* occurance 2
(cherry picked from commit d15011e2c5)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-09-08 21:46:55 +02:00
Red-GitHubBot
a95d65c316 [3.4] Initial support for Discord timestamping (#5155) (#5271)
* Initial support for Discord timestamping

* Fix timezones

* Fix userinfo for users with member.joined_at equal to None

* Simplify

(cherry picked from commit f05debc923)

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

Co-authored-by: Kowlin <Kowlin@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 21:45:10 +02:00
Red-GitHubBot
a6b9f785ac [3.4] [Mod] Check if guild is unavailable in tempban expirations (#5173) (#5270)
* [Mod] Check if guild.me is None else continue in tempban expirations.

* Check for guild.unavailable instead of guild.me being None.
(cherry picked from commit b586c2f990)

Co-authored-by: PredaaA <46051820+PredaaA@users.noreply.github.com>

Co-authored-by: PredaaA <46051820+PredaaA@users.noreply.github.com>
2021-09-08 21:43:04 +02:00
Red-GitHubBot
267720bbba [3.4] [Mutes] Fix NotFound error when trying to delete message (#5163) (#5269)
* [Mutes] Fix NotFound error when trying to delete message

* other occurances
(cherry picked from commit c34f1e2f01)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-09-08 21:41:28 +02:00
Red-GitHubBot
339cc6b3dc [3.4] [Alias] Fix double plural grammar in alias docstring (#5092) (#5268)
(cherry picked from commit 299d6c57d9)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-09-08 21:39:48 +02:00
Red-GitHubBot
2c38a7c4f2 [3.4] [Trivia] Validate custom trivia file upload using schema (#4659) (#5267)
* Add custom trivia list schema validation and test

* Address review

* Improve error formatting in trivia list test

(cherry picked from commit 173127e015)

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

Co-authored-by: Grant LeBlanc <37914048+leblancg@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 21:37:59 +02:00
Red-GitHubBot
1736502893 [3.4] [Docs] Add intents / public bots guide (#5221) (#5266)
* [Docs] Add intents / public bots guide

* [Docs] Intent guide: update on d.py
(cherry picked from commit 91ecd6560a)

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

Co-authored-by: Twentysix <Twentysix26@users.noreply.github.com>
2021-09-08 21:35:12 +02:00
Red-GitHubBot
2d3b0e513f [3.4] [Logging] Make Rich more copy-/paste-able (#5181) (#5265)
* commit work, mostly untested

* v minor refactor

* force new renderer

* Code style changes

(cherry picked from commit 7413e3c350)

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

Co-authored-by: Vexed <vex@vexcodes.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 21:33:34 +02:00
Red-GitHubBot
53484abff8 [3.4] [Docs] Update alias userdoc to reflect updated help menu layout (#5048) (#5264)
(cherry picked from commit d13d6477c5)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-09-08 21:31:35 +02:00
Red-GitHubBot
3a2b965b4b [3.4] [Docs] Getting started guide: fix incorrect information / typos (#5180) (#5263)
(cherry picked from commit ee0627f41f)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-09-08 21:30:10 +02:00
Red-GitHubBot
2635300b44 [3.4] [Docs] Fix argument formatting in Admin cog guide (#5219) (#5262)
(cherry picked from commit ec5428f1e9)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-09-08 21:28:27 +02:00
Red-GitHubBot
917ff14156 [3.4] [Docs] Add Oracle Cloud $300 credits to hosting guide (#5225) (#5261)
(cherry picked from commit 37c52d6066)

Co-authored-by: Vexed <vex@vexcodes.com>

Co-authored-by: Vexed <vex@vexcodes.com>
2021-09-08 21:26:13 +02:00
Red-GitHubBot
e3e8ab784b [3.4] [Docs] Fix warning block in Mod cog guide (#5220) (#5260)
(cherry picked from commit 48fa10343c)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-09-08 21:23:18 +02:00
Red-GitHubBot
08bbf8f6db [3.4] [Audio] Add a wait time before auto disconnect (#5188) (#5259)
* Update lavalink.py

* Add comment

(cherry picked from commit 43071e3fa2)

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

Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 21:21:44 +02:00
Red-GitHubBot
cbb5ffe252 [3.4] Fix base branch used for PyPI release? (#5212) (#5258)
(cherry picked from commit 80e7a70f9e)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 20:30:05 +02:00
Red-GitHubBot
620f462f4b [3.4] fix typo (#5207) (#5257)
(cherry picked from commit 11913806a4)

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreus Amredes <67752638+Kreusada@users.noreply.github.com>
2021-09-08 20:26:40 +02:00
Red-GitHubBot
bf1286775f [3.4] Update DO link (#5209) (#5256)
(cherry picked from commit f42d675ac0)

Co-authored-by: fredster33 <64927044+fredster33@users.noreply.github.com>

Co-authored-by: fredster33 <64927044+fredster33@users.noreply.github.com>
2021-09-08 20:24:14 +02:00
Red-GitHubBot
eff496cbb7 [3.4] Add a per guild max volume setting (#5165) (#5255)
* Oh great... someone touched Audio again.

* How did that get in there?

* Style? Style.
(cherry picked from commit e154a630df)

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

Co-authored-by: Kowlin <Kowlin@users.noreply.github.com>
2021-09-08 20:22:21 +02:00
Red-GitHubBot
1a4c6bb84f [3.4] [Audio] UX improvements to [p]summon command (#5186) (#5254)
(cherry picked from commit 2b67b9d06d)

Co-authored-by: MAX <63972751+maxbooiii@users.noreply.github.com>

Co-authored-by: MAX <63972751+maxbooiii@users.noreply.github.com>
2021-09-08 20:20:14 +02:00
Red-GitHubBot
85ab61b17d [3.4] use rich console print for red colour (#5184) (#5253)
(cherry picked from commit 2ab46fbe41)

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

Co-authored-by: Vexed <gh.vexed@gmail.com>
2021-09-08 20:18:17 +02:00
Red-GitHubBot
7197952795 [3.4] [Downloader] Fix formatting for red version requirement notices (#5183) (#5252)
(cherry picked from commit 49cc9374d4)

Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>

Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
2021-09-08 20:16:42 +02:00
Red-GitHubBot
05a25b1f03 [3.4] [Warnings] Allow for 0 point warnings (#5178) (#5251)
(cherry picked from commit ad6b8662b2)

Co-authored-by: Just-Jojo <62262765+Just-Jojo@users.noreply.github.com>

Co-authored-by: Just-Jojo <62262765+Just-Jojo@users.noreply.github.com>
2021-09-08 20:13:24 +02:00
Red-GitHubBot
e8ece55501 [3.4] Add cherry_picker configuration (#5168) (#5250)
(cherry picked from commit 9d35df2048)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 20:11:21 +02:00
Red-GitHubBot
e08909dba6 [3.4] Improve release correctness and safety by using GH Environments (#5167) (#5249)
* Improve release safety by using GH Environments

* Exit early when just returning version
(cherry picked from commit ec26687e9e)

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

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 20:11:13 +02:00
Red-GitHubBot
a3f61fed7c [3.4] Refined debuginfo (#5156) (#5248)
* Oh my gosh Kowlin is finishing work!?

* fix style

* use f-strings

* moar f-strings actually

* Fix style...

* I did a poor job of find-replacing things

* Improve code readability per previous Kowlin's style

* And reformat it in such a way that get jack through the day

* Okay maybe some whitespace

* Update core_commands.py

* Update core_commands.py

(cherry picked from commit 3b7f9e24b4)

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

Co-authored-by: Kowlin <Kowlin@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
2021-09-08 20:09:09 +02:00
1378 changed files with 256506 additions and 162885 deletions

5
.cherry_picker.toml Normal file
View File

@@ -0,0 +1,5 @@
team = "Cog-Creators"
repo = "Red-DiscordBot"
check_sha = "6251c585e4ec0a53813a9993ede3ab5309024579"
fix_commit_msg = false
default_branch = "V3/develop"

4
.github/labeler.yml vendored
View File

@@ -27,6 +27,7 @@
# Source
- redbot/*
- redbot/core/__init__.py
- redbot/core/_diagnoser.py
- redbot/core/_sharedlibdeprecation.py
- redbot/core/bot.py
- redbot/core/checks.py
@@ -76,7 +77,10 @@
- docs/cog_customcom.rst
- docs/cog_guides/customcommands.rst
"Category: Dev Cog":
# Source
- redbot/core/dev_commands.py
# Docs
- docs/cog_guides/dev.rst
"Category: Docs":
- docs/**/*
"Category: Downloader":

View File

@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Apply Triage Label
uses: actions/github-script@v3
uses: actions/github-script@v6
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
@@ -21,7 +21,7 @@ jobs:
console.log('Issue already has Status label, skipping...');
return;
}
github.issues.addLabels({
github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,

View File

@@ -1,16 +0,0 @@
name: Auto Labeler - PRs
on:
pull_request_target:
permissions:
pull-requests: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Apply Type Label
uses: actions/labeler@v3
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
sync-labels: "" # this is a temporary workaround, see #4844

View File

@@ -17,24 +17,24 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
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
python -m pip install -e .[all]
# 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
uses: github/codeql-action/init@v2
with:
languages: 'python'
# Override the default behavior so that the action doesn't attempt
@@ -55,4 +55,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v2

View File

@@ -9,9 +9,9 @@ jobs:
if: github.repository == 'Cog-Creators/Red-DiscordBot'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Install dependencies

View File

@@ -14,13 +14,13 @@ jobs:
name: Lint Python
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
ref: ${{ env.ref }}
- uses: actions/setup-python@v2
- uses: actions/setup-python@v4
with:
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"
- 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://github.com/pycqa/flake8@3.7.9#egg=flake8"
name: Install Flake8
- run: "python -m flake8 . --count --select=E9,F7,F82 --show-source"
name: Flake8 Linting

View File

@@ -16,9 +16,9 @@ jobs:
needs: pr_stable_bump
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Install dependencies
@@ -41,21 +41,21 @@ jobs:
- name: Create Pull Request
id: cpr_crowdin
uses: peter-evans/create-pull-request@v3
uses: peter-evans/create-pull-request@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: Automated Crowdin downstream
title: "[i18n] Automated Crowdin downstream"
title: "Automated Crowdin downstream"
body: |
This is an automated PR that is part of Prepare Release automated workflow (2 out of 2).
Please ensure that there are no errors or invalid files are in the PR.
labels: "Automated PR, Category: i18n, Changelog Entry: Skipped"
labels: "Automated PR, Changelog Entry: Skipped"
branch: "automated/i18n"
author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
milestone: ${{ needs.pr_stable_bump.outputs.milestone_number }}
- name: Close and reopen the PR with different token to trigger CI
uses: actions/github-script@v3
uses: actions/github-script@v6
env:
PR_NUMBER: ${{ steps.cpr_crowdin.outputs.pull-request-number }}
PR_OPERATION: ${{ steps.cpr_crowdin.outputs.pull-request-operation }}
@@ -73,9 +73,9 @@ jobs:
milestone_number: ${{ steps.get_milestone_number.outputs.result }}
steps:
# Checkout repository and install Python
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: '3.8'
@@ -91,7 +91,7 @@ jobs:
# Get milestone number of the milestone for the new stable version
- name: Get milestone number
id: get_milestone_number
uses: actions/github-script@v3
uses: actions/github-script@v6
env:
MILESTONE_TITLE: ${{ steps.bump_version_stable.outputs.new_version }}
with:
@@ -103,7 +103,7 @@ jobs:
- name: Create Pull Request
id: cpr_bump_stable
uses: peter-evans/create-pull-request@v3
uses: peter-evans/create-pull-request@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: Version bump to ${{ steps.bump_version_stable.outputs.new_version }}
@@ -117,7 +117,7 @@ jobs:
milestone: ${{ steps.get_milestone_number.outputs.result }}
- name: Close and reopen the PR with different token to trigger CI
uses: actions/github-script@v3
uses: actions/github-script@v6
env:
PR_NUMBER: ${{ steps.cpr_bump_stable.outputs.pull-request-number }}
PR_OPERATION: ${{ steps.cpr_bump_stable.outputs.pull-request-operation }}

View File

@@ -5,39 +5,125 @@ on:
- "*"
jobs:
release_to_pypi:
release_information:
if: github.repository == 'Cog-Creators/Red-DiscordBot'
name: GO HERE BEFORE APPROVING
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: V3/develop
# Checkout repository and install Python
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: '3.8'
# Get version to release
- name: Get version to release
id: version_to_release
run: |
python .github/workflows/scripts/bump_version.py
env:
PYTHONPATH: ${{ github.workspace }}:${{ env.PYTHONPATH }}
JUST_RETURN_VERSION: '1'
# Print release information
- name: REVIEW OUTPUT OF THIS STEP BEFORE APPROVING
env:
TAG_BASE_BRANCH: ${{ github.event.base_ref }}
TAG_REF_NAME: ${{ github.ref }}
RELEASE_VERSION: ${{ steps.version_to_release.outputs.version }}
run: |
echo 'Release information:'
echo "- Branch the tag was based off: ${TAG_BASE_BRANCH#'refs/heads/'}"
echo "- Tag name: ${TAG_REF_NAME#'refs/tags/'}"
echo "- Release version: $RELEASE_VERSION"
echo "TAG_NAME=${TAG_REF_NAME#'refs/tags/'}" >> $GITHUB_ENV
- name: Ensure the tag name corresponds to the released version
env:
RELEASE_VERSION: ${{ steps.version_to_release.outputs.version }}
run: |
if [[ "$TAG_NAME" != "$RELEASE_VERSION" ]]; then
echo -n "The tag name ($TAG_NAME) is not the same as"
echo " the release version ($RELEASE_VERSION)!"
exit 1
else
echo "The tag name and the release version are the same ($TAG_NAME)."
echo 'Continuing...'
fi
build:
name: Build package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build twine
- name: Build and publish
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.pypi_token }}
run: |
python -m build
twine upload dist/*
python -m pip install --upgrade build twine
- name: Build
run: python -m build
- name: Check built distributions
run: python -m twine check dist/*
- name: Upload packaged distributions
uses: actions/upload-artifact@v3
with:
name: build-output
path: ./dist
release_to_pypi:
needs:
- release_information
- build
environment: Release
name: Release to PyPI
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- name: Download packaged distributions
uses: actions/download-artifact@v3
with:
name: build-output
path: dist/
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
# This is already checked during the build.
verify-metadata: false
# Allow security-minded people to verify whether the files on PyPI
# were automatically uploaded by a CI script.
print-hash: true
pr_dev_bump:
permissions:
contents: write
pull-requests: write
needs: release_to_pypi
name: Update Red version number to dev
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get base branch
env:
TAG_BASE_BRANCH: ${{ github.event.base_ref }}
run: |
echo "BASE_BRANCH=${TAG_BASE_BRANCH#'refs/heads/'}" >> $GITHUB_ENV
- uses: actions/checkout@v3
with:
ref: ${{ env.BASE_BRANCH }}
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: '3.8'
@@ -53,7 +139,7 @@ jobs:
# Get milestone number of the milestone for the old version
- name: Get milestone number
id: get_milestone_number
uses: actions/github-script@v3
uses: actions/github-script@v6
env:
MILESTONE_TITLE: ${{ steps.bump_version_dev.outputs.old_version }}
with:
@@ -65,7 +151,7 @@ jobs:
- name: Create Pull Request
id: cpr_bump_dev
uses: peter-evans/create-pull-request@v3
uses: peter-evans/create-pull-request@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: Version bump to ${{ steps.bump_version_dev.outputs.new_version }}
@@ -77,10 +163,10 @@ jobs:
branch: "automated/pr_bumps/${{ steps.bump_version_dev.outputs.new_version }}"
author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
milestone: ${{ steps.get_milestone_number.outputs.result }}
base: V3/develop
base: ${{ env.BASE_BRANCH }}
- name: Close and reopen the PR with different token to trigger CI
uses: actions/github-script@v3
uses: actions/github-script@v6
env:
PR_NUMBER: ${{ steps.cpr_bump_dev.outputs.pull-request-number }}
PR_OPERATION: ${{ steps.cpr_bump_dev.outputs.pull-request-operation }}

View File

@@ -6,6 +6,11 @@ from typing import Match
import redbot
if int(os.environ.get("JUST_RETURN_VERSION", 0)):
print(f"::set-output name=version::{redbot.__version__}")
sys.exit(0)
version_info = None

View File

@@ -13,7 +13,7 @@ module.exports = (async function ({github, context}) {
if (sleep_time)
await new Promise(r => setTimeout(r, sleep_time));
github.issues.update({
github.rest.issues.update({
issue_number: pr_number,
owner: context.repo.owner,
repo: context.repo.repo,

View File

@@ -17,12 +17,18 @@ jobs:
python_version:
- "3.8"
tox_env:
- py
- style
- docs
include:
- tox_env: py
friendly_name: Tests
- tox_env: py38
python_version: "3.8"
friendly_name: Python 3.8 - Tests
- tox_env: py39
python_version: "3.9"
friendly_name: Python 3.9 - Tests
- tox_env: py310
python_version: "3.10-dev"
friendly_name: Python 3.10-dev - Tests
- tox_env: style
friendly_name: Style
- tox_env: docs
@@ -30,17 +36,17 @@ jobs:
fail-fast: false
name: Tox - ${{ matrix.friendly_name }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
ref: ${{ env.ref }}
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python_version }}
- name: Install tox
run: |
python -m pip install --upgrade pip
pip install tox
pip install "tox<4"
- name: Tox test
env:
TOXENV: ${{ matrix.tox_env }}
@@ -52,6 +58,8 @@ jobs:
matrix:
python_version:
- "3.8"
- "3.9"
- "3.10-dev"
fail-fast: false
name: Tox - Postgres
services:
@@ -64,17 +72,17 @@ jobs:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
ref: ${{ env.ref }}
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python_version }}
- name: Install tox
run: |
python -m pip install --upgrade pip
pip install tox
pip install "tox<4"
- name: Tox test
env:
TOXENV: postgres
@@ -83,3 +91,13 @@ jobs:
PGPASSWORD: postgres
PGPORT: 5432
run: tox
- name: Verify no errors in PostgreSQL logs.
run: |
logs="$(docker logs "${{ job.services.postgresql.id }}" 2>&1)"
echo "---- PostgreSQL logs ----"
echo "$logs"
echo "---- PostgreSQL logs ----"
error_count="$(echo "$logs" | { grep -c 'ERROR: ' || true; })"
if [[ $error_count -gt 0 ]]; then
exit 1
fi

3344
CHANGES.rst Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 77 KiB

6
docs/_html/robots.txt Normal file
View File

@@ -0,0 +1,6 @@
User-agent: *
Disallow: /
Allow: /en/stable
Allow: /en/latest
Sitemap: https://docs.discord.red/sitemap.xml

View File

@@ -20,11 +20,12 @@ Now run :code:`sudo nano /Library/LaunchDaemons/red.plist`
Paste the following and replace the following:
- all instances of :code:`username` with your Mac username
- :code:`username` (but not :code:`UserName`) with your Mac username
- :code:`path` with the path you copied earlier
- :code:`instance-name` with your instance name:
.. code-block:: none
:emphasize-lines: 9, 13, 28
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

View File

@@ -26,7 +26,7 @@ Next, your python :code:`path` can be fetched with the following commands:
# If redbot is installed in a venv
$ source ~/redenv/bin/activate
(redenv) $ which python
(redenv) $ /usr/bin/which python
# If redbot is installed in a pyenv virtualenv
$ pyenv shell <virtualenv_name>
@@ -39,6 +39,7 @@ Then create the new service file:
Paste the following in the file, and replace all instances of :code:`username` with the Linux username you retrieved above, and :code:`path` with the python path you retrieved above.
.. code-block:: none
:emphasize-lines: 8-10
[Unit]
Description=%I redbot

View File

@@ -0,0 +1,48 @@
.. _autostart-windows:
==============================================
Setting up auto-restart using batch on Windows
==============================================
.. note:: This guide assumes that you already have a working Red instance.
-----------------------
Creating the batch file
-----------------------
Create a new text document anywhere you want to. This file will be used to launch the bot, so you may want to put it somewhere convenient, like Documents or Desktop.
Open that document in Notepad, and paste the following text in it:
.. code-block:: batch
@ECHO OFF
:RED
CALL "%userprofile%\redenv\Scripts\activate.bat"
python -O -m redbot <your instance name>
IF %ERRORLEVEL% NEQ 0 (
ECHO Restarting Red...
GOTO RED
)
Replace ``<your instance name>`` with the instance name of your bot.
If you created your VENV at a location other than the recommended one, replace ``%userprofile%\redenv\Scripts\activate.bat`` with the path to your VENV.
Click "File", "Save as". Change the dropdown "Save as type" to "All Files (*.*)". Set the filename to ``start_redbot.bat``, and click save.
There should now be a new file in the location you created the text document in. You can delete that text document as it is no longer needed.
You can now use the ``start_redbot.bat`` batch file to launch Red by double clicking it.
This script will automatically restart red when the ``[p]restart`` command is used or when the bot shuts down abnormally.
-------------------------
Launch the bot on startup
-------------------------
Create a shortcut of your ``start_redbot.bat`` file.
Open the "Run" dialogue box using Windows Key + R.
Enter ``shell:startup`` if you want the bot to launch only when the current user logs in, or ``shell:common startup`` if you want the bot to launch when any user logs in.
Drag the shortcut into the folder that is opened. The bot will now launch on startup.

View File

@@ -56,7 +56,7 @@ Continue to the next section to enable privileged intents.
Enabling Privileged Intents
-------------------------------
.. warning::
Due to Discord API changes, Red Bot requires all intents.
:ref:`Red Bot requires all intents. <intents>`
\This section is required.
1. Make sure you're logged on to the `Discord website <https://discord.com>`_.
@@ -67,7 +67,7 @@ Enabling Privileged Intents
.. 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.
5. Scroll down to the "Privileged Gateway Intents" section, enable all three privileged intents and save your changes.
.. image:: /.resources/bot-guide/discord_privileged_intents.png
:alt: The privileged gateway intents selector.
@@ -75,5 +75,6 @@ Enabling Privileged Intents
.. 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.
Remember that :ref:`we do not support public bots <intents>`. We encourage you to read that page before scaling up your bot.
*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>`_.

5
docs/changelog.rst Normal file
View File

@@ -0,0 +1,5 @@
=========
Changelog
=========
.. include:: ../CHANGES.rst

View File

@@ -1,232 +0,0 @@
.. v3.1.0 Changelog
####################
v3.1.0 Release Notes
####################
----------------------
Mongo Driver Migration
----------------------
Due to the required changes of the Mongo driver for Config, all existing Mongo users will need to
complete the below instructions to continue to use Mongo after updating to 3.1.
This includes **all** users, regardless of any prior migration attempt to a development version of
3.1.
#. Upgrade to 3.1
#. Convert all existing Mongo instances to JSON using the new converters
#. Start each bot instance while using JSON and load any and all cogs you have in order to successfully preserve data.
#. Turn each instance off and convert back to Mongo.
**NOTE:** No data is wiped from your Mongo database when converting to JSON.
You may want to use a *new* database name when converting back to Mongo in order to not have duplicate data.
-------------
Setup Utility
-------------
New commands were introduced to simplify the conversion/editing/removal process both on our end and the users end.
Please use ``redbot-setup --help`` to learn how to use the new features.
.. HINT::
Converting to JSON: ``redbot-setup convert <instance_name> json``
Converting to Mongo: ``redbot-setup convert <instance_name> mongo``
################
v3.1.0 Changelog
################
-----
Audio
-----
* Add Spotify support (`#2328`_)
* Play local folders via text command (`#2457`_)
* Change pause to a toggle (`#2461`_)
* Remove aliases (`#2462`_)
* Add track length restriction (`#2465`_)
* Seek command can now seek to position (`#2470`_)
* Add option for dc at queue end (`#2472`_)
* Emptydisconnect and status refactor (`#2473`_)
* Queue clean and queue clear addition (`#2476`_)
* Fix for audioset status (`#2481`_)
* Playlist download addition (`#2482`_)
* Add songs when search-queuing (`#2513`_)
* Match v2 behavior for channel change (`#2521`_)
* Bot will no longer complain about permissions when trying to connect to user-limited channel, if it has "Move Members" permission (`#2525`_)
* Fix issue on audiostats command when more than 20 servers to display (`#2533`_)
* Fix for prev command display (`#2556`_)
* Fix for localtrack playing (`#2557`_)
* Fix for playlist queue when not playing (`#2586`_)
* Track search and append fixes (`#2591`_)
* DJ role should ask for a role (`#2606`_)
----
Core
----
* Warn on usage of ``yaml.load`` (`#2326`_)
* New Event dispatch: ``on_message_without_command`` (`#2338`_)
* Improve output format of cooldown messages (`#2412`_)
* Delete cooldown messages when expired (`#2469`_)
* Fix local blacklist/whitelist management (`#2531`_)
* ``[p]set locale`` now only accepts actual locales (`#2553`_)
* ``[p]listlocales`` now displays ``en-US`` (`#2553`_)
* ``redbot --version`` will now give you current version of Red (`#2567`_)
* Redesign help and related formatter (`#2628`_)
* Default locale changed from ``en`` to ``en-US`` (`#2642`_)
* New command ``[p]datapath`` that prints the bot's datapath (`#2652`_)
------
Config
------
* Updated Mongo driver to support large guilds (`#2536`_)
* Introduced ``init_custom`` method on Config objects (`#2545`_)
* We now record custom group primary key lengths in the core config object (`#2550`_)
* Migrated internal UUIDs to maintain cross platform consistency (`#2604`_)
-------------
DataConverter
-------------
* It's dead jim (Removal) (`#2554`_)
----------
discord.py
----------
* No longer vendoring discord.py (`#2587`_)
* Upgraded discord.py dependency to version 1.0.1 (`#2587`_)
----------
Downloader
----------
* ``[p]cog install`` will now tell user that cog has to be loaded (`#2523`_)
* The message when libraries fail to install is now formatted (`#2576`_)
* Fixed bug, that caused Downloader to include submodules on cog list (`#2590`_)
* ``[p]cog uninstall`` allows to uninstall multiple cogs now (`#2592`_)
* ``[p]cog uninstall`` will now remove cog from installed cogs even if it can't find the cog in install path anymore (`#2595`_)
* ``[p]cog install`` will not allow to install cogs which aren't suitable for installed version of Red anymore (`#2605`_)
* Cog Developers now have to use ``min_bot_version`` in form of version string instead of ``bot_version`` in info.json and they can also use ``max_bot_version`` to specify maximum version of Red, more in :ref:`info-json-format`. (`#2605`_)
------
Filter
------
* Filter performs significantly better on large servers. (`#2509`_)
--------
Launcher
--------
* Fixed extras in the launcher (`#2588`_)
---
Mod
---
* Admins can now decide how many times message has to be repeated before ``deleterepeats`` removes it (`#2437`_)
* Fix: make ``[p]ban [days]`` optional as per the doc (`#2602`_)
* Added the command ``voicekick`` to kick members from a voice channel with optional mod case. (`#2639`_)
-----------
Permissions
-----------
* Removed: ``p`` alias for ``permissions`` command (`#2467`_)
-------------
Setup Scripts
-------------
* ``redbot-setup`` now uses the click CLI library (`#2579`_)
* ``redbot-setup convert`` now used to convert between libraries (`#2579`_)
* Backup support for Mongo is currently broken (`#2579`_)
-------
Streams
-------
* Add support for custom stream alert messages per guild (`#2600`_)
* Add ability to exclude rerun Twitch streams, and note rerun streams in embed status (`#2620`_)
-----
Tests
-----
* Test for ``trivia`` cog uses explicitly utf-8 encoding for checking yaml files (`#2565`_)
------
Trivia
------
* Fix of dead image link for Sao Tome and Principe in ``worldflags`` trivia (`#2540`_)
-----------------
Utility Functions
-----------------
* New: ``chat_formatting.humanize_timedelta`` (`#2412`_)
* ``Tunnel`` - Spelling correction of method name - changed ``files_from_attatch`` to ``files_from_attach`` (old name is left for backwards compatibility) (`#2496`_)
* ``Tunnel`` - fixed behavior of ``react_close()``, now when tunnel closes message will be sent to other end (`#2507`_)
* ``chat_formatting.humanize_list`` - Improved error handling of empty lists (`#2597`_)
.. _#2326: https://github.com/Cog-Creators/Red-DiscordBot/pull/2326
.. _#2328: https://github.com/Cog-Creators/Red-DiscordBot/pull/2328
.. _#2338: https://github.com/Cog-Creators/Red-DiscordBot/pull/2338
.. _#2412: https://github.com/Cog-Creators/Red-DiscordBot/pull/2412
.. _#2437: https://github.com/Cog-Creators/Red-DiscordBot/pull/2437
.. _#2457: https://github.com/Cog-Creators/Red-DiscordBot/pull/2457
.. _#2461: https://github.com/Cog-Creators/Red-DiscordBot/pull/2461
.. _#2462: https://github.com/Cog-Creators/Red-DiscordBot/pull/2462
.. _#2465: https://github.com/Cog-Creators/Red-DiscordBot/pull/2465
.. _#2467: https://github.com/Cog-Creators/Red-DiscordBot/pull/2467
.. _#2469: https://github.com/Cog-Creators/Red-DiscordBot/pull/2469
.. _#2470: https://github.com/Cog-Creators/Red-DiscordBot/pull/2470
.. _#2472: https://github.com/Cog-Creators/Red-DiscordBot/pull/2472
.. _#2473: https://github.com/Cog-Creators/Red-DiscordBot/pull/2473
.. _#2476: https://github.com/Cog-Creators/Red-DiscordBot/pull/2476
.. _#2481: https://github.com/Cog-Creators/Red-DiscordBot/pull/2481
.. _#2482: https://github.com/Cog-Creators/Red-DiscordBot/pull/2482
.. _#2496: https://github.com/Cog-Creators/Red-DiscordBot/pull/2496
.. _#2507: https://github.com/Cog-Creators/Red-DiscordBot/pull/2507
.. _#2509: https://github.com/Cog-Creators/Red-DiscordBot/pull/2509
.. _#2513: https://github.com/Cog-Creators/Red-DiscordBot/pull/2513
.. _#2521: https://github.com/Cog-Creators/Red-DiscordBot/pull/2521
.. _#2523: https://github.com/Cog-Creators/Red-DiscordBot/pull/2523
.. _#2525: https://github.com/Cog-Creators/Red-DiscordBot/pull/2525
.. _#2531: https://github.com/Cog-Creators/Red-DiscordBot/pull/2531
.. _#2533: https://github.com/Cog-Creators/Red-DiscordBot/pull/2533
.. _#2536: https://github.com/Cog-Creators/Red-DiscordBot/pull/2536
.. _#2540: https://github.com/Cog-Creators/Red-DiscordBot/pull/2540
.. _#2545: https://github.com/Cog-Creators/Red-DiscordBot/pull/2545
.. _#2550: https://github.com/Cog-Creators/Red-DiscordBot/pull/2550
.. _#2553: https://github.com/Cog-Creators/Red-DiscordBot/pull/2553
.. _#2554: https://github.com/Cog-Creators/Red-DiscordBot/pull/2554
.. _#2556: https://github.com/Cog-Creators/Red-DiscordBot/pull/2556
.. _#2557: https://github.com/Cog-Creators/Red-DiscordBot/pull/2557
.. _#2565: https://github.com/Cog-Creators/Red-DiscordBot/pull/2565
.. _#2567: https://github.com/Cog-Creators/Red-DiscordBot/pull/2567
.. _#2576: https://github.com/Cog-Creators/Red-DiscordBot/pull/2576
.. _#2579: https://github.com/Cog-Creators/Red-DiscordBot/pull/2579
.. _#2586: https://github.com/Cog-Creators/Red-DiscordBot/pull/2586
.. _#2587: https://github.com/Cog-Creators/Red-DiscordBot/pull/2587
.. _#2588: https://github.com/Cog-Creators/Red-DiscordBot/pull/2588
.. _#2590: https://github.com/Cog-Creators/Red-DiscordBot/pull/2590
.. _#2591: https://github.com/Cog-Creators/Red-DiscordBot/pull/2591
.. _#2592: https://github.com/Cog-Creators/Red-DiscordBot/pull/2592
.. _#2595: https://github.com/Cog-Creators/Red-DiscordBot/pull/2595
.. _#2597: https://github.com/Cog-Creators/Red-DiscordBot/pull/2597
.. _#2600: https://github.com/Cog-Creators/Red-DiscordBot/pull/2600
.. _#2602: https://github.com/Cog-Creators/Red-DiscordBot/pull/2602
.. _#2604: https://github.com/Cog-Creators/Red-DiscordBot/pull/2604
.. _#2605: https://github.com/Cog-Creators/Red-DiscordBot/pull/2605
.. _#2606: https://github.com/Cog-Creators/Red-DiscordBot/pull/2606
.. _#2620: https://github.com/Cog-Creators/Red-DiscordBot/pull/2620
.. _#2628: https://github.com/Cog-Creators/Red-DiscordBot/pull/2628
.. _#2639: https://github.com/Cog-Creators/Red-DiscordBot/pull/2639
.. _#2642: https://github.com/Cog-Creators/Red-DiscordBot/pull/2642
.. _#2652: https://github.com/Cog-Creators/Red-DiscordBot/pull/2652

View File

@@ -1,565 +0,0 @@
.. 3.2.x Changelogs
Redbot 3.2.3 (2020-01-17)
=========================
Core Bot Changes
----------------
- Further improvements have been made to bot startup and shutdown.
- Prefixes are now cached for performance.
- Added the means for cog creators to use a global preinvoke hook.
- The bot now ensures it has at least the bare neccessary permissions before running commands.
- Deleting instances works as intended again.
- Sinbad stopped fighting it and embraced the entrypoint madness.
Core Commands
-------------
- The servers command now also shows the ids.
Admin Cog
---------
- The selfrole command now has reasonable expectations about hierarchy.
Help Formatter
--------------
- ``[botname]`` is now replaced with the bot's display name in help text.
- New features added for cog creators to further customize help behavior.
- Check out our command reference for details on new ``format_help_for_context`` method.
- Embed settings are now consistent.
Downloader
----------
- Improved a few user facing messages.
- Added pagination of output on cog update.
- Added logging of failures.
Docs
----
There's more detail to the below changes, so go read the docs.
For some reason, documenting documentation changes is hard.
- Added instructions about git version.
- Clarified instructions for installation and update.
- Added more details to the API key reference.
- Fixed some typos and versioning mistakes.
Audio
-----
Draper did things.
- No seriously, Draper did things.
- Wait you wanted details? Ok, I guess we can share those.
- Audio properly disconnects with autodisconnect, even if notify is being used.
- Symbolic links now work as intended for local tracks.
- Bump play now shows the correct time till next track.
- Multiple user facing messages have been made more correct.
Redbot 3.2.2 (2020-01-10)
=========================
Hotfixes
--------
- Fix Help Pagination issue
Docs
----
- Correct venv docs
Redbot 3.2.1 (2020-01-10)
=========================
Hotfixes
--------
- Fix Mongo conversion from being incorrectly blocked
- Fix announcer not creating a message for success feedback
- Log an error with creating case types rather than crash
Redbot 3.2.0 (2020-01-09)
=========================
Core Bot Changes
----------------
Breaking Changes
~~~~~~~~~~~~~~~~
- Modlog casetypes no longer have an attribute for auditlog action type. (`#2897 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2897>`_)
- Removed ``redbot.core.modlog.get_next_case_number()``. (`#2908 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2908>`_)
- Removed ``bank.MAX_BALANCE``, use ``bank.get_max_balance()`` from now on. (`#2926 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2926>`_)
- The main bot config is no longer directly accessible to cogs. New methods have been added for use where this is concerned.
New methods for this include
- ``bot.get_shared_api_tokens``
- ``bot.set_shared_api_tokens``
- ``bot.get_embed_color``
- ``bot.get_embed_colour``
- ``bot.get_admin_roles``
- ``bot.get_admin_role_ids``
- ``bot.get_mod_roles``
- ``bot.get_mod_role_ids`` (`#2967 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2967>`_)
- Reserved some command names for internal Red use. These are available programatically as ``redbot.core.commands.RESERVED_COMMAND_NAMES``. (`#2973 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2973>`_)
- Removed ``bot._counter``, Made a few more attrs private (``cog_mgr``, ``main_dir``). (`#2976 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2976>`_)
- Extension's ``setup()`` function should no longer assume that we are, or even will be connected to Discord.
This also means that cog creators should no longer use ``bot.wait_until_ready()`` inside it. (`#3073 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3073>`_)
- Removed the mongo driver. (`#3099 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3099>`_)
Bug Fixes
~~~~~~~~~
- Help now properly hides disabled commands. (`#2863 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2863>`_)
- Fixed ``bot.remove_command`` throwing an error when trying to remove a non-existent command. (`#2888 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2888>`_)
- ``Command.can_see`` now works as intended for disabled commands. (`#2892 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2892>`_)
- Modlog entries now show up properly without the mod cog loaded. (`#2897 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2897>`_)
- Fixed an error in ``[p]reason`` when setting the reason for a case without a moderator. (`#2908 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2908>`_)
- Bank functions now check the recipient balance before transferring and stop the transfer if the recipient's balance will go above the maximum allowed balance. (`#2923 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2923>`_)
- Removed potential for additional bad API calls per ban/unban. (`#2945 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2945>`_)
- The ``[p]invite`` command no longer errors when a user has the bot blocked or DMs disabled in the server. (`#2948 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2948>`_)
- Stopped using the ``:`` character in backup's filename - Windows doesn't accept it. (`#2954 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2954>`_)
- ``redbot-setup delete`` no longer errors with "unexpected keyword argument". (`#2955 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2955>`_)
- ``redbot-setup delete`` no longer prompts about backup when the user passes the option ``--no-prompt``. (`#2956 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2956>`_)
- Cleaned up the ``[p]inviteset public`` and ``[p]inviteset perms`` help strings. (`#2963 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2963>`_)
- ```[p]embedset user`` now only affects DM's. (`#2966 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2966>`_)
- Fixed an unfriendly error when the provided instance name doesn't exist. (`#2968 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2968>`_)
- Fixed the help text and response of ``[p]set usebotcolor`` to accurately reflect what the command is doing. (`#2974 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2974>`_)
- Red no longer types infinitely when a command with a cooldown is called within the last second of a cooldown. (`#2985 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2985>`_)
- Removed f-string usage in the launcher to prevent our error handling from causing an error. (`#3002 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3002>`_)
- Fixed ``MessagePredicate.greater`` and ``MessagePredicate.less`` allowing any valid int instead of only valid ints/floats that are greater/less than the given value. (`#3004 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3004>`_)
- Fixed an error in ``[p]uptime`` when the uptime is under a second. (`#3009 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3009>`_)
- Added quotation marks to the response of ``[p]helpset tagline`` so that two consecutive full stops do not appear. (`#3010 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3010>`_)
- Fixed an issue with clearing rules in permissions. (`#3014 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3014>`_)
- Lavalink will now be restarted after an unexpected shutdown. (`#3033 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3033>`_)
- Added a 3rd-party lib folder to ``sys.path`` before loading cogs. This prevents issues with 3rd-party cogs failing to load when Downloader is not loaded to install requirements. (`#3036 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3036>`_)
- Escaped track descriptions so that they do not break markdown. (`#3047 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3047>`_)
- Red will now properly send a message when the invoked command is guild-only. (`#3057 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3057>`_)
- Arguments ``--co-owner`` and ``--load-cogs`` now properly require at least one argument to be passed. (`#3060 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3060>`_)
- Now always appends the 3rd-party lib folder to the end of ``sys.path`` to avoid shadowing Red's dependencies. (`#3062 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3062>`_)
- Fixed ``is_automod_immune``'s handling of the guild check and added support for checking webhooks. (`#3100 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3100>`_)
- Fixed the generation of the ``repos.json`` file in the backup process. (`#3114 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3114>`_)
- Fixed an issue where calling audio commands when not in a voice channel could result in a crash. (`#3120 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3120>`_)
- Added handling for invalid folder names in the data path gracefully in ``redbot-setup`` and ``redbot --edit``. (`#3171 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3171>`_)
- ``--owner`` and ``-p`` cli flags now work when added from launcher. (`#3174 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3174>`_)
- Red will now prevent users from locking themselves out with localblacklist. (`#3207 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3207>`_)
- Fixed help ending up a little too large for discord embed limits. (`#3208 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3208>`_)
- Fixed formatting issues in commands that list whitelisted/blacklisted users/roles when the list is empty. (`#3219 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3219>`_)
- Red will now prevent users from locking the guild owner out with localblacklist (unless the command caller is bot owner). (`#3221 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3221>`_)
- Guild owners are no longer affected by the local whitelist and blacklist. (`#3221 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3221>`_)
- Fixed an attribute error that can be raised in ``humanize_timedelta`` if ``seconds = 0``. (`#3231 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3231>`_)
- Fixed ``ctx.clean_prefix`` issues resulting from undocumented changes from discord. (`#3249 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3249>`_)
- ``redbot.core.bot.Bot.owner_id`` is now set in the post connection startup. (`#3273 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3273>`_)
- ``redbot.core.bot.Bot.send_to_owners()`` and ``redbot.core.bot.Bot.get_owner_notification_destinations()`` now wait until Red is done with post connection startup to ensure owner ID is available. (`#3273 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3273>`_)
Enhancements
~~~~~~~~~~~~
- Added the option to modify the RPC port with the ``--rpc-port`` flag. (`#2429 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2429>`_)
- Slots now has a 62.5% expected payout and will not inflate economy when spammed. (`#2875 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2875>`_)
- Allowed passing ``cls`` in the ``redbot.core.commands.group()`` decorator. (`#2881 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2881>`_)
- Red's Help Formatter is now considered to have a stable API. (`#2892 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2892>`_)
- Modlog no longer generates cases without being told to for actions the bot did. (`#2897 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2897>`_)
- Some generic modlog casetypes are now pre-registered for cog creator use. (`#2897 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2897>`_)
- ModLog is now much faster at creating cases, especially in large servers. (`#2908 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2908>`_)
- JSON config files are now stored without indentation, this is to reduce the file size and increase the performance of write operations. (`#2921 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2921>`_)
- ``--[no-]backup``, ``--[no-]drop-db`` and ``--[no-]remove-datapath`` in the ``redbot-setup delete`` command are now on/off flags. (`#2958 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2958>`_)
- The confirmation prompts in ``redbot-setup`` now have default values for user convenience. (`#2958 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2958>`_)
- ``redbot-setup delete`` now has the option to leave Red's data untouched on database backends. (`#2962 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2962>`_)
- Red now takes less time to fetch cases, unban members, and list warnings. (`#2964 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2964>`_)
- Red now handles more things prior to connecting to discord to reduce issues during the initial load. (`#3045 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3045>`_)
- ``bot.send_filtered`` now returns the message that is sent. (`#3052 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3052>`_)
- Red will now send a message when the invoked command is DM-only. (`#3057 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3057>`_)
- All ``y/n`` confirmations in cli commands are now unified. (`#3060 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3060>`_)
- Changed ``[p]info`` to say "This bot is an..." instead of "This is an..." for clarity. (`#3121 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3121>`_)
- ``redbot-setup`` will now use the instance name in default data paths to avoid creating a second instance with the same data path. (`#3171 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3171>`_)
- Instance names can now only include characters A-z, numbers, underscores, and hyphens. Old instances are unaffected by this change. (`#3171 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3171>`_)
- Clarified that ``[p]backup`` saves the **bot's** data in the help text. (`#3172 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3172>`_)
- Added ``redbot --debuginfo`` flag which shows useful information for debugging. (`#3183 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3183>`_)
- Added the Python executable field to ``[p]debuginfo``. (`#3184 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3184>`_)
- When Red prompts for a token, it will now print a link to the guide explaining how to obtain a token. (`#3204 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3204>`_)
- ``redbot-setup`` will no longer log to disk. (`#3269 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3269>`_)
- ``redbot.core.bot.Bot.send_to_owners()`` and ``redbot.core.bot.Bot.get_owner_notification_destinations()`` now log when they are not able to find the owner notification destination. (`#3273 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3273>`_)
- The lib folder is now cleared on minor Python version changes. ``[p]cog reinstallreqs`` in Downloader can be used to regenerate the lib folder for a new Python version. (`#3274 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3274>`_)
- If Red detects operating system or architecture change, it will now warn the owner about possible problems with the lib folder. (`#3274 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3274>`_)
- ``[p]playlist download`` will now compress playlists larger than the server attachment limit and attempt to send that. (`#3279 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3279>`_)
New Features
~~~~~~~~~~~~
- Added functions to acquire locks on Config groups and values. These locks are acquired by default when calling a value as a context manager. See ``Value.get_lock`` for details. (`#2654 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2654>`_)
- Added a config driver for PostgreSQL. (`#2723 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2723>`_)
- Added methods to Config for accessing things by id without mocked objects
- ``Config.guild_from_id``
- ``Config.user_from_id``
- ``Config.role_from_id``
- ``Config.channel_from_id``
- ``Config.member_from_ids``
- This one requires multiple ids, one for the guild, one for the user
- Consequence of discord's object model (`#2804 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2804>`_)
- New method ``humanize_number`` in ``redbot.core.utils.chat_formatting`` to convert numbers into text that respects the current locale. (`#2836 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2836>`_)
- Added new commands to Economy
- ``[p]bank prune user`` - This will delete a user's bank account.
- ``[p]bank prune local`` - This will prune the bank of accounts for users who are no longer in the server.
- ``[p]bank prune global`` - This will prune the global bank of accounts for users who do not share any servers with the bot. (`#2845 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2845>`_)
- Red now uses towncrier for changelog generation. (`#2872 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2872>`_)
- Added ``redbot.core.modlog.get_latest_case`` to fetch the case object for the most recent ModLog case. (`#2908 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2908>`_)
- Added ``[p]bankset maxbal`` to set the maximum bank balance. (`#2926 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2926>`_)
- Added a few methods and classes replacing direct config access (which is no longer supported)
- ``redbot.core.Red.allowed_by_whitelist_blacklist``
- ``redbot.core.Red.get_valid_prefixes``
- ``redbot.core.Red.clear_shared_api_tokens``
- ``redbot.core.commands.help.HelpSettings`` (`#2976 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2976>`_)
- Added the cli flag ``redbot --edit`` which is used to edit the instance name, token, owner, and datapath. (`#3060 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3060>`_)
- Added ``[p]licenseinfo``. (`#3090 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3090>`_)
- Ensured that people can migrate from MongoDB. (`#3108 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3108>`_)
- Added a command to list disabled commands globally or per guild. (`#3118 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3118>`_)
- New event ``on_red_api_tokens_update`` is now dispatched when shared api keys for a service are updated. (`#3134 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3134>`_)
- Added ``redbot-setup backup``. (`#3235 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3235>`_)
- Added the method ``redbot.core.bot.Bot.wait_until_red_ready()`` that waits until Red's post connection startup is done. (`#3273 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3273>`_)
Removals
~~~~~~~~
- ``[p]set owner`` and ``[p]set token`` have been removed in favor of managing server side. (`#2928 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2928>`_)
- Shared libraries are marked for removal in Red 3.4. (`#3106 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3106>`_)
- Removed ``[p]backup``. Use the cli command ``redbot-setup backup`` instead. (`#3235 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3235>`_)
- Removed the functions ``safe_delete``, ``fuzzy_command_search``, ``format_fuzzy_results`` and ``create_backup`` from ``redbot.core.utils``. (`#3240 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3240>`_)
- Removed a lot of the launcher's handled behavior. (`#3289 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3289>`_)
Miscellaneous changes
~~~~~~~~~~~~~~~~~~~~~
- `#2527 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2527>`_, `#2571 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2571>`_, `#2723 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2723>`_, `#2836 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2836>`_, `#2849 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2849>`_, `#2861 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2861>`_, `#2885 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2885>`_, `#2890 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2890>`_, `#2897 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2897>`_, `#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_, `#2924 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2924>`_, `#2939 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2939>`_, `#2940 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2940>`_, `#2941 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2941>`_, `#2949 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2949>`_, `#2953 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2953>`_, `#2964 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2964>`_, `#2986 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2986>`_, `#2993 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2993>`_, `#2997 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2997>`_, `#3008 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3008>`_, `#3017 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3017>`_, `#3048 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3048>`_, `#3059 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3059>`_, `#3080 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3080>`_, `#3089 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3089>`_, `#3104 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3104>`_, `#3106 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3106>`_, `#3129 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3129>`_, `#3152 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3152>`_, `#3160 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3160>`_, `#3168 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3168>`_, `#3173 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3173>`_, `#3176 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3176>`_, `#3186 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3186>`_, `#3192 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3192>`_, `#3193 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3193>`_, `#3195 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3195>`_, `#3202 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3202>`_, `#3214 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3214>`_, `#3223 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3223>`_, `#3229 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3229>`_, `#3245 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3245>`_, `#3247 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3247>`_, `#3248 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3248>`_, `#3250 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3250>`_, `#3254 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3254>`_, `#3255 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3255>`_, `#3256 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3256>`_, `#3258 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3258>`_, `#3261 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3261>`_, `#3275 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3275>`_, `#3276 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3276>`_, `#3293 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3293>`_, `#3278 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3278>`_, `#3285 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3285>`_, `#3296 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3296>`_,
Dependency changes
~~~~~~~~~~~~~~~~~~~~~~~
- Added ``pytest-mock`` requirement to ``tests`` extra. (`#2571 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2571>`_)
- Updated the python minimum requirement to 3.8.1, updated JRE to Java 11. (`#3245 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3245>`_)
- Bumped dependency versions. (`#3288 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3288>`_)
- Bumped red-lavalink version. (`#3290 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3290>`_)
Documentation Changes
~~~~~~~~~~~~~~~~~~~~~
- Started the user guides covering cogs and the user interface of the bot. This includes, for now, a "Getting started" guide. (`#1734 <https://github.com/Cog-Creators/Red-DiscordBot/issues/1734>`_)
- Added documentation for PM2 support. (`#2105 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2105>`_)
- Updated linux install docs, adding sections for Fedora Linux, Debian/Raspbian Buster, and openSUSE. (`#2558 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2558>`_)
- Created documentation covering what we consider a developer facing breaking change and the guarantees regarding them. (`#2882 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2882>`_)
- Fixed the user parameter being labeled as ``discord.TextChannel`` instead of ``discord.abc.User`` in ``redbot.core.utils.predicates``. (`#2914 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2914>`_)
- Updated towncrier info in the contribution guidelines to explain how to create a changelog for a standalone PR. (`#2915 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2915>`_)
- Reworded the virtual environment guide to make it sound less scary. (`#2920 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2920>`_)
- Driver docs no longer show twice. (`#2972 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2972>`_)
- Added more information about ``redbot.core.utils.humanize_timedelta`` into the docs. (`#2986 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2986>`_)
- Added a direct link to the "Installing Red" section in "Installing using powershell and chocolatey". (`#2995 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2995>`_)
- Updated Git PATH install (Windows), capitalized some words, stopped mentioning the launcher. (`#2998 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2998>`_)
- Added autostart documentation for Red users who installed Red inside of a virtual environment. (`#3005 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3005>`_)
- Updated the Cog Creation guide with a note regarding the Develop version as well as the folder layout for local cogs. (`#3021 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3021>`_)
- Added links to the getting started guide at the end of installation guides. (`#3025 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3025>`_)
- Added proper docstrings to enums that show in drivers docs. (`#3035 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3035>`_)
- Discord.py doc links will now always use the docs for the currently used version of discord.py. (`#3053 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3053>`_)
- Added ``|DPY_VERSION|`` substitution that will automatically get replaced by the current discord.py version. (`#3053 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3053>`_)
- Added missing descriptions for function returns. (`#3054 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3054>`_)
- Stopped overwriting the ``docs/prolog.txt`` file in ``conf.py``. (`#3082 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3082>`_)
- Fixed some typos and wording, added MS Azure to the host list. (`#3083 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3083>`_)
- Updated the docs footer copyright to 2019. (`#3105 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3105>`_)
- Added a deprecation note about shared libraries in the Downloader Framework docs. (`#3106 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3106>`_)
- Updated the apikey framework documentation. Changed ``bot.get_shared_api_keys()`` to ``bot.get_shared_api_tokens()``. (`#3110 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3110>`_)
- Added information about ``info.json``'s ``min_python_version`` key in Downloader Framework docs. (`#3124 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3124>`_)
- Added an event reference for the ``on_red_api_tokens_update`` event in the Shared API Keys docs. (`#3134 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3134>`_)
- Added notes explaining the best practices with config. (`#3149 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3149>`_)
- Documented additional attributes in Context. (`#3151 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3151>`_)
- Updated Windows docs with up to date dependency instructions. (`#3188 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3188>`_)
- Added a "Publishing cogs for V3" document explaining how to make user's cogs work with Downloader. (`#3234 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3234>`_)
- Fixed broken docs for ``redbot.core.commands.Context.react_quietly``. (`#3257 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3257>`_)
- Updated copyright notices on License and RTD config to 2020. (`#3259 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3259>`_)
- Added a line about setuptools and wheel. (`#3262 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3262>`_)
- Ensured development builds are not advertised to the wrong audience. (`#3292 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3292>`_)
- Clarified the usage intent of some of the chat formatting functions. (`#3292 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3292>`_)
Admin
-----
Breaking Changes
~~~~~~~~~~~~~~~~
- Changed ``[p]announce ignore`` and ``[p]announce channel`` to ``[p]announceset ignore`` and ``[p]announceset channel``. (`#3250 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3250>`_)
- Changed ``[p]selfrole <role>`` to ``[p]selfrole add <role>``, changed ``[p]selfrole add`` to ``[p]selfroleset add`` , and changed ``[p]selfrole delete`` to ``[p]selfroleset remove``. (`#3250 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3250>`_)
Bug Fixes
~~~~~~~~~
- Fixed ``[p]announce`` failing after encountering an error attempting to message the bot owner. (`#3166 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3166>`_)
- Improved the clarity of user facing messages when the user is not allowed to do something due to Discord hierarchy rules. (`#3250 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3250>`_)
- Fixed some role managing commands not properly checking if Red had ``manage_roles`` perms before attempting to manage roles. (`#3250 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3250>`_)
- Fixed ``[p]editrole`` commands not checking if roles to be edited are higher than Red's highest role before trying to edit them. (`#3250 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3250>`_)
- Fixed ``[p]announce ignore`` and ``[p]announce channel`` not being able to be used by guild owners and administrators. (`#3250 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3250>`_)
Enhancements
~~~~~~~~~~~~
- Added custom issue messages for adding and removing roles, this makes it easier to create translations. (`#3016 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3016>`_)
Audio
-----
Bug Fixes
~~~~~~~~~
- ``[p]playlist remove`` now removes the playlist url if the playlist was created through ``[p]playlist save``. (`#2861 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2861>`_)
- Users are no longer able to accidentally overwrite existing playlist if a new one with the same name is created/renamed. (`#2861 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2861>`_)
- ``[p]audioset settings`` no longer shows lavalink JAR version. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- Fixed a ``KeyError: loadType`` when trying to play tracks. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- ``[p]audioset settings`` now uses ``ctx.is_owner()`` to check if the context author is the bot owner. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- Fixed track indexs being off by 1 in ``[p]search``. (`#2940 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2940>`_)
- Fixed an issue where updating your Spotify and YouTube Data API tokens did not refresh them. (`#3047 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3047>`_)
- Fixed an issue where the blacklist was not being applied correctly. (`#3047 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3047>`_)
- Fixed an issue in ``[p]audioset restrictions blacklist list`` where it would call the list a ``Whitelist``. (`#3047 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3047>`_)
- Red's status is now properly cleared on emptydisconnect. (`#3050 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3050>`_)
- Fixed a console spam caused sometimes when auto disconnect and auto pause are used. (`#3123 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3123>`_)
- Fixed an error that was thrown when running ``[p]audioset dj``. (`#3165 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3165>`_)
- Fixed a crash that could happen when the bot can't connect to the lavalink node. (`#3238 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3238>`_)
- Restricted the number of songs shown in the queue to first 500 to avoid heartbeats. (`#3279 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3279>`_)
- Added more cooldowns to playlist commands and restricted the queue and playlists to 10k songs to avoid bot errors. (`#3286 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3286>`_)
Enhancements
~~~~~~~~~~~~
- ``[p]playlist upload`` will now load playlists generated via ``[p]playlist download`` much faster if the playlist uses the new scheme. (`#2861 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2861>`_)
- ``[p]playlist`` commands now can be used by everyone regardless of DJ settings, however it will respect DJ settings when creating/modifying playlists in the server scope. (`#2861 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2861>`_)
- Spotify, Youtube Data, and Lavalink API calls can be cached to avoid repeated calls in the future, see ``[p]audioset cache``. (`#2890 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2890>`_)
- Playlists will now start playing as soon as first track is loaded. (`#2890 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2890>`_)
- ``[p]audioset localpath`` can set a path anywhere in your machine now. Note: This path needs to be visible by ``Lavalink.jar``. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- ``[p]queue`` now works when there are no tracks in the queue, showing the track currently playing. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- ``[p]audioset settings`` now reports Red Lavalink version. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- Adding and removing reactions in Audio is no longer a blocking action. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- When shuffle is on, queue now shows the correct play order. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- ``[p]seek`` and ``[p]skip`` can be used by user if they are the song requester while DJ mode is enabled and votes are disabled. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- Adding a playlist and an album to a saved playlist skips tracks already in the playlist. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- DJ mode is now turned off if the DJ role is deleted. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- When playing a localtrack, ``[p]play`` and ``[p]bumpplay`` no longer require the use of the prefix "localtracks\\".
Before: ``[p]bumpplay localtracks\\ENM\\501 - Inside The Machine.mp3``
Now: ``[p]bumpplay ENM\\501 - Inside The Machine.mp3``
Now nested folders: ``[p]bumpplay Parent Folder\\Nested Folder\\track.mp3`` (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- Removed commas in explanations about how to set API keys. (`#2905 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2905>`_)
- Expanded local track support to all file formats (m3u, m4a, mp4, etc). (`#2940 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2940>`_)
- Cooldowns are now reset upon failure of commands that have a cooldown timer. (`#2940 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2940>`_)
- Improved the explanation in the help string for ``[p]audioset emptydisconnect``. (`#3051 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3051>`_)
- Added a typing indicator to playlist dedupe. (`#3058 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3058>`_)
- Exposed clearer errors to users in the play commands. (`#3085 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3085>`_)
- Better error handling when the player is unable to play multiple tracks in the sequence. (`#3165 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3165>`_)
New Features
~~~~~~~~~~~~
- Added support for nested folders in the localtrack folder. (`#270 <https://github.com/Cog-Creators/Red-DiscordBot/issues/270>`_)
- Now auto pauses the queue when the voice channel is empty. (`#721 <https://github.com/Cog-Creators/Red-DiscordBot/issues/721>`_)
- All Playlist commands now accept optional arguments, use ``[p]help playlist <subcommand>`` for more details. (`#2861 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2861>`_)
- ``[p]playlist rename`` will now allow users to rename existing playlists. (`#2861 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2861>`_)
- ``[p]playlist update`` will now allow users to update non-custom Playlists to the latest available tracks. (`#2861 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2861>`_)
- There are now 3 different scopes of playlist. To define them, use the ``--scope`` argument.
``Global Playlist``
- These playlists will be available in all servers the bot is in.
- These can be managed by the Bot Owner only.
``Server Playlist``
- These playlists will only be available in the server they were created in.
- These can be managed by the Bot Owner, Guild Owner, Mods, Admins, DJs, and the Creator (if the DJ role is disabled).
``User Playlist``
- These playlists will be available in all servers both the bot and the creator are in.
- These can be managed by the Bot Owner and Creator only. (`#2861 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2861>`_)
- ``[p]audioset cache`` can be used to set the cache level. **It's off by default**. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- ``[p]genre`` can be used to play spotify playlists. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- ``[p]audioset cacheage`` can be used to set the maximum age of an entry in the cache. **Default is 365 days**. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- ``[p]audioset autoplay`` can be used to enable auto play once the queue runs out. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- New events dispatched by Audio.
- ``on_red_audio_track_start(guild: discord.Guild, track: lavalink.Track, requester: discord.Member)``
- ``on_red_audio_track_end(guild: discord.Guild, track: lavalink.Track, requester: discord.Member)``
- ``on_red_audio_track_enqueue(guild: discord.Guild, track: lavalink.Track, requester: discord.Member)``
- ``on_red_audio_track_auto_play(guild: discord.Guild, track: lavalink.Track, requester: discord.Member)``
- ``on_red_audio_queue_end(guild: discord.Guild, track: lavalink.Track, requester: discord.Member)``
- ``on_red_audio_audio_disconnect(guild: discord.Guild)``
- ``on_red_audio_skip_track(guild: discord.Guild, track: lavalink.Track, requester: discord.Member)`` (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- ``[p]queue shuffle`` can be used to shuffle the queue manually. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- ``[p]queue clean self`` can be used to remove all songs you requested from the queue. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- ``[p]audioset restrictions`` can be used to add or remove keywords which songs must have or are not allowed to have. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- ``[p]playlist dedupe`` can be used to remove duplicated tracks from a playlist. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- ``[p]autoplay`` can be used to play a random song. (`#2904 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2904>`_)
- ``[p]bumpplay`` can be used to add a song to the front of the queue. (`#2940 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2940>`_)
- ``[p]shuffle`` has an additional argument to tell the bot whether it should shuffle bumped tracks. (`#2940 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2940>`_)
- Added global whitelist/blacklist commands. (`#3047 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3047>`_)
- Added self-managed daily playlists in the GUILD scope, these are called "Daily playlist - YYYY-MM-DD" and auto delete after 7 days. (`#3199 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3199>`_)
CustomCom
---------
Enhancements
~~~~~~~~~~~~
- The group command ``[p]cc create`` can now be used to create simple CCs without specifying "simple". (`#1767 <https://github.com/Cog-Creators/Red-DiscordBot/issues/1767>`_)
- Added a query option for CC typehints for URL-based CCs. (`#3228 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3228>`_)
- Now uses the ``humanize_list`` utility for iterable parameter results, e.g. ``{#:Role.members}``. (`#3277 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3277>`_)
Downloader
----------
Bug Fixes
~~~~~~~~~
- Made the regex for repo names use raw strings to stop causing a ``DeprecationWarning`` for invalid escape sequences. (`#2571 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2571>`_)
- Downloader will no longer attempt to install cogs that are already installed. (`#2571 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2571>`_)
- Repo names can now only contain the characters listed in the help text (A-Z, 0-9, underscores, and hyphens). (`#2827 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2827>`_)
- ``[p]findcog`` no longer attempts to find a cog for commands without a cog. (`#2902 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2902>`_)
- Downloader will no longer attempt to install a cog with same name as another cog that is already installed. (`#2927 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2927>`_)
- Added error handling for when a remote repository or branch is deleted, now notifies the which repository failed and continues to update the others. (`#2936 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2936>`_)
- ``[p]cog install`` will no longer error if a cog has an empty install message. (`#3024 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3024>`_)
- Made ``redbot.cogs.downloader.repo_manager.Repo.clean_url`` work with relative urls. This property is ``str`` type now. (`#3141 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3141>`_)
- Fixed an error on repo add from empty string values for the ``install_msg`` info.json field. (`#3153 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3153>`_)
- Disabled all git auth prompts when adding/updating a repo with Downloader. (`#3159 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3159>`_)
- ``[p]findcog`` now properly works for cogs with less typical folder structure. (`#3177 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3177>`_)
- ``[p]cog uninstall`` now fully unloads cog - the bot will not try to load it on next startup. (`#3179 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3179>`_)
Enhancements
~~~~~~~~~~~~
- Downloader will now check if the Python and bot versions match requirements in ``info.json`` during update. (`#1866 <https://github.com/Cog-Creators/Red-DiscordBot/issues/1866>`_)
- ``[p]cog install`` now accepts multiple cog names. (`#2527 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2527>`_)
- When passing cogs to ``[p]cog update``, it will now only update those cogs, not all cogs from the repo those cogs are from. (`#2527 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2527>`_)
- Added error messages for failures when installing/reinstalling requirements and copying cogs and shared libraries. (`#2571 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2571>`_)
- ``[p]findcog`` now uses sanitized urls (without HTTP Basic Auth fragments). (`#3129 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3129>`_)
- ``[p]repo info`` will now show the repo's url, branch, and authors. (`#3225 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3225>`_)
- ``[p]cog info`` will now show cog authors. (`#3225 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3225>`_)
- ``[p]findcog`` will now show the repo's branch. (`#3225 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3225>`_)
New Features
~~~~~~~~~~~~
- Added ``[p]repo update [repos]`` which updates repos without updating the cogs from them. (`#2527 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2527>`_)
- Added ``[p]cog installversion <repo_name> <revision> <cogs>`` which installs cogs from a specified revision (commit, tag) of the given repo. When using this command, the cog will automatically be pinned. (`#2527 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2527>`_)
- Added ``[p]cog pin <cogs>`` and ``[p]cog unpin <cogs>`` for pinning cogs. Cogs that are pinned will not be updated when using update commands. (`#2527 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2527>`_)
- Added ``[p]cog checkforupdates`` that lists which cogs can be updated (including pinned cog) without updating them. (`#2527 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2527>`_)
- Added ``[p]cog updateallfromrepos <repos>`` that updates all cogs from the given repos. (`#2527 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2527>`_)
- Added ``[p]cog updatetoversion <repo_name> <revision> [cogs]`` that updates all cogs or ones of user's choosing to chosen revision of the given repo. (`#2527 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2527>`_)
- Added ``[p]cog reinstallreqs`` that reinstalls cog requirements and shared libraries for all installed cogs. (`#3167 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3167>`_)
Documentation Changes
~~~~~~~~~~~~~~~~~~~~~
- Added ``redbot.cogs.downloader.installable.InstalledModule`` to Downloader's framework docs. (`#2527 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2527>`_)
- Removed API References for Downloader. (`#3234 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3234>`_)
Image
-----
Enhancements
~~~~~~~~~~~~
- Updated the giphycreds command to match the formatting of the other API commands. (`#2905 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2905>`_)
- Removed commas from explanations about how to set API keys. (`#2905 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2905>`_)
Mod
---
Bug Fixes
~~~~~~~~~
- ``[p]userinfo`` no longer breaks when a user has an absurd numbers of roles. (`#2910 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2910>`_)
- Fixed Mod cog not recording username changes for ``[p]names`` and ``[p]userinfo`` commands. (`#2918 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2918>`_)
- Fixed ``[p]modset deletedelay`` deleting non-command messages. (`#2924 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2924>`_)
- Fixed an error when reloading Mod. (`#2932 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2932>`_)
Enhancements
~~~~~~~~~~~~
- Slowmode now accepts integer-only inputs as seconds. (`#2884 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2884>`_)
Permissions
-----------
Bug Fixes
~~~~~~~~~
- Defaults are now cleared properly when clearing all rules. (`#3037 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3037>`_)
Enhancements
~~~~~~~~~~~~
- Better explained the usage of commands with the ``<who_or_what>`` argument. (`#2991 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2991>`_)
Streams
-------
Bug Fixes
~~~~~~~~~
- Fixed a ``TypeError`` in the ``TwitchStream`` class when calling Twitch client_id from Red shared APIs tokens. (`#3042 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3042>`_)
- Changed the ``stream_alert`` function for Twitch alerts to make it work with how the ``TwitchStream`` class works now. (`#3042 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3042>`_)
Enhancements
~~~~~~~~~~~~
- Removed commas from explanations about how to set API keys. (`#2905 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2905>`_)
Trivia
------
Bug Fixes
~~~~~~~~~
- Fixed a typo in Ahsoka Tano's name in the Starwars trivia list. (`#2909 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2909>`_)
- Fixed a bug where ``[p]trivia leaderboard`` failed to run. (`#2911 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2911>`_)
- Fixed a typo in the Greek mythology trivia list regarding Hermes' staff. (`#2994 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2994>`_)
- Fixed a question in the Overwatch trivia list that accepted blank responses. (`#2996 <https://github.com/Cog-Creators/Red-DiscordBot/issues/2996>`_)
- Fixed questions and answers that were incorrect in the Clash Royale trivia list. (`#3236 <https://github.com/Cog-Creators/Red-DiscordBot/issues/3236>`_)
Enhancements
~~~~~~~~~~~~
- Added trivia lists for Prince and Michael Jackson lyrics. (`#12 <https://github.com/Cog-Creators/Red-DiscordBot/issues/12>`_)

View File

@@ -1,910 +0,0 @@
.. 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)
=========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`aikaterna`, :ghuser:`Dav-Git`, :ghuser:`Drapersniper`, :ghuser:`Flame442`, :ghuser:`mikeshardmind`, :ghuser:`NeuroAssassin`, :ghuser:`Predeactor`, :ghuser:`Vexed01`
|
| **Read before updating**:
| 1. Bot owners can no longer restrict access to some commands in Permissions cog using global permissions rules. Look at `Permissions changelog <important-339-2>` for full details.
| 2. There's been a change in behavior of warning messages. Look at `Warnings changelog <important-339-1>` for full details.
End-user changelog
------------------
Security
********
**NOTE**: If you can't update immediately, we recommend disabling the affected command until you can.
- **Mod** - ``[p]tempban`` now properly respects Discord's hierarchy rules (:issue:`3957`)
Core Bot
********
- ``[p]info`` command can now be used when bot doesn't have Embed Links permission (:issue:`3907`, :issue:`3102`)
- Fixed ungraceful error that happened in ``[p]set custominfo`` when provided text was too long (:issue:`3923`)
- Red's start up message now shows storage type (:issue:`3935`)
Audio
*****
- Audio now properly ignores streams when max length is enabled (:issue:`3878`, :issue:`3877`)
- Commands that should work in DMs no longer error (:issue:`3880`)
Filter
******
- Fixed behavior of detecting quotes in commands for adding/removing filtered words (:issue:`3925`)
.. _important-339-2:
Permissions
***********
- **Both global and server rules** can no longer prevent guild owners from accessing commands for changing server rules. Bot owners can still use ``[p]command disable`` if they wish to completely disable any command in Permissions cog (:issue:`3955`, :issue:`3107`)
Full list of affected commands:
- ``[p]permissions acl getserver``
- ``[p]permissions acl setserver``
- ``[p]permissions acl updateserver``
- ``[p]permissions addserverrule``
- ``[p]permissions removeserverrule``
- ``[p]permissions setdefaultserverrule``
- ``[p]permissions clearserverrules``
- ``[p]permissions canrun``
- ``[p]permissions explain``
.. _important-339-1:
Warnings
********
- Warnings sent to users don't show the moderator who warned the user by default now. Newly added ``[p]warningset showmoderators`` command can be used to switch this behaviour (:issue:`3781`)
- Warn channel functionality has been fixed (:issue:`3781`)
Developer changelog
-------------------
Core Bot
********
- Added `bot.set_prefixes() <RedBase.set_prefixes()>` method that allows developers to set global/server prefixes (:issue:`3890`)
Documentation changes
---------------------
- Added Oracle Cloud to free hosting section in :ref:`host-list` (:issue:`3916`)
Miscellaneous
-------------
- Added missing help message for Downloader, Reports and Streams cogs (:issue:`3892`)
- **Core Bot** - cooldown in ``[p]contact`` no longer applies when it's used without any arguments (:issue:`3942`)
- **Core Bot** - improved instructions on obtaining user ID in help of ``[p]dm`` command (:issue:`3946`)
- **Alias** - ``[p]alias global`` group, ``[p]alias help``, and ``[p]alias show`` commands can now be used in DMs (:issue:`3941`, :issue:`3940`)
- **Audio** - Typo fix (:issue:`3889`, :issue:`3900`)
- **Audio** - Fixed ``[p]audioset autoplay`` being available in DMs (:issue:`3899`)
- **Bank** - ``[p]bankset`` now displays bank's scope (:issue:`3954`)
- **Mod** - Preemptive fix for d.py 1.4 (:issue:`3891`)
Redbot 3.3.8 (2020-05-29)
==================================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`aikaterna`, :ghuser:`Bakersbakebread`, :ghuser:`DariusStClair`, :ghuser:`Dav-Git`, :ghuser:`Drapersniper`, :ghuser:`Flame442`, :ghuser:`jack1142`, :ghuser:`mikeshardmind`, :ghuser:`NeuroAssassin`, :ghuser:`PredaaA`, :ghuser:`Predeactor`, :ghuser:`qaisjp`, :ghuser:`Tobotimus`
End-user changelog
------------------
Core Bot
********
- Important fixes to how PostgreSQL data backend saves data in bulks (:issue:`3829`)
- Fixed ``[p]localwhitelist`` and ``[p]localblacklist`` commands (:issue:`3857`)
- Red now includes information on how to update when sending information about being out of date (:issue:`3744`)
- Using backslashes in bot's username/nickname no longer causes issues (:issue:`3826`, :issue:`3825`)
Admin
*****
- Fixed server lock (:issue:`3815`, :issue:`3814`)
Alias
*****
- Added pagination to ``[p]alias list`` and ``[p]alias global list`` to avoid errors for users with a lot of aliases (:issue:`3844`, :issue:`3834`)
- ``[p]alias help`` should now work more reliably (:issue:`3864`)
Audio
*****
- Twitch playback is functional once again (:issue:`3873`)
- Recent errors with YouTube playback should be resolved (:issue:`3873`)
- Added new option (settable with ``[p]audioset lyrics``) that makes Audio cog prefer (prioritize) tracks with lyrics (:issue:`3519`)
- Added global daily (historical) queues (:issue:`3518`)
- Added ``[p]audioset countrycode`` that allows to set the country code for spotify searches (:issue:`3528`)
- Fixed ``[p]local search`` (:issue:`3528`, :issue:`3501`)
- Local folders with special characters should work properly now (:issue:`3528`, :issue:`3467`)
- Audio no longer fails to take the last spot in the voice channel with user limit (:issue:`3528`)
- ``[p]local play`` no longer enqueues tracks from nested folders (:issue:`3528`)
- Fixed ``[p]playlist dedupe`` not removing tracks (:issue:`3518`)
- ``[p]disconnect`` now allows to disconnect if both DJ mode and voteskip aren't enabled (:issue:`3502`, :issue:`3485`)
- Many UX improvements and fixes, including, among other things:
- Creating playlists without explicitly passing ``-scope`` no longer causes errors (:issue:`3500`)
- ``[p]playlist list`` now shows all accessible playlists if ``--scope`` flag isn't used (:issue:`3518`)
- ``[p]remove`` now also accepts a track URL in addition to queue index (:issue:`3201`)
- ``[p]playlist upload`` now accepts a playlist file uploaded in the message with a command (:issue:`3251`)
- Commands now send friendly error messages for common errors like lost Lavalink connection or bot not connected to voice channel (:issue:`3503`, :issue:`3528`, :issue:`3353`, :issue:`3712`)
CustomCommands
**************
- ``[p]customcom create`` no longer allows spaces in custom command names (:issue:`3816`)
Mod
***
- ``[p]userinfo`` now shows default avatar when no avatar is set (:issue:`3819`)
Modlog
******
- Fixed (again) ``AttributeError`` for cases whose moderator doesn't share the server with the bot (:issue:`3805`, :issue:`3784`, :issue:`3778`)
Permissions
***********
- Commands for settings ACL using yaml files now properly works on PostgreSQL data backend (:issue:`3829`, :issue:`3796`)
Warnings
********
- Warnings cog no longer allows to warn bot users (:issue:`3855`, :issue:`3854`)
Developer changelog
-------------------
| **Important:**
| If you're using RPC, please see the full annoucement about current state of RPC in main Red server
`by clicking here <https://discord.com/channels/133049272517001216/411381123101491200/714560168465137694>`_.
Core Bot
********
- Red now inherits from `discord.ext.commands.AutoShardedBot` for better compatibility with code expecting d.py bot (:issue:`3822`)
- Libraries using ``pkg_resources`` (like ``humanize`` or ``google-api-python-client``) that were installed through Downloader should now work properly (:issue:`3843`)
- All bot owner IDs can now be found under ``bot.owner_ids`` attribute (:issue:`3793`)
- Note: If you want to use this on bot startup (e.g. in cog's initialisation), you need to await ``bot.wait_until_red_ready()`` first
Documentation changes
---------------------
- Added information about provisional status of RPC (:issue:`3862`)
- Revised install instructions (:issue:`3847`)
- Improved navigation in `document about updating Red <update_red>` (:issue:`3856`, :issue:`3849`)
Miscellaneous
-------------
- Few clarifications and typo fixes in few command help docstrings (:issue:`3817`, :issue:`3823`, :issue:`3837`, :issue:`3851`, :issue:`3861`)
- **Downloader** - Downloader no longer removes the repo when it fails to load it (:issue:`3867`)
Redbot 3.3.7 (2020-04-28)
=========================
This is a hotfix release fixing issue with generating messages for new cases in Modlog.
Redbot 3.3.6 (2020-04-27)
=========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`aikaterna`, :ghuser:`Drapersniper`, :ghuser:`jack1142`, :ghuser:`Kowlin`, :ghuser:`MiniJennJenn`, :ghuser:`NeuroAssassin`, :ghuser:`PredaaA`, :ghuser:`TrustyJAID`, :ghuser:`yamikaitou`
End-user changelog
------------------
Core Bot
********
- Converting from and to Postgres driver with ``redbot-setup convert`` have been fixed (:issue:`3714`, :issue:`3115`)
- Fixed big delays in commands that happened when the bot was owner-less (or if it only used co-owners feature) and command caller wasn't the owner (:issue:`3782`)
- Various optimizations
- Reduced calls to data backend when loading bot's commands (:issue:`3764`)
- Reduced calls to data backend when showing help for cogs/commands (:issue:`3766`)
- Improved performance for bots with big amount of guilds (:issue:`3767`)
- Mod cog no longer fetches guild's bans every 60 seconds when handling unbanning for tempbans (:issue:`3783`)
- Reduced the bot load for messages starting with a prefix when fuzzy search is disabled (:issue:`3718`)
- Aliases in Alias cog are now cached for better performance (:issue:`3788`)
Core Commands
*************
- ``[p]set avatar`` now supports setting avatar using attachment (:issue:`3747`)
- Added ``[p]set avatar remove`` subcommand for removing bot's avatar (:issue:`3757`)
- Fixed list of ignored channels that is shown in ``[p]ignore``/``[p]unignore`` (:issue:`3746`)
Audio
*****
- Age-restricted tracks, live streams, and mix playlists from YouTube should work in Audio again (:issue:`3791`)
- Soundcloud's sets and playlists with more than 50 tracks should work in Audio again (:issue:`3791`)
CustomCommands
**************
- Added ``[p]cc raw`` command that gives you the raw response of a custom command for ease of copy pasting (:issue:`3795`)
Modlog
******
- Fixed ``AttributeError`` for cases whose moderator doesn't share the server with the bot (:issue:`3784`, :issue:`3778`)
Streams
*******
- Fixed incorrect stream URLs for Twitch channels that have localised display name (:issue:`3773`, :issue:`3772`)
Trivia
******
- Fixed the error in ``[p]trivia stop`` that happened when there was no ongoing trivia session in the channel (:issue:`3774`)
Trivia Lists
************
- Updated ``leagueoflegends`` list with new changes to League of Legends (`b8ac70e <https://github.com/Cog-Creators/Red-DiscordBot/commit/b8ac70e59aa1328f246784f14f992d6ffe00d778>`_)
Developer changelog
-------------------
Utility Functions
*****************
- Added `redbot.core.utils.AsyncIter` utility class which allows you to wrap regular iterable into async iterator yielding items and sleeping for ``delay`` seconds every ``steps`` items (:issue:`3767`, :issue:`3776`)
- `bold()`, `italics()`, `strikethrough()`, and `underline()` now accept ``escape_formatting`` argument that can be used to disable escaping of markdown formatting in passed text (:issue:`3742`)
Documentation changes
---------------------
- Added `document about updating Red <update_red>` (:issue:`3790`)
- ``pyenv`` instructions will now update ``pyenv`` if it's already installed (:issue:`3740`)
- Updated Python version in ``pyenv`` instructions (:issue:`3740`)
- Updated install docs to include Ubuntu 20.04 (:issue:`3792`)
Miscellaneous
-------------
- **Config** - JSON driver will now properly have only one lock per cog name (:issue:`3780`)
- **Core Commands** - ``[p]debuginfo`` now shows used storage type (:issue:`3794`)
- **Trivia** - Corrected spelling of Compact Disc in ``games`` list (:issue:`3759`, :issue:`3758`)
Redbot 3.3.5 (2020-04-09)
=========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`jack1142`, :ghuser:`Kowlin`
End-user changelog
------------------
Core Bot
********
- "Outdated" field no longer shows in ``[p]info`` when Red is up-to-date (:issue:`3730`)
Alias
*****
- Fixed regression in ``[p]alias add`` that caused it to reject commands containing arguments (:issue:`3734`)
Redbot 3.3.4 (2020-04-05)
=========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`jack1142`, :ghuser:`kennnyshiwa`
End-user changelog
------------------
Core Bot
********
- Fixed checks related to bank's global state that were used in commands in Bank, Economy and Trivia cogs (:issue:`3707`)
Alias
*****
- ``[p]alias add`` now sends an error when command user tries to alias doesn't exist (:issue:`3710`, :issue:`3545`)
Developer changelog
-------------------
Core Bot
********
- Bump dependencies, including update to discord.py 1.3.3 (:issue:`3723`)
Utility Functions
*****************
- `redbot.core.utils.common_filters.filter_invites` now filters ``discord.io/discord.li`` invites links (:issue:`3717`)
- Fixed false-positives in `redbot.core.utils.common_filters.filter_invites` (:issue:`3717`)
Documentation changes
---------------------
- Versions of pre-requirements are now included in Windows install guide (:issue:`3708`)
Redbot 3.3.3 (2020-03-28)
=========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`AnonGuy`, :ghuser:`Dav-Git`, :ghuser:`FancyJesse`, :ghuser:`Ianardo-DiCaprio`, :ghuser:`jack1142`, :ghuser:`kennnyshiwa`, :ghuser:`Kowlin`, :ghuser:`NeuroAssassin`, :ghuser:`PredaaA`, :ghuser:`Stonedestroyer`, :ghuser:`TrustyJAID`
End-user changelog
------------------
Core Bot
********
- Delete delay for command messages has been moved from Mod cog to Core (:issue:`3638`, :issue:`3636`)
- 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 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`)
Core Commands
*************
- ``[p]set game`` no longer errors when trying to clear the status (:issue:`3630`, :issue:`3628`)
- All owner notifcations in Core now use proper prefixes in messages (:issue:`3632`)
- Added ``[p]set playing`` and ``[p]set streaming`` aliases for respectively ``[p]set game`` and ``[p]set stream`` (:issue:`3646`, :issue:`3590`)
ModLog
******
- Modlog's cases now keep last known username to prevent losing that information from case's message on edit (:issue:`3674`, :issue:`3443`)
CustomCom
*********
- Added ``[p]cc search`` command that allows users to search through created custom commands (:issue:`2573`)
Cleanup
*******
- Added ``[p]cleanup spam`` command that deletes duplicate messages from the last X messages and keeps only one copy (:issue:`3688`)
- Removed regex support in ``[p]cleanup self`` (:issue:`3704`)
Downloader
**********
- ``[p]cog checkforupdates`` now includes information about cogs that can't be installed due to Red/Python version requirements (:issue:`3678`, :issue:`3448`)
General
*******
- Added more detailed mode to ``[p]serverinfo`` command that can be accessed with ``[p]serverinfo 1`` (:issue:`2382`, :issue:`3659`)
Image
*****
- Users can now specify how many images should be returned in ``[p]imgur search`` and ``[p]imgur subreddit`` using ``[count]`` argument (:issue:`3667`, :issue:`3044`)
- ``[p]imgur search`` and ``[p]imgur subreddit`` now return one image by default (:issue:`3667`, :issue:`3044`)
Mod
***
- ``[p]userinfo`` now shows user's activities (:issue:`3669`)
- ``[p]userinfo`` now shows status icon near the username (:issue:`3669`)
- Muting no longer fails if user leaves while applying overwrite (:issue:`3627`)
- Fixed error that happened when Mod cog was loaded for the first time during bot startup (:issue:`3632`, :issue:`3626`)
Permissions
***********
- Commands for setting default rules now error when user tries to deny access to command designated as being always available (:issue:`3504`, :issue:`3465`)
Streams
*******
- Fixed an error that happened when no game was set on Twitch stream (:issue:`3631`)
- Preview picture for YouTube stream alerts is now bigger (:issue:`3689`, :issue:`3685`)
- YouTube channels with a livestream that doesn't have any current viewer are now properly showing as streaming (:issue:`3690`)
- Failures in Twitch API authentication are now logged (:issue:`3657`)
Trivia
******
- Added ``[p]triviaset custom upload/delete/list`` commands for managing custom trivia lists from Discord (:issue:`3420`, :issue:`3307`)
- Trivia sessions no longer error on payout when winner's balance would exceed max balance (:issue:`3666`, :issue:`3584`)
Warnings
********
- Sending warnings to warned user can now be disabled with ``[p]warnset toggledm`` command (:issue:`2929`, :issue:`2800`)
- Added ``[p]warnset warnchannel`` command that allows to set a channel where warnings should be sent to instead of the channel command was called in (:issue:`2929`, :issue:`2800`)
- Added ``[p]warnset togglechannel`` command that allows to disable sending warn message in guild channel (:issue:`2929`, :issue:`2800`)
- ``[p]warn`` now tells the moderator when bot wasn't able to send the warning to the user (:issue:`3653`, :issue:`3633`)
Developer changelog
-------------------
Core Bot
********
- Deprecation warnings issued by Red now use correct stack level so that the cog developers can find the cause of them (:issue:`3644`)
Dev Cog
*******
- Add ``__name__`` to environment's globals (:issue:`3649`, :issue:`3648`)
Documentation changes
---------------------
- Fixed install instructions for Mac in `install_linux_mac` (:issue:`3675`, :issue:`3436`)
- Windows install instructions now use ``choco upgrade`` commands instead of ``choco install`` to ensure up-to-date packages (:issue:`3684`)
Miscellaneous
-------------
- **Core Bot** - Command errors (i.e. command on cooldown, dm-only and guild-only commands, etc) can now be translated (:issue:`3665`, :issue:`2988`)
- **Core Bot** - ``redbot-setup`` now prints link to Getting started guide at the end of the setup (:issue:`3027`)
- **Core Bot** - Whitelist and blacklist commands now properly require passing at least one user (or role in case of local whitelist/blacklist) (:issue:`3652`, :issue:`3645`)
- **Downloader** - Fix misleading error appearing when repo name is already taken in ``[p]repo add`` (:issue:`3695`)
- **Downloader** - Improved error messages for unexpected errors in ``[p]repo add`` (:issue:`3656`)
- **Downloader** - Prevent encoding errors from crashing ``[p]cog update`` (:issue:`3639`, :issue:`3637`)
- **Trivia** - Non-finite numbers can no longer be passed to ``[p]triviaset timelimit``, ``[p]triviaset stopafter`` and ``[p]triviaset payout`` (:issue:`3668`, :issue:`3583`)
- **Utility Functions** - `redbot.core.utils.menus.menu()` now checks permissions *before* trying to clear reactions (:issue:`3589`, :issue:`3145`)
Redbot 3.3.2 (2020-02-28)
=========================
| Thanks to all these amazing people that contributed to this release:
| :ghuser:`aikaterna`, :ghuser:`chasehult`, :ghuser:`Dav-Git`, :ghuser:`DiscordLiz`, :ghuser:`Drapersniper`, :ghuser:`fixator10`, :ghuser:`Flame442`, :ghuser:`Hedlund01`, :ghuser:`jack1142`, :ghuser:`Kowlin`, :ghuser:`mikeshardmind`, :ghuser:`PredaaA`, :ghuser:`Stonedestroyer`, :ghuser:`trundleroo`, :ghuser:`TrustyJAID`, :ghuser:`zephyrkul`
End-user changelog
------------------
Core Bot
********
- Ignored guilds/channels and whitelist/blacklist are now cached for performance (:issue:`3472`)
- Ignored guilds/channels have been moved from Mod cog to Core (:issue:`3472`)
- ``[p]ignore channel`` command can now also ignore channel categories (:issue:`3472`)
Core Commands
*************
- Core cogs will now send bot mention prefix properly in places where discord doesn't render mentions (:issue:`3579`, :issue:`3591`, :issue:`3499`)
- Fix a bug with ``[p]blacklist add`` that made it impossible to blacklist users that bot doesn't share a server with (:issue:`3472`, :issue:`3220`)
- Improve user experience of ``[p]set game/listening/watching/`` commands (:issue:`3562`)
- Add ``[p]licenceinfo`` alias for ``[p]licenseinfo`` command to conform with non-American English (:issue:`3460`)
Admin
*****
- ``[p]announce`` will now only send error message if an actual errors occurs (:issue:`3514`, :issue:`3513`)
Alias
*****
- ``[p]alias help`` will now properly work in non-English locales (:issue:`3546`)
Audio
*****
- Users should be able to play age-restricted tracks from YouTube again (:issue:`3620`)
Economy
*******
- Next payday time will now be adjusted for users when payday time is changed (:issue:`3496`, :issue:`3438`)
Downloader
**********
- Downloader will no longer fail because of invalid ``info.json`` files (:issue:`3533`, :issue:`3456`)
- Add better logging of errors when Downloader fails to add a repo (:issue:`3558`)
Image
*****
- Fix load error for users that updated Red from version lower than 3.1 to version 3.2 or newer (:issue:`3617`)
Mod
***
- ``[p]hackban`` and ``[p]unban`` commands support user mentions now (:issue:`3524`)
- Ignored guilds/channels have been moved from Mod cog to Core (:issue:`3472`)
Streams
*******
- Fix stream alerts for Twitch (:issue:`3487`)
- Significantly reduce the quota usage for YouTube stream alerts (:issue:`3237`)
- Add ``[p]streamset timer`` command which can be used to control how often the cog checks for live streams (:issue:`3237`)
Trivia
******
- Add better handling for errors in trivia session (:issue:`3606`)
Trivia Lists
************
- Remove empty answers in trivia lists (:issue:`3581`)
Warnings
********
- Users can now pass a reason to ``[p]unwarn`` command (:issue:`3490`, :issue:`3093`)
Developer changelog
-------------------
Core Bot
********
- Updated all our dependencies - we're using discord.py 1.3.2 now (:issue:`3609`)
- Add traceback logging to task exception handling (:issue:`3517`)
- Developers can now create a command from an async function wrapped in `functools.partial` (:issue:`3542`)
- Bot will now show deprecation warnings in logs (:issue:`3527`, :issue:`3615`)
- Subcommands of command group with ``invoke_without_command=True`` will again inherit this group's checks (:issue:`3614`)
Config
******
- Fix Config's singletons (:issue:`3137`, :issue:`3136`)
Utility Functions
*****************
- Add clearer error when page is of a wrong type in `redbot.core.utils.menus.menu()` (:issue:`3571`)
Dev Cog
*******
- Allow for top-level `await`, `async for` and `async with` in ``[p]debug`` and ``[p]repl`` commands (:issue:`3508`)
Downloader
**********
- Downloader will now replace ``[p]`` with clean prefix same as it does in help command (:issue:`3592`)
- Add schema validation to ``info.json`` file processing - it should now be easier to notice any issues with those files (:issue:`3533`, :issue:`3442`)
Documentation changes
---------------------
- Add guidelines for Cog Creators in `guide_cog_creation` document (:issue:`3568`)
- Restructure virtual environment instructions to improve user experience (:issue:`3495`, :issue:`3411`, :issue:`3412`)
- Getting started guide now explain use of quotes for arguments with spaces (:issue:`3555`, :issue:`3111`)
- ``latest`` version of docs now displays a warning about possible differences from current stable release (:issue:`3570`)
- Make systemd guide clearer on obtaining username and python path (:issue:`3537`, :issue:`3462`)
- Indicate instructions for different venv types in systemd guide better (:issue:`3538`)
- Service file in `autostart_systemd` now also waits for network connection to be ready (:issue:`3549`)
- Hide alias of ``randomize_colour`` in docs (:issue:`3491`)
- Add separate headers for each event predicate class for better navigation (:issue:`3595`, :issue:`3164`)
- Improve wording of explanation for ``required_cogs`` key in `guide_publish_cogs` (:issue:`3520`)
Miscellaneous
-------------
- Use more reliant way of checking if command is bot owner only in ``[p]warnaction`` (Warnings cog) (:issue:`3516`, :issue:`3515`)
- Update PyPI domain in ``[p]info`` and update checker (:issue:`3607`)
- Stop using deprecated code in core (:issue:`3610`)
Redbot 3.3.1 (2020-02-05)
=========================
Core Bot
--------
- Add a cli flag for setting a max size of message cache
- Allow to edit prefix from command line using ``redbot --edit``.
- Some functions have been changed to no longer use deprecated asyncio functions
Core Commands
-------------
- The short help text for dm has been made more useful
- dm no longer allows owners to have the bot attempt to DM itself
Utils
-----
- Passing the event loop explicitly in utils is deprecated (Removal in 3.4)
Mod Cog
-------
- Hackban now works properly without being provided a number of days
Documentation Changes
---------------------
- Add ``-e`` flag to ``journalctl`` command in systemd guide so that it takes the user to the end of logs automatically.
- Added section to install docs for CentOS 8
- Improve usage of apt update in docs
Redbot 3.3.0 (2020-01-26)
=========================
Core Bot
--------
- The bot's description is now configurable.
- We now use discord.py 1.3.1, this comes with added teams support.
- The commands module has been slightly restructured to provide more useful data to developers.
- Help is now self consistent in the extra formatting used.
Core Commands
-------------
- Slowmode should no longer error on nonsensical time quantities.
- Embed use can be configured per channel as well.
Documentation
-------------
- We've made some small fixes to inaccurate instructions about installing with pyenv.
- Notes about deprecating in 3.3 have been altered to 3.4 to match the intended timeframe.
Admin
-----
- Gives feedback when adding or removing a role doesn't make sense.
Audio
-----
- Playlist finding is more intuitive.
- disconnect and repeat commands no longer interfere with eachother.
CustomCom
---------
- No longer errors when exiting an interactive menu.
Cleanup
-------
- A rare edge case involving messages which are deleted during cleanup and are the only message was fixed.
Downloader
----------
- Some user facing messages were improved.
- Downloader's initialization can no longer time out at startup.
General
-------
- Roll command will no longer attempt to roll obscenely large amounts.
Mod
---
- You can set a default amount of days to clean up when banning.
- Ban and hackban now use that default.
- Users can now optionally be DMed their ban reason.
Permissions
-----------
- Now has stronger enforcement of prioritizing botwide settings.

File diff suppressed because it is too large Load Diff

View File

@@ -150,7 +150,7 @@ selfroleset add
**Description**
Add a role to the list of selfroles.
Add a role, or a selection of roles, to the list of available selfroles.
.. warning:: Members will be able to assign themselves the role.
Make sure it doesn't give extra perms or anything that can break
@@ -160,6 +160,22 @@ Add a role to the list of selfroles.
* ``<role>``: The role to add to the list. |role-input|
.. _admin-command-selfroleset-clear:
"""""""""""""""""
selfroleset clear
"""""""""""""""""
**Syntax**
.. code-block:: none
[p]selfroleset clear
**Description**
Clear the list of available selfroles for this server.
.. _admin-command-selfroleset-remove:
""""""""""""""""""
@@ -174,7 +190,7 @@ selfroleset remove
**Description**
Removes a role from the list of selfroles.
Remove a role, or a selection of roles, from the list of available selfroles.
**Arguments**
@@ -232,7 +248,7 @@ as yourself, the command author.
* ``<role>``: The role to remove. |role-input-quotes|
* ``[user]``: The member to remove the role from. |member-input| Defaults
to the command author.
to the command author.
.. _admin-command-editrole:

View File

@@ -68,7 +68,7 @@ be replaced by the first argument of your alias:
# 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>`.
For a more detailed explanation, read :ref:`this <alias-command-alias-add>`.
.. _alias-commands:

View File

@@ -152,7 +152,7 @@ bankset maxbal
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.
If a user reaches this limit, they will be unable to gain more money.
**Arguments**

View File

@@ -294,3 +294,40 @@ Examples:
- ``<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
.. _cleanup-command-cleanupset:
^^^^^^^^^^
cleanupset
^^^^^^^^^^
.. note:: |admin-lock|
**Syntax**
.. code-block:: none
[p]cleanupset
**Description**
Manage the settings for the cleanup command.
.. _cleanup-command-cleanupset-notify:
"""""""""""""""""
cleanupset notify
"""""""""""""""""
**Syntax**
.. code-block:: none
[p]cleanupset notify
**Description**
Toggle clean up notification settings.
When enabled, a message will be sent per cleanup, showing how many messages were deleted.
This message will be deleted after 5 seconds.

View File

@@ -13,7 +13,7 @@ find detailed docs about usage and commands.
included in the cogs paths and it cannot be unloaded. It contains needed
commands for cog management.
.. _cogmanaerui-usage:
.. _cogmanagerui-usage:
-----
Usage
@@ -193,7 +193,7 @@ reorderpath
.. code-block:: none
[p]reorderpath <from_> <to>
[p]reorderpath <from> <to>
**Description**
@@ -221,7 +221,7 @@ have to put the 3rd path higher than the 2nd path, let's swap them! Type
**Arguments**
* ``<from_>``: The index of the path you want to move.
* ``<from>``: The index of the path you want to move.
* ``<to>``: The location where you want to insert the path.
.. _cogmanagerui-command-installpath:
@@ -238,10 +238,12 @@ installpath
**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.
Shows the install path, or sets a new one.
.. warning:: If you edit the install path, the cogs won't be transfered.
If you want to set a new path, the same rules as for
:ref:`addpath <cogmanagerui-command-addpath>` apply
.. warning:: If you edit the install path, the cogs won't be transferred.
**Arguments**

View File

@@ -383,7 +383,7 @@ command defaultdisablecog
.. code-block:: none
[p]command defaultdisablecog <cogname>
[p]command defaultdisablecog <cog>
**Description**
@@ -400,7 +400,7 @@ To override it, use ``[p]command enablecog`` on the servers you want to allow us
- ``[p]command defaultdisablecog ModLog``
**Arguments:**
- ``<cogname>`` - The name of the cog to make disabled by default. Must be title-case.
- ``<cog>`` - The name of the cog to make disabled by default. Must be title-case.
.. _core-command-command-defaultenablecog:
@@ -414,7 +414,7 @@ command defaultenablecog
.. code-block:: none
[p]command defaultenablecog <cogname>
[p]command defaultenablecog <cog>
**Description**
@@ -431,7 +431,7 @@ To override it, use ``[p]command disablecog`` on the servers you want to disallo
- ``[p]command defaultenablecog ModLog``
**Arguments:**
- ``<cogname>`` - The name of the cog to make enabled by default. Must be title-case.
- ``<cog>`` - The name of the cog to make enabled by default. Must be title-case.
.. _core-command-command-disable:
@@ -519,7 +519,7 @@ command disablecog
.. code-block:: none
[p]command disablecog <cogname>
[p]command disablecog <cog>
**Description**
@@ -533,7 +533,7 @@ Disable a cog in this server.
- ``[p]command disablecog ModLog``
**Arguments:**
- ``<cogname>`` - The name of the cog to disable on this server. Must be title-case.
- ``<cog>`` - The name of the cog to disable on this server. Must be title-case.
.. _core-command-command-disabledmsg:
@@ -651,7 +651,7 @@ command enablecog
.. code-block:: none
[p]command enablecog <cogname>
[p]command enablecog <cog>
**Description**
@@ -665,7 +665,7 @@ Enable a cog in this server.
- ``[p]command enablecog ModLog``
**Arguments:**
- ``<cogname>`` - The name of the cog to enable on this server. Must be title-case.
- ``<cog>`` - The name of the cog to enable on this server. Must be title-case.
.. _core-command-command-listdisabled:
@@ -770,6 +770,33 @@ This is limited to one message every 60 seconds per person.
**Arguments:**
- ``[message]`` - The message to send to the owner.
.. _core-command-diagnoseissues:
^^^^^^^^^^^^^^
diagnoseissues
^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]diagnoseissues [channel] <member> <command_name>
**Description**
Diagnose issues with the command checks with ease!
If you want to diagnose the command from a text channel in a different server,
you can do so by using the command in DMs.
**Example:**
- ``[p]diagnoseissues #general @Slime ban`` - Diagnose why @Slime can't use ``[p]ban`` in #general channel.
**Arguments:**
- ``[channel]`` - The text channel that the command should be tested for. Defaults to the current channel.
- ``<member>`` - The member that should be considered as the command caller.
- ``<command_name>`` - The name of the command to test.
.. _core-command-dm:
^^
@@ -875,7 +902,7 @@ embedset command
.. code-block:: none
[p]embedset command <command_name> [enabled]
[p]embedset command <command> [enabled]
**Description**
@@ -908,7 +935,7 @@ embedset command global
.. code-block:: none
[p]embedset command global <command_name> [enabled]
[p]embedset command global <command> [enabled]
**Description**
@@ -938,13 +965,13 @@ embedset command server
.. code-block:: none
[p]embedset command server <command_name> [enabled]
[p]embedset command server <command> [enabled]
.. tip:: Alias: ``embedset command guild``
**Description**
Sets a commmand's embed setting for the current server.
Sets a command's embed setting for the current server.
If set, this is used instead of the server default to determine whether or not to use embeds.
@@ -1030,7 +1057,7 @@ embedset showsettings
.. code-block:: none
[p]embedset showsettings [command_name]
[p]embedset showsettings [command]
**Description**
@@ -1044,7 +1071,7 @@ Provide a command name to check for command specific embed settings.
- ``[p]embedset showsettings "ignore list"`` - Checking subcommands requires quotes.
**Arguments:**
- ``[command_name]`` - Checks this command for command specific embed settings.
- ``[command]`` - Checks this command for command specific embed settings.
.. _core-command-embedset-user:
@@ -1190,6 +1217,34 @@ mean some pages will exceed this limit.
**Arguments:**
- ``<limit>`` - The max amount of characters to show per page in the help message.
.. _core-command-helpset-reacttimeout:
""""""""""""""""""""
helpset reacttimeout
""""""""""""""""""""
**Syntax**
.. code-block:: none
[p]helpset reacttimeout <seconds>
**Description**
Set the timeout for reactions, if menus are enabled.
The default is 30 seconds.
The timeout has to be between 15 and 300 seconds.
**Examples:**
- ``[p]helpset reacttimeout 30`` - The default timeout.
- ``[p]helpset reacttimeout 60`` - Timeout of 1 minute.
- ``[p]helpset reacttimeout 15`` - Minimum allowed timeout.
- ``[p]helpset reacttimeout 300`` - Max allowed timeout (5 mins).
**Arguments:**
- ``<seconds>`` - The timeout, in seconds, of the reactions.
.. _core-command-helpset-resetformatter:
""""""""""""""""""""""
@@ -2400,7 +2455,7 @@ list of key,values as described by the cog requesting this command.
**Examples:**
- ``[p]set api Spotify redirect_uri localhost``
- ``[p]set api spotify redirect_uri localhost``
- ``[p]set api github client_id,whoops client_secret,whoops``
**Arguments:**
@@ -2445,8 +2500,8 @@ set api remove
Remove the given services with all their keys and tokens.
**Examples:**
- ``[p]set api remove Spotify``
- ``[p]set api remove github audiodb``
- ``[p]set api remove spotify``
- ``[p]set api remove github youtube``
**Arguments:**
- ``<services...>`` - The services to remove.
@@ -3174,7 +3229,7 @@ Sets Red's server prefix(es).
This is not additive. It will replace all current server prefixes.
You cannot have a prefix with more than 20 characters.
You cannot have a prefix with more than 25 characters.
**Examples:**
- ``[p]set serverprefix !``

View File

@@ -80,8 +80,8 @@ Examples:
**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.
- ``[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 / member, and channel.
.. _customcommands-command-customcom-create:

254
docs/cog_guides/dev.rst Normal file
View File

@@ -0,0 +1,254 @@
.. _dev:
===
Dev
===
This is the cog guide for the dev 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 dev
.. _dev-usage:
-----
Usage
-----
Various development focused utilities. All commands in this cog are
restricted to the bot owners.
.. note::
Unlike other cogs, the Dev cog is only loaded if the bot is
started with the ``--dev`` flag.
.. warning::
It is not suggested that you run Dev in production. Many
of these cog's commands may cause down-the-line complications if
not used appropriately.
.. _dev-commands:
--------
Commands
--------
.. _dev-command-bypasscooldowns:
^^^^^^^^^^^^^^^
bypasscooldowns
^^^^^^^^^^^^^^^
**Syntax**
.. code-block:: none
[p]bypasscooldowns [toggle]
**Description**
Give bot owners the ability to bypass cooldowns. Note that this bypass
does not persist through restarts/shutdowns.
**Arguments**
* ``[toggle]``: |bool-input| Otherwise, defaults to the inverse of the current setting.
.. _dev-command-debug:
^^^^^
debug
^^^^^
**Syntax**
.. code-block:: none
[p]debug <code>
**Description**
Evaluate a statement of python code.
The bot will always respond with the return value of the code.
If the return value of the code is a coroutine, it will be awaited,
and the result of that will be the bot's response.
Note: Only one statement may be evaluated. Using certain restricted
keywords, e.g. yield, will result in a syntax error. For multiple
lines or asynchronous code, see [p]repl or [p]eval.
**Environment Variables**
* ``ctx``: Command invocation context
* ``bot``: The bot object
* ``channel``: The current channel object
* ``author``: The current author's member object
* ``guild``: The current guild object
* ``message``: The command's message object
* ``aiohttp``: The aiohttp library
* ``asyncio``: The asyncio library
* ``discord``: The discord.py library
* ``commands``: The redbot.core.commands module
* ``cf``: The redbot.core.utils.chat_formatting module
* ``_``: The result from the last dev command
**Arguments**
* ``<code>``: The statement to run.
.. _dev-command-eval:
^^^^
eval
^^^^
**Syntax**
.. code-block:: none
[p]eval <body>
**Description**
Execute asynchronous code.
This command wraps code into the body of an async function and then
calls and awaits it. The bot will respond with anything printed to
stdout, as well as the return value of the function.
The code can be within a codeblock, inline code or neither, as long
as they are not mixed and they are formatted correctly.
**Environment Variables**
* ``ctx``: Command invocation context
* ``bot``: The bot object
* ``channel``: The current channel object
* ``author``: The current author's member object
* ``guild``: The current guild object
* ``message``: The command's message object
* ``aiohttp``: The aiohttp library
* ``asyncio``: The asyncio library
* ``discord``: The discord.py library
* ``commands``: The redbot.core.commands module
* ``cf``: The redbot.core.utils.chat_formatting module
* ``_``: The result from the last dev command
**Arguments**
* ``<body>``: The code to evaluate.
.. _dev-command-mock:
^^^^
mock
^^^^
**Syntax**
.. code-block:: none
[p]mock <user> <command>
**Description**
Mock another user invoking a command. The prefix must not be entered.
**Arguments**
* ``<user>``: The user to mock. |user-input-quotes|
* ``<command>``: The command to invoke.
.. _dev-command-mockmsg:
^^^^^^^
mockmsg
^^^^^^^
**Syntax**
.. code-block:: none
[p]mockmsg <user> <content>
**Description**
Dispatch a message event as if it were sent by a different user.
Current message is used as a base (including attachments, embeds, etc.),
the content and author of the message are replaced with the given arguments.
**Arguments**
* ``<user>``: The member to mock. |user-input-quotes|
* ``<content>``: The content used for the message.
.. note::
If ``content`` isn't passed, the message needs to contain embeds, attachments,
or anything else that makes the message non-empty.
.. _dev-command-repl:
^^^^
repl
^^^^
**Syntax**
.. code-block:: none
[p]repl
**Description**
Open an interactive REPL.
The REPL will only recognise code as messages which start with a
backtick. This includes codeblocks, and as such multiple lines can be
evaluated.
Use ``exit()`` or ``quit`` to exit the REPL session, prefixed with
a backtick so they may be interpreted.
**Environment Variables**
* ``ctx``: Command invocation context
* ``bot``: The bot object
* ``channel``: The current channel object
* ``author``: The current author's member object
* ``guild``: The current guild object
* ``message``: The command's message object
* ``aiohttp``: The aiohttp library
* ``asyncio``: The asyncio library
* ``discord``: The discord.py library
* ``commands``: The redbot.core.commands module
* ``cf``: The redbot.core.utils.chat_formatting module
* ``_``: The result from the last dev command
.. _dev-command-repl-pause:
""""""""""
repl pause
""""""""""
**Syntax**
.. code-block:: none
[p]repl pause [toggle]
**Description**
Pauses/resumes the REPL running in the current channel.
**Arguments**
* ``[toggle]``: |bool-input| Otherwise, defaults to the inverse of the current setting.

View File

@@ -354,7 +354,9 @@ economyset rolepaydayamount
**Description**
Set the amount earned each payday for a role. Setting to 0 will remove the custom payday for that role instead.
Set the amount earned each payday for a role.
Set to 0 will remove the custom payday for that role instead.
Only available when not using a global bank.

View File

@@ -122,6 +122,22 @@ Examples:
- ``[words...]`` The words or sentences to filter.
.. _filter-command-filter-channel-clear:
""""""""""""""""""""
filter channel clear
""""""""""""""""""""
**Syntax**
.. code-block:: none
[p]filter channel clear
**Description**
Clears this channel's filter list.
.. _filter-command-filter-channel-list:
"""""""""""""""""""
@@ -164,6 +180,22 @@ Examples:
- ``[words...]`` The words or sentences to no longer filter.
.. _filter-command-filter-clear:
""""""""""""
filter clear
""""""""""""
**Syntax**
.. code-block:: none
[p]filter clear
**Description**
Clears this server's filter list.
.. _filter-command-filter-delete:
"""""""""""""

View File

@@ -58,7 +58,7 @@ Ban a user from this server and optionally delete days of messages.
**Example Usage**
* ``[p]ban 428675506947227648 7 Continued to spam after told to stop.``
This will ban Twentysix and it will delete 7 days worth of messages.
This will ban the user with ID 428675506947227648 and it will delete 7 days worth of messages.
* ``[p]ban @Twentysix 7 Continued to spam after told to stop.``
This will ban Twentysix and it will delete 7 days worth of messages.
@@ -92,7 +92,7 @@ Kick a user.
**Example Usage**
* ``[p]kick 428675506947227648 wanted to be kicked.``
This will kick Twentysix from the server.
This will kick the user with ID 428675506947227648 from the server.
* ``[p]kick @Twentysix wanted to be kicked.``
This will kick Twentysix from the server.
@@ -282,7 +282,7 @@ modset hierarchy
Toggle role hierarchy check for mods and admins.
..warning:: Disabling this setting will allow mods to take actions on users above them in the role hierarchy!
.. warning:: Disabling this setting will allow mods to take actions on users above them in the role hierarchy!
This is enabled by default.
@@ -642,7 +642,7 @@ Temporarily ban a user from this server.
* ``[p]tempban @Twentysix 15m You need a timeout``
This will ban Twentysix for 15 minutes.
* ``[p]tempban 428675506947227648 1d2h15m 5 Evil person``
This will ban the user for 1 day 2 hours 15 minutes and will delete the last 5 days of their messages.
This will ban the user with ID 428675506947227648 for 1 day 2 hours 15 minutes and will delete the last 5 days of their messages.
.. _mod-command-unban:

View File

@@ -120,11 +120,14 @@ modlogset cases
**Description**
Enable or disable case creation for a mod action.
Enable or disable case creation for a mod action, like disabling warnings, enabling bans, etc.
**Arguments**
**Examples:**
- ``[p]modlogset cases kick`` - Enables/disables modlog messages for kicks.
- ``[p]modlogset cases ban`` - Enables/disables modlog messages for bans.
* ``[action]``: The action to enable or disable case creation for.
**Arguments:**
- ``[action]`` - The type of mod action to be enabled/disabled for case creation.
.. _modlog-command-modlogset-modlog:

View File

@@ -86,10 +86,16 @@ language = None
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This patterns also effect to html_static_path and html_extra_path
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
exclude_patterns = [
"_build",
"Thumbs.db",
".DS_Store",
# to ensure that include files (partial pages) aren't built, exclude them
"**/_includes/**",
]
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = "sphinx"
pygments_style = "default"
# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = False
@@ -104,6 +110,9 @@ with open("prolog.txt", "r") as file:
# Adds d.py version to available substitutions in all files
rst_prolog += f"\n.. |DPY_VERSION| replace:: {dpy_version}"
# Add release highlight indicator to available substitutions in all files
rst_prolog += f"\n.. |cool| replace:: \N{HEAVY BLACK HEART}\N{VARIATION SELECTOR-16}"
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
@@ -111,6 +120,12 @@ rst_prolog += f"\n.. |DPY_VERSION| replace:: {dpy_version}"
#
html_theme = "sphinx_rtd_theme"
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
#
html_extra_path = ["_html"]
# 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.
@@ -218,6 +233,7 @@ intersphinx_mapping = {
"dpy": (f"https://discordpy.readthedocs.io/en/v{dpy_version}/", None),
"motor": ("https://motor.readthedocs.io/en/stable/", None),
"babel": ("http://babel.pocoo.org/en/stable/", None),
"dateutil": ("https://dateutil.readthedocs.io/en/stable/", None),
}
# Extlinks

View File

@@ -128,7 +128,7 @@ Notice a few things in the above examples:
self.config.<insert scope here, or nothing if global>.variable_name.set(new_value)
It is also possible to use :code:`async with` syntax to get and set config
values. When entering the statement, the config value is retreived, and on exit,
values. When entering the statement, the config value is retrieved, and on exit,
it is saved. This puts a safeguard on any code within the :code:`async with`
block such that if it breaks from the block in any way (whether it be from
:code:`return`, :code:`break`, :code:`continue` or an exception), the value will
@@ -262,7 +262,7 @@ Now let's see an example that uses multiple identifiers:
from redbot.core import Config, commands, checks
class ChannelAccesss(commands.Cog):
class ChannelAccess(commands.Cog):
def __init__(self):
self.config = Config.get_conf(self, identifier=1234567890)
default_access = {

View File

@@ -13,21 +13,21 @@ This is a quick start guide for a general usage.
.. note::
If you haven't installed Red, please do it by following
the :ref:`installation guides <main>`.
one of the `installation guides <install_guides/index>`.
Assuming you correctly installed Red, you should have a
window like this:
.. image:: .resources/red-console.png
.. _gettings-started-invite:
.. _getting-started-invite:
-------------------------
Invite Red to your server
-------------------------
When started, the console will show you ``Invite URL`` (here at
the bottom of the screenshot).
When started, the console will show you the ``Invite URL``
(visible at the bottom of the screenshot above).
Paste the link into your browser and select the server you want
to invite the bot in, like any other bot.
@@ -63,7 +63,7 @@ example, if your prefix is ``!``, you will execute your command like this:
The commands
~~~~~~~~~~~~
The command you're going to use the most is help. That command will
The command you're going to use the most is **help**. This command will
show you **all of the available commands** of the bot with a small description.
.. code-block:: none
@@ -106,8 +106,8 @@ parameters.
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):
You can use help to show the **categories** too, generally called cogs,
by doing the following (notice the capitalization):
.. code-block:: none
@@ -122,7 +122,7 @@ To get the description of a subcommand, type this:
When using subcommands, you also need to specify the command group.
As an example, ``cleanup`` has 6 subcommands. If you want
to use one, do it like this: ``[p]cleanup messages 10``
to use one of them, do: ``[p]cleanup messages 10``
.. _getting-started-cogs:
@@ -216,8 +216,8 @@ or system files.
Server owner
~~~~~~~~~~~~
The server owner can access all commands on his guild, except the global
ones or those who can interact with system files (available for the
The server owner can access all commands on their guild, except the global
ones or those that can interact with system files (available for the
bot owner).
~~~~~~~~~~~~~
@@ -237,12 +237,13 @@ Moderator
A moderator is a step above the average users. You can set multiple moderator
roles with the ``[p]set addmodrole`` and ``[p]set removemodrole`` commands.
For example, in the mod cog (again), a mod will be able to mute, kick and ban;
but he won't be able to modify the cog settings with the ``[p]modset`` command.
For example, in the filter cog, a mod will be able to use the various commands
under ``[p]filter`` (such as adding and removing filtered words), but they will
not be able to modify the cog settings with the ``[p]filterset`` command.
.. tip::
If you don't like the default permission settings for some commands or
if want to restrict a cog or a command to a channel/member, you can use
want to restrict a cog or a command to a channel/member, you can use
the permissions cog.
.. _getting-started-hosting:
@@ -265,14 +266,14 @@ If you want to do it, follow these steps.
basics of the Unix commands, such as navigating the system files or use
a terminal text editor.
You should follow `this guide
You should read `DigitalOcean's tutorial: An Introduction to Linux Basics
<https://www.digitalocean.com/community/tutorials/an-introduction-to-linux-basics>`_
from DigitalOcean which will introduce you to the Linux basics.
if you have not used Linux before.
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 page <host-list>` for
on an online service. Please check :ref:`this list of hosts <host-list>` for
more information.
You can also buy a Raspberry Pi (~$20), which is a micro-computer that will
@@ -281,7 +282,7 @@ If you want to do it, follow these steps.
2. **Install Linux**
Most of the VPS providers have tools for installing Linux automatically. If
you're a beginner, we recommend **Ubuntu 20.04 LTS**.
you're a beginner, we recommend **Ubuntu 22.04 LTS**.
For Raspberry Pi users, just install `Raspbian
<https://www.raspberrypi.org/software/>`_ on a micro-SD card.
@@ -306,8 +307,8 @@ If you want to do it, follow these steps.
3. **Install and set up Red**
Just follow one of the Linux installation guide. We provide guides for the
most used distributions. Check the :ref:`home page <main>` and search for
Follow one of the Linux installation guides. We provide guides for the
most used distributions. Check the `list of install guides <install_guides/index>` and search for
your distribution.
4. **Set up an auto-restart**
@@ -317,7 +318,7 @@ If you want to do it, follow these steps.
side task and handle fatal errors, so you can just leave your server running
and enjoy Red!
For that, just follow :ref:`this guide <systemd-service-guide>`.
For that, follow :ref:`the systemd service guide <systemd-service-guide>`.
.. _getting-started-userdocs:
@@ -343,9 +344,12 @@ The cog guides are formatted the same. They're divided into 3 sections:
A line that will show how the command must be invoked, with the arguments.
.. tip:: If the command show something like ``[lavalinkset|llset]``, that means
you can invoke the command with ``lavalinkset`` or with ``llset``, this is
called an alias.
* **Aliases**
Each command may have one or more aliases, which are alternative command names
you can use to invoke the same command. For example, ``[p]set colour`` can also
be invoked with ``[p]set color``. If there are aliases for a command, they will
appear just under the syntax.
* **Description**

View File

@@ -111,15 +111,68 @@ As you've added more questions, your file should look something like this:
- Chelsea
- chelsea f.c.
How much money is a US Olympic gold medalist awarded?:
- $25,000
- 25,000
- 25k
- 25000
- $25000
- $37,500
- 37,500
- 37.5k
- 37500
- $37500
You can keep adding questions until you are satisfied, and then you can upload and
play your very own trivia! See :ref:`here <trivia-command-triviaset-custom>` for more details.
play your very own trivia! See :ref:`[p]triviaset custom <trivia-command-triviaset-custom>` for more information.
Still stuck? Take a look at
`the core trivia lists <https://github.com/Cog-Creators/Red-DiscordBot/tree/V3/develop/redbot/cogs/trivia/data/lists>`_
for reference.
--------------------------
Optional: Custom Overrides
--------------------------
Once you've got the hang of the question-answer format,
you might want to add some custom overrides with the CONFIG key - in a similar way to the AUTHOR key.
These will override the settings set with :ref:`[p]triviaset <trivia-command-triviaset>`.
For example, with a trivia list which has questions that are quick to answer you could decrease the time limit
and require a higher score to win.
Here are all the overrides available:
.. code-block:: yaml
CONFIG:
bot_plays: true or false # bot gains points if no one answers correctly
delay: positive number # answer time limit (seconds), must be greater than or equal to 4
timeout: positive number # timeout for no responses (seconds), must be greater than delay
max_score: positive integer # points required to win
reveal_answer: true or false # reveal answer on timeout
payout_multiplier: non-negative number # payout multiplier
use_spoilers: true or false # use spoilers in answers
So, your final file might look something like this:
.. code-block:: yaml
AUTHOR: Red
CONFIG:
bot_plays: false
use_spoilers: true
delay: 20
payout_multiplier: 0.5
max_score: 20
How many days are there in a regular year?:
- 365
- three hundred and sixty five
"Who is the #1 followed user on Twitter?":
- Barack Obama
- Obama
What is the only sea without any coasts?:
- Sargasso
- Sargasso Sea
Who won the Premier League in 2015?:
- Chelsea
- chelsea f.c.
How much money is a US Olympic gold medallist awarded?:
- $37,500
- 37,500
- 37.5k
- 37500
- $37500

View File

@@ -8,7 +8,7 @@ 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
of the :ref:`getting started guide <getting-started>`. Please take a look
if you don't know how to host Red.
@@ -21,7 +21,7 @@ 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.
Pterodactyl, repl.it, Termux 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
@@ -41,9 +41,9 @@ Hosting on a VPS or Dedicated Server
.. warning::
Please be aware that a Linux server is controlled through a command line.
If you don't know Unix basics, please take a look at `this guide
<https://www.digitalocean.com/community/tutorials/an-introduction-to-linux-basics>`_
from DigitalOcean which will introduce you to the Linux basics.
If you don't know Unix basics, please take a look at
`DigitalOcean's tutorial: An Introduction to Linux Basics
<https://www.digitalocean.com/community/tutorials/an-introduction-to-linux-basics>`_.
------------
@@ -103,10 +103,10 @@ Average Providers
with locations available worldwide.
| `Hetzner Online <https://www.hetzner.com/>`_ is a German VPS and dedicated server
provider with locations in Germany and Finland.
provider with locations in Germany, US and Finland.
| `Contabo <https://contabo.com/>`_ is also a German VPS and dedicated server provider
with locations in Germany and the United States.
with locations in Germany, Asia, Australia 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.
@@ -114,6 +114,9 @@ Average Providers
| `LowEndBox <http://lowendbox.com/>`_ is a website where hosting providers are
discussed and curated, often with lower costs and less known providers.
| `AlphaVps <https://alphavps.com>`_ is a Bulgaria VPS and dedicated server provider
with locations in Los Angeles, New York, England, Germany and Bulgaria.
--------------------
Higher End Providers
--------------------
@@ -145,6 +148,7 @@ Free Hosting
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.
New Oracle Cloud customers also get $300 of free credit, but only valid for 30 days.
| 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

@@ -12,13 +12,13 @@ Welcome to Red - Discord Bot's documentation!
:maxdepth: 1
:caption: Installation Guides:
install_windows
install_linux_mac
install_guides/index
bot_application_guide
update_red
about_venv
autostart_systemd
autostart_windows
autostart_mac
autostart_systemd
.. toctree::
:maxdepth: 2
@@ -33,6 +33,7 @@ Welcome to Red - Discord Bot's documentation!
:caption: User guides:
getting_started
intents
cog_guides/admin
cog_guides/alias
cog_guides/bank
@@ -40,6 +41,7 @@ Welcome to Red - Discord Bot's documentation!
cog_guides/cog_manager_ui
cog_guides/core
cog_guides/customcommands
cog_guides/dev
cog_guides/downloader
cog_guides/economy
cog_guides/filter
@@ -78,20 +80,11 @@ Welcome to Red - Discord Bot's documentation!
framework_utils
version_guarantees
.. toctree::
:maxdepth: 2
:caption: Changelogs:
changelog_3_4_0
changelog_3_3_0
release_notes_3_2_0
changelog_3_2_0
changelog_3_1_0
.. toctree::
:maxdepth: 2
:caption: Others
changelog
host-list

View File

@@ -0,0 +1,19 @@
To install/update pyenv, run the following command:
.. prompt:: bash
command -v pyenv && pyenv update || curl https://pyenv.run | bash
After this command, you will see a warning about 'pyenv' not being in the load path. To address this,
you should run these commands:
.. prompt:: bash
profile=$([ -n "$ZSH_VERSION" ] && echo ~/.zprofile || ([ -f ~/.bash_profile ] && echo ~/.bash_profile || echo ~/.profile))
rcfile=$([ -n "$ZSH_VERSION" ] && echo ~/.zshrc || echo ~/.bashrc)
printf '%s\n%s\n%s\n' 'export PYENV_ROOT="$HOME/.pyenv"' 'export PATH="$PYENV_ROOT/bin:$PATH"' "$([ -f "$profile" ] && cat "$profile")" > "$profile"
echo 'eval "$(pyenv init --path)"' >> "$profile"
echo 'eval "$(pyenv init -)"' >> "$rcfile"
echo 'eval "$(pyenv virtualenv-init -)"' >> "$rcfile"
Then **log out and log back in** and run the following command:

View File

@@ -0,0 +1,44 @@
------------------------------
Creating a Virtual Environment
------------------------------
.. tip::
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.
**************************
Using ``pyenv virtualenv``
**************************
Using ``pyenv virtualenv`` saves you the headache of remembering where you installed your virtual
environments. This option is only available if you installed Python with pyenv.
First, ensure your pyenv interpreter is set to python 3.8.1 or greater with the following command:
.. prompt:: bash
pyenv version
Now, create a virtual environment with the following command:
.. prompt:: bash
pyenv virtualenv <name>
Replace ``<name>`` with whatever you like. If you ever forget what you named it,
you can always use the command ``pyenv versions`` to list all virtual environments.
Now activate your virtualenv with the following command:
.. prompt:: bash
pyenv shell <name>
.. important::
You must activate the virtual environment with the above command every time you open a new
shell to run, install or update Red. You can check out other commands like ``pyenv local`` and
``pyenv global`` if you wish to keep the virtualenv activated all the time.

View File

@@ -0,0 +1,38 @@
------------------------------
Creating a Virtual Environment
------------------------------
.. tip::
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.
**************
Using ``venv``
**************
This is the quickest way to get your virtual environment up and running, as `venv` is shipped with
python.
First, choose a directory where you would like to create your virtual environment. It's a good idea
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.
Create your virtual environment with the following command:
.. prompt:: bash
python3.9 -m venv ~/redenv
And activate it with the following command:
.. prompt:: bash
source ~/redenv/bin/activate
.. important::
You must activate the virtual environment with the above command every time you open a new
shell to run, install or update Red.

View File

@@ -0,0 +1,52 @@
--------------
Installing Red
--------------
Choose one of the following commands to install Red.
To install without additional config backend support:
.. prompt:: bash
:prompts: (redenv) $
python -m pip install -U pip setuptools wheel
python -m pip install -U Red-DiscordBot
Or, to install with PostgreSQL support:
.. prompt:: bash
:prompts: (redenv) $
python -m pip install -U pip setuptools wheel
python -m pip install -U "Red-DiscordBot[postgres]"
--------------------------
Setting Up and Running Red
--------------------------
After installation, set up your instance with the following command:
.. prompt:: bash
:prompts: (redenv) $
redbot-setup
This will set the location where data will be stored, as well as your
storage backend and the name of the instance (which will be used for
running the bot).
Once done setting up the instance, run the following command to run Red:
.. prompt:: bash
:prompts: (redenv) $
redbot <your instance name>
It will walk through the initial setup, asking for your token and a prefix.
You can find out how to obtain a token with
`this guide <../bot_application_guide>`.
.. tip::
If it's the first time you're using Red, you should check our `getting-started` guide
that will walk you through all essential information on how to interact with Red.

View File

@@ -0,0 +1,26 @@
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
Red Hat Enterprise Linux (RHEL) 8.4-8.x and its derivatives have all required packages available in official repositories.
Install them with dnf:
.. prompt:: bash
sudo dnf -y update
sudo dnf -y group install development
sudo dnf -y install python39 python39-pip python39-devel java-11-openjdk-headless nano git
Set ``java`` executable to point to Java 11:
.. prompt:: bash
sudo alternatives --set java "java-11-openjdk.$(uname -i)"
.. Include common instructions:
.. include:: _includes/create-env-with-venv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,18 @@
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
Red Hat Enterprise Linux (RHEL) 9 and its derivatives have all required packages available in official repositories.
Install them with dnf:
.. prompt:: bash
sudo dnf -y install python39 git java-11-openjdk-headless @development nano
.. Include common instructions:
.. include:: _includes/create-env-with-venv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,27 @@
----------------------------
Installing Python with pyenv
----------------------------
On distributions where Python 3.9 needs to be compiled from source, we recommend the use of pyenv.
This simplifies the compilation process and has the added bonus of simplifying setting up Red in a
virtual environment.
.. include:: _includes/_install-pyenv-and-setup-path.rst
.. prompt:: bash
CONFIGURE_OPTS=--enable-optimizations pyenv install 3.9.16 -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
the ``CONFIGURE_OPTS=--enable-optimizations`` part from the front of the command, which will
drastically reduce the install time. However, be aware that this will make Python run about 10%
slower.
After that is finished, run:
.. prompt:: bash
pyenv global 3.9.16
Pyenv is now installed and your system should be configured to run Python 3.9.

View File

@@ -0,0 +1,27 @@
----------------------------
Installing Python with pyenv
----------------------------
On distributions where Python 3.8 needs to be compiled from source, we recommend the use of pyenv.
This simplifies the compilation process and has the added bonus of simplifying setting up Red in a
virtual environment.
.. include:: _includes/_install-pyenv-and-setup-path.rst
.. prompt:: bash
CONFIGURE_OPTS=--enable-optimizations pyenv install 3.8.16 -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
the ``CONFIGURE_OPTS=--enable-optimizations`` part from the front of the command, which will
drastically reduce the install time. However, be aware that this will make Python run about 10%
slower.
After that is finished, run:
.. prompt:: bash
pyenv global 3.8.16
Pyenv is now installed and your system should be configured to run Python 3.8.

View File

@@ -0,0 +1,5 @@
.. warning::
For safety reasons, DO NOT install Red with a root user. If you are unsure how to create
a new user on Linux, see `DigitalOcean's tutorial: How To Create a New Sudo-enabled User
<https://www.digitalocean.com/community/tutorials/how-to-create-a-new-sudo-enabled-user-on-ubuntu-20-04-quickstart>`_.

View File

@@ -0,0 +1,7 @@
.. _install-alma-linux-8:
====================================
Installing Red on Alma Linux 8.4-8.x
====================================
.. include:: _includes/install-guide-rhel8-derivatives.rst

View File

@@ -0,0 +1,7 @@
.. _install-alma-linux-9:
==============================
Installing Red on Alma Linux 9
==============================
.. include:: _includes/install-guide-rhel9-derivatives.rst

View File

@@ -0,0 +1,35 @@
.. _install-arch:
============================
Installing Red on Arch Linux
============================
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
Install the pre-requirements with pacman:
.. prompt:: bash
sudo pacman -Syu git jre11-openjdk-headless base-devel nano
On Arch Linux, Python 3.9 can be installed from the Arch User Repository (AUR) from the ``python39`` package.
The manual build process is the Arch-supported install method for AUR packages. You can install ``python39`` package with the following commands:
.. prompt:: bash
git clone https://aur.archlinux.org/python39.git /tmp/python39
cd /tmp/python39
makepkg -sicL
cd -
rm -rf /tmp/python39
.. Include common instructions:
.. include:: _includes/create-env-with-venv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,42 @@
.. _install-centos-7:
==========================
Installing Red on CentOS 7
==========================
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
Install the pre-requirements with yum:
.. prompt:: bash
sudo yum -y groupinstall development
sudo yum -y install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel java-11-openjdk-headless nano git
In order to install gcc 8, we'll use SCL repository:
.. prompt:: bash
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
source ~/.bashrc
In order to install Git 2.11 or greater, we recommend adding the IUS repository:
.. prompt:: bash
sudo yum -y install https://repo.ius.io/ius-release-el7.rpm
sudo yum -y swap git git236
.. Include common instructions:
.. include:: _includes/install-python-pyenv.rst
.. include:: _includes/create-env-with-pyenv-virtualenv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,7 @@
.. _install-centos-stream-8:
=================================
Installing Red on CentOS Stream 8
=================================
.. include:: _includes/install-guide-rhel8-derivatives.rst

View File

@@ -0,0 +1,7 @@
.. _install-centos-stream-9:
=================================
Installing Red on CentOS Stream 9
=================================
.. include:: _includes/install-guide-rhel9-derivatives.rst

View File

@@ -0,0 +1,28 @@
.. _install-debian-10:
==================================
Installing Red on Debian 10 Buster
==================================
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
We recommend installing pyenv as a method of installing non-native versions of Python on
Debian Buster. This guide will tell you how. First, run the following commands:
.. prompt:: bash
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 nano
CXX=/usr/bin/g++
.. Include common instructions:
.. include:: _includes/install-python-pyenv.rst
.. include:: _includes/create-env-with-pyenv-virtualenv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,25 @@
.. _install-debian-11:
====================================
Installing Red on Debian 11 Bullseye
====================================
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
Debian 11 "Bullseye" has all required packages available in official repositories. Install them
with apt:
.. prompt:: bash
sudo apt update
sudo apt -y install python3 python3-dev python3-venv python3-pip git openjdk-11-jre-headless build-essential nano
.. Include common instructions:
.. include:: _includes/create-env-with-venv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,24 @@
.. _install-fedora:
==============================
Installing Red on Fedora Linux
==============================
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
Fedora Linux 35 and above has all required packages available in official repositories. Install
them with dnf:
.. prompt:: bash
sudo dnf -y install python39 git java-11-openjdk-headless @development-tools nano
.. Include common instructions:
.. include:: _includes/create-env-with-venv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,38 @@
.. _install-guides:
Installing Red
==============
The list below shows the installation guides available based on the operating system being used.
If you want to host Red on a VPS and are unsure what operating system you should choose,
we recommend **Ubuntu 22.04 LTS**.
.. toctree::
:maxdepth: 1
windows
mac
alma-linux-8
alma-linux-9
arch
centos-7
centos-stream-8
centos-stream-9
debian-10
debian-11
fedora
opensuse-leap-15
opensuse-tumbleweed
oracle-linux-8
oracle-linux-9
raspberry-pi-os-10
raspberry-pi-os-11
rhel-8
rhel-9
rocky-linux-8
rocky-linux-9
ubuntu-1804
ubuntu-2004
ubuntu-2204
ubuntu-non-lts

View File

@@ -0,0 +1,44 @@
.. _install-mac:
=======================
Installing Red on macOS
=======================
-------------------------------
Installing the pre-requirements
-------------------------------
To install pre-requirements, we first have to install Brew.
In Finder or Spotlight, search for and open *Terminal*. In the terminal, paste the
following, then press Enter:
.. prompt:: bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew_location="$([ -n "$HOMEBREW_PREFIX" ] && echo "$HOMEBREW_PREFIX" || ([ "$(/usr/bin/uname -m)" = "arm64" ] && echo /opt/homebrew || echo /usr/local))/bin/brew"
printf '\neval "$(%s shellenv)"\n' "$brew_location" >> "$([ -n "$ZSH_VERSION" ] && echo ~/.zprofile || ([ -f ~/.bash_profile ] && echo ~/.bash_profile || echo ~/.profile))"
eval "$("$brew_location" shellenv)"
After the installation, install the required packages by pasting the commands and pressing enter,
one-by-one:
.. prompt:: bash
brew install python@3.9
brew install git
brew tap homebrew/cask-versions
brew install --cask temurin11
By default, Python installed through Homebrew is not added to the load path.
To fix this, you should run these commands:
.. prompt:: bash
echo 'export PATH="$(brew --prefix)/opt/python@3.9/bin:$PATH"' >> "$([ -n "$ZSH_VERSION" ] && echo ~/.zprofile || ([ -f ~/.bash_profile ] && echo ~/.bash_profile || echo ~/.profile))"
export PATH="$(brew --prefix)/opt/python@3.9/bin:$PATH"
.. Include common instructions:
.. include:: _includes/create-env-with-venv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,25 @@
.. _install-opensuse-leap-15:
=====================================
Installing Red on openSUSE Leap 15.3+
=====================================
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
openSUSE Leap 15.3+ has all required dependencies available in official repositories. Install them
with zypper:
.. prompt:: bash
sudo zypper -n install python39-base python39-pip git-core java-11-openjdk-headless nano
sudo zypper -n install -t pattern devel_basis
.. Include common instructions:
.. include:: _includes/create-env-with-venv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,25 @@
.. _install-opensuse-tumbleweed:
=====================================
Installing Red on openSUSE Tumbleweed
=====================================
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
openSUSE Tumbleweed has all required dependencies available in official repositories. Install them
with zypper:
.. prompt:: bash
sudo zypper -n install python39-base python39-pip git-core java-11-openjdk-headless nano
sudo zypper -n install -t pattern devel_basis
.. Include common instructions:
.. include:: _includes/create-env-with-venv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,7 @@
.. _install-oracle-linux-8:
======================================
Installing Red on Oracle Linux 8.4-8.x
======================================
.. include:: _includes/install-guide-rhel8-derivatives.rst

View File

@@ -0,0 +1,7 @@
.. _install-oracle-linux-9:
================================
Installing Red on Oracle Linux 9
================================
.. include:: _includes/install-guide-rhel9-derivatives.rst

View File

@@ -0,0 +1,48 @@
.. _install-raspberry-pi-os-10:
====================================================
Installing Red on Raspberry Pi OS (Legacy) 10 Buster
====================================================
.. note::
While we do provide support and install instructions for running Red
on Raspberry Pi OS (Legacy) 10 Buster, we highly recommend installing/upgrading to
the new version - Raspberry Pi OS 11 Bullseye.
If you're not sure what version you are using,
you can check your version of Raspberry Pi OS by running:
.. prompt:: bash
lsb_release -a
If you're running Bullseye already, read `install-raspberry-pi-os-11` document instead.
If you're using Buster, please consider upgrading to Bullseye if possible.
You can read
`the post about Bullseye release from Raspberry Pi Foundation <https://www.raspberrypi.com/news/raspberry-pi-os-debian-bullseye/>`__
to learn how you can install/upgrade to the new version.
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
We recommend installing pyenv as a method of installing non-native versions of Python on
Raspberry Pi OS. This guide will tell you how. First, run the following commands:
.. prompt:: bash
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 nano
CXX=/usr/bin/g++
.. Include common instructions:
.. include:: _includes/install-python38-pyenv.rst
.. include:: _includes/create-env-with-pyenv-virtualenv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,40 @@
.. _install-raspberry-pi-os-11:
=============================================
Installing Red on Raspberry Pi OS 11 Bullseye
=============================================
.. note::
This guide can only be used with Raspberry Pi OS 11 Bullseye,
it will not work with any older (e.g. Raspberry Pi OS 10 Buster)
or newer (e.g. Raspberry Pi OS 12 Bookworm) releases.
You can check your version of Raspberry Pi OS by running:
.. prompt:: bash
lsb_release -a
If you're not running Bullseye, you should read
`the post about Bullseye release from Raspberry Pi Foundation <https://www.raspberrypi.com/news/raspberry-pi-os-debian-bullseye/>`__
to learn how you can install/upgrade to the new version.
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
Raspberry Pi OS "Bullseye" has all required packages available in official repositories. Install them
with apt:
.. prompt:: bash
sudo apt update
sudo apt -y install python3 python3-dev python3-venv python3-pip git openjdk-11-jre-headless build-essential nano
.. Include common instructions:
.. include:: _includes/create-env-with-venv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,7 @@
.. _install-rhel-8:
=========================================================
Installing Red on Red Hat Enterprise Linux (RHEL) 8.4-8.x
=========================================================
.. include:: _includes/install-guide-rhel8-derivatives.rst

View File

@@ -0,0 +1,7 @@
.. _install-rhel-9:
===================================================
Installing Red on Red Hat Enterprise Linux (RHEL) 9
===================================================
.. include:: _includes/install-guide-rhel9-derivatives.rst

View File

@@ -0,0 +1,7 @@
.. _install-rocky-linux-8:
===============================
Installing Red on Rocky Linux 8
===============================
.. include:: _includes/install-guide-rhel8-derivatives.rst

View File

@@ -0,0 +1,7 @@
.. _install-rocky-linux-9:
===============================
Installing Red on Rocky Linux 9
===============================
.. include:: _includes/install-guide-rhel9-derivatives.rst

View File

@@ -0,0 +1,37 @@
.. _install-ubuntu-1804:
==================================
Installing Red on Ubuntu 18.04 LTS
==================================
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
.. prompt:: bash
sudo apt update
sudo apt -y install software-properties-common
sudo add-apt-repository -y ppa:git-core/ppa
We recommend adding the ``deadsnakes`` ppa to install Python 3.9:
.. prompt:: bash
sudo add-apt-repository -y ppa:deadsnakes/ppa
Now install the pre-requirements with apt:
.. prompt:: bash
sudo apt -y install python3.9 python3.9-dev python3.9-venv python3-pip git openjdk-11-jre-headless build-essential nano
.. Include common instructions:
.. include:: _includes/create-env-with-venv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,31 @@
.. _install-ubuntu-2004:
==================================
Installing Red on Ubuntu 20.04 LTS
==================================
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
.. prompt:: bash
sudo apt update
sudo apt -y install software-properties-common
sudo add-apt-repository -y ppa:git-core/ppa
Now install the pre-requirements with apt:
.. prompt:: bash
sudo apt -y install python3.9 python3.9-dev python3.9-venv python3-pip git openjdk-11-jre-headless build-essential nano
.. Include common instructions:
.. include:: _includes/create-env-with-venv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,31 @@
.. _install-ubuntu-2204:
==================================
Installing Red on Ubuntu 22.04 LTS
==================================
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
We recommend adding the ``deadsnakes`` ppa to install Python 3.9:
.. prompt:: bash
sudo apt update
sudo apt -y install software-properties-common
sudo add-apt-repository -y ppa:deadsnakes/ppa
Now install the pre-requirements with apt:
.. prompt:: bash
sudo apt -y install python3.9 python3.9-dev python3.9-venv python3-pip git openjdk-11-jre-headless build-essential nano
.. Include common instructions:
.. include:: _includes/create-env-with-venv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -0,0 +1,35 @@
.. _install-ubuntu-non-lts:
=========================================
Installing Red on Ubuntu non-LTS versions
=========================================
.. include:: _includes/linux-preamble.rst
-------------------------------
Installing the pre-requirements
-------------------------------
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
.. prompt:: bash
sudo apt update
sudo apt -y install software-properties-common
sudo add-apt-repository -yu ppa:git-core/ppa
Now, to install non-native version of python on non-LTS versions of Ubuntu, we recommend
installing pyenv. To do this, first run the following commands:
.. prompt:: bash
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 nano
CXX=/usr/bin/g++
.. Include common instructions:
.. include:: _includes/install-python-pyenv.rst
.. include:: _includes/create-env-with-pyenv-virtualenv.rst
.. include:: _includes/install-and-setup-red-unix.rst

View File

@@ -10,15 +10,6 @@ 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.9 is currently not supported!**
- Pip 18.1 or greater
- Git 2.11+
- Java Runtime Environment 11 (for audio support)
We also recommend installing some basic compiler tools, in case our dependencies don't provide
pre-built "wheels" for your architecture.
.. contents:: Choose a method of installing pre-requirements:
:local:
@@ -37,16 +28,16 @@ Then run each of the following commands:
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'))
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
choco upgrade git --params "/GitOnlyOnPath /WindowsTerminal" -y
choco upgrade visualstudio2019-workload-vctools -y
choco upgrade python3 -y --version 3.8.10
choco upgrade visualstudio2022-workload-vctools -y
choco upgrade python39 -y
For Audio support, you should also run the following command before exiting:
.. prompt:: powershell
choco upgrade adoptopenjdk11jre -y
choco upgrade temurin11 -y
From here, exit the prompt then continue onto `creating-venv-windows`.
@@ -59,12 +50,12 @@ Manually installing dependencies
.. attention:: There are additional configuration steps required which are
not documented for installing dependencies manually.
These dependencies are only listed seperately here for
These dependencies are only listed separately here for
reference purposes.
* `MSVC Build tools <https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2019>`_
* `Python 3.8.1 or greater <https://www.python.org/downloads/>`_; **Python 3.9 is currently not supported!**
* `Python 3.8.1 - 3.9.x <https://www.python.org/downloads/windows/>`_
.. 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.
@@ -73,7 +64,7 @@ Manually installing dependencies
.. attention:: Please choose the option to "Git from the command line and also from 3rd-party software" in Git's setup.
* `Java 11 <https://adoptopenjdk.net/?variant=openjdk11&jvmVariant=hotspot>`_ - needed for Audio
* `Java 11 <https://adoptium.net/?variant=openjdk11>`_ - needed for Audio
From here, continue onto `creating-venv-windows`.
@@ -111,7 +102,7 @@ Then create your virtual environment with the following command
.. prompt:: batch
py -3.8 -m venv "%userprofile%\redenv"
py -3.9 -m venv "%userprofile%\redenv"
And activate it with the following command
@@ -175,8 +166,7 @@ Once done setting up the instance, run the following command to run Red:
redbot <your instance name>
It will walk through the initial setup, asking for your token and a prefix.
You can find out how to obtain a token with
`this guide <bot_application_guide>`.
`See how to obtain a token. <../bot_application_guide>`
.. tip::
If it's the first time you're using Red, you should check our `getting-started` guide

View File

@@ -1,498 +0,0 @@
.. _linux-mac-install-guide:
==============================
Installing Red on Linux or Mac
==============================
.. warning::
For safety reasons, DO NOT install Red with a root user. If you are unsure how to create
a new user on Linux, see `this guide by DigitalOcean
<https://www.digitalocean.com/community/tutorials/how-to-create-a-sudo-user-on-ubuntu-quickstart>`_.
-------------------------------
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.9 is currently not supported!**
- Pip 18.1 or greater
- Git 2.11+
- Java Runtime Environment 11 (for audio support)
We recommend installing the nano text editor as our guides may instruct you to create or edit some files. We also recommend installing some basic compiler tools in case our dependencies don't provide pre-built "wheels" for your architecture.
*****************
Operating systems
*****************
.. contents::
:local:
----
.. _install-arch:
~~~~~~~~~~
Arch Linux
~~~~~~~~~~
.. warning::
Latest Python packages for Arch Linux provide Python 3.9 which Red does not currently support.
To use Red on Arch Linux, you will need to install latest version of Python 3.8 on your own.
.. prompt:: bash
sudo pacman -Syu python python-pip git jre11-openjdk-headless base-devel nano
Continue by `creating-venv-linux`.
----
.. _install-centos7:
.. _install-rhel7:
~~~~~~~~~~~~~~~~~
CentOS and RHEL 7
~~~~~~~~~~~~~~~~~
.. prompt:: bash
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 nano
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
source ~/.bashrc
In order to install Git 2.11 or greater, we recommend adding the IUS repository:
.. prompt:: bash
sudo yum -y install https://repo.ius.io/ius-release-el7.rpm
sudo yum -y swap git git224
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
----
.. _install-centos:
.. _install-rhel:
~~~~~~~~~~~~~~~~~
CentOS and RHEL 8
~~~~~~~~~~~~~~~~~
.. prompt:: bash
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 nano
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
----
.. _install-debian:
.. _install-raspbian:
~~~~~~~~~~~~~~~~~~~~~~~~~~
Debian and Raspbian Buster
~~~~~~~~~~~~~~~~~~~~~~~~~~
We recommend installing pyenv as a method of installing non-native versions of python on
Debian/Raspbian Buster. This guide will tell you how. First, run the following commands:
.. prompt:: bash
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 nano
CXX=/usr/bin/g++
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
----
.. _install-fedora:
~~~~~~~~~~~~
Fedora Linux
~~~~~~~~~~~~
Fedora Linux 32 and above has all required packages available in official repositories. Install
them with dnf:
.. prompt:: bash
sudo dnf -y install python38 git java-11-openjdk-headless @development-tools nano
Continue by `creating-venv-linux`.
----
.. _install-mac:
~~~
Mac
~~~
Install Brew: in Finder or Spotlight, search for and open *Terminal*. In the terminal, paste the
following, then press Enter:
.. prompt:: bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
After the installation, install the required packages by pasting the commands and pressing enter,
one-by-one:
.. prompt:: bash
brew install python@3.8
echo 'export PATH="/usr/local/opt/python@3.8/bin:$PATH"' >> ~/.profile
source ~/.profile
brew install git
brew install --cask adoptopenjdk/openjdk/adoptopenjdk11
Continue by `creating-venv-linux`.
----
.. _install-opensuse:
~~~~~~~~
openSUSE
~~~~~~~~
openSUSE Leap 15.2+
*******************
We recommend installing a community package to get Python 3.8 on openSUSE Leap 15.2+. This package will
be installed to the ``/opt`` directory.
First, add the Opt-Python community repository:
.. prompt:: bash
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 --gpg-auto-import-keys ref
Now install the pre-requirements with zypper:
.. prompt:: bash
sudo zypper -n install opt-python38 opt-python38-setuptools git-core java-11-openjdk-headless nano
sudo zypper -n install -t pattern devel_basis
Since Python is now installed to ``/opt/python``, we should add it to PATH. You can add a file in
``/etc/profile.d/`` to do this:
.. prompt:: bash
echo 'export PATH="/opt/python/bin:$PATH"' | sudo tee /etc/profile.d/opt-python.sh
source /etc/profile.d/opt-python.sh
Now, install pip with easy_install:
.. prompt:: bash
sudo /opt/python/bin/easy_install-3.8 pip
Continue by `creating-venv-linux`.
openSUSE Tumbleweed
*******************
openSUSE Tumbleweed has all required dependencies available in official repositories. Install them
with zypper:
.. prompt:: bash
sudo zypper -n install python38-base python38-pip git-core java-11-openjdk-headless nano
sudo zypper -n install -t pattern devel_basis
Continue by `creating-venv-linux`.
----
.. _install-ubuntu-1804:
~~~~~~~~~~~~~~~~
Ubuntu 18.04 LTS
~~~~~~~~~~~~~~~~
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
.. prompt:: bash
sudo apt update
sudo apt -y install software-properties-common
sudo add-apt-repository -y ppa:git-core/ppa
We recommend adding the ``deadsnakes`` ppa to install Python 3.8.1 or greater:
.. prompt:: bash
sudo add-apt-repository -y ppa:deadsnakes/ppa
Now install the pre-requirements with apt:
.. prompt:: bash
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless build-essential nano
Continue by `creating-venv-linux`.
----
.. _install-ubuntu:
~~~~~~~~~~~~~~~~
Ubuntu 20.04 LTS
~~~~~~~~~~~~~~~~
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
.. prompt:: bash
sudo apt update
sudo apt -y install software-properties-common
sudo add-apt-repository -y ppa:git-core/ppa
Now install the pre-requirements with apt:
.. prompt:: bash
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless build-essential nano
Continue by `creating-venv-linux`.
----
.. _install-ubuntu-non-lts:
~~~~~~~~~~~~~~~~~~~~~~~
Ubuntu non-LTS versions
~~~~~~~~~~~~~~~~~~~~~~~
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
.. prompt:: bash
sudo apt update
sudo apt -y install software-properties-common
sudo add-apt-repository -yu ppa:git-core/ppa
Now, to install non-native version of python on non-LTS versions of Ubuntu, we recommend
installing pyenv. To do this, first run the following commands:
.. prompt:: bash
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 nano
CXX=/usr/bin/g++
And then complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
----
.. _install-python-pyenv:
****************************
Installing Python with pyenv
****************************
.. note::
If you followed one of the sections above, and weren't linked here afterwards, you should skip
this section.
On distributions where Python 3.8 needs to be compiled from source, we recommend the use of pyenv.
This simplifies the compilation process and has the added bonus of simplifying setting up Red in a
virtual environment.
.. prompt:: bash
command -v pyenv && pyenv update || curl https://pyenv.run | bash
**After this command, you may see a warning about 'pyenv' not being in the load path. Follow the
instructions given to fix that, then close and reopen your shell.**
Then run the following command:
.. prompt:: bash
CONFIGURE_OPTS=--enable-optimizations pyenv install 3.8.10 -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
the ``CONFIGURE_OPTS=--enable-optimizations`` part from the front of the command, which will
drastically reduce the install time. However, be aware that this will make Python run about 10%
slower.
After that is finished, run:
.. prompt:: bash
pyenv global 3.8.10
Pyenv is now installed and your system should be configured to run Python 3.8.
Continue by `creating-venv-linux`.
.. _creating-venv-linux:
------------------------------
Creating a Virtual Environment
------------------------------
.. tip::
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.
You have 2 options:
* :ref:`using-venv` (quick and easy, involves just two commands)
* :ref:`using-pyenv-virtualenv` (only available and recommended when you installed Python with pyenv)
----
.. _using-venv:
**************
Using ``venv``
**************
This is the quickest way to get your virtual environment up and running, as `venv` is shipped with
python.
First, choose a directory where you would like to create your virtual environment. It's a good idea
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.
Create your virtual environment with the following command:
.. prompt:: bash
python3.8 -m venv ~/redenv
And activate it with the following command:
.. prompt:: bash
source ~/redenv/bin/activate
.. important::
You must activate the virtual environment with the above command every time you open a new
shell to run, install or update Red.
Continue by `installing-red-linux-mac`.
----
.. _using-pyenv-virtualenv:
**************************
Using ``pyenv virtualenv``
**************************
Using ``pyenv virtualenv`` saves you the headache of remembering where you installed your virtual
environments. This option is only available if you installed Python with pyenv.
First, ensure your pyenv interpreter is set to python 3.8.1 or greater with the following command:
.. prompt:: bash
pyenv version
Now, create a virtual environment with the following command:
.. prompt:: bash
pyenv virtualenv <name>
Replace ``<name>`` with whatever you like. If you ever forget what you named it,
you can always use the command ``pyenv versions`` to list all virtual environments.
Now activate your virtualenv with the following command:
.. prompt:: bash
pyenv shell <name>
.. important::
You must activate the virtual environment with the above command every time you open a new
shell to run, install or update Red. You can check out other commands like ``pyenv local`` and
``pyenv global`` if you wish to keep the virtualenv activated all the time.
Continue by `installing-red-linux-mac`.
.. _pyenv-installer: https://github.com/pyenv/pyenv-installer/blob/master/README.rst
.. _installing-red-linux-mac:
--------------
Installing Red
--------------
Choose one of the following commands to install Red.
To install without additional config backend support:
.. prompt:: bash
:prompts: (redenv) $
python -m pip install -U pip setuptools wheel
python -m pip install -U Red-DiscordBot
Or, to install with PostgreSQL support:
.. prompt:: bash
:prompts: (redenv) $
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
--------------------------
After installation, set up your instance with the following command:
.. prompt:: bash
:prompts: (redenv) $
redbot-setup
This will set the location where data will be stored, as well as your
storage backend and the name of the instance (which will be used for
running the bot).
Once done setting up the instance, run the following command to run Red:
.. prompt:: bash
:prompts: (redenv) $
redbot <your instance name>
It will walk through the initial setup, asking for your token and a prefix.
You can find out how to obtain a token with
`this guide <bot_application_guide>`.
.. tip::
If it's the first time you're using Red, you should check our `getting-started` guide
that will walk you through all essential information on how to interact with Red.

134
docs/intents.rst Normal file
View File

@@ -0,0 +1,134 @@
.. _intents:
.. |br| raw:: html
<br />
==========================================
About (privileged) intents and public bots
==========================================
This page aims to explain Red's current intents requirements,
our stance regarding "public bots" and the impact of some announced
Discord changes coming in April 2022.
To clarify:
- **Small bots** are bots under 100 servers. They currently do not need to undergo Discord's
bot verification process
- **Public bots** (or big bots) are bots that have reached 100 servers. They need to be
`verified <https://support.discord.com/hc/en-us/articles/360040720412-Bot-Verification-and-Data-Whitelisting>`_
by Discord to join more than 100 servers and gain privileged intents
.. warning::
It is **very** important that you fully read this page if you're the owner of a public bot or strive to scale your bot at that level.
.. _intents-intents:
-------
Intents
-------
Red currently requires **all intents** to be active in order to function properly.
The reason for this requirement is that there are some technical challenges that need
to be overcome before we're able to adapt Red to function with only *some* intents:
these challenges are mainly due to the modular / extensible nature of Red and the fact
that Red has a long history (dating back to 2016!), making big changes naturally slower
to happen. In comparison, intents have been introduced fairly recently. |br|
This is not a problem if you have a small bot: you can simply go to the
`Discord development portal <https://discord.com/developers/applications/me>`_
and enable them. However, if you have a public bot Discord will want you to attain
verified status: you should read :ref:`our stance regarding public bots <intents-public-bots>`
and our guidelines for the :ref:`verification process <intents-bot-verification-process>`.
.. _intents-public-bots:
-----------
Public bots
-----------
Public bots, or big bots, are not our target audience and we **do not** offer support for them.
Red was designed with one single goal in mind: a bot that you can host on your own hardware
and customize to your needs, making it really *your* bot. **The target audience of Red are server
owners with a few servers**, often with specific needs that can be covered by the vast cog ecosystem
that the community has built over the years. |br| Red was never built with big bots in mind,
bots with thousands upon thousands of servers: these bots face unique challenges.
Such Red instances *do exist*, it is not impossible to adapt Red and meet those criteria,
but it requires work and bot owners with the technical knowledge to make it happen.
It is **not** something that we support. |br|
When your bot reaches the public bot scale and it is therefore required to be verified it
is *expected* that you know what's in your bot and how it works: that doesn't just mean on the
surface level, it means coding knowledge and the ability to maintain it on your own.
.. _intents-bot-verification-process:
------------------------
Bot verification process
------------------------
When your bot ceases to be a small bot Discord will require you to verify your bot before allowing
it to join more servers and gain privileged intents. If you've read the previous section,
you will know that we do **not** support public bots. Logically, we also do not provide help for
the verification process.
Regardless of our stance, we do feel the need to give some pointers: many bot owners reach this point
and become fairly lost, as they've simply been *users* so far.
They have installed their bot, some cogs, personalized it, yadda yadda. Again, they have been users,
not developers. Unless they also have an interest in development, they will likely not have a clue about
what's going under the hood, much like you're not expected to be a mechanic to drive your car. And there's
nothing wrong with that! Red has been designed to be as user friendly as possible. |br|
The problem is this: Red is an outlier. Discord has built the bot verification process with the expectation
that the owner knows *on a technical level* what their bot does and how it works. And this is because outside
Red, the typical bot owner is also a developer who coded their own bot from scratch.
While, again, we *cannot* support you going forward we want to give you some pointers to follow when filling
out your application:
- Learn on a technical level what intents are and what's going on, under the hood, in your bot. Knowing its
features at a surface level is not enough. What features need intents to work and why?
- Forget that you're hosting Red. You're hosting *a bot* and Discord wants to know what *your bot* does and why
you're requesting privileged intents. |br| A **very bad** answer is: *"Because Red needs them"*. |br|
A **good** answer is: *"My bot has X features and it needs Y intents to work properly"*. |br| We've had a fair share
of people that in their naivety went with the bad answer and it seems that at this point merely mentioning Red
is a guaranteed way to have your application rejected.
.. _intents-slash-commands:
---------------------------------
Message intent and slash commands
---------------------------------
.. warning::
If you own a public bot it is extremely important that you read this section.
Discord has announced that **starting April 2022** the content of users' messages
`will be "locked" behind message intent <https://support-dev.discord.com/hc/en-us/articles/4404772028055>`_ |br|
If you're the owner of a small bot, fear not, this is yet another box that you have to tick from the
`Discord development portal <https://discord.com/developers/applications/me>`_. |br|
But if you're the owner of a public bot, things might be a lot less pleasant.
To recap, unless you have
message intent, you will only receive message content for:
- Messages that your bot sends
- Messages that your bot receives in DM
- Messages in which your bot is mentioned
In case it's not clear by now, your bot needs message content to parse (see) the commands it receives. And if
you don't attain message intent, your bot will not be able to... well, do anything. |br|
The *bandaid fix* is for you to change your bot's prefix to a mention and a good portion of your commands will likely
still work. You will however lose many functions, namely anything that relies on seeing message content to act. |br|
The more *proper fix* is also not easy. You will need to justify your need for the message intent to Discord and
they will only accept "compelling use cases".
`It is not known what those even entail <https://gist.github.com/spiralw/091714718718379b6efcdbcaf807a024#q-what-usecases-will-be-valid>`_ at this point, but they have already stated that "parsing commands" is not a valid justification. |br|
To make the matter worse, Discord is making `a huge push for all bot developers to implement slash commands <https://support.discord.com/hc/en-us/articles/1500000368501-Slash-Commands-FAQ>`_, which at the moment
are rather lacking in features and cannot cover all the functionalities that standard commands offer. |br|
Discord staff
`stated that they will want your bot to have slash commands when you ask for message intent <https://gist.github.com/spiralw/091714718718379b6efcdbcaf807a024#q-if-we-are-granted-this-intent-will-bots-be-sanctioned-if-they-use-it-for-their-own-use-case-but-also-to-continue-to-run-normal-non-slash-commands-or-do-we-assume-that-if-you-are-granted-the-intent-you-are-trusted-with-it-and-are-allowed-to-use-it-for-additional-uses>`_. |br|
Slash commands might very well turn out to be a big undertaking for the Red team to implement, even more now that our
underlying library, `discord.py <https://github.com/Rapptz/discord.py>`_, has been discontinued. |br|
The time window that Discord is giving us to adapt is very narrow: **Red will likely not be able to support slash
commands for April 2022** and you should plan accordingly.

View File

@@ -1,5 +1,5 @@
.. This file will be run at the beginning of all files.
You can add the subsitutions you need.
You can add the substitutions you need.
.. this is a .txt so sphinx doesn't error because it's
missing in the index

View File

@@ -1,50 +0,0 @@
.. v3.2.0 Release Notes
##################################
Red DiscordBot 3.2.0 Release Notes
##################################
Please read the following prior to updating.
- 3.2 comes with improvements which required breaking changes for 3rd party cogs.
When you update to 3.2, your cogs may not be compatible if the author has not handled
the changes yet.
- 3.2 requires Python 3.8.1.
This was done so that we could better handle some behavior which was not fixed for Python 3.7.
If you need help updating, our install docs will cover everything you need to know to update.
.. note::
You may get a notification from the downloader cog about needing to refetch dependencies
This is expected, and it will walk you through everything and do as much as it can for you.
- 3.2 dropped support for the MongoDB driver
- If you were not using the MongoDB driver, this does not effect you.
- If you were using a 3rd party cog which required MongoDB, it probably still does.
- If you were using the MongoDB driver, prior to launching your instance,
you will need to run the following commands to convert
.. code::
python -m pip install dnspython~=1.16.0 motor~=2.0.0 pymongo~=3.8.0
redbot-setup convert [instancename] json
- 3.2 comes with many feature upgrades. A brief high level list of these is below.
- A metric ton of bugfixes
- Bot shutdown is handled significantly better
- Audio is much more powerful
- We've made it easier for cog creators to interact with the core bot APIs safely
- We've supplied cog creators with additional tools
.. note::
The full list of changes is much longer than we can include here,
but our changelog has the fine details.

View File

@@ -31,7 +31,7 @@ Red 3.2.0 or newer
Windows
-------
If you have Red 3.2.0 or newer, you can upgrade by following these 4 easy steps:
If you have Red 3.2.0 or newer, you can upgrade by following these steps:
1. Shut your bot down.
@@ -59,7 +59,7 @@ If you have Red 3.2.0 or newer, you can upgrade by following these 4 easy steps:
Linux & Mac
-----------
If you have Red 3.2.0 or newer, you can upgrade by following these 4 easy steps:
If you have Red 3.2.0 or newer, you can upgrade by following these steps:
1. Shut your bot down.
@@ -97,10 +97,7 @@ Red 3.1.X
If you have Red 3.1.X, you will need to follow the install instructions for your operating system. Make sure that you turn your bot off first.
- `Windows <install_windows>`
- `Linux & Mac <install_linux_mac>`
Follow every step to ensure you have all dependencies up-to-date and only skip ``redbot-setup`` step as you already have a bot instance.
Go to the `install_guides/index` guide and follow every step to ensure you have all dependencies up-to-date and only skip the ``redbot-setup`` step as you already have a bot instance.
**If you already have Red installed in a virtual environment, you will need to delete it before starting this process.**
@@ -139,9 +136,6 @@ Red 3.0.2 and older
If you have Red 3.0.2 or older, you will need to follow the install instructions for your operating system. Make sure that you turn your bot off first.
- `Windows <install_windows>`
- `Linux & Mac <install_linux_mac>`
Follow every step to ensure you have all dependencies up-to-date and only skip ``redbot-setup`` step as you already have a bot instance.
Go to the `install_guides/index` guide and follow every step to ensure you have all dependencies up-to-date and only skip the ``redbot-setup`` step as you already have a bot instance.
**If you already have Red installed in a virtual environment, you will need to delete it before starting this process.**

View File

@@ -214,7 +214,7 @@ def _early_init():
_ensure_no_colorama()
__version__ = "3.4.13.dev1"
__version__ = "3.4.20.dev1"
version_info = VersionInfo.from_str(__version__)
# Filter fuzzywuzzy slow sequence matcher warning
@@ -227,3 +227,12 @@ 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: The loop argument is deprecated since Python 3.8, and scheduled for removal in Python 3.10
# stdin, stdout, stderr = await tasks.gather(stdin, stdout, stderr,
# this is a bug in CPython
_warnings.filterwarnings(
"ignore",
category=DeprecationWarning,
module="asyncio",
message="The loop argument is deprecated since Python 3.8",
)

View File

@@ -18,6 +18,7 @@ from pathlib import Path
from typing import NoReturn
import discord
import rich
# Set the event loop policies here so any subsequent `new_event_loop()`
# calls, in particular those as a result of the following imports,
@@ -84,8 +85,7 @@ def debug_info():
os_info = platform.mac_ver()
osver = "Mac OSX {} {}".format(os_info[0], os_info[2])
else:
os_info = distro.linux_distribution()
osver = "{} {}".format(os_info[0], os_info[1]).strip()
osver = f"{distro.name()} {distro.version()}".strip()
user_who_ran = getpass.getuser()
info = (
"Debug Info for Red\n\n"
@@ -222,7 +222,7 @@ def _edit_instance_name(old_name, new_name, confirm_overwrite, no_prompt):
" run this command with --overwrite-existing-instance flag."
)
elif not no_prompt and confirm("Would you like to change the instance name?", default=False):
name = get_name()
name = get_name("")
if name in _get_instance_names():
print(
"WARNING: An instance already exists with this name. "
@@ -270,7 +270,9 @@ def _edit_data_path(data, instance_name, data_path, copy_data, no_prompt):
print("Can't copy data to non-empty location. Data location will remain unchanged.")
data["DATA_PATH"] = data_manager.basic_config["DATA_PATH"]
elif not no_prompt and confirm("Would you like to change the data location?", default=False):
data["DATA_PATH"] = get_data_dir(instance_name)
data["DATA_PATH"] = get_data_dir(
instance_name=instance_name, data_path=None, interactive=True
)
if confirm("Do you want to copy the data from old location?", default=True):
if not _copy_data(data):
print("Can't copy the data to non-empty location.")
@@ -395,10 +397,12 @@ async def run_bot(red: Red, cli_flags: Namespace) -> None:
sys.exit(0)
sys.exit(1)
except discord.PrivilegedIntentsRequired:
print(
console = rich.get_console()
console.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"
"https://docs.discord.red/en/stable/bot_application_guide.html#enabling-privileged-intents",
style="red",
)
sys.exit(1)
@@ -450,14 +454,7 @@ def global_exception_handler(red, loop, context):
# These will get handled later when it *also* kills loop.run_forever
if exc is not None and isinstance(exc, (KeyboardInterrupt, SystemExit)):
return
# Maybe in the future we should handle some of the other things
# that the default exception handler handles, but this should work fine for now.
log.critical(
"Caught unhandled exception in %s:\n%s",
context.get("future", "event loop"),
context["message"],
exc_info=exc,
)
loop.default_exception_handler(context)
def red_exception_handler(red, red_task: asyncio.Future):

View File

@@ -3,10 +3,12 @@ import logging
from typing import Tuple
import discord
from redbot.core import Config, checks, commands
from redbot.core.i18n import Translator, cog_i18n
from redbot.core.utils.chat_formatting import box
from redbot.core.utils.mod import get_audit_reason
from redbot.core.utils.predicates import MessagePredicate
from .announcer import Announcer
from .converters import SelfRole
@@ -176,7 +178,8 @@ class Admin(commands.Cog):
await ctx.send(_(NEED_MANAGE_ROLES))
return
try:
await member.add_roles(role)
reason = get_audit_reason(ctx.author)
await member.add_roles(role, reason=reason)
except discord.Forbidden:
await ctx.send(_(GENERIC_FORBIDDEN))
else:
@@ -206,7 +209,8 @@ class Admin(commands.Cog):
await ctx.send(_(NEED_MANAGE_ROLES))
return
try:
await member.remove_roles(role)
reason = get_audit_reason(ctx.author)
await member.remove_roles(role, reason=reason)
except discord.Forbidden:
await ctx.send(_(GENERIC_FORBIDDEN))
else:
@@ -449,46 +453,99 @@ class Admin(commands.Cog):
"""Manage selfroles."""
pass
@selfroleset.command(name="add")
async def selfroleset_add(self, ctx: commands.Context, *, role: discord.Role):
@selfroleset.command(name="add", require_var_positional=True)
async def selfroleset_add(self, ctx: commands.Context, *roles: discord.Role):
"""
Add a role to the list of available selfroles.
Add a role, or a selection of roles, to the list of available selfroles.
NOTE: The role is case sensitive!
"""
if not self.pass_user_hierarchy_check(ctx, role):
await ctx.send(
_(
"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."
).format(role=role)
)
return
async with self.config.guild(ctx.guild).selfroles() as curr_selfroles:
if role.id not in curr_selfroles:
curr_selfroles.append(role.id)
await ctx.send(_("Added."))
current_selfroles = await self.config.guild(ctx.guild).selfroles()
for role in roles:
if not self.pass_user_hierarchy_check(ctx, role):
await ctx.send(
_(
"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."
).format(role=role)
)
return
if role.id not in current_selfroles:
current_selfroles.append(role.id)
else:
await ctx.send(
_('The role "{role.name}" is already a selfrole.').format(role=role)
)
return
await ctx.send(_("That role is already a selfrole."))
await self.config.guild(ctx.guild).selfroles.set(current_selfroles)
if (count := len(roles)) > 1:
message = _("Added {count} selfroles.").format(count=count)
else:
message = _("Added 1 selfrole.")
@selfroleset.command(name="remove")
async def selfroleset_remove(self, ctx: commands.Context, *, role: SelfRole):
await ctx.send(message)
@selfroleset.command(name="remove", require_var_positional=True)
async def selfroleset_remove(self, ctx: commands.Context, *roles: SelfRole):
"""
Remove a role from the list of available selfroles.
Remove a role, or a selection of roles, from the list of available selfroles.
NOTE: The role is case sensitive!
"""
if not self.pass_user_hierarchy_check(ctx, role):
await ctx.send(
_(
"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."
).format(role=role)
)
return
async with self.config.guild(ctx.guild).selfroles() as curr_selfroles:
curr_selfroles.remove(role.id)
current_selfroles = await self.config.guild(ctx.guild).selfroles()
for role in roles:
if not self.pass_user_hierarchy_check(ctx, role):
await ctx.send(
_(
"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."
).format(role=role)
)
return
current_selfroles.remove(role.id)
await ctx.send(_("Removed."))
await self.config.guild(ctx.guild).selfroles.set(current_selfroles)
if (count := len(roles)) > 1:
message = _("Removed {count} selfroles.").format(count=count)
else:
message = _("Removed 1 selfrole.")
await ctx.send(message)
@selfroleset.command(name="clear")
async def selfroleset_clear(self, ctx: commands.Context):
"""Clear the list of available selfroles for this server."""
current_selfroles = await self.config.guild(ctx.guild).selfroles()
if not current_selfroles:
return await ctx.send(_("There are currently no selfroles."))
await ctx.send(
_("Are you sure you want to clear this server's selfrole list?") + " (yes/no)"
)
try:
pred = MessagePredicate.yes_or_no(ctx, user=ctx.author)
await ctx.bot.wait_for("message", check=pred, timeout=60)
except asyncio.TimeoutError:
await ctx.send(_("You took too long to respond."))
return
if pred.result:
for role in current_selfroles:
role = ctx.guild.get_role(role)
if role is None:
continue
if not self.pass_user_hierarchy_check(ctx, role):
await ctx.send(
_(
"I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
).format(role=role)
)
return
await self.config.guild(ctx.guild).selfroles.clear()
await ctx.send(_("Selfrole list cleared."))
else:
await ctx.send(_("No changes have been made."))
@commands.command()
@checks.is_owner()

View File

@@ -1,6 +1,7 @@
import discord
from redbot.core import commands
from redbot.core.i18n import Translator
from redbot.core.utils import AsyncIter
_ = Translator("AdminConverters", __file__)
@@ -11,11 +12,33 @@ class SelfRole(commands.Converter):
if admin is None:
raise commands.BadArgument(_("The Admin cog is not loaded."))
role_converter = commands.RoleConverter()
role = await role_converter.convert(ctx, arg)
selfroles = await admin.config.guild(ctx.guild).selfroles()
role_converter = commands.RoleConverter()
if role.id not in selfroles:
raise commands.BadArgument(_("The provided role is not a valid selfrole."))
pool = set()
async for role_id in AsyncIter(selfroles, steps=100):
role = ctx.guild.get_role(role_id)
if role is None:
continue
if role.name.casefold() == arg.casefold():
pool.add(role)
if not pool:
role = await role_converter.convert(ctx, arg)
if role.id not in selfroles:
raise commands.BadArgument(
_('The role "{role_name}" is not a valid selfrole.').format(
role_name=role.name
)
)
elif len(pool) > 1:
raise commands.BadArgument(
_(
"This selfrole has more than one case insensitive match. "
"Please ask a moderator to resolve the ambiguity, or "
"use the role ID to reference the role."
)
)
else:
role = pool.pop()
return role

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-04-03 01:21+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.3\n"
"Generated-By: redgettext 3.4.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: af_ZA\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:19
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
#: redbot/cogs/admin/admin.py:24
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
#: redbot/cogs/admin/admin.py:30
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
#: redbot/cogs/admin/admin.py:36
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
#: redbot/cogs/admin/admin.py:42
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
#: redbot/cogs/admin/admin.py:48
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
#: redbot/cogs/admin/admin.py:54
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
#: redbot/cogs/admin/admin.py:60
msgid "I need the \"Manage Roles\" permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:61
#: redbot/cogs/admin/admin.py:62
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
#: redbot/cogs/admin/admin.py:72
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:158
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:184
#: redbot/cogs/admin/admin.py:178
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:194
#: redbot/cogs/admin/admin.py:188
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:214
#: redbot/cogs/admin/admin.py:208
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:225
#: redbot/cogs/admin/admin.py:219
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -81,7 +81,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:241
#: redbot/cogs/admin/admin.py:235
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -90,12 +90,12 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:249
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -108,11 +108,11 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:285 redbot/cogs/admin/admin.py:318
msgid "Done."
msgstr ""
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:289
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -122,51 +122,48 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:323
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:336
#: redbot/cogs/admin/admin.py:330
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:337
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:339
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:342
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:348
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:359
#: redbot/cogs/admin/admin.py:353
#, 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 "Change the channel where the bot will send announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:356
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:373
#: redbot/cogs/admin/admin.py:361
#, docstring
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:386
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
@@ -175,7 +172,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:399
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -184,7 +181,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:410
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -193,69 +190,106 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:421
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:431
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:437
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:442
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:451
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:461
msgid "The role \"{role.name}\" is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:467
msgid "Added {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:469
msgid "Added."
msgid "Added 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:476
#: redbot/cogs/admin/admin.py:475
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:484
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:491
msgid "Removed."
#: redbot/cogs/admin/admin.py:494
msgid "Removed {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:496
msgid "Removed 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:502
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr ""
#: redbot/cogs/admin/admin.py:506
msgid "There are currently no selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:509
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr ""
#: redbot/cogs/admin/admin.py:515
msgid "You took too long to respond."
msgstr ""
#: redbot/cogs/admin/admin.py:524
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:530
msgid "Selfrole list cleared."
msgstr ""
#: redbot/cogs/admin/admin.py:532
msgid "No changes have been made."
msgstr ""
#: redbot/cogs/admin/admin.py:537
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:501
#: redbot/cogs/admin/admin.py:542
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:544
msgid "The bot is now serverlocked."
msgstr ""
@@ -271,7 +305,7 @@ msgstr ""
msgid "The Admin cog is not loaded."
msgstr ""
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
#: redbot/cogs/admin/converters.py:21
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-12-18 03:37+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.3\n"
"Generated-By: redgettext 3.4.2\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,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: ar_SA\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:20
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
#: redbot/cogs/admin/admin.py:25
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 "لا يمكنني إعطاء {role.name} إلى {member.display_name} لأن هذا الرتبة أعلى من أو يساوي أعلى رتبةي في التسلسل الهرمي لـ Discord."
#: redbot/cogs/admin/admin.py:29
#: redbot/cogs/admin/admin.py:31
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 "لا يمكنني إزالة {role.name} من {member.display_name} لأن هذا الرتبة أعلى من أو يساوي أعلى رتبةي في التسلسل الهرمي لـ Discord."
#: redbot/cogs/admin/admin.py:35
#: redbot/cogs/admin/admin.py:37
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr "لا يمكنني تحرير {role.name} لأن هذا الرتبة أعلى من رتبةي أو يساوي أعلى رتبة في التسلسل الهرمي لـ Discord."
#: redbot/cogs/admin/admin.py:41
#: redbot/cogs/admin/admin.py:43
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 "لا يمكنني السماح لك بإعطاء {role.name} لـ {member.display_name} لأن هذا الرتبة أعلى من أو يساوي أعلى رتبةك في التسلسل الهرمي لـ Discord."
#: redbot/cogs/admin/admin.py:47
#: redbot/cogs/admin/admin.py:49
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 "لا يمكنني السماح لك بإزالة {role.name} من {member.display_name} لأن هذا الرتبة أعلى من أو يساوي أعلى رتبةك في التسلسل الهرمي لـ Discord."
#: redbot/cogs/admin/admin.py:53
#: redbot/cogs/admin/admin.py:55
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 "لا يمكنني السماح لك بتحرير {role.name} لأن هذا الرتبة أعلى من أو يساوي أعلى رتبةك في التسلسل الهرمي لـ Discord."
#: redbot/cogs/admin/admin.py:59
msgid "I need the \"Manage Roles\" permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:61
msgid "I need the \"Manage Roles\" permission to do that."
msgstr "Sul6anqz"
#: redbot/cogs/admin/admin.py:63
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:71
#: redbot/cogs/admin/admin.py:73
#, docstring
msgid "A collection of server administration utilities."
msgstr "مجموعة من أدوات إدارة السيرفر."
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:159
msgid "{member.display_name} already has the role {role.name}."
msgstr "{member.display_name} بالفعل يملك الرتبة {role.name}."
#: redbot/cogs/admin/admin.py:184
#: redbot/cogs/admin/admin.py:180
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "لقد قمت بنجاح بإضافة {role.name} إلى {member.display_name}"
#: redbot/cogs/admin/admin.py:194
#: redbot/cogs/admin/admin.py:190
msgid "{member.display_name} does not have the role {role.name}."
msgstr "{member.display_name} ليس له الرتبة {role.name}."
#: redbot/cogs/admin/admin.py:214
#: redbot/cogs/admin/admin.py:211
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "لقد قمت بنجاح بإزالة {role.name} من {member.display_name}"
#: redbot/cogs/admin/admin.py:225
#: redbot/cogs/admin/admin.py:226
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -84,7 +84,7 @@ msgstr "\n"
" استخدام علامات اقتباس مزدوجة إذا كان الرتبة يحتوي على مسافات.\n"
" إذا ترك المستخدم فارغاً فإنه افتراضياً لمؤلف الأمر.\n"
#: redbot/cogs/admin/admin.py:241
#: redbot/cogs/admin/admin.py:244
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -96,12 +96,12 @@ msgstr "\n"
" استخدام علامات اقتباس مزدوجة إذا كان الرتبة يحتوي على مسافات.\n"
" إذا ترك المستخدم فارغاً فإنه افتراضياً لمؤلف الأمر.\n"
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "Edit role settings."
msgstr "تعديل إعدادات الرتبة."
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:263
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -120,11 +120,11 @@ msgstr "\n"
" أمثلة:\n"
" '[p]editrole اللون \"الترانزستور\" #ff0000'n'n'[p]editrole لون اختبار #ff9900'n"
#: redbot/cogs/admin/admin.py:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:292 redbot/cogs/admin/admin.py:325
msgid "Done."
msgstr "تم."
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:296
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -138,51 +138,48 @@ msgstr "\n"
" المثال:\n"
" '[p]اسم تحرير \"The Transistor\" Test'\n"
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:330
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "الإعلان عن رسالة إلى جميع السيرفرات المتواجد بها البوت."
#: redbot/cogs/admin/admin.py:336
#: redbot/cogs/admin/admin.py:337
msgid "The announcement has begun."
msgstr "تم البدء في الإعلان."
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:344
#, docstring
msgid "Cancel a running announce."
msgstr "إلغاء إعلان جارٍ."
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:346
msgid "There is no currently running announcement."
msgstr "لا يوجد إعلان قيد التشغيل حالياً."
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:349
msgid "The current announcement has been cancelled."
msgstr "تم إلغاء الإعلان الحالي."
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:355
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr "تغيير كيفية إرسال الإعلانات في هذه النقابة."
#: redbot/cogs/admin/admin.py:359
#: redbot/cogs/admin/admin.py:362
#, 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 "Change the channel where the bot will send announcements."
msgstr "Sul5anqz."
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:365
msgid "The announcement channel has been set to {channel.mention}"
msgstr "تم تحديث قناة الإعلانات إلى {channel.mention}"
#: redbot/cogs/admin/admin.py:373
#: redbot/cogs/admin/admin.py:370
#, docstring
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:395
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
@@ -191,7 +188,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:408
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -203,7 +200,7 @@ msgstr "\n"
" يجب أن يكون مسؤولو الخادم قد قاموا بتكوين الرتبة كـ settable للمستخدم.\n"
" ملاحظة: الرتبة حساس للحالة!\n"
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:419
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -215,7 +212,7 @@ msgstr "\n"
" يجب أن يكون مسؤولو الخادم قد قاموا بتكوين الرتبة كـ settable للمستخدم.\n"
" ملاحظة: الرتبة حساس للحالة!\n"
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:430
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
@@ -223,65 +220,100 @@ msgid "\n"
msgstr "\n"
" يسرد كافة الرتب الذاتية المتوفرة.\n"
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:440
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "الرتب الذاتية المتوفرة:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:446
#, docstring
msgid "Manage selfroles."
msgstr "تطبيق الرتبالذاتية."
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:451
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" إضافة رتبة إلى قائمة الرتب الذاتية المتوفرة.\n\n"
" ملاحظة: الرتبة حساس للحالة!\n"
msgstr ""
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:460
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:469
msgid "Added."
msgstr "لقد قمت بنجاح بإضافة {role.name} إلى {member.display_name}"
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
msgstr "الرتبة المذكورة ليست على قائمة الرتب الذاتية."
#: redbot/cogs/admin/admin.py:470
msgid "The role \"{role.name}\" is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:476
msgid "Added {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:478
msgid "Added 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:484
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\\ ن أ شن ة أشنة الان زة الان اكل سالت الكلسه \\ ن \\ ن ن ن جال: الـ\"با\" \\ ن"
msgstr ""
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:493
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 "لا يمكنني السماح لك بإزالة {role.name} من كونه رتبةًا ذاتيًا لأن هذا الرتبة أعلى من أو يساوي أعلى رتبة لك في التسلسل الهرمي Discord."
#: redbot/cogs/admin/admin.py:491
msgid "Removed."
msgstr "لقد قمت بنجاح بإزالة {role.name} من {member.display_name}"
#: redbot/cogs/admin/admin.py:503
msgid "Removed {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:496
#: redbot/cogs/admin/admin.py:505
msgid "Removed 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:511
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr ""
#: redbot/cogs/admin/admin.py:515
msgid "There are currently no selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:518
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr ""
#: redbot/cogs/admin/admin.py:524
msgid "You took too long to respond."
msgstr ""
#: redbot/cogs/admin/admin.py:533
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:539
msgid "Selfrole list cleared."
msgstr ""
#: redbot/cogs/admin/admin.py:541
msgid "No changes have been made."
msgstr ""
#: redbot/cogs/admin/admin.py:546
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "قفل البوت للسيرفر الحالي فقط."
#: redbot/cogs/admin/admin.py:501
#: redbot/cogs/admin/admin.py:551
msgid "The bot is no longer serverlocked."
msgstr "لم يعد البوت مقفول للسيرفر الحالي فقط."
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:553
msgid "The bot is now serverlocked."
msgstr "لقد تم قفل البوت للسيرفر الحالي فقط."
@@ -293,11 +325,15 @@ msgstr "لم أستطع أن أعلن للخوادم التالية:"
msgid "I could not announce to the following servers: "
msgstr "لم أستطع أن أعلن للخوادم التالية:"
#: redbot/cogs/admin/converters.py:12
#: redbot/cogs/admin/converters.py:13
msgid "The Admin cog is not loaded."
msgstr "لم يتم تحميل وحدة الأدمن cog."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr "الرتبة المذكورة ليست على قائمة الرتب الذاتية."
#: redbot/cogs/admin/converters.py:30
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr ""
#: redbot/cogs/admin/converters.py:36
msgid "This selfrole has more than one case insensitive match. Please ask a moderator to resolve the ambiguity, or use the role ID to reference the role."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-12-18 03:37+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.3\n"
"Generated-By: redgettext 3.4.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: bg_BG\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:20
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "Опитах да направя нещо, за което Discord ми забрани права. Команда не успя да завърши успешно."
#: redbot/cogs/admin/admin.py:23
#: redbot/cogs/admin/admin.py:25
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 "Не мога да премахна {role.name} на {member.display_name}, защото ролята е по-голяма или равна на моята най-висока роля в йерархията на Discord."
#: redbot/cogs/admin/admin.py:29
#: redbot/cogs/admin/admin.py:31
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 "Не мога да махна {role.name} на {member.display_name}, защото ролята е по-голяма или равна на моята най-висока роля в йерархията на Discord."
#: redbot/cogs/admin/admin.py:35
#: redbot/cogs/admin/admin.py:37
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr "Не мога да редактирам {role.name}, защото ролята е по-голяма или равна на моята най-висока роля в йерархията на Discord."
#: redbot/cogs/admin/admin.py:41
#: redbot/cogs/admin/admin.py:43
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 "Не мога да ти позволя да дадеш {role.name} на {member.display_name}, защото ролята е по-голяма или равна на най-високата ти роля в йерархията на Discord."
#: redbot/cogs/admin/admin.py:47
#: redbot/cogs/admin/admin.py:49
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 "Не мога да ти позволя да махнеш {role.name} на {member.display_name}, защото ролята е по-голяма или равна на най-високата ти роля в йерархията на Discord."
#: redbot/cogs/admin/admin.py:53
#: redbot/cogs/admin/admin.py:55
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 "Не мога да ти позволя да редактираш {role.name}, защото ролята е по-голяма или равна на най-високата ти роля в йерархията на Discord."
#: redbot/cogs/admin/admin.py:59
#: redbot/cogs/admin/admin.py:61
msgid "I need the \"Manage Roles\" permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:61
#: redbot/cogs/admin/admin.py:63
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:71
#: redbot/cogs/admin/admin.py:73
#, docstring
msgid "A collection of server administration utilities."
msgstr "Колекция от помощни програми за администриране на сървъри."
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:159
msgid "{member.display_name} already has the role {role.name}."
msgstr "{member.display_name} вече има ролята {role.name}."
#: redbot/cogs/admin/admin.py:184
#: redbot/cogs/admin/admin.py:180
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "Успешно добавих {role.name} на {member.display_name}"
#: redbot/cogs/admin/admin.py:194
#: redbot/cogs/admin/admin.py:190
msgid "{member.display_name} does not have the role {role.name}."
msgstr "{member.display_name} няма ролята {role.name}."
#: redbot/cogs/admin/admin.py:214
#: redbot/cogs/admin/admin.py:211
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "Успешно махнах {role.name} от {member.display_name}"
#: redbot/cogs/admin/admin.py:225
#: redbot/cogs/admin/admin.py:226
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -85,7 +85,7 @@ msgstr "\n"
" Ако потребител е празно, то по подразбиране е автора на командата.\n"
" "
#: redbot/cogs/admin/admin.py:241
#: redbot/cogs/admin/admin.py:244
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -98,12 +98,12 @@ msgstr "\n"
" Ако потребител е празно, то по подразбиране е автора на командата.\n"
" "
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "Edit role settings."
msgstr "Редактирай настройките на ролята."
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:263
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -116,11 +116,11 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:292 redbot/cogs/admin/admin.py:325
msgid "Done."
msgstr "Завършено."
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:296
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -130,51 +130,48 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:330
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:336
#: redbot/cogs/admin/admin.py:337
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:344
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:346
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:349
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:355
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:359
#: redbot/cogs/admin/admin.py:362
#, 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 "Change the channel where the bot will send announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:365
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:373
#: redbot/cogs/admin/admin.py:370
#, docstring
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:395
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
@@ -183,7 +180,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:408
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -192,7 +189,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:419
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -201,69 +198,106 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:430
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:440
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:446
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:451
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:460
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:469
msgid "Added."
msgstr "Добавено."
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
msgstr "Тази роля вече е самостоятелна роля."
#: redbot/cogs/admin/admin.py:470
msgid "The role \"{role.name}\" is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:476
msgid "Added {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:478
msgid "Added 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:484
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:493
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:491
msgid "Removed."
msgstr "Премахнато."
#: redbot/cogs/admin/admin.py:503
msgid "Removed {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:496
#: redbot/cogs/admin/admin.py:505
msgid "Removed 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:511
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr ""
#: redbot/cogs/admin/admin.py:515
msgid "There are currently no selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:518
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr ""
#: redbot/cogs/admin/admin.py:524
msgid "You took too long to respond."
msgstr ""
#: redbot/cogs/admin/admin.py:533
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:539
msgid "Selfrole list cleared."
msgstr ""
#: redbot/cogs/admin/admin.py:541
msgid "No changes have been made."
msgstr ""
#: redbot/cogs/admin/admin.py:546
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Заключете бота само за текущите му сървъри."
#: redbot/cogs/admin/admin.py:501
#: redbot/cogs/admin/admin.py:551
msgid "The bot is no longer serverlocked."
msgstr "Ботът вече не е заключен за сървъри."
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:553
msgid "The bot is now serverlocked."
msgstr "Ботът е заключен за сървъри."
@@ -275,11 +309,15 @@ msgstr "Не можах да обявя в следния сървър: "
msgid "I could not announce to the following servers: "
msgstr "Не можах да обявя в следните сървъри: "
#: redbot/cogs/admin/converters.py:12
#: redbot/cogs/admin/converters.py:13
msgid "The Admin cog is not loaded."
msgstr "Admin cog не беше зареден."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr "Предоставената роля не е валидна самостоятелна роля."
#: redbot/cogs/admin/converters.py:30
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr ""
#: redbot/cogs/admin/converters.py:36
msgid "This selfrole has more than one case insensitive match. Please ask a moderator to resolve the ambiguity, or use the role ID to reference the role."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-04-03 01:21+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"
"Generated-By: redgettext 3.4.2\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"
@@ -15,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: bs_BA\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:19
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
#: redbot/cogs/admin/admin.py:24
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
#: redbot/cogs/admin/admin.py:30
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
#: redbot/cogs/admin/admin.py:36
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
#: redbot/cogs/admin/admin.py:42
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
#: redbot/cogs/admin/admin.py:48
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
#: redbot/cogs/admin/admin.py:54
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
#: redbot/cogs/admin/admin.py:60
msgid "I need the \"Manage Roles\" permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:61
#: redbot/cogs/admin/admin.py:62
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
#: redbot/cogs/admin/admin.py:72
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:158
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:184
#: redbot/cogs/admin/admin.py:178
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:194
#: redbot/cogs/admin/admin.py:188
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:214
#: redbot/cogs/admin/admin.py:208
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:225
#: redbot/cogs/admin/admin.py:219
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -81,7 +81,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:241
#: redbot/cogs/admin/admin.py:235
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -90,12 +90,12 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:249
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -108,11 +108,11 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:285 redbot/cogs/admin/admin.py:318
msgid "Done."
msgstr ""
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:289
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -122,51 +122,48 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:323
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:336
#: redbot/cogs/admin/admin.py:330
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:337
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:339
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:342
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:348
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:359
#: redbot/cogs/admin/admin.py:353
#, 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 "Change the channel where the bot will send announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:356
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:373
#: redbot/cogs/admin/admin.py:361
#, docstring
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:386
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
@@ -175,7 +172,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:399
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -184,7 +181,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:410
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -193,69 +190,106 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:421
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:431
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:437
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:442
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:451
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:461
msgid "The role \"{role.name}\" is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:467
msgid "Added {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:469
msgid "Added."
msgid "Added 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:476
#: redbot/cogs/admin/admin.py:475
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:484
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:491
msgid "Removed."
#: redbot/cogs/admin/admin.py:494
msgid "Removed {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:496
msgid "Removed 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:502
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr ""
#: redbot/cogs/admin/admin.py:506
msgid "There are currently no selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:509
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr ""
#: redbot/cogs/admin/admin.py:515
msgid "You took too long to respond."
msgstr ""
#: redbot/cogs/admin/admin.py:524
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:530
msgid "Selfrole list cleared."
msgstr ""
#: redbot/cogs/admin/admin.py:532
msgid "No changes have been made."
msgstr ""
#: redbot/cogs/admin/admin.py:537
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:501
#: redbot/cogs/admin/admin.py:542
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:544
msgid "The bot is now serverlocked."
msgstr ""
@@ -271,7 +305,7 @@ msgstr ""
msgid "The Admin cog is not loaded."
msgstr ""
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
#: redbot/cogs/admin/converters.py:21
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-04-03 01:21+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.3\n"
"Generated-By: redgettext 3.4.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: ca_ES\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:19
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
msgstr "He intentat fer una cosa per la qual Discord m'ha denegat els permisos. La vostra comanda no s'ha pogut completar correctament."
#: redbot/cogs/admin/admin.py:23
#: redbot/cogs/admin/admin.py:24
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 puc donar {role.name} a {member.display_name} perquè el rol està per sobre o igual que el meu rol més alt a la jerarquia de Discord."
#: redbot/cogs/admin/admin.py:29
#: redbot/cogs/admin/admin.py:30
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 puc treure {role.name} a {member.display_name} perquè el rol està per sobre o igual que el meu rol més alt a la jerarquia de Discord."
#: redbot/cogs/admin/admin.py:35
#: redbot/cogs/admin/admin.py:36
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 puc editar {role.name} perquè el rol està per sobre o igual que el meu rol més alt a la jerarquia de Discord."
#: redbot/cogs/admin/admin.py:41
#: redbot/cogs/admin/admin.py:42
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 puc deixar-te donar {role.name} a {member.display_name} perquè el rol està per sobre o igual que el meu rol més alt a la jerarquia de Discord."
#: redbot/cogs/admin/admin.py:47
#: redbot/cogs/admin/admin.py:48
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 puc deixar-te treure {role.name} a {member.display_name} perquè el rol està per sobre o igual que el meu rol més alt a la jerarquia de Discord."
#: redbot/cogs/admin/admin.py:53
#: redbot/cogs/admin/admin.py:54
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 puc deixar-te editar {role.name} perquè el rol està per sobre o igual que el meu rol més alt a la jerarquia de Discord."
#: redbot/cogs/admin/admin.py:59
#: redbot/cogs/admin/admin.py:60
msgid "I need the \"Manage Roles\" permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:61
#: redbot/cogs/admin/admin.py:62
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
msgstr "Ja estic anunciant alguna cosa. Si voleu fer un anunci diferent, primer utilitzeu `{prefix}announce cancel`."
#: redbot/cogs/admin/admin.py:71
#: redbot/cogs/admin/admin.py:72
#, docstring
msgid "A collection of server administration utilities."
msgstr "Una col·lecció dutilitats dadministració de servidors."
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:158
msgid "{member.display_name} already has the role {role.name}."
msgstr "{member.display_name} ja té el rol {role.name}."
#: redbot/cogs/admin/admin.py:184
#: redbot/cogs/admin/admin.py:178
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "He afegit amb èxit {role.name} a {member.display_name}"
#: redbot/cogs/admin/admin.py:194
#: redbot/cogs/admin/admin.py:188
msgid "{member.display_name} does not have the role {role.name}."
msgstr "{member.display_name} no té el rol {role.name}."
#: redbot/cogs/admin/admin.py:214
#: redbot/cogs/admin/admin.py:208
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "He tret amb èxit {role.name} a {member.display_name}"
#: redbot/cogs/admin/admin.py:225
#: redbot/cogs/admin/admin.py:219
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -85,7 +85,7 @@ msgstr "\n"
" Si l'usuari es deixa en blanc el valor per defecte és l'autor del comandament.\n"
" "
#: redbot/cogs/admin/admin.py:241
#: redbot/cogs/admin/admin.py:235
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -98,12 +98,12 @@ msgstr "\n"
" Si l'usuari es deixa en blanc el valor per defecte és l'autor del comandament.\n"
" "
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:249
#, docstring
msgid "Edit role settings."
msgstr "Editar la configuració del rol."
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -124,11 +124,11 @@ msgstr "\n"
" `[p]editrole colour Test #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:285 redbot/cogs/admin/admin.py:318
msgid "Done."
msgstr "Fet."
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:289
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -143,54 +143,48 @@ msgstr "\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:323
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "Anunciar un missatge a tots els servidors en què es troba el bot."
#: redbot/cogs/admin/admin.py:336
#: redbot/cogs/admin/admin.py:330
msgid "The announcement has begun."
msgstr "Lanunci ha començat."
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:337
#, docstring
msgid "Cancel a running announce."
msgstr "Cancel·lar un anunci en curs."
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:339
msgid "There is no currently running announcement."
msgstr "Actualment no hi ha cap anunci en curs."
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:342
msgid "The current announcement has been cancelled."
msgstr "L'anunci actual s'ha cancel·lat."
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:348
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr "Canvia com senvien els anuncis en aquest servidor."
#: redbot/cogs/admin/admin.py:359
#: redbot/cogs/admin/admin.py:353
#, 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"
" Canvieu el canal on el bot enviarà anuncis.\n\n"
" Si el canal es deixa en blanc el canal per defecte és el canal actual.\n"
" "
msgid "Change the channel where the bot will send announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:356
msgid "The announcement channel has been set to {channel.mention}"
msgstr "El canal d'anuncis s'ha establert a {channel.mention}"
#: redbot/cogs/admin/admin.py:373
#: redbot/cogs/admin/admin.py:361
#, docstring
msgid "Unsets the channel for announcements."
msgstr "Treu el canal per als anuncis."
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:386
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
@@ -203,7 +197,7 @@ msgstr "\n"
" NOTA: El rol és sensible a majúscules!\n"
" "
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:399
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -216,7 +210,7 @@ msgstr "\n"
" NOTA: El rol és sensible a majúscules!\n"
" "
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:410
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -229,7 +223,7 @@ msgstr "\n"
" NOTA: El rol és sensible a majúscules!\n"
" "
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:421
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
@@ -238,69 +232,100 @@ msgstr "\n"
" Llista tots els selfrols disponibles.\n"
" "
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:431
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Selfroles disponibles:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:437
#, docstring
msgid "Manage selfroles."
msgstr "Gestiona selfroles."
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:442
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Afegeix un rol a la llista de selfroles disponibles.\n\n"
" NOTA: El rol és sensible a majúscules!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:451
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 puc deixar-te afegir {role.name} com a selfrole perquè el rol està per sobre o igual que el meu rol més alt a la jerarquia de Discord."
#: redbot/cogs/admin/admin.py:461
msgid "The role \"{role.name}\" is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:467
msgid "Added {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:469
msgid "Added."
msgstr "Afegit."
msgid "Added 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
msgstr "Aquest rol ja és un selfrole."
#: redbot/cogs/admin/admin.py:476
#: redbot/cogs/admin/admin.py:475
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\n"
" Treu un rol de la llista de selfroles disponibles.\n\n"
" NOTA: El rol és sensible a majúscules!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:484
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 puc deixar-te treure {role.name} de ser un selfrole perquè el rol està per sobre o igual que el meu rol més alt a la jerarquia de Discord."
#: redbot/cogs/admin/admin.py:491
msgid "Removed."
msgstr "Esborrat."
#: redbot/cogs/admin/admin.py:494
msgid "Removed {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:496
msgid "Removed 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:502
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr ""
#: redbot/cogs/admin/admin.py:506
msgid "There are currently no selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:509
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr ""
#: redbot/cogs/admin/admin.py:515
msgid "You took too long to respond."
msgstr ""
#: redbot/cogs/admin/admin.py:524
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:530
msgid "Selfrole list cleared."
msgstr ""
#: redbot/cogs/admin/admin.py:532
msgid "No changes have been made."
msgstr ""
#: redbot/cogs/admin/admin.py:537
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Bloqueja el bot només als seus servidors actuals."
#: redbot/cogs/admin/admin.py:501
#: redbot/cogs/admin/admin.py:542
msgid "The bot is no longer serverlocked."
msgstr "El bot ja no està bloquejat pel servidor."
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:544
msgid "The bot is now serverlocked."
msgstr "El bot està ara bloquejat pel servidor."
@@ -316,7 +341,7 @@ msgstr "No he pogut anunciar als servidor següents: "
msgid "The Admin cog is not loaded."
msgstr "El cog Admin no s'ha carregat."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr "El rol proporcionat no és un selfrole vàlid."
#: redbot/cogs/admin/converters.py:21
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-12-18 03:37+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.3\n"
"Generated-By: redgettext 3.4.2\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,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: cs_CZ\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:20
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:23
#: redbot/cogs/admin/admin.py:25
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:29
#: redbot/cogs/admin/admin.py:31
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:35
#: redbot/cogs/admin/admin.py:37
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:41
#: redbot/cogs/admin/admin.py:43
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:47
#: redbot/cogs/admin/admin.py:49
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:53
#: redbot/cogs/admin/admin.py:55
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:59
#: redbot/cogs/admin/admin.py:61
msgid "I need the \"Manage Roles\" permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:61
#: redbot/cogs/admin/admin.py:63
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:71
#: redbot/cogs/admin/admin.py:73
#, docstring
msgid "A collection of server administration utilities."
msgstr "Kolekce nástrojů pro správu serveru."
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:159
msgid "{member.display_name} already has the role {role.name}."
msgstr "{member.display_name} již má roli {role.name}."
#: redbot/cogs/admin/admin.py:184
#: redbot/cogs/admin/admin.py:180
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:194
#: redbot/cogs/admin/admin.py:190
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:214
#: redbot/cogs/admin/admin.py:211
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:225
#: redbot/cogs/admin/admin.py:226
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -85,7 +85,7 @@ msgstr "\n"
" Ponecháte-li uživatel prázdný, výchozí hodnota autorovi příkazu.\n"
" "
#: redbot/cogs/admin/admin.py:241
#: redbot/cogs/admin/admin.py:244
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -98,12 +98,12 @@ msgstr "\n"
" Ponecháte-li uživatel prázdný, výchozí hodnota autorovi příkazu.\n"
" "
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "Edit role settings."
msgstr "Upraví nastavení role."
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:263
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -124,11 +124,11 @@ msgstr "\n"
" `[p]editrole colour Spravce #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:292 redbot/cogs/admin/admin.py:325
msgid "Done."
msgstr "Hotovo."
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:296
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -143,54 +143,48 @@ msgstr "\n"
" `[p]editrole name \"Spravce\" Admin`\n"
" "
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:330
#, 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:336
#: redbot/cogs/admin/admin.py:337
msgid "The announcement has begun."
msgstr "Oznámení začalo."
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:344
#, docstring
msgid "Cancel a running announce."
msgstr "Zrušit běžící oznámení."
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:346
msgid "There is no currently running announcement."
msgstr "V současné době neexistuje žádné spuštěné oznámení."
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:349
msgid "The current announcement has been cancelled."
msgstr "Momentální oznámení bylo zrušeno."
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:355
#, 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:359
#: redbot/cogs/admin/admin.py:362
#, 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ěnit kanál, kam bot bude posílat oznámení.\n\n"
" Pokud je kanál prázdný, nastaví aktuální kanál.\n"
" "
msgid "Change the channel where the bot will send announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:365
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:373
#: redbot/cogs/admin/admin.py:370
#, docstring
msgid "Unsets the channel for announcements."
msgstr "Zruší kanál pro oznámení."
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:395
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
@@ -199,7 +193,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:408
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -212,7 +206,7 @@ msgstr "\n"
" POZNÁMKA: Role je citlivá na malá a velká písmena!\n"
" "
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:419
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -225,7 +219,7 @@ msgstr "\n"
" POZNÁMKA: Role je citlivá na malá a velká písmena!\n"
" "
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:430
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
@@ -234,69 +228,100 @@ msgstr "\n"
" Seznam všech dostupných self-rolí.\n"
" "
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:440
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Dostupné self-role:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:446
#, docstring
msgid "Manage selfroles."
msgstr "Spravovat self-role."
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:451
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, 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"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:460
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:469
msgid "Added."
msgstr "Přidáno."
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
msgstr "Tato role je již self-rolí."
#: redbot/cogs/admin/admin.py:470
msgid "The role \"{role.name}\" is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:476
msgid "Added {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:478
msgid "Added 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:484
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, 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"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:493
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:491
msgid "Removed."
msgstr "Odstraněno."
#: redbot/cogs/admin/admin.py:503
msgid "Removed {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:496
#: redbot/cogs/admin/admin.py:505
msgid "Removed 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:511
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr ""
#: redbot/cogs/admin/admin.py:515
msgid "There are currently no selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:518
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr ""
#: redbot/cogs/admin/admin.py:524
msgid "You took too long to respond."
msgstr ""
#: redbot/cogs/admin/admin.py:533
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:539
msgid "Selfrole list cleared."
msgstr ""
#: redbot/cogs/admin/admin.py:541
msgid "No changes have been made."
msgstr ""
#: redbot/cogs/admin/admin.py:546
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Uzamkne bota pouze na jeho aktuální servery."
#: redbot/cogs/admin/admin.py:501
#: redbot/cogs/admin/admin.py:551
msgid "The bot is no longer serverlocked."
msgstr "Bot již není uzamčen na server."
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:553
msgid "The bot is now serverlocked."
msgstr "Bot je nyní serverem uzamčen."
@@ -308,11 +333,15 @@ msgstr "Nemohu oznámit následujícímu serveru: "
msgid "I could not announce to the following servers: "
msgstr "Nemohu oznámit následujícím serverům: "
#: redbot/cogs/admin/converters.py:12
#: redbot/cogs/admin/converters.py:13
msgid "The Admin cog is not loaded."
msgstr "Admin cog není načten."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr "Daná role není platná self-role."
#: redbot/cogs/admin/converters.py:30
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr ""
#: redbot/cogs/admin/converters.py:36
msgid "This selfrole has more than one case insensitive match. Please ask a moderator to resolve the ambiguity, or use the role ID to reference the role."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-12-18 03:37+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.3\n"
"Generated-By: redgettext 3.4.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: da_DK\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:20
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
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:23
#: redbot/cogs/admin/admin.py:25
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 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:29
#: redbot/cogs/admin/admin.py:31
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} da denne rolle er højere eller tilsvarende til min tildelte rolle i hierarkiet."
#: redbot/cogs/admin/admin.py:35
#: redbot/cogs/admin/admin.py:37
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} da denne rolle er højere eller tilsvarende til min tildelte rolle i hierarkiet."
#: redbot/cogs/admin/admin.py:41
#: redbot/cogs/admin/admin.py:43
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 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:47
#: redbot/cogs/admin/admin.py:49
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 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:53
#: redbot/cogs/admin/admin.py:55
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 lade dig redigere {role.name} da denne rolle er højere eller tilsvarende til din tildelte rolle i hierarkiet."
#: redbot/cogs/admin/admin.py:59
#: redbot/cogs/admin/admin.py:61
msgid "I need the \"Manage Roles\" permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:61
#: redbot/cogs/admin/admin.py:63
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
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:71
#: redbot/cogs/admin/admin.py:73
#, docstring
msgid "A collection of server administration utilities."
msgstr "En samling af server administrations værktøjer."
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:159
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:184
#: redbot/cogs/admin/admin.py:180
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "Jeg gennemførte tilføjelsen af {role.name} til {member.display_name}"
#: redbot/cogs/admin/admin.py:194
#: redbot/cogs/admin/admin.py:190
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:214
#: redbot/cogs/admin/admin.py:211
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "Jeg gennemførte fjernelsen af {role.name} fra {member.display_name}"
#: redbot/cogs/admin/admin.py:225
#: redbot/cogs/admin/admin.py:226
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -81,7 +81,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:241
#: redbot/cogs/admin/admin.py:244
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -90,12 +90,12 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "Edit role settings."
msgstr "Rediger rolle indstillinger."
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:263
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -108,11 +108,11 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:292 redbot/cogs/admin/admin.py:325
msgid "Done."
msgstr "Færdig."
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:296
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -122,51 +122,48 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:330
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr "Annoncer en besked til alle serverne botten er i."
#: redbot/cogs/admin/admin.py:336
#: redbot/cogs/admin/admin.py:337
msgid "The announcement has begun."
msgstr "Annonceringen er påbegyndt."
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:344
#, docstring
msgid "Cancel a running announce."
msgstr "Afbryd en kørende annonce."
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:346
msgid "There is no currently running announcement."
msgstr "Der er i øjeblikket ikke nogen kørende annonceringer."
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:349
msgid "The current announcement has been cancelled."
msgstr "Den nuværende annoncering er blevet afbrudt."
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:355
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr "Ændre hvordan annonceringer er udsendt i denne server."
#: redbot/cogs/admin/admin.py:359
#: redbot/cogs/admin/admin.py:362
#, 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 "Change the channel where the bot will send announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:365
msgid "The announcement channel has been set to {channel.mention}"
msgstr "Annoncerings kanalen er blevet sat til {channel.mention}"
#: redbot/cogs/admin/admin.py:373
#: redbot/cogs/admin/admin.py:370
#, docstring
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:395
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
@@ -175,7 +172,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:408
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -184,7 +181,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:419
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -193,69 +190,106 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:430
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:440
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:446
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:451
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:460
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:469
msgid "Added."
msgstr "Tilføjet."
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
#: redbot/cogs/admin/admin.py:470
msgid "The role \"{role.name}\" is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:476
msgid "Added {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:478
msgid "Added 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:484
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:493
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:491
msgid "Removed."
msgstr "Fjernet."
#: redbot/cogs/admin/admin.py:503
msgid "Removed {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:496
#: redbot/cogs/admin/admin.py:505
msgid "Removed 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:511
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr ""
#: redbot/cogs/admin/admin.py:515
msgid "There are currently no selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:518
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr ""
#: redbot/cogs/admin/admin.py:524
msgid "You took too long to respond."
msgstr ""
#: redbot/cogs/admin/admin.py:533
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:539
msgid "Selfrole list cleared."
msgstr ""
#: redbot/cogs/admin/admin.py:541
msgid "No changes have been made."
msgstr ""
#: redbot/cogs/admin/admin.py:546
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Lås en bot til dens nuværende server."
#: redbot/cogs/admin/admin.py:501
#: redbot/cogs/admin/admin.py:551
msgid "The bot is no longer serverlocked."
msgstr "Botten er ikke længere låst til serveren."
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:553
msgid "The bot is now serverlocked."
msgstr "Botten er nu låst til serveren."
@@ -267,11 +301,15 @@ msgstr "Jeg kunne ikke annoncere til den følgende server: "
msgid "I could not announce to the following servers: "
msgstr "Jeg kunne ikke annoncere til de følgende servere: "
#: redbot/cogs/admin/converters.py:12
#: redbot/cogs/admin/converters.py:13
msgid "The Admin cog is not loaded."
msgstr "Admin cog er ikke indlæst."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr "Den vedlagte rolle er ikke en valid selvrolle."
#: redbot/cogs/admin/converters.py:30
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr ""
#: redbot/cogs/admin/converters.py:36
msgid "This selfrole has more than one case insensitive match. Please ask a moderator to resolve the ambiguity, or use the role ID to reference the role."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-12-18 03:37+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.3\n"
"Generated-By: redgettext 3.4.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: de_DE\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:20
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:23
#: redbot/cogs/admin/admin.py:25
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:29
#: redbot/cogs/admin/admin.py:31
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:35
#: redbot/cogs/admin/admin.py:37
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:41
#: redbot/cogs/admin/admin.py:43
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:47
#: redbot/cogs/admin/admin.py:49
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:53
#: redbot/cogs/admin/admin.py:55
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:59
msgid "I need the \"Manage Roles\" permission to do that."
msgstr "Ich brauche dafür die Bereichtigung „Rollen verwalten“."
#: redbot/cogs/admin/admin.py:61
msgid "I need the \"Manage Roles\" permission to do that."
msgstr "Dazu benötige ich die Berechtigung \"Rollen verwalten\"."
#: redbot/cogs/admin/admin.py:63
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:71
#: redbot/cogs/admin/admin.py:73
#, docstring
msgid "A collection of server administration utilities."
msgstr "Eine Sammlung von administrativen Server-Verwaltungsprogrammen."
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:159
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:184
#: redbot/cogs/admin/admin.py:180
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:194
#: redbot/cogs/admin/admin.py:190
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:214
#: redbot/cogs/admin/admin.py:211
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:225
#: redbot/cogs/admin/admin.py:226
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -80,12 +80,12 @@ msgid "\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"
" Fügen Sie einem Benutzer eine Rolle hinzu.\n"
" Verwenden Sie doppelte Anführungszeichen, wenn die Benutzerrolle Leerzeichen enthält.\n"
" Wenn keine Person definiert wurde, wird die Rolle dem Autor des Befehls gegeben.\n"
" "
#: redbot/cogs/admin/admin.py:241
#: redbot/cogs/admin/admin.py:244
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -98,12 +98,12 @@ msgstr "\n"
" Wenn keine Person definiert wurde, wird die Rolle von dem Autor des Befehls entfernt.\n"
" "
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "Edit role settings."
msgstr "Rolleneinstellungen bearbeiten."
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:263
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -116,19 +116,19 @@ msgid "\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"
" Verwende doppelte Anführungszeichen, wenn die Rolle Leerzeichen enthält.\n"
" Die Farbe muss im hexadezimal 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:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:292 redbot/cogs/admin/admin.py:325
msgid "Done."
msgstr "Erledigt."
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:296
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -138,59 +138,53 @@ msgid "\n"
" "
msgstr "\n"
" Bearbeite den Namen einer Rolle.\n\n"
" Verwende (amerikanische) Anführungszeichen, wenn die Rolle Leerzeichen enthält.\n\n"
" Verwende doppelte Anführungszeichen, wenn die Rolle Leerzeichen enthält.\n\n"
" Beispiel:\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:330
#, 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:336
#: redbot/cogs/admin/admin.py:337
msgid "The announcement has begun."
msgstr "Die Ankündigung hat begonnen."
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:344
#, docstring
msgid "Cancel a running announce."
msgstr "Breche eine laufende Ankündigung ab."
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:346
msgid "There is no currently running announcement."
msgstr "Es gibt keine derzeit laufende Ankündigung."
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:349
msgid "The current announcement has been cancelled."
msgstr "Die aktuelle Ankündigung wurde abgebrochen."
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:355
#, 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:359
#: redbot/cogs/admin/admin.py:362
#, 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 den der Bot Ankündigungen senden wird.\n\n"
" Wenn der Kanal freigelassen wird, wird es auf den aktuellen angewendet.\n"
" "
msgid "Change the channel where the bot will send announcements."
msgstr "Ändern Sie den Kanal, über den der Bot Ankündigungen sendet."
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:365
msgid "The announcement channel has been set to {channel.mention}"
msgstr "{channel.mention} wurde nun als Ankündigungskanal festgelegt."
#: redbot/cogs/admin/admin.py:373
#: redbot/cogs/admin/admin.py:370
#, docstring
msgid "Unsets the channel for announcements."
msgstr "Setzt den Kanal für Ankündigungen zurück."
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:395
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
@@ -203,7 +197,7 @@ msgstr "\n"
" HINWEIS: Beachte Groß- und Kleinschreibung!\n"
" "
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:408
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -216,7 +210,7 @@ msgstr "\n"
" HINWEIS: Beachte Groß- und Kleinschreibung!\n"
" "
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:419
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -229,7 +223,7 @@ msgstr "\n"
" HINWEIS: Beachte Groß- und Kleinschreibung!\n"
" "
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:430
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
@@ -238,69 +232,105 @@ msgstr "\n"
"Gibt eine Liste verfügbarer selbst auswählbarer Rollen aus.\n"
" "
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:440
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Verfügbare selbst auswählbare Rollen:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:446
#, docstring
msgid "Manage selfroles."
msgstr "Selbst hinzufügbare Rollen verwalten."
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:451
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, 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"
"Füge eine oder mehrere Rollen zur Liste der selbst hinzufügbaren Rollen hinzu.\n\n"
" ACHTUNG: Beachte korrekte Groß- und Kleinschreibung!\n"
" "
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:460
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:469
msgid "Added."
msgstr "Hinzugefügt."
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
msgstr "Diese Rolle ist bereits selbst hinzufügbar."
#: redbot/cogs/admin/admin.py:470
msgid "The role \"{role.name}\" is already a selfrole."
msgstr "Die Rolle \"{role.name}\" ist bereits eine selbst hinzufügbare Rolle."
#: redbot/cogs/admin/admin.py:476
msgid "Added {count} selfroles."
msgstr "{count} selbst hinzufügbare Rollen hinzugefügt."
#: redbot/cogs/admin/admin.py:478
msgid "Added 1 selfrole."
msgstr "1 selbst hinzufügbare Rolle hinzugefügt."
#: redbot/cogs/admin/admin.py:484
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, 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"
" "
"Entferne eine oder mehrere Rollen von der Liste der selbst hinzufügbaren Rollen.\n\n"
" ACHTUNG: Beachte die Groß- und Kleinschreibung! "
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:493
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:491
msgid "Removed."
msgstr "Entfernt."
#: redbot/cogs/admin/admin.py:503
msgid "Removed {count} selfroles."
msgstr "{count} selbst hinzufügbare Rollen entfernt."
#: redbot/cogs/admin/admin.py:496
#: redbot/cogs/admin/admin.py:505
msgid "Removed 1 selfrole."
msgstr "1 selbst hinzufügbare Rolle entfernt."
#: redbot/cogs/admin/admin.py:511
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr "Lösche die Liste der selbst hinzufügbaren Rollen auf diesem Server."
#: redbot/cogs/admin/admin.py:515
msgid "There are currently no selfroles."
msgstr "Es sind keine selbst hinzufügbaren Rollen verfügbar."
#: redbot/cogs/admin/admin.py:518
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr "Bist du dir sicher, dass du die Liste der selbst hinzufügbaren Rollen dieses Servers löschen möchtest?"
#: redbot/cogs/admin/admin.py:524
msgid "You took too long to respond."
msgstr "Antwortzeit abgelaufen."
#: redbot/cogs/admin/admin.py:533
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Ich kann die Liste der selbst hinzufügbaren Rollen nicht löschen, da {role.name} auf der gleichen Stufe oder höher als deine höchste Rolle in der Discord Hierarchie ist."
#: redbot/cogs/admin/admin.py:539
msgid "Selfrole list cleared."
msgstr "Liste der selbst hinzufügbaren Rollen gelöscht."
#: redbot/cogs/admin/admin.py:541
msgid "No changes have been made."
msgstr "Keine Änderungen vorgenommen"
#: redbot/cogs/admin/admin.py:546
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Der Bot kann keinem neuen Server beitreten."
#: redbot/cogs/admin/admin.py:501
#: redbot/cogs/admin/admin.py:551
msgid "The bot is no longer serverlocked."
msgstr "Der Bot kann nun anderen Servern beitreten."
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:553
msgid "The bot is now serverlocked."
msgstr "Der Bot ist jetzt gesperrt neuen Servern beizutreten."
@@ -312,11 +342,15 @@ msgstr "Ich konnte die Ankündigung auf diesem Server nicht ausführen: "
msgid "I could not announce to the following servers: "
msgstr "Ich konnte die Ankündigung auf diesen Servern nicht ausführen: "
#: redbot/cogs/admin/converters.py:12
#: redbot/cogs/admin/converters.py:13
msgid "The Admin cog is not loaded."
msgstr "Das Admin-Cog ist nicht geladen."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr "Die angegebene Rolle ist keine gültige selbst auswählbare Rolle."
#: redbot/cogs/admin/converters.py:30
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr "Die Rolle \"{role_name}\" ist keine gültige selbst definierte Rolle."
#: redbot/cogs/admin/converters.py:36
msgid "This selfrole has more than one case insensitive match. Please ask a moderator to resolve the ambiguity, or use the role ID to reference the role."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-04-03 01:21+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.3\n"
"Generated-By: redgettext 3.4.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: el_GR\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:19
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
#: redbot/cogs/admin/admin.py:24
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
#: redbot/cogs/admin/admin.py:30
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
#: redbot/cogs/admin/admin.py:36
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
#: redbot/cogs/admin/admin.py:42
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
#: redbot/cogs/admin/admin.py:48
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
#: redbot/cogs/admin/admin.py:54
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
#: redbot/cogs/admin/admin.py:60
msgid "I need the \"Manage Roles\" permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:61
#: redbot/cogs/admin/admin.py:62
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
#: redbot/cogs/admin/admin.py:72
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:158
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:184
#: redbot/cogs/admin/admin.py:178
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:194
#: redbot/cogs/admin/admin.py:188
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:214
#: redbot/cogs/admin/admin.py:208
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:225
#: redbot/cogs/admin/admin.py:219
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -81,7 +81,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:241
#: redbot/cogs/admin/admin.py:235
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -90,12 +90,12 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:249
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -108,11 +108,11 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:285 redbot/cogs/admin/admin.py:318
msgid "Done."
msgstr ""
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:289
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -122,51 +122,48 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:323
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:336
#: redbot/cogs/admin/admin.py:330
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:337
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:339
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:342
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:348
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:359
#: redbot/cogs/admin/admin.py:353
#, 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 "Change the channel where the bot will send announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:356
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:373
#: redbot/cogs/admin/admin.py:361
#, docstring
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:386
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
@@ -175,7 +172,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:399
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -184,7 +181,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:410
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -193,69 +190,106 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:421
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:431
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:437
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:442
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:451
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:461
msgid "The role \"{role.name}\" is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:467
msgid "Added {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:469
msgid "Added."
msgid "Added 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:476
#: redbot/cogs/admin/admin.py:475
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:484
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:491
msgid "Removed."
#: redbot/cogs/admin/admin.py:494
msgid "Removed {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:496
msgid "Removed 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:502
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr ""
#: redbot/cogs/admin/admin.py:506
msgid "There are currently no selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:509
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr ""
#: redbot/cogs/admin/admin.py:515
msgid "You took too long to respond."
msgstr ""
#: redbot/cogs/admin/admin.py:524
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:530
msgid "Selfrole list cleared."
msgstr ""
#: redbot/cogs/admin/admin.py:532
msgid "No changes have been made."
msgstr ""
#: redbot/cogs/admin/admin.py:537
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:501
#: redbot/cogs/admin/admin.py:542
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:544
msgid "The bot is now serverlocked."
msgstr ""
@@ -271,7 +305,7 @@ msgstr ""
msgid "The Admin cog is not loaded."
msgstr ""
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
#: redbot/cogs/admin/converters.py:21
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-12-18 03:37+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.3\n"
"Generated-By: redgettext 3.4.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: es_ES\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:20
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."
msgstr "He intentado hacer algo, pero Discord me ha negado el permiso. Su comando no ha podido completarse correctamente. "
#: redbot/cogs/admin/admin.py:23
#: redbot/cogs/admin/admin.py:25
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."
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:29
#: redbot/cogs/admin/admin.py:31
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:35
#: redbot/cogs/admin/admin.py:37
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:41
#: redbot/cogs/admin/admin.py:43
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:47
#: redbot/cogs/admin/admin.py:49
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:53
#: redbot/cogs/admin/admin.py:55
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."
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:59
#: redbot/cogs/admin/admin.py:61
msgid "I need the \"Manage Roles\" permission to do that."
msgstr "Necesito el permiso de \"Gestionar Roles\" para hacer eso."
#: redbot/cogs/admin/admin.py:61
#: redbot/cogs/admin/admin.py:63
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."
msgstr "Ya estoy anunciando algo en este instante. Si quieres hacer un anuncio diferente, por favor usa `{prefix}announce cancel` primero."
#: redbot/cogs/admin/admin.py:71
#: redbot/cogs/admin/admin.py:73
#, docstring
msgid "A collection of server administration utilities."
msgstr "Una colección de utilidades de administración de servidores."
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:159
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:184
#: redbot/cogs/admin/admin.py:180
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:194
#: redbot/cogs/admin/admin.py:190
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:214
#: redbot/cogs/admin/admin.py:211
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:225
#: redbot/cogs/admin/admin.py:226
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -81,11 +81,11 @@ msgid "\n"
" "
msgstr "\n"
" Añadir un rol a un usuario.\n\n"
" Usar comillas dobles si el rol contiene espacios.\n"
" Use 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:241
#: redbot/cogs/admin/admin.py:244
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -98,12 +98,12 @@ msgstr "\n"
" Si el usuario se deja en blanco el valor por defecto es el autor del comando.\n"
" "
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "Edit role settings."
msgstr "Editar configuración de rol."
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:263
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -124,11 +124,11 @@ msgstr "\n"
" `[p]editrole colour Test #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:292 redbot/cogs/admin/admin.py:325
msgid "Done."
msgstr "Listo."
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:296
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -140,57 +140,51 @@ 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"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:330
#, 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á."
msgstr "Anuncie un mensaje a todos los servidores en los que el bot esté presente."
#: redbot/cogs/admin/admin.py:336
#: redbot/cogs/admin/admin.py:337
msgid "The announcement has begun."
msgstr "El anuncio ha comenzado."
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:344
#, docstring
msgid "Cancel a running announce."
msgstr "Cancela un anuncio en ejecución."
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:346
msgid "There is no currently running announcement."
msgstr "No hay ningún anuncio en ejecución."
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:349
msgid "The current announcement has been cancelled."
msgstr "El anuncio actual ha sido cancelado."
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:355
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr "Cambia cómo son enviados los anuncios en este servidor."
msgstr "Cambia cómo son enviados los anuncios en este gremio."
#: redbot/cogs/admin/admin.py:359
#: redbot/cogs/admin/admin.py:362
#, 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 el canal se deja en blanco el canal por defecto es el canal actual.\n"
" "
msgid "Change the channel where the bot will send announcements."
msgstr "Cambia el canal donde el bot enviará anuncios."
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:365
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:373
#: redbot/cogs/admin/admin.py:370
#, docstring
msgid "Unsets the channel for announcements."
msgstr "Quita el canal para los anuncios."
msgstr "Deshabilita el canal para los anuncios."
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:395
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
@@ -198,12 +192,12 @@ msgid "\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr "\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"
" Añade o quita un auto rol de ti mismo.\n\n"
" Los administradores del servidor deben haber configurado el rol como configuración del usuario.\n"
" NOTA: El rol es sensible a mayúsculas/minúsculas!\n"
" "
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:408
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -216,7 +210,7 @@ msgstr "\n"
" NOTA: El rol es sensible a mayúsculas!\n"
" "
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:419
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -229,78 +223,113 @@ msgstr "\n"
" NOTA: El rol es sensible a mayúsculas!\n"
" "
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:430
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr "\n"
" Lista de todos los selfroles disponibles.\n"
" Lista todos los autoroles disponibles.\n"
" "
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:440
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Selfroles disponibles:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:446
#, docstring
msgid "Manage selfroles."
msgstr "Gestionar selfroles."
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:451
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, 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"
" "
"Añade un rol, o una selección de roles, a la lista de auto-roles disponibles.\n\n"
"NOTA: ¡El rol es sensible a mayúsculas! "
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:460
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:469
msgid "Added."
msgstr "Añadido."
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
msgstr "Ese rol ya es un selfrole."
#: redbot/cogs/admin/admin.py:470
msgid "The role \"{role.name}\" is already a selfrole."
msgstr "El rol \"{role.name}\" ya es un auto-rol."
#: redbot/cogs/admin/admin.py:476
msgid "Added {count} selfroles."
msgstr "Añadidos {count} auto-roles."
#: redbot/cogs/admin/admin.py:478
msgid "Added 1 selfrole."
msgstr "Se añadió 1 auto-rol."
#: redbot/cogs/admin/admin.py:484
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, 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"
" "
"Elimina un rol, o una selección de roles, de la lista de auto-roles disponibles.\n\n"
"NOTA: ¡El rol es sensible a mayúsculas! "
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:493
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:491
msgid "Removed."
msgstr "Eliminado."
#: redbot/cogs/admin/admin.py:503
msgid "Removed {count} selfroles."
msgstr "Se han eliminado {count} auto-roles."
#: redbot/cogs/admin/admin.py:496
#: redbot/cogs/admin/admin.py:505
msgid "Removed 1 selfrole."
msgstr "Se ha eliminado 1 auto-rol."
#: redbot/cogs/admin/admin.py:511
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr "Borra la lista de auto-roles disponibles para este servidor."
#: redbot/cogs/admin/admin.py:515
msgid "There are currently no selfroles."
msgstr "Actualmente no hay auto-roles."
#: redbot/cogs/admin/admin.py:518
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr "¿Estás seguro de querer borrar la lista de auto-roles de este servidor?"
#: redbot/cogs/admin/admin.py:524
msgid "You took too long to respond."
msgstr "Has tardado demasiado en responder."
#: redbot/cogs/admin/admin.py:533
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr "No puedo borrar los auto-roles porque el auto-rol '{role.name}' es mayor o igual a tu rol más alto en la jerarquía de Discord."
#: redbot/cogs/admin/admin.py:539
msgid "Selfrole list cleared."
msgstr "Lista de auto-roles eliminada."
#: redbot/cogs/admin/admin.py:541
msgid "No changes have been made."
msgstr "No se han realizado cambios."
#: redbot/cogs/admin/admin.py:546
#, 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:501
#: redbot/cogs/admin/admin.py:551
msgid "The bot is no longer serverlocked."
msgstr "El bot ya no está bloqueado por el servidor."
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:553
msgid "The bot is now serverlocked."
msgstr "El bot está bloqueado por el servidor."
@@ -312,11 +341,15 @@ msgstr "No pude anunciar en el siguiente servidor: "
msgid "I could not announce to the following servers: "
msgstr "No pude anunciar en los siguientes servidores: "
#: redbot/cogs/admin/converters.py:12
#: redbot/cogs/admin/converters.py:13
msgid "The Admin cog is not loaded."
msgstr "El cog Admin no está cargado."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr "El rol proporcionado no es un selfrole válido."
#: redbot/cogs/admin/converters.py:30
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr "El rol \"{role_name}\" no es un auto-rol válido."
#: redbot/cogs/admin/converters.py:36
msgid "This selfrole has more than one case insensitive match. Please ask a moderator to resolve the ambiguity, or use the role ID to reference the role."
msgstr "Este rol propio (selfrole) tiene más de un caso de coincidencia insensible. Por favor, pida a un moderador que resuelva la ambigüedad o utilice el ID de rol para hacer referencia al rol."

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-12-18 03:37+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.3\n"
"Generated-By: redgettext 3.4.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: fi_FI\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:20
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:23
#: redbot/cogs/admin/admin.py:25
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 "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:29
#: redbot/cogs/admin/admin.py:31
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 "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:35
#: redbot/cogs/admin/admin.py:37
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr "En voi muokata roolia {role.name}, koska se on korkeammalla kuin minun ylin roolini Discordin hierarkiassa."
#: redbot/cogs/admin/admin.py:41
#: redbot/cogs/admin/admin.py:43
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 "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:47
#: redbot/cogs/admin/admin.py:49
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 "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:53
#: redbot/cogs/admin/admin.py:55
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 "En voi antaa sinun muokata roolia {role.name}, koska rooli on korkeammalla kuin sinun korkein rooli Discordin hierarkiassa."
#: redbot/cogs/admin/admin.py:59
msgid "I need the \"Manage Roles\" permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:61
msgid "I need the \"Manage Roles\" permission to do that."
msgstr "Tarvitsen \"Muokkaa Rooleja\" oikeudet tehdäkseni tuon."
#: redbot/cogs/admin/admin.py:63
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:71
#: redbot/cogs/admin/admin.py:73
#, docstring
msgid "A collection of server administration utilities."
msgstr "Kokoelma palvelinhallintaohjelmia."
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:159
msgid "{member.display_name} already has the role {role.name}."
msgstr "Käyttäjällä {member.display_name} on jo rooli {role.name}."
#: redbot/cogs/admin/admin.py:184
#: redbot/cogs/admin/admin.py:180
msgid "I successfully added {role.name} to {member.display_name}"
msgstr "Lisäsin {role.name} onnistuneesti {member.display_name}"
#: redbot/cogs/admin/admin.py:194
#: redbot/cogs/admin/admin.py:190
msgid "{member.display_name} does not have the role {role.name}."
msgstr "Käyttäjällä {member.display_name} ei ole roolia {role.name}."
#: redbot/cogs/admin/admin.py:214
#: redbot/cogs/admin/admin.py:211
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr "Olen poistanut {role.name} onnistuneesti {member.display_name}"
#: redbot/cogs/admin/admin.py:225
#: redbot/cogs/admin/admin.py:226
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -85,7 +85,7 @@ msgstr "\n"
" Jos käyttäjä jätetään tyhjäksi, se on oletuksena tekijä komennon.\n"
" "
#: redbot/cogs/admin/admin.py:241
#: redbot/cogs/admin/admin.py:244
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -98,12 +98,12 @@ msgstr "\n"
" Jos käyttäjä jätetään tyhjäksi, se on oletuksena tekijä komennon.\n"
" "
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "Edit role settings."
msgstr "Muokkaa rooliasetuksia."
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:263
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -124,11 +124,11 @@ msgstr "\n"
" `[p]editrole colour Test #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:292 redbot/cogs/admin/admin.py:325
msgid "Done."
msgstr "Tehty."
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:296
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -143,63 +143,59 @@ msgstr "\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:330
#, 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:336
#: redbot/cogs/admin/admin.py:337
msgid "The announcement has begun."
msgstr "Ilmoittaminen on aloitettu."
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:344
#, docstring
msgid "Cancel a running announce."
msgstr "Peruuta käynnissä oleva ilmoitus."
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:346
msgid "There is no currently running announcement."
msgstr "Tällä hetkellä ei ole käynnissä olevaa ilmoitusta."
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:349
msgid "The current announcement has been cancelled."
msgstr "Tämänhetkinen ilmoitus on peruutettu."
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:355
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr "Muokkaa kuinka ilmoitukset lähetetään tässä guildissa."
#: redbot/cogs/admin/admin.py:359
#: redbot/cogs/admin/admin.py:362
#, 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"
" Muuta kanavaa, jossa botti lähettää ilmoituksia.\n\n"
" Jos kanava jätetään tyhjäksi, se oletetaan nykyiselle kanavalle.\n"
" "
msgid "Change the channel where the bot will send announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:365
msgid "The announcement channel has been set to {channel.mention}"
msgstr "Ilmoituskanava on asetettu {channel.mention} -kanavalle"
#: redbot/cogs/admin/admin.py:373
#: redbot/cogs/admin/admin.py:370
#, docstring
msgid "Unsets the channel for announcements."
msgstr "Poista ilmoituskanava käytöstä."
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:395
#, 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 ""
msgstr "Lisää tai poista rooli itseltäsi.\n\n"
"Palvelimen ylläpitäjän pitää olla asettanut se rooli käyttäjä-asetettavaksi.\n"
"MUISTA: Roolin nimessä merkitsee isot ja pienet kirjaimet."
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:408
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -212,7 +208,7 @@ msgstr "\n"
" HUOM: Rooli on kirjainkoolla herkkä!\n"
" "
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:419
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -225,7 +221,7 @@ msgstr "\n"
" HUOM: Rooli on kirjainkoolla herkkä!\n"
" "
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:430
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
@@ -234,69 +230,100 @@ msgstr "\n"
" Luettele kaikki saatavilla olevat selfrot.\n"
" "
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:440
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Saatavilla olevat omafroles:\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:446
#, docstring
msgid "Manage selfroles."
msgstr "Hallitse selfroleja."
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:451
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, 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"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:460
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:469
msgid "Added."
msgstr "Lisätty."
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
msgstr "Tämä rooli on jo selfrole."
#: redbot/cogs/admin/admin.py:470
msgid "The role \"{role.name}\" is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:476
msgid "Added {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:478
msgid "Added 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:484
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, 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"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:493
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:491
msgid "Removed."
msgstr "Poistettu."
#: redbot/cogs/admin/admin.py:503
msgid "Removed {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:496
#: redbot/cogs/admin/admin.py:505
msgid "Removed 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:511
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr ""
#: redbot/cogs/admin/admin.py:515
msgid "There are currently no selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:518
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr ""
#: redbot/cogs/admin/admin.py:524
msgid "You took too long to respond."
msgstr ""
#: redbot/cogs/admin/admin.py:533
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:539
msgid "Selfrole list cleared."
msgstr ""
#: redbot/cogs/admin/admin.py:541
msgid "No changes have been made."
msgstr ""
#: redbot/cogs/admin/admin.py:546
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Lukitse botti vain nykyisille palvelimille."
#: redbot/cogs/admin/admin.py:501
#: redbot/cogs/admin/admin.py:551
msgid "The bot is no longer serverlocked."
msgstr "Botti ei ole enää palvelinlukittu."
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:553
msgid "The bot is now serverlocked."
msgstr "Botti on nyt palvelinlukittu."
@@ -308,11 +335,15 @@ msgstr "En voinut ilmoittaa seuraavalle palvelimelle: "
msgid "I could not announce to the following servers: "
msgstr "En voinut ilmoittaa seuraavalle palvelimelle: "
#: redbot/cogs/admin/converters.py:12
#: redbot/cogs/admin/converters.py:13
msgid "The Admin cog is not loaded."
msgstr "Admin cog ei ole ladattu."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr "Annettu rooli ei ole kelvollinen selfrole."
#: redbot/cogs/admin/converters.py:30
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr ""
#: redbot/cogs/admin/converters.py:36
msgid "This selfrole has more than one case insensitive match. Please ask a moderator to resolve the ambiguity, or use the role ID to reference the role."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-12-18 03:37+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.3\n"
"Generated-By: redgettext 3.4.2\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: fr_FR\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:20
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:23
#: redbot/cogs/admin/admin.py:25
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:29
#: redbot/cogs/admin/admin.py:31
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:35
#: redbot/cogs/admin/admin.py:37
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:41
#: redbot/cogs/admin/admin.py:43
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:47
#: redbot/cogs/admin/admin.py:49
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:53
#: redbot/cogs/admin/admin.py:55
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:59
#: redbot/cogs/admin/admin.py:61
msgid "I need the \"Manage Roles\" permission to do that."
msgstr "Jai besoin de la permission \"Gérer les rôles\" pour faire cela."
#: redbot/cogs/admin/admin.py:61
#: redbot/cogs/admin/admin.py:63
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 vous souhaitez faire une annonce différente, vous devez d'abord utiliser la commande `{prefix}announce cancel`."
#: redbot/cogs/admin/admin.py:71
#: redbot/cogs/admin/admin.py:73
#, docstring
msgid "A collection of server administration utilities."
msgstr "Un ensemble d'utilitaires d'administration du serveur."
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:159
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:184
#: redbot/cogs/admin/admin.py:180
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:194
#: redbot/cogs/admin/admin.py:190
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:214
#: redbot/cogs/admin/admin.py:211
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:225
#: redbot/cogs/admin/admin.py:226
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -85,7 +85,7 @@ msgstr "\n"
" Si l'utilisateur est laissé vide, ce sera par défaut l'auteur de la commande.\n"
" "
#: redbot/cogs/admin/admin.py:241
#: redbot/cogs/admin/admin.py:244
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -98,12 +98,12 @@ msgstr "\n"
" Si l'utilisateur est laissé vide, ce sera par défaut l'auteur de la commande.\n"
" "
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "Edit role settings."
msgstr "Modifier les paramètres d'un rôle."
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:263
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -124,11 +124,11 @@ msgstr "\n"
" `[p]editrole colour Test #ff9900`\n"
" "
#: redbot/cogs/admin/admin.py:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:292 redbot/cogs/admin/admin.py:325
msgid "Done."
msgstr "Fait."
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:296
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -143,54 +143,48 @@ msgstr "\n"
" `[p]editrole name \"The Transistor\" Test`\n"
" "
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:330
#, 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:336
#: redbot/cogs/admin/admin.py:337
msgid "The announcement has begun."
msgstr "Lannonce a commencé."
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:344
#, docstring
msgid "Cancel a running announce."
msgstr "Interrompre une annonce en cours."
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:346
msgid "There is no currently running announcement."
msgstr "Il n'y a aucune annonce en cours d'exécution."
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:349
msgid "The current announcement has been cancelled."
msgstr "L'annonce actuelle a été interrompue."
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:355
#, 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:359
#: redbot/cogs/admin/admin.py:362
#, 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"
" 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"
" "
msgid "Change the channel where the bot will send announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:365
msgid "The announcement channel has been set to {channel.mention}"
msgstr "Les annonces seront maintenant faites dans {channel.mention}"
#: redbot/cogs/admin/admin.py:373
#: redbot/cogs/admin/admin.py:370
#, docstring
msgid "Unsets the channel for announcements."
msgstr "Désactive le salon pour les annonces."
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:395
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
@@ -203,7 +197,7 @@ msgstr "\n"
" NOTE : Le rôle est sensible aux majuscules et minuscules !\n"
" "
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:408
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -216,7 +210,7 @@ msgstr "\n"
" NOTE : Le rôle est sensible aux majuscules et minuscules !\n"
" "
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:419
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -229,7 +223,7 @@ msgstr "\n"
" NOTE : Le rôle est sensible aux majuscules et minuscules !\n"
" "
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:430
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
@@ -238,69 +232,106 @@ msgstr "\n"
" Liste de tous les auto-rôles disponibles.\n"
" "
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:440
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr "Auto-rôles disponibles :\n"
"{selfroles}"
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:446
#, docstring
msgid "Manage selfroles."
msgstr "Gérer les auto-roles."
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:451
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, 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"
"Ajouter un rôle, ou une sélection de rôles, à la liste des rôles personnels disponibles.\n\n"
" NOTE : Le nom du rôle est sensible aux majuscules et minuscules !\n"
" "
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:460
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:469
msgid "Added."
msgstr "Ajouté."
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
msgstr "Ce rôle est déjà un selfrole."
#: redbot/cogs/admin/admin.py:470
msgid "The role \"{role.name}\" is already a selfrole."
msgstr "Le rôle \"{role.name}\" est déjà un rôle auto-attribué."
#: redbot/cogs/admin/admin.py:476
msgid "Added {count} selfroles."
msgstr "{count} auto-rôles ajouté(s)."
#: redbot/cogs/admin/admin.py:478
msgid "Added 1 selfrole."
msgstr "Ajout de 1 auto-rôle."
#: redbot/cogs/admin/admin.py:484
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, 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"
"Ajouter un rôle, ou une sélection de rôles, à la liste des rôles personnels disponibles.\n\n"
" NOTE : Le nom du rôle est sensible aux majuscules et minuscules !\n"
" "
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:493
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:491
msgid "Removed."
msgstr "Retiré."
#: redbot/cogs/admin/admin.py:503
msgid "Removed {count} selfroles."
msgstr "Suppression de {count} auto-rôles."
#: redbot/cogs/admin/admin.py:496
#: redbot/cogs/admin/admin.py:505
msgid "Removed 1 selfrole."
msgstr "Suppression d'un auto-rôle."
#: redbot/cogs/admin/admin.py:511
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr "Nettoyage de la liste des auto-rôles disponibles pour ce serveur."
#: redbot/cogs/admin/admin.py:515
msgid "There are currently no selfroles."
msgstr "Actuellement, il n'y a pas d'auto-rôles."
#: redbot/cogs/admin/admin.py:518
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr "Êtes-vous certain de vouloir nettoyer la liste des auto-rôles de ce serveur ?"
#: redbot/cogs/admin/admin.py:524
msgid "You took too long to respond."
msgstr "Vous avez pris trop de temps à répondre."
#: redbot/cogs/admin/admin.py:533
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr "Je ne peux pas supprimer les rôles personnels car le rôle personnel '{role.name}' est supérieur ou égal à votre rôle le plus élevé dans la hiérarchie Discord."
#: redbot/cogs/admin/admin.py:539
msgid "Selfrole list cleared."
msgstr "La liste des rôles personnes a été nettoyée."
#: redbot/cogs/admin/admin.py:541
msgid "No changes have been made."
msgstr "Aucune modification n'a été faite."
#: redbot/cogs/admin/admin.py:546
#, docstring
msgid "Lock a bot to its current servers only."
msgstr "Verrouiller un bot sur ses serveurs actuels uniquement."
#: redbot/cogs/admin/admin.py:501
#: redbot/cogs/admin/admin.py:551
msgid "The bot is no longer serverlocked."
msgstr "Le bot n'est plus verrouillé sur ses serveurs actuels."
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:553
msgid "The bot is now serverlocked."
msgstr "Le bot est maintenant verrouillé sur ses serveurs actuels."
@@ -312,11 +343,15 @@ msgstr "Je n'ai pas pu annoncer au serveur suivant : "
msgid "I could not announce to the following servers: "
msgstr "Je n'ai pas pu annoncer aux serveurs suivants : "
#: redbot/cogs/admin/converters.py:12
#: redbot/cogs/admin/converters.py:13
msgid "The Admin cog is not loaded."
msgstr "Le cog Admin n'est pas chargé."
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
msgstr "Le rôle fourni n'est pas un auto-rôle valide."
#: redbot/cogs/admin/converters.py:30
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr "Le rôle \"{role_name}\" n'est pas un auto-rôle valide."
#: redbot/cogs/admin/converters.py:36
msgid "This selfrole has more than one case insensitive match. Please ask a moderator to resolve the ambiguity, or use the role ID to reference the role."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-04-03 01:21+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.3\n"
"Generated-By: redgettext 3.4.2\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,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: he_IL\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:19
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
#: redbot/cogs/admin/admin.py:24
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
#: redbot/cogs/admin/admin.py:30
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
#: redbot/cogs/admin/admin.py:36
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
#: redbot/cogs/admin/admin.py:42
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
#: redbot/cogs/admin/admin.py:48
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
#: redbot/cogs/admin/admin.py:54
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
#: redbot/cogs/admin/admin.py:60
msgid "I need the \"Manage Roles\" permission to do that."
msgstr ""
#: redbot/cogs/admin/admin.py:61
#: redbot/cogs/admin/admin.py:62
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
#: redbot/cogs/admin/admin.py:72
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:158
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:184
#: redbot/cogs/admin/admin.py:178
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:194
#: redbot/cogs/admin/admin.py:188
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:214
#: redbot/cogs/admin/admin.py:208
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:225
#: redbot/cogs/admin/admin.py:219
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -81,7 +81,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:241
#: redbot/cogs/admin/admin.py:235
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -90,12 +90,12 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:249
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -108,11 +108,11 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:285 redbot/cogs/admin/admin.py:318
msgid "Done."
msgstr ""
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:289
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -122,51 +122,48 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:323
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:336
#: redbot/cogs/admin/admin.py:330
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:337
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:339
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:342
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:348
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:359
#: redbot/cogs/admin/admin.py:353
#, 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 "Change the channel where the bot will send announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:356
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:373
#: redbot/cogs/admin/admin.py:361
#, docstring
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:386
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
@@ -175,7 +172,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:399
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -184,7 +181,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:410
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -193,69 +190,106 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:421
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:431
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:437
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:442
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:451
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:469
msgid "Added."
msgstr "נוסף."
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
#: redbot/cogs/admin/admin.py:461
msgid "The role \"{role.name}\" is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:476
#: redbot/cogs/admin/admin.py:467
msgid "Added {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:469
msgid "Added 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:475
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:484
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:491
msgid "Removed."
msgstr "הוסר."
#: redbot/cogs/admin/admin.py:494
msgid "Removed {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:496
msgid "Removed 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:502
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr ""
#: redbot/cogs/admin/admin.py:506
msgid "There are currently no selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:509
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr ""
#: redbot/cogs/admin/admin.py:515
msgid "You took too long to respond."
msgstr ""
#: redbot/cogs/admin/admin.py:524
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:530
msgid "Selfrole list cleared."
msgstr ""
#: redbot/cogs/admin/admin.py:532
msgid "No changes have been made."
msgstr ""
#: redbot/cogs/admin/admin.py:537
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:501
#: redbot/cogs/admin/admin.py:542
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:544
msgid "The bot is now serverlocked."
msgstr ""
@@ -271,7 +305,7 @@ msgstr ""
msgid "The Admin cog is not loaded."
msgstr ""
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
#: redbot/cogs/admin/converters.py:21
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr ""

View File

@@ -1,13 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: red-discordbot\n"
"POT-Creation-Date: 2021-05-24 11:04+0000\n"
"POT-Creation-Date: 2022-12-18 03:37+0000\n"
"Last-Translator: \n"
"Language-Team: Hindi\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"
"Generated-By: redgettext 3.4.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: red-discordbot\n"
"X-Crowdin-Project-ID: 289505\n"
@@ -15,64 +15,64 @@ msgstr ""
"X-Crowdin-File-ID: 42\n"
"Language: hi_IN\n"
#: redbot/cogs/admin/admin.py:18
#: redbot/cogs/admin/admin.py:20
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
#: redbot/cogs/admin/admin.py:25
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 "मैं {member.display_name} को {role.name} नहीं दे सकती क्योंकि वह रोल डिस्कॉर्ड् पदानुक्रम में मेरे उच्चतम रोल से अधिक या उसके बराबर है।"
#: redbot/cogs/admin/admin.py:29
#: redbot/cogs/admin/admin.py:31
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 "मैं {role.name} को {member.display_name} से नहीं निकाल सकती, क्योंकि वह रोल डिस्कॉर्ड पदानुक्रम में मेरे उच्चतम रोल से अधिक या उसके बराबर है।"
#: redbot/cogs/admin/admin.py:35
#: redbot/cogs/admin/admin.py:37
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
msgstr "मैं {role.name} को संपादित नहीं कर सकती, क्योंकि यह रोल डिस्कॉर्ड पदानुक्रम में मेरे रोल से अधिक है,या सबसे उच्चतम रोल के बराबर है।"
#: redbot/cogs/admin/admin.py:41
#: redbot/cogs/admin/admin.py:43
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
#: redbot/cogs/admin/admin.py:49
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
#: redbot/cogs/admin/admin.py:55
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 the \"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 ""
msgid "I need the \"Manage Roles\" permission to do that."
msgstr "मुझे ऐसा करने के लिए \"Manage Roles\" अनुमति की आवश्यकता है।"
#: redbot/cogs/admin/admin.py:71
#: redbot/cogs/admin/admin.py:63
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:73
#, docstring
msgid "A collection of server administration utilities."
msgstr ""
msgstr "सर्वर प्रशासन उपयोगिता का एक संग्रह।"
#: redbot/cogs/admin/admin.py:164
#: redbot/cogs/admin/admin.py:159
msgid "{member.display_name} already has the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:184
#: redbot/cogs/admin/admin.py:180
msgid "I successfully added {role.name} to {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:194
#: redbot/cogs/admin/admin.py:190
msgid "{member.display_name} does not have the role {role.name}."
msgstr ""
#: redbot/cogs/admin/admin.py:214
#: redbot/cogs/admin/admin.py:211
msgid "I successfully removed {role.name} from {member.display_name}"
msgstr ""
#: redbot/cogs/admin/admin.py:225
#: redbot/cogs/admin/admin.py:226
#, docstring
msgid "\n"
" Add a role to a user.\n\n"
@@ -81,7 +81,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:241
#: redbot/cogs/admin/admin.py:244
#, docstring
msgid "\n"
" Remove a role from a user.\n\n"
@@ -90,12 +90,12 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:255
#: redbot/cogs/admin/admin.py:256
#, docstring
msgid "Edit role settings."
msgstr ""
#: redbot/cogs/admin/admin.py:262
#: redbot/cogs/admin/admin.py:263
#, docstring
msgid "\n"
" Edit a role's colour.\n\n"
@@ -108,11 +108,11 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:291 redbot/cogs/admin/admin.py:324
#: redbot/cogs/admin/admin.py:292 redbot/cogs/admin/admin.py:325
msgid "Done."
msgstr ""
#: redbot/cogs/admin/admin.py:295
#: redbot/cogs/admin/admin.py:296
#, docstring
msgid "\n"
" Edit a role's name.\n\n"
@@ -122,51 +122,48 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:329
#: redbot/cogs/admin/admin.py:330
#, docstring
msgid "Announce a message to all servers the bot is in."
msgstr ""
#: redbot/cogs/admin/admin.py:336
#: redbot/cogs/admin/admin.py:337
msgid "The announcement has begun."
msgstr ""
#: redbot/cogs/admin/admin.py:343
#: redbot/cogs/admin/admin.py:344
#, docstring
msgid "Cancel a running announce."
msgstr ""
#: redbot/cogs/admin/admin.py:345
#: redbot/cogs/admin/admin.py:346
msgid "There is no currently running announcement."
msgstr ""
#: redbot/cogs/admin/admin.py:348
#: redbot/cogs/admin/admin.py:349
msgid "The current announcement has been cancelled."
msgstr ""
#: redbot/cogs/admin/admin.py:354
#: redbot/cogs/admin/admin.py:355
#, docstring
msgid "Change how announcements are sent in this guild."
msgstr ""
#: redbot/cogs/admin/admin.py:359
#: redbot/cogs/admin/admin.py:362
#, 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 "Change the channel where the bot will send announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:368
#: redbot/cogs/admin/admin.py:365
msgid "The announcement channel has been set to {channel.mention}"
msgstr ""
#: redbot/cogs/admin/admin.py:373
#: redbot/cogs/admin/admin.py:370
#, docstring
msgid "Unsets the channel for announcements."
msgstr ""
#: redbot/cogs/admin/admin.py:398
#: redbot/cogs/admin/admin.py:395
#, docstring
msgid "\n"
" Add or remove a selfrole from yourself.\n\n"
@@ -175,7 +172,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:411
#: redbot/cogs/admin/admin.py:408
#, docstring
msgid "\n"
" Add a selfrole to yourself.\n\n"
@@ -184,7 +181,7 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:422
#: redbot/cogs/admin/admin.py:419
#, docstring
msgid "\n"
" Remove a selfrole from yourself.\n\n"
@@ -193,69 +190,106 @@ msgid "\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:433
#: redbot/cogs/admin/admin.py:430
#, docstring
msgid "\n"
" Lists all available selfroles.\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:443
#: redbot/cogs/admin/admin.py:440
msgid "Available Selfroles:\n"
"{selfroles}"
msgstr ""
#: redbot/cogs/admin/admin.py:449
#: redbot/cogs/admin/admin.py:446
#, docstring
msgid "Manage selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:454
#: redbot/cogs/admin/admin.py:451
#, docstring
msgid "\n"
" Add a role to the list of available selfroles.\n\n"
" Add a role, or a selection of roles, to the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:461
#: redbot/cogs/admin/admin.py:460
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:469
msgid "Added."
msgstr ""
#: redbot/cogs/admin/admin.py:472
msgid "That role is already a selfrole."
#: redbot/cogs/admin/admin.py:470
msgid "The role \"{role.name}\" is already a selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:476
msgid "Added {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:478
msgid "Added 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:484
#, docstring
msgid "\n"
" Remove a role from the list of available selfroles.\n\n"
" Remove a role, or a selection of roles, from the list of available selfroles.\n\n"
" NOTE: The role is case sensitive!\n"
" "
msgstr ""
#: redbot/cogs/admin/admin.py:483
#: redbot/cogs/admin/admin.py:493
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:491
msgid "Removed."
#: redbot/cogs/admin/admin.py:503
msgid "Removed {count} selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:496
#: redbot/cogs/admin/admin.py:505
msgid "Removed 1 selfrole."
msgstr ""
#: redbot/cogs/admin/admin.py:511
#, docstring
msgid "Clear the list of available selfroles for this server."
msgstr ""
#: redbot/cogs/admin/admin.py:515
msgid "There are currently no selfroles."
msgstr ""
#: redbot/cogs/admin/admin.py:518
msgid "Are you sure you want to clear this server's selfrole list?"
msgstr ""
#: redbot/cogs/admin/admin.py:524
msgid "You took too long to respond."
msgstr ""
#: redbot/cogs/admin/admin.py:533
msgid "I cannot clear the selfroles because the selfrole '{role.name}' is higher than or equal to your highest role in the Discord hierarchy."
msgstr ""
#: redbot/cogs/admin/admin.py:539
msgid "Selfrole list cleared."
msgstr ""
#: redbot/cogs/admin/admin.py:541
msgid "No changes have been made."
msgstr ""
#: redbot/cogs/admin/admin.py:546
#, docstring
msgid "Lock a bot to its current servers only."
msgstr ""
#: redbot/cogs/admin/admin.py:501
#: redbot/cogs/admin/admin.py:551
msgid "The bot is no longer serverlocked."
msgstr ""
#: redbot/cogs/admin/admin.py:503
#: redbot/cogs/admin/admin.py:553
msgid "The bot is now serverlocked."
msgstr ""
@@ -267,11 +301,15 @@ msgstr ""
msgid "I could not announce to the following servers: "
msgstr ""
#: redbot/cogs/admin/converters.py:12
#: redbot/cogs/admin/converters.py:13
msgid "The Admin cog is not loaded."
msgstr ""
#: redbot/cogs/admin/converters.py:20
msgid "The provided role is not a valid selfrole."
#: redbot/cogs/admin/converters.py:30
msgid "The role \"{role_name}\" is not a valid selfrole."
msgstr ""
#: redbot/cogs/admin/converters.py:36
msgid "This selfrole has more than one case insensitive match. Please ask a moderator to resolve the ambiguity, or use the role ID to reference the role."
msgstr ""

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